主要内容

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,…,家构造带通滤波器规格对象,该规格对象具有特定的滤波器顺序、阻带频率、通带频率和其他规格选项。指示要在表达式中指定的选项规范。在表达式之后,为每个选项指定一个值。的后面如果没有指定值规范参数时,函数将采用默认值。

bandpassSpecs= fdesign.bandpass (___Fs提供要滤波的信号的Hz中的采样率。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)

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。

测量滤波器的频率响应特性使用措施。通带纹波略高于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带通滤波器。过滤器的设计过程为:

  1. 指定过滤器设计规格使用fdesign函数。

  2. 选择提供的设计方法designmethods函数。

  3. 要确定可供选择的设计选项,请使用designoptions函数。

  4. 使用该过滤器设计函数。

使用。构造默认的带通滤波器设计规范对象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)

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。

带通滤波器一个离散时间正弦波信号,由三个频率,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)

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。

创建正弦信号

创建一个信号,它是频率为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)

图频谱分析仪包含一个轴对象和其他类型的对象uiflowcontainer, uimenu, uitoolbar。轴对象包含两个类型为line的对象。这些对象分别代表原始噪声信号、带通滤波信号。

输入参数

全部折叠

指定为以下字符向量之一的规范表达式:

  • , 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

约束带标志。这使您能够在三个频带中的一个或两个频带中为固定顺序设计指定通带纹波或阻带衰减。

有关更多详细信息,请参阅c

以图形为本,过滤器规格看起来类似于该图中所示的那些。

规格值之间的区域,如Fst1Fp1是没有显式定义过滤器响应的转换区域。

用于设计过滤器的设计方法取决于规范表达式。这些方法可以通过designmethods函数。该表列出了支持的每种规范表达式金宝appfdesign.bandpass并给出了相应的设计方法。

规范表达式 金宝app支持设计方法
, Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2” 黄油cheby1cheby2ellip平等Kaiserwin
“N F3dB1 F3dB2” 黄油
“N F3dB1 F3dB2,美联社” cheby1
“N F3dB1 F3dB2 Ast、“ cheby2ellip
' 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®命令行,以获取关于给定设计方法的设计选项的详细帮助。

以逗号分隔的值列表指定的规格值。中的每个选项指定一个值规范与选项在表达式中出现的顺序相同。

例子:bandpassSpecs = fdesign.bandpass (' N, Fc1, Fc2, Ast1,美联社,Ast2’,N, Fc1, Fc2, Ast1,美联社,Ast2)

下面的输入参数提供了表达式中每个选项的更多细节。

FIR筛选器的过滤器订单,指定为正整数。在IIR过滤器设计的情况下,如果na未提供,此值被解释为分子顺序和分母顺序。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

IIR筛选器的分子顺序,指定为非负整数。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

IIR过滤器的分母顺序,指定为一个正整数。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

这使您能够指定通频带纹波或阻频带衰减在三个频带中的一个或两个定序设计。

规范中' 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

阻带衰减,用分贝表示为一个正标量。如果magunits'线性'“方”时,不论函数如何指定,都将阻带衰减转换并存储在dB中。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第一个阻带中的衰减,用分贝表示为一个正标量。如果magunits'线性'“方”,第一个阻带衰减被转换并由函数存储在dB中,不管它是如何被指定的。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第二个阻带中的衰减,用分贝表示为一个正标量。如果magunits'线性'“方”,第二阻带衰减由函数转换并存储在dB中,而不管它是如何指定的。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

前3db频率,在归一化频率单位中指定为正标量。

这是第一个截止的通带值以下3db点的频率。此输入参数仅应用于IIR过滤器。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第二个3db频率,在归一化频率单位中指定为正标量。

这是第二次截止时低于通带值的3db点的频率。此输入参数仅应用于IIR过滤器。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第一次截止频率,在归一化频率单位中指定为正标量。

此输入参数仅适用于FIR筛选器。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第二次截止频率,在归一化频率单位中指定为正标量。

此输入参数仅适用于FIR筛选器。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第一阻带频率,在归一化频率单位中指定为正标量。

这是在第一个阻带结束边缘的频率。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第二阻带频率,在归一化频率单位中指定为正标量。

这是第二个阻带开始边缘的频率。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第一通频带频率,在归一化频率单位中指定为正标量。

这是在第一个通频带开始边缘的频率。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

第二通频带频率,在归一化频率单位中指定为正标量。

这是通带结束边缘处的频率。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

滤波器通频带的带宽,以归一化频率单位表示,指定为小于的正标量F3dB2F3dB1

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

两个阻带频率之间的频率宽度,在归一化频率单位中指定为正标量。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32|UINT64

要过滤的信号的采样率,指定为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

大小规格单位,指定为“数据库”'线性', 或者“方”。如果省略此参数,则该对象假定大小的单位为“数据库”。请注意,大小规格总是转换并存储在dB中,无论它们是如何指定的。如果Fs是其中一个输入参数,magunits必须在Fs在“输入参数”列表中。

输出参数

全部折叠

带通滤波器设计说明对象,返回为带通目的。对象的字段取决于规范输入特征向量。

考虑一个例子规范参数设置为“N, Fc1, Fc2”,并将相应的值设置为10.0.6,0.8,分别。的带通过滤器设计规范对象填充以下字段:

介绍了R2009a