前言
本文主要記錄濾波器設計的基本流程,涉及到定點/浮點的轉化。一、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 現代濾波器適用於輸入訊號中含有混疊干擾頻率,常見的包括 對於現代濾波器,有時間要乙個個進行研究。濾波器的技術指標通常是以頻率響應的幅值特性 或者說上面...