dfilt

离散时间滤波器

语法

hd=dfilt。结构(输入1,…)
HD = [dfilt。结构(输入1,...),dfilt。结构(输入1,…),…]
HD =设计(d, 'designmethod')

描述

hd=dfilt。结构(输入1,…)返回一个离散时间滤波器,高清,类型结构.每个结构采用一个或多个输入。当您指定dfilt.结构如果没有输入,将创建默认过滤器。

注意

你必须使用结构具有dfilt.

HD = [dfilt。结构(输入1,...),dfilt。结构(输入1,…),…]返回包含一个载体dfilt过滤器。

结构

结构dfilt.结构指定筛选器结构的类型。可用结构类型dfilt如下所示。

dfilt.结构

描述

系数映射支持在realizemdl金宝app

dfilt.allpass公司

全通滤波器

金宝app支持的

双叶栅通

全通滤波器段级联

金宝app支持的

dfilt.cascadewdfallpass

全通滤波器级联

金宝app支持的

dfilt.延迟

延迟

不支持金宝app

dfilt.df1

直接形式I

金宝app支持的

dfilt.df1sos公司

直接1型,二阶部分

金宝app支持的

dfilt.df1t型

直接1型换位

金宝app支持的

dfilt.df1tsos

直接形式I转置,二阶截面

金宝app支持的

dfilt.df2

直接形式II

金宝app支持的

dfilt.df2sos公司

直接形式II,第二阶段

金宝app支持的

dfilt.df2t型

直接形式II转置

金宝app支持的

dfilt.df2tsos型

直接形式II转置,二阶截面

金宝app支持的

dfilt.dffir

直接成形FIR

金宝app支持的

dfilt.dffirt

直接形式FIR转置

金宝app支持的

dfilt.dfsymfir公司

直接形式对称FIR

金宝app支持的

dfilt.dfasymfir公司

直接形式反对称FIR

金宝app支持的

dfilt.farrowfd公司

一般分数延迟法罗滤波器

金宝app支持的

dfilt.farrowlinearfd公司

线性分数延迟的Farrow滤波器

不支持金宝app

dfilt.fftfir公司

重叠加FIR

不支持金宝app

dfilt.latticeallpass

格全通

金宝app支持的

德菲特晶格

格点自回归(AR)

金宝app支持的

格氏双歧杆菌

格点自回归移动平均(ARMA)

金宝app支持的

dfilt.latticemamax公司

最大相位的晶格移动平均(MA)

金宝app支持的

dfilt.latticemamin

最小相位的格点移动平均(MA)

金宝app支持的

德菲特·卡拉蒂

加之,全通格

金宝app支持的

卡拉蒂西普

具有功率互补输出的耦合全通晶格

金宝app支持的

dfilt.statespace公司

状态空间

金宝app支持的

双标量

标量增益对象

金宝app支持的

dfilt.wdfallpass

全通波数字滤波对象

金宝app支持的

双叶栅

串联过滤器

金宝app支持的

dfilt.parallel

并联滤波器

金宝app支持的

有关各结构的详细信息,请参阅其参考页。

HD =设计(d, 'designmethod')返回dfilt对象高清从过滤器规范对象所得以及在中指定的设计方法designmethod. 当你忽略designmethod的说法,设计使用默认设计方法从对象构造筛选器.

