带通滤波器设计规范对象
的fdesign.bandpass
函数返回一个带通
滤波器设计规范对象,包含滤波器的规范,如通频带频率、阻频带频率、通频带纹波和滤波器顺序。使用设计
从过滤器设计规范对象设计过滤器的功能。
有关更多控制选项,请参见过滤器设计程序。有关完整的工作流,请参见在Fdesign中设计一个过滤器-过程概述。
使用以下默认值构造带通滤波器设计规范对象:bandpassSpecs
= fdesign.bandpass
第一个停止频率设置为0.35。
第一通频带频率设置为0.45。
第二通频带频率设置为0.55。
第二个停机频率设置为0.65。
首先将阻带衰减设置为60 dB。
通带纹波设置为1dB。
第二个停机衰减设置为60 dB。
构造带通滤波器规格对象,该规格对象具有特定的滤波器顺序、阻带频率、通带频率和其他规格选项。指示要在表达式中指定的选项bandpassSpecs
= fdesign.bandpass (规范
,value1,…,家
)规范
。在表达式之后,为每个选项指定一个值。的后面如果没有指定值规范
参数时,函数将采用默认值。
提供要滤波的信号的Hz中的采样率。bandpassSpecs
= fdesign.bandpass (___,Fs
)Fs
必须指定为标量,尾随提供的其他数值。在这种情况下,规范中的所有频率也是Hz。
设计规范fdesign.bandpass(“Fst1、Fp1 Fp2, Fst2, Ast1,美联社,Ast2’,4,5,6,7,60岁,1,80)
设计相同的过滤器fdesign.bandstop(“Fst1、Fp1 Fp2, Fst2, Ast1,美联社,Ast2”,1600年,2000年,2400年,2800年,60岁的1,80年,8000年)
提供指定大小的单位。bandpassSpecs
= fdesign.bandpass (___,magunits
)magunits
可以是以下情况之一:'线性'
,“数据库”
, 或者“方”
。如果省略此参数,则该对象假定大小规格的单位为“数据库”
。无论指定如何,幅度规格都始终转换并存储在分贝中。如果Fs
提供,magunits
必须遵循Fs
在“输入参数”列表中。
设计具有[1,1.4] kHz的通带的订单100的约束带传输滤波器。阻带衰减值都被约束为60 dB。采样率为10 kHz。
创建一个带通
过滤器设计规范对象使用fdesign.bandpass
功能和说明这些设计参数。
bandpassspecs = fdesign.Bandpass(' N, Fst1 Fp1 Fp2, Fst2, C '100800年1 e3, 1.4 e3, 1.6 e3, 1 e4);
用60 dB的阻带衰减约束两个阻带。
bandpassspecs.stopBand1Constroming = True;bandpassspecs.astop1 = 60;bandpassspecs.stopband2constroming = true;bandpassspecs.astop2 = 60;
设计了带通滤波器设计
函数。得到的过滤器是dsp。FIRFilter
系统对象™。有关如何在流数据上应用此过滤器的详细信息,请参阅dsp。FIRFilter
。
bandpassFilt =设计(bandpassSpecs,“Systemobject”,真正的)
bandpassFilt = dsp。FIRFilterwith properties: Structure: 'Direct form' NumeratorSource: 'Property' Numerator: [5.5055e-04 5.4751e-05 -2.2052e-05 6.5244e-05 ... ] InitialConditions: 0 Show all properties
使用可视化设计的滤波器的频率响应FVTool.
。
fvtool (bandpassFilt)
测量滤波器的频率响应特性使用措施
。通带纹波略高于2 dB。因为设计限制了两个阻带,所以不能限制通带纹波。
衡量(BandPassfilt)
ANS =采样率:10 kHz首次停止边缘:800 Hz首次6-DB点:946.7621 Hz首次3-DB点:975.1807 Hz第一通带边缘:1 kHz第二通带边缘:1.4 kHz第二3-dB点:1.4248 kHz秒6-dB点:1.4533 kHz第二次停车边缘:1.6 kHz第一个停车架。:60.0614 DB通带:2.1443 DB第二次停车验证。:60.0399 DB第一过渡宽度:200 Hz第二过渡宽度:200 Hz
设计一个巴特沃斯IIR带通滤波器。过滤器的设计过程为:
指定过滤器设计规格使用fdesign
函数。
选择提供的设计方法designmethods
函数。
要确定可供选择的设计选项,请使用designoptions
函数。
使用该过滤器设计
函数。
使用。构造默认的带通滤波器设计规范对象fdesign.bandpass
。
bandpassSpecs = fdesign.bandpass
说明:{7x1 cell} NormalizedFrequency: 1 Fstop1: 0.3500 Fpass1: 0.4500 Fpass2: 0.5500 Fstop2: 0.6500 Astop1: 60 pass: 1 Astop2: 60
方法确定可用的设计方法designmethods
函数。要设计巴特沃斯滤波器,请选择黄油
。
designmethods (bandpassSpecs“Systemobject”,真正的)
支持fdesign类的系统对象的设计方法金宝app。带通(Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2): butter cheby1 cheby2 ellip equiripple kaiserwin
在设计过滤器时,您可以指定其他设计选项。查看使用的选项列表designoptions
函数。该功能还显示过滤器使用的默认设计选项。
designoptions (bandpassSpecs“黄油”)
ans =结构体字段:FilterStructure: {1x6 cell} SOSScaleNorm: ` ustring ` SOSScaleOpts: ` fdopts。sosscaling MatchExactly:{通频带的阻带的}SystemObject:“bool”DefaultFilterStructure:“df2sos DefaultMatchExactly:阻带的DefaultSOSScaleNorm:“DefaultSOSScaleOpts: [1 x1 fdopts。sosscaling] DefaultSystemObject: 0
使用设计
功能来设计滤波器。通过“黄油”
和变量给出的规格bandpassSpecs
,作为输入参数。指定“matchexactly”
设计选项“通频带”
。
BPFilter = Design(BandPassSpecs,“黄油”,“matchexactly”,“通频带”,“SystemObject”,真正的)
bpfilter = dsp.biquadfilter具有属性:结构:'直接表格II'SOSMATrixSource:'属性'SOSMATRIX:[7x6 DOUBLE] ScaleValues:[8x1 Double] initialConditions:0 OptimizeUnityScalevaLues:True显示所有属性
可视化所设计滤波器的频率响应。
fvtool (bpFilter)
带通滤波器一个离散时间正弦波信号,由三个频率,1 kHz, 10 kHz,和15 kHz的正弦波组成。
设计FIR Equiripple带通滤波器,首先创建带通滤波器设计规范对象,然后利用这些规范设计滤波器。
设计带通滤波器
使用。创建一个带通滤波器设计规范对象fdesign.bandpass
。
bandpassspecs = fdesign.Bandpass(, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”,......1 / 4,3 / 8,5 / 8,6 / 8,60,1,60);
列出该对象的可用设计方法。
designmethods (bandpassSpecs)
类设计的设计方法。带通(Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2): butter cheby1 cheby2 ellip equiripple kaiserwin
设计平均过滤器,选择“equiripple”
。
BPFilter = Design(BandPassSpecs,“equiripple”,“Systemobject”,真正的)
BPFilter = DSP.Firfilter具有属性:结构:'直接表格'NumeratorSource:'Property'Umerator:[-0.0043 -3.0812E-15 0.0136 3.7820E-15 -0.0180 InitialConditions:0显示所有属性
可视化所设计滤波器的频率响应。
fvtool (bpFilter“Fs”, 44100)
创建正弦信号
创建一个信号,它是频率为1 kHz、10 kHz和15 kHz的三个正弦信号之和。初始化频谱分析仪以查看原始信号和滤波信号。
Sine1 = dsp。SineWave (“频率”1 e3,'采样率', 44.1 e3,“SamplesPerFrame”, 4000);Sine2 = dsp。SineWave (“频率”, 10 e3,'采样率', 44.1 e3,“SamplesPerFrame”, 4000);sine3 = dsp.sinewave(“频率”15 e3,'采样率', 44.1 e3,“SamplesPerFrame”, 4000);SpecAna = dsp。简介(“PlotAsTwoSidedSpectrum”假的,......'采样率', Sine1。SampleRate,......“NumInputPorts”2,......“ShowLegend”,真的,......“YLimits”, -240年,45);SpecAna。ChannelNames = {“原始噪声信号”,“带通滤过的信号”};
过滤正弦信号
利用所设计的带通滤波器对正弦信号进行滤波。在频谱分析仪中查看原始信号和滤波后的信号。在1千赫的音调被过滤和衰减。在10千赫的音调是不受影响的,在15千赫的音调是温和的衰减,因为它出现在过渡带的滤波器。
为i = 1: 1000 x = Sine1()+Sine2()+Sine3();y = bpFilter (x);SpecAna (x, y);结束发行版(SpecAna)
规范
- - - - - -规范, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”
(默认)|“N F3dB1 F3dB2”
|“N F3dB1 F3dB2,美联社”
|......指定为以下字符向量之一的规范表达式:
, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”
(默认)
“N F3dB1 F3dB2”
“N F3dB1 F3dB2,美联社”
“N F3dB1 F3dB2 Ast、“
' N, F3dB1 F3dB2, Ast1,美联社,Ast2”
“N F3dB1 F3dB2, BWp”
“N F3dB1 F3dB2, BWst”
“N, Fc1, Fc2”
' N, Fc1 Fc2, Ast1,美联社,Ast2”
“N Fp1 Fp2,美联社”
' N, Fp1 Fp2, Ast1,美联社,Ast2”
' N, Fst1 Fp1 Fp2, Fst2”
' N, Fst1 Fp1 Fp2, Fst2, C '
' N, Fst1 Fp1 Fp2, Fst2,美联社的
“N Fst1 Fst2 Ast、“
“Nb, Na, Fst1、Fp1 Fp2, Fst2”
该表描述了表达式中可以出现的每个选项。
规范的选择 | 描述 |
---|---|
美联社 |
通频带允许的纹波量,指定为apas 在dB。 |
AST. |
停止衰减(DB),指定使用Astop 。 |
Ast1 |
在第一个停车(DB)中的衰减,指定使用Astop1 。 |
Ast2 |
第二阻带(dB)的衰减,指定使用Astop2 。 |
BWP. |
滤波器通带的带宽,指定为BWpass 归一化频率单位。 |
BWst |
两个停机频率之间的频率宽度,指定为BWstop 归一化频率单位。 |
F3dB1 |
第一次截止的通带值以下3db点的频率,用归一化频率单位指定。适用于IIR过滤器。 |
F3dB2 |
第二次截止通带值以下3db点的频率,用归一化频率单位指定。适用于IIR过滤器。 |
FC1. |
第一截止频率(归一化频率单位),规定使用Fcutoff1 。适用于FIR滤波器。 |
FC2. |
二次截止频率(归一化频率单位),规定使用Fcutoff1 。适用于FIR滤波器。 |
Fp1 |
通频带开始边缘的频率,规定为Fpass1 归一化频率单位。 |
Fp2 |
通频带末端边缘的频率,规定为Fpass2 归一化频率单位。 |
Fst1 |
第一个停止频带末端边缘的频率,规定为Fstop1 归一化频率单位。 |
Fst2 |
在第二个停止频带开始边缘的频率,规定为Fstop2 归一化频率单位。 |
N |
FIR滤波器的过滤器订单。或者IIR过滤器的分子和分母订单都是IIR过滤器Na 和注 没有提供。使用FilterOrder 。 |
注 |
IIR滤波器的分子顺序,使用NumOrder 财产。 |
Na |
使用该IIR过滤器的分母顺序DenOrder 财产。 |
C |
约束带标志。这使您能够在三个频带中的一个或两个频带中为固定顺序设计指定通带纹波或阻带衰减。 有关更多详细信息,请参阅 |
以图形为本,过滤器规格看起来类似于该图中所示的那些。
规格值之间的区域,如Fst1
和Fp1
是没有显式定义过滤器响应的转换区域。
用于设计过滤器的设计方法取决于规范表达式。这些方法可以通过designmethods
函数。该表列出了支持的每种规范表达式金宝appfdesign.bandpass
并给出了相应的设计方法。
规范表达式 | 金宝app支持设计方法 |
---|---|
, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2” |
黄油 ,cheby1 ,cheby2 ,ellip ,平等 ,Kaiserwin |
“N F3dB1 F3dB2” |
黄油 |
“N F3dB1 F3dB2,美联社” |
cheby1 |
“N F3dB1 F3dB2 Ast、“ |
cheby2 ,ellip |
' N, F3dB1 F3dB2, Ast1,美联社,Ast2” |
ellip |
“N F3dB1 F3dB2, BWp” |
cheby1 |
“N F3dB1 F3dB2, BWst” |
cheby2 |
“N, Fc1, Fc2” |
窗户 |
' N, Fc1 Fc2, Ast1,美联社,Ast2” |
FIRCLS. |
“N Fp1 Fp2,美联社” |
cheby1 |
' N, Fp1 Fp2, Ast1,美联社,Ast2” |
ellip |
' N, Fst1 Fp1 Fp2, Fst2” |
iirlpnorm ,平等 ,firls |
' N, Fst1 Fp1 Fp2, Fst2, C ' |
平等 |
' N, Fst1 Fp1 Fp2, Fst2,美联社的 |
ellip |
“N Fst1 Fst2 Ast、“ |
cheby2 |
“Nb, Na, Fst1、Fp1 Fp2, Fst2” |
iirlpnorm |
要设计过滤器,调用设计
功能与这些设计方法之一作为输入。您可以通过传递来选择过滤器响应的类型“杉”
或“信息检索”
到设计
函数。有关更多详细信息,请参阅设计
。输入帮助(bandpassSpecs“方法”)
在MATLAB®命令行,以获取关于给定设计方法的设计选项的详细帮助。
value1,…,家
- - - - - -规范值以逗号分隔的值列表指定的规格值。中的每个选项指定一个值规范
与选项在表达式中出现的顺序相同。
例子:bandpassSpecs = fdesign.bandpass (' N, Fc1, Fc2, Ast1,美联社,Ast2’,N, Fc1, Fc2, Ast1,美联社,Ast2)
下面的输入参数提供了表达式中每个选项的更多细节。
注
- IIR过滤器的分子顺序IIR筛选器的分子顺序,指定为非负整数。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
na
- IIR过滤器的分母顺序IIR过滤器的分母顺序,指定为一个正整数。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
c
-受限带标志这使您能够指定通频带纹波或阻频带衰减在三个频带中的一个或两个定序设计。
规范中' N, Fst1 Fp1 Fp2, Fst2, C '
,则不能同时为所有三个频带(两个停止频带和一个通频带)指定约束条件。您可以指定任意一个或两个带中的约束。
考虑以下带通设计规范,其中两个阻带都被约束到默认值60 dB。
例子:规范= fdesign.bandpass (' N Fst1 Fp1 Fp2, Fst2, C”,100800年,1 e3, 1.4 e3, 1.6 e3, 1 e4);spec.Stopband1Constrained = true;spec.Stopband2Constrained = true;
美联社
——通带波纹通带纹波,指定为DB中的正标量。如果magunits
是'线性'
或“方”
,通带纹波被转换并存储在dB中,而不管它是如何被指定的。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
AST.
- 停止衰减阻带衰减,用分贝表示为一个正标量。如果magunits
是'线性'
或“方”
时,不论函数如何指定,都将阻带衰减转换并存储在dB中。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
ast1
-第一阻带衰减第一个阻带中的衰减,用分贝表示为一个正标量。如果magunits
是'线性'
或“方”
,第一个阻带衰减被转换并由函数存储在dB中,不管它是如何被指定的。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
ast2
- 第二次停滞衰减第二个阻带中的衰减,用分贝表示为一个正标量。如果magunits
是'线性'
或“方”
,第二阻带衰减由函数转换并存储在dB中,而不管它是如何指定的。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
F3dB1
- 前3个DB频率前3db频率,在归一化频率单位中指定为正标量。
这是第一个截止的通带值以下3db点的频率。此输入参数仅应用于IIR过滤器。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
F3dB2
- 第二个3 dB频率第二个3db频率,在归一化频率单位中指定为正标量。
这是第二次截止时低于通带值的3db点的频率。此输入参数仅应用于IIR过滤器。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
fc1
-第一次截止频率第一次截止频率,在归一化频率单位中指定为正标量。
此输入参数仅适用于FIR筛选器。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
FC2.
-二次截止频率第二次截止频率,在归一化频率单位中指定为正标量。
此输入参数仅适用于FIR筛选器。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
fst1
—第一阻带频率第一阻带频率,在归一化频率单位中指定为正标量。
这是在第一个阻带结束边缘的频率。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
fst2
-第二阻带频率第二阻带频率,在归一化频率单位中指定为正标量。
这是第二个阻带开始边缘的频率。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
fp1
—第一通频带频率第一通频带频率,在归一化频率单位中指定为正标量。
这是在第一个通频带开始边缘的频率。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
fp2
-第二通频带频率第二通频带频率,在归一化频率单位中指定为正标量。
这是通带结束边缘处的频率。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
bwst
-阻带频率之间的频率宽度两个阻带频率之间的频率宽度,在归一化频率单位中指定为正标量。
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
Fs
- - - - - -采样率要过滤的信号的采样率,指定为Hz中的标量。将采样率指定为标量尾随提供的其他数值。什么时候Fs
提供,Fs
假设为Hz,其他所有频率值也是如此。注意,您不必更改规范字符串。
下面的设计将规范字符串设置为, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”
,采样频率设置为8000hz。
bandpassSpecs = fdesign.bandpass(“Fst1、Fp1 Fp2, Fst2, Ast1,美联社,Ast2”,1600年,2000年,2400年,2800年,60岁,80年,8000年);filt =设计(bandpassSpecs, Systemobject,真的);
数据类型:单身的
|双
|INT8.
|int16
|int32
|int64
|uint8.
|uint16
|UINT32
|UINT64
magunits
- - - - - -幅度单位“数据库”
(默认)|'线性'
|“方”
大小规格单位,指定为“数据库”
,'线性'
, 或者“方”
。如果省略此参数,则该对象假定大小的单位为“数据库”
。请注意,大小规格总是转换并存储在dB中,无论它们是如何指定的。如果Fs
是其中一个输入参数,magunits
必须在Fs
在“输入参数”列表中。
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。