2015-09-25 91 views
1

我有興趣驗證FIR濾波器。我已經實現了一個移動平均FIR濾波器,並且寫了幾個激勵來驗證。驗證FIR濾波器

第一個刺激是一個正弦波,我期望濾波器通過它。文件管理器。第二個刺激,我只是衝動,並期望係數出現在輸出。這是我真正看到的。

但是,有兩個問題我覺得需要照顧。 首先,我不能依靠波形的形狀,並得出結論,如果過濾器正在工作。 我必須有可量化的值,並將其用作判斷過濾器是否正常工作的基礎。例如。信噪比...

其次,我知道,這兩項檢查本身不足以驗證。我甚至對額外的刺激有一些想法,但我不知道對這些刺激會有什麼期望。

例如,

1)感覺,我必須測量頻率響應的輸出或功率的功率。但我不知道如何去做 2)同樣,我可能必須根據正弦輸入來測量SNR,但不知道什麼是可接受的值。2)我還嘗試添加兩個正弦波,其中一個高頻率和低頻率並通過濾波器。我看到輸出是一個低頻正弦波,但它有點失真。我不知道,如果獲取添加從高頻率值,造成這種失真

我想對這些獲得的投入,請...

這裏有文件管理器的共同efficients:0.2 0.2 0.2 0.2 0.2

+0

也許最好把它發佈到信號處理問答? http://dsp.stackexchange.com。 – Danijel

+0

你爲什麼不發佈你的濾波器係數? – jaket

回答

1
  1. 要找到濾波器的頻率響應,需要對其脈衝響應進行逆FFT。在FIR的情況下,這些僅僅是濾波器係數。

  2. 目前還不清楚你試圖通過測量SNR來量化什麼。濾波器本身不能對系統貢獻噪聲。它可以提高或降低本底噪聲,但這完全是濾波器響應的函數。如果你想要一個額外的方法來推斷濾波器正在工作,那麼你可以通過一系列正弦波頻率從低到高,將信號通過濾波器,然後測量輸出信號的電平。如果您將每個步驟繪製爲點X =頻率,則Y = outputLevel/inputLevel將成爲增益圖,並且它應該與頻率響應相匹配。

  3. FIR濾波器是完全線性的。這意味着它只能改變已經在輸入信號中找到的頻率分量的幅度和相位。它不能引入新的頻率。您可能會引入失真的唯一方法是如果您正在裁剪信號或者如果過濾器實現錯誤。你提到你的過濾器是一個移動平均過濾器,暗示着低通。這意味着較低的頻率將通過,而較高的頻率將被衰減。它們衰減的程度取決於係數。你很可能會看到低頻率的高頻衰減,分享你的濾波器係數,我可以給你更多的細節。

+0

迴應您的評論: – Sharanbr

+0

rsp to your comment。 1)如果我將脈衝作爲輸入傳遞給濾波器,我會得到濾波器的共同作用。所以,我並沒有首先說明衝動響應的iFFT。你的意思是脈衝響應的FFT,因爲它將時域變換爲頻域。即使如此,我也不確定在FFT或iFFT之後如何獲得係數。 2)在SNR的第二部分,我想,我可以計算理想輸出與實際輸出的SNR。理想的響應是浮點實現,而固定點由於固定的字長可能會產生量化效應。我已經在原帖中添加了co-effs – Sharanbr