主要内容

设计一个过滤器Fdesign -流程概述

工艺流程图和滤波器设计方法

请注意

探索过程流程图

过程流程图如下图所示列出步骤,展示了滤波器设计过程的顺序。

第一个四个步骤滤波器设计过程与滤波器规范的对象,而最后两个步骤涉及滤波器实现对象。这些对象都是在下面详细讨论。步骤5 -滤波器的设计,从过滤规范对象是过渡的步骤来实现对象。分析和验证步骤是完全可选的。它提供了滤波器设计方法,以确保过滤器符合设计标准。根据验证的结果,你可以循环回步骤3和步骤4,选择不同的算法,或者定制。你也希望回到步骤3或4后滤波器设计的输入数据滤波器(步骤7),并找到你想进一步调整过滤器或改变它。

图表显示了每个步骤的帮助命令。输入线在MATLAB的帮助®命令提示符接收指令,进一步为特定步骤文档链接。并不是所有的步骤必须显式地执行。例如,您可以直接从步骤1到步骤5中,和临时三个步骤是为你做的软件。

以下是上面所示的每个步骤的细节。

选择一个响应

如果你输入:

帮助fdesign /响应
在MATLAB命令提示符,你看到所有可用的列表过滤反应。

你必须选择一个响应启动过滤器。在这个示例中,创建一个带通滤波器的规范对象通过输入如下:

d = fdesign.bandpass

选择一个规范

一个规范是一个数组给定滤波器的设计参数。规范是规范对象的一个属性。

请注意

规范不一样的规范对象。规范对象包含一个规范作为它的一个属性。

当您选择一个过滤器的回应,有许多不同的规格可供使用。每一个包含一个不同的设计参数组合。创建一个过滤器规格对象后,您可以查询可用规范的反应。规范标有星号要求DSP系统工具箱™。

d = fdesign.bandpass;%步骤1 -选择响应集(d,“规范”)
ans = 16×1单元阵列的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”“Fp2, N Fst1 Fp1 Fst2”“Fp2, N Fst1 Fp1 Fst2, C ' ' N Fst1 Fp1 Fp2, Fst2,美联社的N, Fst1 Fst2, Ast的“Fp2, Nb, Na, Fst1, Fp1 Fst2”
d = fdesign.arbmag;集(d,“规范”)
ans = 7×1单元阵列的N, F, F, R的‘Nb, Na, F,“' N, B, F, ' ' N, B, F, A, C ' ' B, F, A, R的Nb, Na, B, F,“

命令可以用来选择一个可用的规格如下:

d = fdesign.lowpass;%步骤1:可用规范的列表集(d,“规范”)
ans = 18×1单元阵列的Fp,置,美联社,Ast的N, F3dB ' Nb, Na, F3dB ' ' N, F3dB,美联社的N, F3dB,美联社,Ast的N F3dB Ast的浮置板轨道的N F3dB ' N, Fc ' ' N, Fc,美联社,Ast的N, Fp,美联社的N, Fp,美联社,Ast的N, Fp, F3dB ' N, Fp,置' ' N, Fp,置,美联社的浮置板轨道,N, Fp, Ast的N,置,美联社,Ast的浮置板轨道,N, Ast的Nb, Na, Fp,置
%第二步:设置所需的规范集(d,“规范”,“N,俱乐部”)
如果不显式地执行这个步骤,fdesign返回默认的响应你选择规范选择一个响应,并提供了规范中包含的所有设计参数的默认值。

选择一种算法

算法的可用性取决于所选择的滤波器响应,设计参数和DSP系统的可用性工具。换句话说,同样的低通滤波器,改变规范条目也改变可用的算法。在接下来的例子中,一个低通滤波器和一个规范的“N,俱乐部”,只有一个算法,可用窗口

