濾波器使用問題

大家好,

我想將檔案內的A double變數經過一個0.5Hz-5Hz的帶通濾波

但總是會跳出ERROR,說必須要在0 <= fc <=fs/2,

我的UART傳輸1秒250筆,應該是可以設定。

以下是我的檔案,

UART_QUEUE.vi

麻煩大家指教了 ,謝謝。

改了一些小地方, 把while loop裡單點的A利用shift register與inert into array組成資料array, 在count1=64 (可以自己改大小) 時, 把64點的array整成waveform 送進濾波器後清空 (sample rate 依你所說指定250Hz 寫成control元件, 倒數後當成建waveform的dt值).

未來改進: Sample rate最好能以量測值為基準, 也就是說要把UART吐回來的data rate取代手動指定的sample rate.

UART_QUEUE_modify.vi (LV 8.6版)

Denny T大哥 您好,

感謝您回覆我,並幫我解答。

不好意思,我是8.5版不能開啟您的檔案。

小弟有使用內建濾波器接線成功。

但是波形跑起來很奇怪...甚至還會反向。

想請問各位有遇過這樣情況嗎??

如下面圖片看到的,在刻度那邊它變得非常小...而且又反向。

煩請各位給我些意見。謝謝。

UART_QUEUE.vi![](upload://fqZ3mhmdL5ktmqFTCESu7nQ577T.png)

因為你的FIR bandpass filter設的狠猛啊, DC殺的猛, 高頻也殺很大, 所以信號不是反相, 而是你看到的慢速大信號都被你的filter宰了, 所以留下來的信號就剛好看起來像是反相而已, 改試試較普通的butterworth 3~7階如何? pass band 頻段也可以調一調...

如果你圖上的X時間軸是正確的, 那1023秒內出現的5個pulse, 等於 5/1023=0.00488Hz, 你的filter Low Cutoff 設在0.5Hz, 所以那五個很大的pulse就剁的乾乾淨淨了...

如果時間軸不同我所說, 煩請你把濾波前的waveform chart接到你加上正確dt (sampling frequency 的倒數), build 過的waveform上, 以利判讀好嗎...

 

Denny T 大哥您好,

對不起,我的確將X軸顯示錯誤了。

那1023表示的是資料個數。

小弟試過將filter設定改為butterworth 3階(0.5-30Hz),準位被下拉很嚴重。

小弟有個小疑問,小弟知道我將filter設的猛。因為切了101階...

但小弟一開始有試過利用DAQ卡類比接線方式擷取,

以相同的filter設定(0.5-5Hz,101階 ),是OK能擷取到漂亮的濾波後波形。

但是改用Uart傳輸,同樣的sample rate,同樣的filter設定,卻無法得到。

還在努力找原因中。

感謝您一直陪我討論。謝謝。

 

 

fu065340700.5927546296


      耶 會不會是  Uart 與 DAQ卡類比 這兩者的
  
     雖然 同樣的sample rate,同樣的filter設定

     但, 如果 DAQ卡類比 本身的 buffer 與 存取速度比較

     快與大的話  那他在 buffer 中取得的數據可能就遠超過

       Uart  取的資料?  亦或者是 DAQ卡類比 裡面有什麼

      解析的方式 如果要得到跟他一樣的波形  可能要在Uart  
 
      實做?

      小弟胡亂猜測   您參考看看就好 :D

<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">helper197 謝謝您。

<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">
<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">我會去找一些資料看看是否因為此原因。
<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">
<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">因為目前還是無法解決濾波器階數問題。
<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">
<span =“apple-style-span” style="font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span =“bold” style="text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0); font-size: 12px; font-weight: bold; ">謝謝。