fdesign.bandpass
带通滤波器设计规范对象
语法
描述
的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
在输入参数列表中。
例子
设计等纹波FIR带通滤波器
设计一个通频带为[1,1.4]kHz的100阶约束带FIR等纹波滤波器。两个阻带衰减值都限制在60 dB。采样率为10khz。
创建一个带通
对象的过滤器设计规范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。Stopband1Constrained = true;bandpassSpecs。Astop1 = 60;bandpassSpecs。Stopband2Constrained = true;bandpassSpecs。Astop2 = 60;
设计了带通滤波器设计
函数。生成的筛选器是dsp。FIRFilter
系统对象™。有关如何在流数据上应用此过滤器的详细信息,请参见dsp。FIRFilter
.
bandpassFilt =设计“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分贝。因为设计限制了两个止带,所以不能限制通带波纹。
测量(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第一过渡宽度:200hz第二过渡宽度:200hz
巴特沃斯IIR带通滤波器设计
设计一个巴特沃斯IIR带通滤波器。滤波器的设计程序为:
指定过滤器设计规范
fdesign
函数。方法提供的设计方法
designmethods
函数。要确定可供选择的可用设计选项,请使用
designoptions
函数。设计过滤器使用
设计
函数。
构造一个默认的带通滤波器设计规范对象fdesign.bandpass
.
bandpassSpecs = fdesign.bandpass
带通规格=带通属性:响应:'带通'规格:'Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2'描述:{7x1 cell} NormalizedFrequency: 1 Fstop1: 0.3500 Fpass1: 0.4500 Fpass2: 0.5500 Fstop2: 0.6500 Astop1: 60 Apass: 1 Astop2: 60
确定可用的设计方法designmethods
函数。要设计一个巴特沃斯滤波器,请选择黄油
.
designmethods (bandpassSpecs“Systemobject”,真正的)
支持fdesign类的系统对象的设计方法万博1manbetx。带通(Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2): butter cheby1 cheby2 ellip equiripple kaiserwin
在设计筛选器时,可以指定其他设计选项。属性查看选项列表designoptions
函数。该函数还显示筛选器使用的默认设计选项。
designoptions (bandpassSpecs“黄油”)
ans =带字段的结构:SOSScaleNorm: 'ustring' SOSScaleOpts: 'fdopts. FilterStructure: {1x6 cell}sosscaling' MatchExactly: {'passband' 'stopband'} SystemObject: 'bool' DefaultFilterStructure: 'df2sos' DefaultMatchExactly: 'stopband' DefaultSOSScaleNorm: " DefaultSOSScaleOpts: [1x1 fdopts。sosscaling] DefaultSystemObject: 0
使用设计
函数来设计过滤器。通过“黄油”
以及由变量给出的规格bandpassSpecs
,作为输入参数。指定“matchexactly”
设计选项为“通频带”
.
bpFilter =设计“黄油”,“matchexactly”,“通频带”,“SystemObject”,真正的)
bpFilter = dsp。SOSMatrixSource: 'Property' SOSMatrix: [7x6 double] ScaleValues: [8x1 double] InitialConditions: 0 OptimizeUnityScaleValues: true显示所有属性
可视化所设计滤波器的频率响应。
fvtool (bpFilter)
正弦波的带通滤波
带通滤波器是一种离散时间正弦波信号,由频率为1khz, 10khz和15khz的三个正弦波组成。
设计FIR等纹波带通滤波器,首先创建一个带通滤波器设计规范对象,然后使用这些规范设计滤波器。
带通滤波器设计
使用创建一个带通滤波器设计规范对象fdesign.bandpass
.
bandpassSpecs = fdesign.bandpass(, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”,...1/4, 3/8, 5/8, 6/8, 60岁,1、60);
列出此对象的可用设计方法。
designmethods (bandpassSpecs)
类fdesign的设计方法。带通(Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2): butter cheby1 cheby2 ellip equiripple kaiserwin
为了设计一个等纹波滤波器,选择“equiripple”
.
bpFilter =设计“equiripple”,“Systemobject”,真正的)
bpFilter = dsp。FIRFilterwith properties: Structure: 'Direct form' NumeratorSource: 'Property' Numerator: [-0.0043 -3.0812e-15 0.0136 3.7820e-15 -0.0180 ... ] InitialConditions: 0 Show all properties
可视化所设计滤波器的频率响应。
fvtool (bpFilter“Fs”, 44100)
创建正弦信号
创建一个频率为1 kHz、10 kHz和15 kHz的三个正弦波的和的信号。初始化频谱分析仪,查看原始信号和滤波后的信号。
Sine1 = dsp。SineWave (“频率”1 e3,“SampleRate”, 44.1 e3,“SamplesPerFrame”, 4000);Sine2 = dsp。SineWave (“频率”, 10 e3,“SampleRate”, 44.1 e3,“SamplesPerFrame”, 4000);Sine3 = dsp。SineWave (“频率”15 e3,“SampleRate”, 44.1 e3,“SamplesPerFrame”, 4000);光谱分析仪(“PlotAsTwoSidedSpectrum”假的,...“SampleRate”, Sine1。SampleRate,...“ShowLegend”,真的,...“YLimits”, -240年,45);SpecAna。ChannelNames = {“原始噪声信号”,带通滤波信号};
滤波正弦信号
使用所设计的带通滤波器对正弦信号进行滤波。在频谱分析仪中查看原始信号和滤波后的信号。1千赫的音调被过滤和衰减。10 kHz的音调不受影响,15 kHz的音调轻微减弱,因为它出现在滤波器的过渡带中。
为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滤波器的分子和分母都有阶Na 而且注 不提供。指定使用FilterOrder . |
注 |
IIR滤波器的分子顺序,使用NumOrder 财产。 |
Na |
IIR滤波器的分母顺序,使用DenOrder 财产。 |
C |
受限波段标志。这使您可以在三个波段中的一个或两个指定固定顺序设计的通带纹波或阻带衰减。 详情请参见 |
从图形上看,过滤器规范与此图中所示的类似。
规格值之间的区域,如Fst1
而且Fp1
是没有明确定义过滤器响应的过渡区域。
可用于设计滤波器的设计方法取决于规格表达式。方法可以通过designmethods
函数。该表列出了支持的每个规范表达式万博1manbetxfdesign.bandpass
以及可用的相应设计方法。
规范表达 | 万博1manbetx支持的设计方法 |
---|---|
, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2” |
黄油 ,cheby1 ,cheby2 ,ellip ,equiripple ,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 ,equiripple ,firls |
' N, Fst1 Fp1 Fp2, Fst2, C ' |
equiripple |
' N, Fst1 Fp1 Fp2, Fst2,美联社的 |
ellip |
“N Fst1 Fst2 Ast、“ |
cheby2 |
“Nb, Na, Fst1、Fp1 Fp2, Fst2” |
iirlpnorm |
要设计过滤器,请调用设计
以这些设计方法之一作为输入的函数。您可以通过传递来选择筛选器响应的类型“杉”
或“信息检索”
到设计
函数。详情请参见设计
.输入帮助(bandpassSpecs“方法”)
在MATLAB中®命令行获取有关给定设计方法的设计选项的详细帮助。
value1,…,家
- - - - - -规范值
逗号分隔的值列表
规范值,指定为逗号分隔的值列表。中的每个选项指定一个值规范
与表达式中选项出现的顺序相同。
例子:= fdesign.bandpass('N,Fc1,Fc2,Ast1,Ap,Ast2', N,Fc1,Fc2,Ast1,Ap,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。
例子:spec = fdesign.bandpass('N,Fst1,Fp1,Fp2,Fst2,C',100,800,1e3,1.4e3,1.6e3,1e4);spec.Stopband1Constrained = true;spec.Stopband2Constrained = true;
美联社
-通带波纹
积极的标量
通带纹波,以dB为单位指定为正标量。如果magunits
是“线性”
或“方”
,通带纹波被函数转换并存储在dB中,而不管它是如何指定的。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
ast
-阻带衰减
积极的标量
止带衰减,指定为正标量,单位为dB。如果magunits
是“线性”
或“方”
时,无论如何指定阻带衰减,函数都将阻带衰减转换并存储为dB。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
ast1
-第一次阻带衰减
积极的标量
第一个止带的衰减,用正标量表示,单位为dB。如果magunits
是“线性”
或“方”
时,无论函数如何指定,第一个阻带衰减都将转换并存储为dB。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
ast2
-秒阻带衰减
积极的标量
第二止带的衰减,用正标量表示,单位为dB。如果magunits
是“线性”
或“方”
,第二阻带衰减被函数转换并存储为dB,而不管它是如何指定的。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
F3dB1
—前3db频率
积极的标量
前3分贝频率,在归一化频率单位中指定为正标量。
这是第一个截止的通带值以下3db点的频率。此输入参数仅适用于IIR过滤器。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
F3dB2
—秒3db频率
积极的标量
秒3分贝频率,在归一化频率单位中指定为正标量。
这是第二次截止的通带值以下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
- - - - - -采样率
标量
要过滤的信号的采样率,以赫兹为单位指定为标量。将采样率指定为尾随所提供的其他数值的标量。当Fs
提供,Fs
假设为Hz,所有其他频率值也是如此。注意,您不必更改规格字符串。
下面的设计将规格字符串设置为, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”
,采样率设置为8000hz。
bandpassSpecs = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',1600,2000,2400,2800,60,1,80,8000);filt = design(bandpassSpecs,'Systemobject',true);
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
magunits
- - - - - -级单位
“数据库”
(默认)|“线性”
|“方”
大小规格单位,指定为“数据库”
,“线性”
,或“方”
.如果省略此参数,则对象假定大小单位为“数据库”
.请注意,无论大小规格是如何指定的,它们总是转换并存储在dB中。如果Fs
是输入参数之一,magunits
必须在后面指定Fs
在输入参数列表中。
输出参数
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。