fdatool的濾波器設計

2022-09-12 12:51:23 字數 1780 閱讀 7268

前言

本文主要記錄濾波器設計的基本流程,涉及到定點/浮點的轉化。

一、fdatool基本操作command輸入fdatool,例如fir採用窗函式法設計16階低通filter,fc(frequency cutoff) = 10800hz,fs = 48000hz,輸入引數: 

需要注意的是由於存在常數項,n階filter用n-1階設計即可。

設計完濾波器並不是直接匯出,通常需要兩個後處理操作:

2)系數量化。通常dsp/fpga需要定點操作,點選左方的量化,進行位數設定。

設計完成之後,可以file——export,將濾波器引數匯出,匯出的濾波器格式可以自行選擇。

左方的圖示功能依次(自上而下)為:

1)create a multi-rate filter:建立多速率濾波器;

2)transform filter:濾波器轉換;

3)set quantization parameters:設定量化引數;

4)realize model:實現模型;

6)import filter:匯入濾波器;

7)design filter:設計濾波器;

二、定點/浮點轉化

定點就是位數固定,浮點通常表示為:2.2e8,即xyz的形式,x:常數,y:基底,z:指數。浮點轉換為定點在matlab中稱為量化,使用quantizer和quantize兩個函式完成,通常為了便於表示,也會使用num2bin,num2int,num2hex等指令。

按照quantizer定義的量化屬性量化浮點資料。

以上文的16階濾波器為例:

有符號數,先放大100倍,整數最大為41:2^6 > 41,最小需要6位整數,又希望擴大100倍後的資料,小數點後精確到0.01(即原資料精度:1e-4),2^-7 < 0.01,即需要7位小數。

共需要位數n = 1符號位+6整數字+7小數字 = 14位,

其中小數m = 7位。?1

2345

n = 14;

m = 7;

q = quantizer('fixed','round','saturate',[n,m]);

fix_fir = quantize(q,fir_coef*100);

[fix_fir;fir_coef*100]

結果可以看出,量化的資料達到了精度要求(上為量化資料,下為原始資料):

有時候為了表示方便,習慣了二進位制的表達方式(有符號數,負數用補碼表示):?1

num2bin(q,fix_fir)

這一操作也為含有小數的負數求解補碼提供了思路,列印資訊如下(類似指令num2int,num2hex類似):

濾波器設計

濾波器設計是乙個建立滿足指定濾波要求的濾波器引數的過程。濾波器的實現包括濾波器結構的選擇和濾波器引數的計算。只有完成了濾波器的設計和實現,才能最終完成資料的濾波。濾波器設計的目標是實現資料序列的頻率成分變更。嚴格的設計規格需要指定通帶波紋數 阻帶衰減 過渡帶寬度等。更準確的指定可能需要實現最小階數的...

微帶濾波器摘要 微帶濾波器設計

龍源期刊網 微帶濾波器設計 李興廣劉仁成年第期 摘要 微帶濾波器是一類無耗的二埠網路。具有設計靈活,質量輕 平面化,便於集 成等特點,因而被廣泛的應用於電子對抗 雷達 射頻通訊等科技領域。本文設計了一種小體 積 寬頻帶通微帶濾波器,結果表明其具備良好的頻帶響應。射頻通訊 頻帶響應 中圖分類號 tn7...

濾波器設計指標

經典濾波器就是我們熟知的fir和iir,經典濾波器要求對輸入訊號的頻率範圍已知,從功能上可劃分為 上面的圖示是濾波器的增益曲線 gain curve 現代濾波器適用於輸入訊號中含有混疊干擾頻率,常見的包括 對於現代濾波器,有時間要乙個個進行研究。濾波器的技術指標通常是以頻率響應的幅值特性 或者說上面...