[問題] 有關濾波器階數越高會產生的問題

看板Electronics作者 (歐萊威爾)時間11年前 (2014/09/20 20:29), 11年前編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/1
最近在自學FIR數位濾波器 對於"濾波器階數越高"產生的一些現象感到好奇 雖然階數越高的濾波器通帶與阻帶的界限劃分越明顯 也越接近理想濾波 但是不是也會對原訊號產生越大的改變呢(失真?) 以下是我用程式語言實際數位濾波的情形:(使用不同階數的 低通濾波器 原訊號:60 Hz 混合 400 Hz http://i.imgur.com/M2BByvq.png
5階數位濾波器 可看到有濾波效果但很差 http://i.imgur.com/anq3cPG.png
7階數位濾波器 400 Hz已經被濾掉絕大部分 http://i.imgur.com/hvZJDcZ.png
*15階 http://i.imgur.com/eawQGJH.png
*31階 http://i.imgur.com/DO4mJJ0.png
*想發問的重點 在60Hz周圍的訊號強度 為何開始高突起來?? 不像5階7階周圍是平坦的 是因為原訊號受濾波器影響導致的嗎? 如果是, 那該如何在 濾波器階數與濾波效果 之間做取捨? 61階 頻譜開始變形了 http://i.imgur.com/IksfHqh.png
請各位前輩不吝解答 或是給個方向 謝謝! >>> 補上impulse response 7階 http://i.imgur.com/9cjraRp.png
15階 http://i.imgur.com/Sj0gWxI.png
31階 http://i.imgur.com/X4klbMh.png
61階 http://i.imgur.com/VySbFtk.png
>>> 忘了提到一點 我的濾波器初始條件都是給0 也就是說假設 y[n] = x[n] + x[n-1] + x[n-2] + x[n-3] x[n-1]~x[n-3] 都是先給0 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.27.12 ※ 文章網址: http://www.ptt.cc/bbs/Electronics/M.1411216171.A.F18.html

09/20 21:26, , 1F
看impulse response轉頻域會比較清楚
09/20 21:26, 1F

09/20 21:52, , 2F
你是不是只取一小段時間來作FFT? 愈高階的filter尾巴拖愈長
09/20 21:52, 2F

09/20 21:52, , 3F
可能response超過你取的window之外,被你砍掉了吧
09/20 21:52, 3F

09/20 21:53, , 4F
可能要把code的細節寫出來才能找問題
09/20 21:53, 4F
※ 編輯: alrightwill (140.112.27.12), 09/20/2014 21:58:58

09/20 22:03, , 5F
頻譜是用來看steady state的,你前面的暫態部份影響太大導致
09/20 22:03, 5F

09/20 22:04, , 6F
你可以改成灌256點進去,取後面128點來做fft,這樣就避開暫態
09/20 22:04, 6F

09/20 22:05, , 7F
這樣應該到128階不會有問題
09/20 22:05, 7F

09/21 17:41, , 8F
一直沒想到避暫態這問題~ 調整後正常多了,萬分感謝!
09/21 17:41, 8F
文章代碼(AID): #1K7NChyO (Electronics)