主要内容

fdesign

滤波器设计规范对象

描述

使用fdesign函数创建滤波器设计规范对象,该对象包含滤波器的规范,如通带纹波、阻带衰减和滤波器顺序。然后,使用设计函数从筛选器设计规范对象设计筛选器。有关示例,请参阅低通抽取器的设计

下面是工作流图,展示了设计、分析和最后应用流数据过滤器的简单过程。

有关更多控制选项,请参见滤波器设计程序.有关完整的工作流,请参见在Fdesign中设计一个过滤器-过程概述

designSpecs= fdesign。响应返回带有给定参数的筛选器的设计规范对象响应

例子

designSpecs= fdesign。响应规格指定用于定义筛选器设计的变量。滤波器设计参数应用于您为滤波器选择的滤波器设计方法。您选择的规范选项决定了哪些设计方法应用于fdesign对象。

designSpecs= fdesign。响应___Fs在过滤器规格中指定以Hz为单位的采样率。采样率标量必须是最后一个输入参数。如果指定采样率,则所有频率规格均以Hz为单位。

designSpecs= fdesign。响应___magunits指定输入参数中提供的任何大小规格的单位。

例子

全部折叠

设计一个100抽头FIR低通抽取滤波器,将信号的采样率从60 kHz降低到20 kHz。滤波器的通频带可达6 kHz。指定通带纹波为0.01 dB,阻带衰减为100 dB。

Fs=60e3;N=99;Fpass=6e3;Apass=0.01;Astop=100;M=Fs/20e3;

使用设置过滤器设计规范对象fdesign.decimator函数。

filtSpecs = fdesign.decimator (M,低通滤波器的“N, Fp,美联社,Ast”、N、成就、apas Astop, Fs);

设计FIR低通小数部分设计函数。

得到的过滤器是dsp。FIRDecimator系统对象™。有关如何将此过滤器应用于流数据的详细信息,请参阅dsp。FIRDecimator

decimFIR=设计(过滤规格,“SystemObject”,真正的)
decimFIR = dsp。FIRDecimatorwith properties: NumeratorSource: 'Property' Numerator: [1x100 double] DecimationFactor: 3 Structure: 'Direct form' Show all properties

使用信息显示有关筛选器的信息。

信息(分贝)
ans =10 x56 char数组离散时间FIR多速率滤波器(真实)“-----------------------------------------”滤波器结构:直接形式FIR多相抽取器“抽取因子:3”“多相长度:34”“滤波器长度:100”“稳定:是”“线性相位:是(类型2)”' ' ' '算术:double '

想象滤波器的幅值响应使用fvtool

fvtool (decimFIR“财政司司长”Fs)

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

设计一个低通滤波器,用于在96 kHz采样的信号。滤波器的通频带可达20 kHz。滤波器的阻带从24 kHz开始。指定通带纹波为0.01 dB,阻带衰减为80 dB。自动确定满足规格要求的订单。

属性设置过滤器设计规范对象fdesign.lowpass函数。

Fs = 96年e3;成就= 20 e3;Fstop = 24 e3;apas = 0.01;Astop = 80;filtSpecs = fdesign.lowpass (apas,成就,Fstop Astop, Fs);

方法确定可用的设计算法designmethods函数。

designmethods (filtSpecs“SystemObject”,真正的)
支持fdesign类的系统对象的设计方法金宝app。低通滤波器(Fp,Fst,Ap,Ast): butter cheby1 cheby2 ellip equiripple ifir kaiserwin multistage

使用设计功能上,设计了符合规格的等波纹FIR滤波器和椭圆IIR滤波器。

lpFIR=设计(过滤规格,“equiripple”“SystemObject”,真正的)
lpFIR = dsp。FIRFilter with properties: Structure: 'Direct form' NumeratorSource: 'Property' Numerator: [1x101 double] InitialConditions: 0 Show all properties
lpIIR=设计(过滤规格,“ellip”“SystemObject”,真正的)
lpIIR = dsp。SOSMatrixSource: 'Property' SOSMatrix: [5x6 double] ScaleValues: [6x1 double] InitialConditions: 0 OptimizeUnityScaleValues: true显示所有属性