%第二步:设置所需的规范集(d,“规范”,“N,俱乐部”)% 3步:得到可用的算法designmethods (d,“Systemobject”,真正的)
支持系统对象类fdesign的设计方法。万博1manbetx低通滤波器(N, Fc):窗口
然而,对于一个规范“Fp,置,美联社,Ast”,许多算法都是可用的。
集(d,“规范”,“Fp,置,美联社,Ast”)designmethods (d,“Systemobject”,真正的)
支持系统对象类fdesign的设计方法。万博1manbetx低通滤波器(Fp,置,美联社,Ast):黄油cheby1 cheby2 ellip equiripple ifir kaiserwin多级
用户选择一个特定的算法和实现的滤波器设计函数。
filt =设计(d,“黄油”,“Systemobject”,真正的)
filt = dsp。BiquadFilter属性:结构:“直接形成II”SOSMatrixSource:“财产”SOSMatrix:[13×6双]ScaleValues:[14×1双]InitialConditions: 0 OptimizeUnityScaleValues:正确显示所有属性
前面的代码创建过滤器,filt是滤波器实现对象。这一概念将在下一步中进一步讨论。

如果不显式地执行这个步骤,设计自动选择最优算法的选择响应和规范。

自定义算法

自定义选项对于任何给定的算法不仅依赖于算法本身,选择选择一种算法,而且在规范中选择选择一个规范。探索所有可用的选项,在MATLAB命令提示符输入以下:

帮助(d,“算法名称”)
在哪里d是过滤规范对象,然后呢算法名称在单引号算法的名称,如“黄油”“cheby1”

这些定制的应用程序选项而发生设计滤波器,因为这些选项是滤波器实现对象的属性,不规范的对象。

如果不显式地执行这一步骤,选择最优的算法结构。

设计滤波器

要创建一个过滤器,可以使用设计命令:

%设计滤波器没有指定的算法filt =设计(d,“Systemobject”,真正的);
在哪里filt过滤器对象和吗d是规范对象。这段代码创建了一个过滤器没有指定的算法。如果不指定这个算法,软件选择最好的一个。

应用中选择的算法选择一种算法,使用相同的设计命令,但指定的算法如下:

filt =设计(d,“黄油”,“Systemobject”,真正的)
在哪里filt新的过滤器对象,d是规范对象。

获得帮助和看到所有可用的选项,类型:

帮助fdesign /设计
这不仅帮助命令描述的选项设计命令本身,但也属于方法或算法的选择。如果你定制算法,应用这些选项在这一步。在接下来的例子中,你设计一个带通滤波器,然后修改滤波器结构:
filt =设计(d,“黄油”,“filterstructure”,“df2sos”,“Systemobject”,真正的)
filt = dsp。BiquadFilter属性:结构:“直接形成II”SOSMatrixSource:“财产”SOSMatrix:[13×6双]ScaleValues:[14×1双]InitialConditions: 0 OptimizeUnityScaleValues:正确显示所有属性

滤波器设计步骤,就像选择一个响应的第一个任务,必须显式地执行。只有当创建一个过滤器对象设计被称为。

设计分析

滤波器设计后,您可能希望分析来确定滤波器满足设计标准。过滤分析分为以下主要部分:

  • 频域分析-包括频率响应、群延迟,pole-zero情节,通过函数和相位响应freqz,grpdelay,zplane,phasez

  • 时域分析-包括脉冲和阶跃响应函数impzstepz

  • 实现分析-包括成本估计实现滤波器,滤波器的输出功率谱密度由于舍入噪声和频率响应估计过滤的功能成本,noisepsd,freqrespest

的离散滤波器的分析方法,在MATLAB中输入以下命令提示符:

dsp。< sysobjName > .helpFilterAnalysis

取代< sysobjName >系统对象™的名称。另外,您可以看到以下分析方法的列表滤波器的分析类别。

分析你的过滤器,您必须显式地执行这一步骤。

意识到输入数据或应用过滤器

过滤器设计和优化后,可以用它来过滤实际输入数据。

y = filt (x)
这一步是不会自动为您完成。过滤您的数据,您必须显式地执行这一步骤。

请注意

y = filt (x)只运行在R2016b或更高版本。如果您使用的是较早的版本中,替换y = filt (x)y =步骤(filt x)

请注意

如果你有仿真软件万博1manbetx®,你可以选择出口这个过滤器模型块使用万博1manbetxrealizemdl命令。在这个命令得到帮助,类型:

帮助realizemdl