概述
前段時間用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;

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
低通濾波器
+關注
關注
15文章
555瀏覽量
49010 -
FFT
+關注
關注
15文章
458瀏覽量
63074 -
C++語言
+關注
關注
0文章
147瀏覽量
7686 -
fir濾波器
+關注
關注
1文章
97瀏覽量
19701 -
FPGA芯片
+關注
關注
4文章
250瀏覽量
41008
發布評論請先 登錄
相關推薦
熱點推薦
c++程序設計教程
C++是一種高效應用的程序設計語言,它即可進行過程化程序設計,也可進行面向對象程序設計,因而成了編程人員最廣泛使用的工具。學好C++,很容易觸類旁通其他軟件,
發表于 04-08 00:36
?125次下載
《C/ C++/ Java 程序設計經典教程》
《C/ C++/ Java 程序設計經典教程》(Deitel 著)
●集作者幾十年程序設計經驗之精華,從軟件工程的原理強調結構化程序設計方法,追求程序的清晰優美,注重程序的性能和結
發表于 04-08 02:10
?398次下載
密碼編碼學(加密方法的C與C++實現) pdf第二版
密碼編碼學(加密方法的C與C++實現)分分三個部分。第一部分描述密碼學中的常用算法和數論算法,以及這些算法的C和C++程序實;第二部分描述密
發表于 09-25 09:49
?0次下載
C++課件
C++面向對象程序設計
面向對象思想的由來面向對象程序設計面向對象程序設計語言C++與C語言的關系
面向對象技術追求的是軟件系統對現實世界的直接模
發表于 04-10 13:41
?0次下載
C++內部類的實現及應用
多重繼承一直是C++語言中一個廣受爭議的語言特征。一般認為,在面向對象設計中應該謹慎使用多重繼承。文章分析了C++中多重繼承實現的復雜性并對如何高效使用多重繼承進行了探討
發表于 06-28 17:59
?50次下載
如何提高c和c++的安全編程能力?《C和C++安全編碼》帶你詳細學習
C和C++安全編碼是C/C++安全編碼領域的權威著作,被視為“標準”參考書,由國際資深軟件安全專家撰寫,美國CERT主管親自作序推薦。本書結
發表于 08-28 08:00
?0次下載
C++程序設計教程之C++的初步知識的詳細資料說明
C++程序設計教程之C++的初步知識的詳細資料說明包括了:1. 從C到C++,2 . 最簡單的C++程序,3 .
發表于 03-14 14:48
?31次下載
C++之父新作帶你勾勒現代C++地圖
為了幫助大家解決這些痛點問題,讓大家領略現代C++之美,掌握其中的精髓,更好地使用C++,C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《C++之旅》!
C++中實現類似instanceof的方法
函數,可實際上C++中沒有。但是別著急,其實C++中有兩種簡單的方法可以實現類似Java中的instanceof的功能。 在 C++ 中,確定對象的類型是編程中實際需求,使開發人員
頻域濾波的C//C++軟件化實現
評論