1.1 濾波器設(shè)計(jì)流程
本文展示了如何使用Matlab中濾波器設(shè)計(jì)規(guī)格對(duì)象函數(shù)fdesign
的使用方法。根據(jù)fdesign
創(chuàng)建的濾波器規(guī)格對(duì)象,可以使用design
函數(shù)直接設(shè)計(jì)濾波器。
濾波器的設(shè)計(jì)、分析以及在數(shù)據(jù)流上的應(yīng)用的示意圖如下所示:
具體的步驟如下所示:
- 步驟一: 創(chuàng)建一個(gè)
fdesign.response
規(guī)格對(duì)象用以表述濾波器設(shè)計(jì)參數(shù); - 步驟二: 使用
designmethods
確定針對(duì)濾波器規(guī)格隊(duì)形的濾波器設(shè)計(jì)方法; - 步驟三: 如果想要進(jìn)一步修改濾波器的參數(shù),可以查看
designoptions
函數(shù)的使用方法,進(jìn)行具體的濾波器參數(shù)設(shè)置。 - 步驟四: 使用
design
方法從濾波器規(guī)格對(duì)象設(shè)計(jì)一個(gè)濾波器,并以步驟二中的設(shè)計(jì)方法作為輸入。如果需要修改設(shè)計(jì)選項(xiàng)值,需要指定名稱-值
對(duì)的方式向design
函數(shù)中傳遞參數(shù);另外,如果在調(diào)用design
函數(shù)時(shí),沒有指定任何輸出參數(shù),則將默認(rèn)啟動(dòng)濾波器可視化工具FVTool
,并現(xiàn)實(shí)設(shè)計(jì)濾波器的幅值響應(yīng)。 - 步驟五: 至此,我們就可以進(jìn)一步查看設(shè)計(jì)的濾波器分析結(jié)果包括:頻率響應(yīng)、損失函數(shù)、濾波器響應(yīng)特征測(cè)量值等。具體的可以參考Analysis Methods for Filter System Objects。
- 步驟六: 經(jīng)過濾波器分析、設(shè)計(jì)后,我們就可以將濾波器對(duì)象應(yīng)用于輸入數(shù)據(jù)流。
1.2 濾波器設(shè)計(jì)規(guī)格對(duì)象函數(shù)fdesign的語法
fdesign
函數(shù)的使用語法主要包括如下四種方式:
- (1)
designSpecs = fdesign.response
:返回一個(gè)具有特定響應(yīng)(response
)的濾波器設(shè)計(jì)規(guī)格對(duì)象(design specification object)。 - (2)
designSpecs = fdesign.response(spec)
:指定用于定義濾波器設(shè)計(jì)的變量spec
。 - (3)
designSpecs = fdesign.response(___, Fs)
:指定設(shè)計(jì)濾波器的采樣頻率()。注意:Fs
參數(shù)必須作為最后一個(gè)參數(shù)。 - (4)
designSpecs = fdesign.response(___, magunits)
:指定輸入?yún)?shù)的幅值單位。
二、低通濾波器設(shè)計(jì)與性能分析
示例: 設(shè)計(jì)一個(gè)采樣頻率為的低通濾波器,低通濾波器的參數(shù)規(guī)格如下所示:
- 通帶頻率為;
- 阻帶頻率為;
- 通帶波動(dòng)為;
- 阻帶衰減為。
低通濾波器的階數(shù)可以根據(jù)參數(shù)規(guī)格自動(dòng)的配置。
2.1 低通濾波器的設(shè)計(jì)
首先,使用fdesign.lowpass
函數(shù)設(shè)置低通濾波器規(guī)格對(duì)象,Matlab代碼如下所示:
Fs = 96e3; % 采樣頻率
Fpass = 20e3; % 通帶頻率
Fstop = 24e3; % 阻帶頻率
Apass = 0.01; % 通帶波紋
Astop = 80; % 阻帶衰減
% 使用fdesign.lowpass函數(shù)得到濾波器規(guī)格對(duì)象filtSpecs
filtSpecs = fdesign.lowpass( ...
Fpass, ... % 通帶頻率
Fstop, ... % 阻帶頻率
Apass, ... % 通帶波紋
Astop, ... % 阻帶衰減
Fs); % 采樣頻率
然后,使用designmethods
函數(shù)可以輸出針對(duì)濾波器規(guī)格對(duì)象filtSpecs
可用的濾波器設(shè)計(jì)方法,Matlab代碼如下所示:
% 查看可用的濾波器設(shè)計(jì)方法
designmethods(filtSpecs, 'SystemObject', true)
該代碼的執(zhí)行結(jié)果如下圖所示:
下面,使用design
函數(shù)設(shè)計(jì)兩個(gè)滿足規(guī)格的低通濾波器:
- 等波紋FIR低通濾波器(equiripple);
- 橢圓IIR低通濾波器。
!! ? 注意:
design
函數(shù)的返回值是一個(gè)dsp.FIRdecimator
系統(tǒng)對(duì)象,Matlab代碼如下所示:
等波紋FIR低通濾波器濾波器的實(shí)現(xiàn)代碼如下所示:
lpFIR = design(filtSpecs, 'equiripple', 'SystemObject', true)
代碼輸出如下圖所示:
橢圓IIR低通濾波器的實(shí)現(xiàn)代碼如下所示:
lpIIR = design(filtSpecs, 'ellip', 'SystemObject', true)
代碼輸出結(jié)果如下圖所示:
2.2 低通濾波器的分析
最后,我們可以使用如下函數(shù)對(duì)設(shè)計(jì)的濾波器進(jìn)行分析與可視化:
measure
函數(shù):測(cè)量濾波器系統(tǒng)對(duì)象的頻率響應(yīng)特性,對(duì)于低通濾波器,該函數(shù)測(cè)量的濾波器指標(biāo)如下表所示:
頻率響應(yīng)特性 | 描述 |
---|---|
Sample Rate |
濾波器采樣頻率 |
Passband Edge |
通帶進(jìn)入過渡時(shí)的邊緣位置 |
3-dB Point |
響應(yīng)曲線上-3dB點(diǎn)的位置 |
6-dB Point |
響應(yīng)曲線上-6dB點(diǎn)的位置 |
Stopband Edge |
過渡帶進(jìn)入阻帶時(shí)的邊緣位置 |
Passband Ripple |
通帶波紋 |
Stopband Atten |
阻帶衰減 |
Transition Width |
通帶與阻帶之間的過渡寬度 |
cost
函數(shù):評(píng)估濾波器系統(tǒng)對(duì)象的實(shí)現(xiàn)計(jì)算成本,并返回一個(gè)包含計(jì)算成本評(píng)估值的結(jié)構(gòu)體,返回值包含的內(nèi)容如下表所示:
計(jì)算成本評(píng)估值 | 描述 |
---|---|
NumCoefficients |
濾波器系數(shù)的數(shù)量,不包含 |
NumStates |
濾波器狀態(tài)的數(shù)量 |
MultiplicationsPerInputSample |
每個(gè)輸入樣本執(zhí)行乘法運(yùn)算的數(shù)量 |
AdditionsPerInputSample |
每個(gè)輸入樣本執(zhí)行加法運(yùn)算的數(shù)量 |
fvtool
:對(duì)濾波器進(jìn)行可視化并直觀地比較不同濾波器的性能。
(1)濾波器頻率響應(yīng)特性測(cè)量
等波紋FIR低通濾波器濾波器的頻率響應(yīng)特性測(cè)量代碼如下所示:
FIRmeas = measure(lpFIR)
等波紋FIR低通濾波器濾波器的頻率響應(yīng)特性測(cè)量結(jié)果如下圖所示:
橢圓IIR低通濾波器的頻率響應(yīng)特性測(cè)量代碼如下所示:
IIRmeas = measure(lpIIR)
橢圓IIR低通濾波器的頻率響應(yīng)特性測(cè)量結(jié)果如下圖所示:
(2)濾波器計(jì)算成本評(píng)估
等波紋FIR低通濾波器濾波器的計(jì)算成本評(píng)估代碼如下所示:
FIRcost = cost(lpFIR)
等波紋FIR低通濾波器濾波器的計(jì)算成本評(píng)估結(jié)果如下圖所示:
橢圓IIR低通濾波器的計(jì)算成本評(píng)估代碼如下所示:
IIRcost = cost(lpIIR)
橢圓IIR低通濾波器的計(jì)算成本評(píng)估結(jié)果如下圖所示:
(3)濾波器頻率響應(yīng)可視化
下面使用fvtool
對(duì)等波紋FIR低通濾波器濾波器與橢圓IIR低通濾波器進(jìn)行可視化處理,代碼如下所示:
hvft = fvtool(lpFIR, lpIIR, 'Fs', Fs);
legend(hvft, '等波紋FIR低通濾波器', '橢圓IIR低通濾波器')
兩個(gè)濾波器的可視化結(jié)果如下圖所示:
-
matlab
+關(guān)注
關(guān)注
185文章
2974瀏覽量
230384 -
濾波器
+關(guān)注
關(guān)注
161文章
7795瀏覽量
177993 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62569
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論