使用此语法,可以通过以下方式设计筛选器:

  1. 指定滤波器规格,例如响应形状(可能是高通)和细节(通带边缘和衰减)。

  2. 选择方法(例如等波纹)设计过滤器。

  3. 使用设计(d,'designmethod).

使用基于规范的技术比基于系数的滤波器设计技术更有效。

设计语法的设计方法

当你使用HD =设计(d,”designmethod')语法,你必须依赖于提供一系列的设计方法,筛选器规范对象。下一个表列出工具箱中的所有设计方法。

设计方法

滤波器设计结果

牛油

巴特沃斯IIR

切比1

切比雪夫I型IIR

切比2

切比雪夫II型IIR

椭圆

椭圆IIR

等波纹

等波纹与中通和阻带相同纹波

嘶嘶声

最小二乘FIR

freqsamp

频率取样FIR

IFIR

插值FIR

螺旋形

至少P个规范IIR

爱尔兰

最小二乘IIR

凯瑟温

开窗冷杉

拉格朗日

分数延迟滤波器

多级

多级FIR

窗口

开窗冷杉

作为规范对象更改,设计筛选器的可用方法也会改变。例如,如果是具有默认规范的低通滤波器'Fp的,的Fst,鸭,AST',适用方法为:

%创建一个对象来设计低通滤波器。d = fdesign.lowpass;designmethods(d)%什么样的设计方法适用于对象d?

如果更改规格'N,f3dB后',现有的设计方法改变:

d = fdesign.lowpass( 'N,f3dB后');designmethods(d)

分析方法

方法提供了直接在dfilt对象,而不必再次指定筛选器参数。您可以将这些方法直接应用于分配给您的dfilt反对。

例如,如果创建dfilt对象,高清,你可以检查它是否具有线性相位islinphase(HD),查看其频率响应图fvtool(高清),或使用H = freqz(HD).您可以使用所有以这种方式在这里描述的方法。

注意

如果您的变量高清是一个一维数组dfilt过滤器,该方法将应用于数组中的每个对象。只有数字滤波器频率响应,群延迟,小鬼,*,秩序,和台阶方法可应用于阵列。该数字系统零极点图方法只能应用于数组数字系统零极点图在没有输出的情况下使用。

这里列出的一些方法与信号处理工具箱中的函数同名™ 软件。他们的行为相似。

方法

描述

附加阶段

将阶段添加到级联平行对象,其中一个阶段是单独的模块化筛选器。参考双叶栅dfilt.parallel.

块(hd)创建的块dfilt反对。这个方法可以指定这些属性和值:

'目的地'指示在何处放置该块。'当前'在当前Simulink中放置块金宝app®模型。'新'创建新模型。默认值为'当前'.

'块名'分配所输入的字符向量的块的名称。默认名称为'筛选'.

'覆盖锁'指示是否覆盖由block方法生成的块('打开')和由下式定义块名.默认值是“关”.

“MapStates'指定块中的初始条件('打开'). 默认为“关”. 请参阅信号处理工具箱文档中的“使用过滤器状态”。

级联

返回两个串联组合dfilt物体。参考双叶栅.

非零系数

返回结构中的筛选系数,该结构包含使用与原始结构中相同属性名的字段dfilt.

转换

转换dfilt对象从一个筛选器结构到另一个筛选器结构。

fcfwrite

写入滤波器系数ASCII文件。该文件可以包含一个单一的过滤器或对象的矢量。默认的文件名是无标题.fcf.

fcfwrite(HD,文件名)写入名为文件名在当前的工作文件夹。该.fcf公司自动添加扩展名。

fcfwrite(…,fmt)以格式写入系数fmt公司,其中有效fmt公司字符向量是:

“十六进制”对于十六进制

“十二月”十进制

“本”对于二进制表示

fftcoeffs

返回与过滤时使用的频域系数dfilt.fftfir公司

过滤

使用dfilt反对。

firtype

返回线性相位FIR滤波器的类型(1-4)。

数字滤波器频率响应

绘制频率响应fvtool. 不像数字滤波器频率响应函数,这个dfilt数字滤波器频率响应方法具有8192默认长度。

群延迟

绘制组延迟fvtool.

小鬼

绘制脉冲响应fvtool.

impzlength

返回脉冲响应的长度。

信息

显示器dfilt信息,如滤波器结构、长度、稳定性、线性相位,以及适当时的晶格和梯形长度。

isallpass

返回逻辑值1个(即,正确)如果dfilt对象在全通滤波器或逻辑0个(即,假),如果它不是。

伊斯卡德

返回逻辑值1个如果dfilt对象是级联的或逻辑的0个如果事实并非如此。

isfir

返回逻辑值1个如果dfilt对象具有有限脉冲响应(FIR)或逻辑0个如果它没有。

同相

返回逻辑值1个如果dfilt目的是线性相位或逻辑0个如果事实并非如此。

ismaxphase

返回逻辑值1个如果dfilt对象是最大阶段或逻辑0个如果事实并非如此。

同相

返回逻辑值1个如果dfilt对象是最小相位或逻辑0个如果事实并非如此。

isparallel

返回逻辑值1个如果dfilt对象具有并行阶段或逻辑0个如果它没有。

以色列

返回逻辑值1个如果dfilt对象具有实值系数,否则为逻辑0。

伊斯卡拉

返回逻辑值1个如果dfilt对象是一个标量或逻辑0个如果不是标量。

伊索斯

返回逻辑值1个如果dfilt对象具有二阶截面或逻辑0个如果它没有。

isstable公司

返回逻辑值1个如果dfilt对象是稳定的或逻辑的0个如果不是的话。

N节

返回部分在第二阶段过滤器的数量。如果多级过滤器包含有多个节段,用N节返回所有阶段中节的总数(只有一个节的阶段返回1)。

nstages

返回过滤器,其中一个阶段是一个单独的,模块化过滤器的级的数目。

国家

返回对象的状态数。

秩序

返回滤波器的阶数。如果高清是单级滤波器,该顺序是由所需要的最低限度实现滤波器的延迟的数目给出。如果高清具有多个阶段,顺序是由所需要的最低限度实现整个滤波器的延迟的数量给定。

平行

返回两个的并联组合dfilt过滤器。参考dfilt.parallel.

phasez

绘制相位响应fvtool.

实现MDL

(仅适用于Simulink。)金宝app

realizemdl(HD)创建一个Simuli金宝appnk模型,其中包含dfilt.

realizemdl(高清,p1,v1,p2,v2,…)使用属性创建块p1号,p2页,... 和价值观V1,V2,...指定。

以下属性可用:

'块名'指定块的名称。默认值是'筛选'.

'目的地'指定是将块添加到当前Simulink模型还是创建新模型。有效值为金宝app'当前''新'.

'覆盖锁'指定是否覆盖由创建的现有块实现MDL或创建一个新的块。有效值'打开'“关”. 仅由创建的块实现MDL被覆盖。

以下特性优化块结构。指定'打开'打开优化并“关”创建不优化的块。每个块的缺省值是“关”.

'优化零'移除零增益块。

'优化'用直接连接替换单位增益块。

'优化'替换在最近的求和块符号改变负单位增益块。

'优化延迟链'替换由n个单元延迟与单个延迟由n个.

removestage

移除一个阶段从级联或并联dfilt.请参阅双叶栅dfilt.parallel.

setstage

覆盖级联或并行的阶段dfilt.请参阅双叶栅dfilt.parallel.

索斯

转换dfilt到二阶截面dfilt.如果高清只有一个节,返回的筛选器具有相同的类。

sos(高清,旗帜)指定二阶段的排序。如果flag='向上',第一行包含最接近原点的极点,最后一行包含最接近单位圆的极点。如果标志=“向下”,将切片进行排序相反的方向。零点总是与最亲密的人极配对。

SOS(HD,标志,标度)指定所有二阶截面的增益和分子系数的比例。规模可以是'无','INF'(无穷范数),或'二'(2-标准)。使用无穷范数标度向上排序最小化了实现中溢出的可能性。使用2-范数标度向下订货减少高峰舍入噪声。

SS

转换dfilt国家空间。要查看单独A B C D矩阵的状态空间模型,使用[A,B,C,D]=ss(高密度).

台阶

在中绘制阶跃响应fvtool

stepz(高清,n)计算第一n个阶跃响应的样本。

stepz(高清,n,Fs)分离由时间样本T=1/Fs,其中四季酒店假设是赫兹。

系统对象

转换dfilt做一个过滤系统对象™。为支持对象的列表,请参阅参考页。金宝app

TF

转换dfilt传递函数。

零相位

绘制零相位响应fvtool.

ZPK

转换dfilt零极点增益形式。

数字系统零极点图

在中绘制零极点图fvtool.

查看属性

与任何对象,使用得到到视dfilt财产。要查看特定属性,请使用

获取(hd,'property')

要查看所有属性的对象,使用

得到(HD)

注意

dfilt对象包括算术财产。可以使用以下方法将筛选器的内部算法从双精度更改为单精度:高清算术='单'.

如果您有定点设计器™ 软件,你可以改变算术属性设置为定点,使用:hd.arithmetic = '固定'

更改属性

要设置特定属性,请使用

集(HD, 'property1',值 'property2',值,...)

必须在属性名称周围使用单引号。在参数时,该值是一个字符向量,如特定的固定.

复制对象

要创建一个对象的副本,使用复制方法。

h2=拷贝(hd)

注意

使用语法H2 =高清只复制对象句柄,不创建新的独立对象。

净化过滤器结构之间

更改dfilt对象高清,使用

hd2=转换(hd,'structure_charactervector');

哪里结构特征向量是单引号中的任何有效结构名称。如果高清级联平行结构中,每个阶段被转换为新的结构。

使用筛选状态

两个属性控制过滤器状态:

  • 国家- 存储过滤器的当前状态。应用滤波器之前,状态对应于初始条件和应用过滤器之后,状态对应于最终条件。对于DF1,df1t公司,df1sosdf1tsos结构,国家返回过滤状态反对。

  • PersistentMemory-控制是否筛选国家被保存。默认值是“错误”,这将导致在筛选之前将初始条件重置为零,并关闭国家信息。设置PersistentMemory“真的”允许筛选器使用初始条件,或将上一个筛选操作的最终条件重新用作下一个筛选操作的初始条件。这个真的设置还显示关于滤波器的信息国家.

注意

如果设置了国家要使用它们进行筛选,必须设置PersistentMemory“真的”使用前的过滤器。

例子

创建直接1型过滤器,并使用方法,看它是否是稳定的。

[b,a]=黄油(8,0.25);hd=dfilt.df1号(b,a);isstable(高清)

如果dfilt的分子值不适合一行,将显示矢量的说明。要查看此示例的特定分子值,请使用

B=get(hd,“分子”);%或B1=hd分子;

创建包含两个dfilt对象,应用的方法和验证方法作用于两个对象。使用的方法来测试对象是否FIR对象。

b=fir1(5.5);高密度=dfilt.dffir公司(b) ;%创建FIR筛选器对象[b,a]=butter(5,.5);%创建IIR筛选器hd(2)=dfilt.df2t型(b,a);%创建DF2T对象并将%放入hd的第二列。[h,w]=频率z(hd);测试fir=isfir(hd)%hd(1)是fir,hd(2)不是。

有关更多示例,请参阅每个结构的参考页。

在R2011a中引入