你也可以测量设计验证了滤波器满足约束条件。

FIRmeas =测量(lpFIR)
FIRmeas =采样率:96 kHz通频带边缘:20 kHz 3-dB点:21.4297 kHz 6-dB点:21.8447 kHz阻带边缘:24 kHz通频带纹波:0.0092309 dB阻带Atten。过渡宽度:4 kHz
IIRmeas =测量(lpIIR)
IIRmeas=采样率:96 kHz通带边缘:20 kHz 3-dB点:20.5524 kHz 6-dB点:20.7138 kHz阻带边缘:24 kHz通带纹波:0.01 dB阻带衰减:80 dB过渡宽度:4 kHz

估算并显示计算结果成本等波纹FIR滤波器比椭圆IIR滤波器需要更多的系数。

FIRcost=成本(lpFIR)
FIRcost=结构体字段:NumCoefficients:101 NumStates:100乘法SPRINPUTSAMPLE:101加法SPRINPUTSAMPLE:100
IIRcost =成本(lpIIR)
IIRcost =结构体字段:NumCoefficients: 20 NumStates: 10 MultiplicationsPerInputSample: 20 AdditionsPerInputSample: 20

使用fvtool函数来可视化结果设计并比较它们的属性。

fvtool (lpFIR lpIIR,“财政司司长”Fs);传奇(“冷杉Equiripple”“椭圆IIR”

图过滤器可视化工具-幅度响应(dB)包含一个轴和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴包含两个类型为line的对象。这些对象代表FIR Equiripple, Elliptic IIR。

设计一个通带边缘频率为的低通巴特沃斯滤波器 0 4 π Rad /sample,阻带频率 0 5 π rad/sample,通带纹波为1dB,阻带衰减为80dB。

创建一个低通滤波器过滤器设计规范对象使用fdesign.lowpass函数。指定设计参数。

lowpassSpecs = fdesign.lowpass (0.4, 0.5, 80);

要查看规范对象可用的设计方法列表,请使用designmethods函数。如果有多种方法可用,选择一个最符合设计标准的方法。对于这个示例,请选择“黄油”

designmethods (lowpassSpecs“SystemObject”,真正的)
支持fdesign类的系统对象的设计方法金宝app。低通滤波器(Fp,Fst,Ap,Ast): butter cheby1 cheby2 ellip equiripple ifir kaiserwin multistage

此外,您可以指定在设计筛选器时使用的设计选项。要查看可用选项列表,请运行设计选项函数低通规范。设计选项取决于您选择的设计方法。在本例中,设计方法,“黄油”的参数,必须指定为参数设计选项函数。

designoptions (lowpassSpecs“黄油”“Systemobject”,真正的)
ans =结构体字段:FilterStructure: {1x6 cell} SOSScaleNorm: ` ustring ` SOSScaleOpts: ` fdopts。年代osscaling' MatchExactly: {'passband' 'stopband'} DefaultFilterStructure: 'df2sos' DefaultMatchExactly: 'stopband' DefaultSOSScaleNorm: '' DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]

满足一组设计约束所需的筛选器顺序也必须四舍五入到一个整数值。这就放宽了一些限制,因此,有些设计规范得到了满足,而有些则超出了。的“完全匹配”选项允许您匹配通频带或阻频带,而超过规格的其他频带。设计滤波器,使其与通频带完全匹配。

得到的过滤器是dsp。BiquadFiter系统对象™。有关如何在流数据上应用此过滤器的详细信息,请参阅dsp。BiquadFilter

IIRbutter=设计(低通规范,“黄油”“完全匹配”“通频带”...“SystemObject”,真正的)
IIRbutter=dsp.BiquadFilter,带属性:结构:'Direct form II'SOSMatrix源:'Property'SOSMatrix:[16x6 double]缩放值:[17x1 double]初始条件:0 OptimizeUnityScaleValues:true显示所有属性

使用fvtool使滤波器的幅值响应形象化。

fvtool (IIRbutter)

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

输入参数

全部折叠

该表指定了可能的筛选器响应。

fdesign响应方法

描述

arbgrpdelay

fdesign.arbgrpdelay创建一个对象来指定allpass任意组延迟过滤器。

arbmag

fdesign.arbmag创建一个对象以指定具有由输入参数定义的任意幅值响应的IIR过滤器。

arbmagnphase

fdesign.arbmagnphase创建一个对象来指定IIR滤波器,该滤波器具有由输入参数定义的任意幅度和相位响应。

audioweighting

设计音频加权为音频加权过滤器创建过滤器设计规范对象。支持的音金宝app频权重类型有:A、C、C-message、ITU-T 0.41、ITU-R 468-4权重。

带通

F设计带通创建指定带通滤波器的对象。

带阻

F设计带阻创建指定带阻滤波器的对象。

ciccomp

fdesign.ciccomp创建一个对象来指定用于补偿CIC抽取器或插值器响应曲线的滤波器。

梳子

fdesign.comb创建一个对象以指定凹槽或峰值梳状过滤器。

杀害多人者

fdesign.decimator创建指定小数的对象。

微分电路

fdesign.differentiator创建一个对象以指定FIR微分器过滤器。

破裂延迟

fdesign.fracdelay创建指定分数延迟过滤器的对象。

halfband

fdesign.halfband创建一个对象以指定半带过滤器。

高通

高通设计创建一个对象以指定高通过滤器。

希尔伯特

fdesign.hilbert创建一个对象来指定FIR希尔伯特转换器。

插入器

fdesign.interpolator创建一个对象来指定插值器。

isinchp

fdesign.isinchp创建一个对象来指定逆sinc高通滤波器。

isinclp

fdesign.isinclp创建对象以指定反向sinc低通滤波器。

低通滤波器

fdesign.lowpass创建一个对象来指定低通过滤器。

切口

fdesign.notch创建一个对象来指定陷波滤波器。

奈奎斯特

奈奎斯特设计公司创建一个对象来指定Nyquist筛选器。

倍频程

F设计倍频程创建一个对象以指定倍频程和分数倍频程过滤器。

parameq

fdesign.parameq创建指定参数均衡器过滤器的对象。

fdesign.peak创建一个对象以指定峰值过滤器。

polysrc

fdesign.polysrc创建指定多项式采样率转换器滤波器的对象。

rsrs

fdesign.rsrc创建一个对象来指定合理因素采样率转换器。

使用设计文件。响应语法在MATLAB提示符中获取特定结构的帮助。例如,该命令提供了关于lowpass规格对象的更多信息:

医生fdesign.lowpass

每一个响应有一个规范属性,该属性定义用于设计筛选器的规范。可以使用默认值或指定规范属性在构造规范对象时。

使用规范属性时,您可以提供过滤器约束,例如从规范对象构造过滤器时使用的过滤器顺序或通带衰减。

过滤器设计说明,指定为字符向量。可用的规范选项集取决于F设计。响应函数。欲了解更多信息,请咨询个人F设计。响应页面。

过滤器的设计是根据所提供的规格F设计。响应对象。例如,当创建默认低通滤波器设计规范对象时,fdesign.lowpass,则规范表达式设置为‘Fp、Fst、Ap、Ast’.滤波器的设计参数为-《外交政策》(通带频率),(阻带频率),美联社(通带纹波),Ast(阻带衰减)-设置为默认值。的设计函数根据这些参数设计滤波器。

调用时,不包含筛选器顺序的规范将导致最小顺序设计设计功能:

d = fdesign.lowpass;%规格为“Fp,Fst,Ap,Ast”FIReq =设计(d,“equiripple”“SystemObject”,真正的);长度(FIReq.Numerator)%返回43。过滤器顺序为42

您选择的规范选项决定了哪些设计方法是适用的。你可以使用setspecs功能同时设置所有规格。

您可以通过在规范参数,或通过传递不带规范

过滤器对象构造函数接受输入参数的顺序与setspecs规范

当第一次输入到F设计。响应不是有效的规范选项,fdesign假设输入参数是过滤器规范,并使用默认值应用它规范选择。例如,‘Fp、Fst、Ap、Ast’是低通对象的默认值。

在过滤器规格中使用的采样率,以Hz表示。采样率标量必须是最后一个输入参数。如果指定采样率,则所有频率规格均以Hz为单位。

数据类型:|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

震级规格单位,规定为:

  • “数据库”——分贝

  • “线性”——线性单元

  • “方”——动力单元

当你省略magunits论据,,fdesign假设所有的大小都以dB为单位。请注意,fdesign以dB存储所有大小规格。如果你设置magunits选择一个选项,而不是“数据库”,函数将单元转换为“数据库”

输出参数

全部折叠

fdesign返回筛选器设计规范对象。每个过滤器设计规范对象都有以下属性:

属性名

默认值

描述

回应

取决于所选的类型

定义要设计的滤波器类型,例如插值器或带通滤波器。这是只读值。

规范

取决于所选的类型

定义用于定义期望滤波器性能的滤波器特性,如截止频率足球俱乐部或过滤器顺序N

描述

这取决于你选择的过滤器类型

包含用于定义对象的筛选器规范以及从对象创建筛选器时使用的筛选器规范的描述。这是一个只读值。

NormalizedFrequency

逻辑真正的

确定滤波器计算是否使用从0到1的归一化频率或从0到的频带F年代/2,采样频率。可以接受真正的没有单引号。音频加权滤波器不支持标准化频率。金宝app

除了这些属性外,过滤器设计规范对象还可能具有其他属性,这取决于它们设计的是单速率过滤器还是多速率过滤器。

添加多速率过滤器的属性

描述

决定因素

指定降低采样率的数量。总是一个正整数。

插值因子

指定增加采样率的量。始终为正整数。

PolyphaseLength

多相长度是由小数或内插器或变率因子滤波器组成的每个多相子滤波器的长度。滤波器的总长度是pl以及速率变化因子。pl必须是一个偶数。

更多关于

全部折叠

滤波器设计程序

下面是设计和分析过滤器的整个过程的工作流图。

以下是详细的步骤:

  1. 创建一个F设计。响应说明对象以指定设计参数。

  2. 使用designmethods确定适用于新的筛选器规范对象的筛选器设计方法。如果您选择使用默认的设计方法,那么这个步骤是可选的。

  3. 如果您希望更改设计选项,并希望查看可用选项列表,请运行设计选项函数。输出还显示过滤器默认使用的设计选项。

  4. 使用设计根据过滤器规范对象来设计过滤器。指定设计方法(从步骤2确定)作为输入。如果设计选项必须从默认值更改,请按照设计方法将它们指定为名称-值对。

    如果你打电话给设计函数在没有任何输出参数的情况下,启动FVTool并显示所设计滤波器的幅度响应。

    另外,使用fvtool函数。

  5. 进一步的分析,例如查看滤波器的频率响应、计算实现滤波器的成本以及测量滤波器响应特性,可以使用支持的方法之一来完成金宝app过滤系统对象的分析方法

  6. 一旦分析筛选器并确定筛选器满足设计约束,就可以将筛选器对象应用于流输入数据。有关如何将数据传递给筛选器对象的详细信息,请参阅相应的筛选器System对象™引用页面。

有关设计和分析的详细示例,请参阅低通巴特沃斯滤波器的规格和设计

介绍了R2009a