概述
前段時間用matlab仿真了一波基于FFT卷積的頻域FIR濾波器,比如采樣率12MHz,需要做一個如下圖所示的500KHz低通濾波器(帶外抑制僅60dBc),濾波器的階數為326階,以XC7K325T的DSP資源數約840作為參考,在12MHz的時鐘下只能實現5個這樣的濾波器,在采用高頻時鐘后可以減低DSP資源使用率,但是當歸一化頻率不變,采樣率上升到120MHz,同樣的系數濾波器的低通截止頻率為5MHz,雖然系數不變,但此時將很難再大幅提高時鐘頻率復用資源來降低占用率了,一方面不同規格的FPGA芯片都有其自身的頻率限制,另一方面邏輯設計本身也會存在時許限制。
帶外抑制60dbc的階數=326
帶外抑制80dBc的階數=399
歸一化頻率不變,采樣率提升到120MHz時(注意:濾波器系數是相同的)
C/C++軟件化實現
以下為FFT卷積算法在Qt的C\\C++環境下的實現FIR濾波的效果
原始信號的FFT結果即為常見的信號頻譜,該信號存在較強的高次諧波
而濾波器系數FFT后得到的是濾波器的幅頻特性曲線,這一點比較有意思,濾波器系數實際是該濾波器的時域沖擊響應波形的離散采樣
以上為濾波后的頻域結果,圖中500Khz以外的頻譜部分全部被抑制了大約60dBc;
-
低通濾波器
+關注
關注
14文章
485瀏覽量
47537 -
FFT
+關注
關注
15文章
437瀏覽量
59563 -
C++語言
+關注
關注
0文章
147瀏覽量
7027 -
fir濾波器
+關注
關注
1文章
95瀏覽量
19094 -
FPGA芯片
+關注
關注
3文章
246瀏覽量
39869
發布評論請先 登錄
相關推薦
c++程序設計教程
![<b class='flag-5'>c++</b>程序設計教程](https://file.elecfans.com/web2/M00/48/70/pYYBAGKhtAaAQ4u6AAASDE03weE518.jpg)
《C/ C++/ Java 程序設計經典教程》
密碼編碼學(加密方法的C與C++實現) pdf第二版
C++課件
C++內部類的實現及應用
![<b class='flag-5'>C++</b>內部類的<b class='flag-5'>實現</b>及應用](https://file.elecfans.com/web2/M00/49/02/pYYBAGKhtDOAb-OaAAAQVgq0Uso443.jpg)
如何提高c和c++的安全編程能力?《C和C++安全編碼》帶你詳細學習
C++程序設計教程之C++的初步知識的詳細資料說明
![<b class='flag-5'>C++</b>程序設計教程之<b class='flag-5'>C++</b>的初步知識的詳細資料說明](https://file.elecfans.com/web1/M00/89/2B/o4YBAFyJ-q-AYUB7AAVUPZRjpCQ608.png)
C++之父新作帶你勾勒現代C++地圖
![<b class='flag-5'>C++</b>之父新作帶你勾勒現代<b class='flag-5'>C++</b>地圖](https://file1.elecfans.com/web2/M00/AD/10/wKgZomU_azGAffwHAAAHSRvJtKU665.png)
C++中實現類似instanceof的方法
![<b class='flag-5'>C++</b>中<b class='flag-5'>實現</b>類似instanceof的方法](https://file1.elecfans.com/web2/M00/FE/0C/wKgaomaYe1CAQ31QAAAnf0IkoSU605.png)
評論