這篇文章給大家分享的是有關如何通過matlab的fdatool工具箱設計FIR濾波器的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司一直通過網(wǎng)站建設和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務,以成都做網(wǎng)站、網(wǎng)站制作、移動互聯(lián)產品、營銷型網(wǎng)站建設服務為核心業(yè)務。十多年網(wǎng)站制作的經驗,使用新網(wǎng)站建設技術,全新開發(fā)出的標準網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設的選擇。
通過matlab的fdatool工具箱設計FIR濾波器
以99階FIR低通濾波器為例,學習使用matlab的fdatool工具箱設計濾波器,并將濾波器系數(shù)導出到.coe文件,聯(lián)合Vivado進行FPGA的FIR濾波器設計。
本文濾波器參數(shù)為:低通FIR濾波器,窗函數(shù)設計,采用布萊克曼窗,99階,抽樣頻率32MHz,通帶頻率1.5MHz,適用窗函數(shù)時截止頻率不需要設定,根據(jù)選定的窗函數(shù)和階數(shù)決定截止頻率。
1. 打開matlab
命令行輸入fdatool,回車,打開fdatool濾波器設計工具箱
打開后的初始界面如下:
1處選定濾波器類型(低通、高通、帶通、帶阻);
2處選擇要設計IIR(無限沖激響應)濾波器還是FIR(有限沖擊響應)濾波器,并且選擇使用哪種方法設計對應的濾波器;
3處設計濾波器的階數(shù),一般階數(shù)越多濾波效果越好,但是系數(shù)對應的也越多,在FPGA硬件實現(xiàn)的時候會占用更多的資源,設計時要綜合考慮;
4處設計濾波器的抽樣頻率Fs,通帶頻率Fpass和截止頻率Fstop;
2. 設計所需濾波器
低通(Lowpass),F(xiàn)IR濾波器,窗函數(shù)設計(Window),采用布萊克曼窗(Blackman),99階(會有100個系數(shù),這個是固定的,N階FIR需要N+1個系數(shù)),抽樣頻率32MHz,通帶頻率1.5MHz,適用窗函數(shù)時截止頻率不需要設定,根據(jù)選定的窗函數(shù)和階數(shù)決定截止頻率。
按照上圖設定參數(shù)后,點擊Design Filter。
設計完成后,黃色框內顯示幅頻響應曲線,可以看到,使用Fs=32MHz的抽樣頻率,顯示的頻率為0~Fs/2即0-16MHz的幅頻響應,大概在2MHz左右幅度下降為原來的-60dB以下,換算成幅度即1/1000以下(-60dB=20log(1/1000))。
3. 參數(shù)量化
使用16位的濾波器參數(shù),定點數(shù)表示。
點擊左側第三個框,進行參數(shù)量化,在FPGA中計算浮點數(shù)是很麻煩的事情,并且浮點數(shù)的操作在射頻輸出時會影響功放性能,此處設置為定點數(shù)(一般都是設為定點數(shù)處理)。這里進行量化時就會引入量化誤差,位數(shù)越少誤差越大,但是位數(shù)越多在FPGA硬件中所需的資源也越多,設計中也是需要綜合考慮,此處選擇16位定點數(shù)量化(Fixed-point)。
16位定點數(shù)量化,其他參數(shù)保持默認,此處其實默認是16位,也就是選擇了定點數(shù)之后所有的保持默認就復合要求,所以工具箱會認為你沒有設置,下方的apply按鈕就是灰色的,無法進行應用。
所以此時可以隨便點個參數(shù)改下再改回來,比如把16改成15再改回16,這樣apply就會能點擊了。
點擊apply,在右上方可以看到量化之后和未量化的差別,可以看到實線部分是16位量化后的幅頻特性曲線,虛線部分是未量化的幅頻特性曲線,量化之后在4MHz以后的阻帶衰減不如原來的衰減大,但是實際上量化后也能衰減到-100dB,從幅度上來講是原來的1/(10^5),這個衰減程度也已經足夠了,所以使用16位量化對于濾波器的濾波效果幾乎沒有什么影響。
如下圖,只用4位數(shù)據(jù)去量化的時候,阻帶衰減的就不是很好了,如果誤差要求高的時候就會殘留高頻信號。
4. 導出參數(shù)
(1)導出參數(shù)到matlab
如下圖,先點擊1處的按鈕回到設計界面(不回去也不影響導出參數(shù),此處為了更方便觀看濾波器的參數(shù)),再點擊2處File -> Export,彈出3處所示的小界面,點擊3處界面里的Export即可導出參數(shù)到matlab,導出一個名為Num的數(shù)組,名字可以自己修改,在命令行輸入Num再回車即可觀察系數(shù)。
(2)導出參數(shù)到Xilinx的存儲文件(.coe文件)
點擊Targets -> XILINX Coeffient(.coe) File,
設置文件名稱(最好不要有中文和特殊字符)。
導出的參數(shù)共有100個,可以發(fā)現(xiàn)這樣設計出來的時對稱結構的FIR濾波器,第一個參數(shù)和第100個參數(shù)一樣,第2個和第99個一樣,依次對應。
感謝各位的閱讀!關于“如何通過matlab的fdatool工具箱設計FIR濾波器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
標題名稱:如何通過matlab的fdatool工具箱設計FIR濾波器
路徑分享:http://aaarwkj.com/article4/ihhhie.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、自適應網(wǎng)站、外貿建站、全網(wǎng)營銷推廣、建站公司、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)