主要内容

dsp。全部的passFilter

单段或级联全通滤波器

描述

这个dsp。全部的passFilter对象使用全通过滤器实现过滤每个输入通道金宝app®,使用MATLAB®系统的块。

笔记

单元阵列支持金宝app全通系数,WDFCoefficients,LatticeCoefficients已删除。请使用N-by-1或N-改为by-2数字数组。有关更多信息,请参阅兼容性的考虑

要过滤输入的每个通道,请执行以下操作:

  1. 创建dsp。全部的passFilter对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解有关系统对象如何工作的更多信息,请参见什么是系统对象?

创建

描述

Allpass=dsp.AllpassFilter返回一个allpass过滤器系统对象™,Allpass,它使用默认结构和系数的全通滤波器独立地对输入信号的每个通道进行滤波。

实例

Allpass=dsp.AllpassFilter(名称、值)返回一个allpass过滤器系统对象,Allpass,将每个属性设置为指定的值。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改其值。

有关更改属性值的更多信息,请参见基于系统对象的MATLAB系统设计

您可以将内部allpass过滤器实现结构指定为|中的一个最小乘数|晶格|波数字滤波器.每个结构使用一组不同的系数,分别存储在相应的对象属性中。

指定实全通多项式滤波器系数。将此属性指定为N——- - - - - -1.N——- - - - - -2.矩阵N一阶或二阶全通段。默认值定义了一个稳定的二阶全通滤波器,其极点和零点位于Z平面的±π/3。

可调:是的

依赖关系

此属性仅在以下情况下适用:结构属性设置为最小乘数

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

在波形数字滤波器表单中指定真实的全通系数。将此属性指定为N——- - - - - -1.N——- - - - - -2.矩阵N一阶或二阶全通部分。所有元素的绝对值必须小于或等于1.。此值是的默认值的转换版本全通系数计算使用allpass2wdf(allpass2wdf系数).这些系数定义了与时相同的稳定二阶全通滤波器结构被设置为“最小乘数”

可调:是的

依赖关系

此属性仅在以下情况下适用:结构属性设置为波数字滤波器

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

指定真实或复杂的全通系数作为晶格反射系数。将此属性指定为行向量(单节配置)或列向量。该值是默认值的转换和转置版本全通系数计算使用转置(tf2latc([1h.allpasscoverties])).这些系数定义了与时相同的稳定二阶全通滤波器结构被设置为“格子”

可调:是的

依赖关系

此属性仅在结构属性设置为晶格

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64
复数支持:金宝app是的

指示最后一段是一阶还是二阶。当您设置TrailingFirstOrderSection真正的,最后一个部分被视为一阶,并且是最后一行的第二个元素N- × 2矩阵被忽略。当您设置TrailingFirstOrderSection错误的,最后一部分被认为是二阶的。

用法

描述

实例

Y=全通(x)过滤输入信号x使用一个allpass过滤器产生输出Y.每一列的x随着时间的推移,作为一个单独的通道被独立过滤。

输入参数

全部展开

数据输入,指定为向量或矩阵。这个对象也接受可变大小的输入。锁定对象后,可以更改每个输入通道的大小,但不能更改通道的数量。

数据类型:|
复数支持:金宝app是的

输出参数

全部展开

过滤后的输出,作为向量或矩阵返回。输出信号的大小、数据类型和复杂性与输入信号相匹配。

数据类型:|
复数支持:金宝app是的

目标函数

若要使用对象函数,请将系统对象指定为第一个输入参数。例如,释放名为的系统对象的系统资源obj,使用下面的语法:

释放(obj)

全部展开

数字滤波器频率响应 离散时间滤波器的频率响应系统对象
fvtool 显示DSP滤波器的频率响应
impz 离散时间滤波器的脉冲响应系统对象
信息 有关筛选器的信息系统对象
非零系数 返回过滤器系统对象结构系数
成本 估计实现过滤器的成本系统对象
群延迟 离散时间滤波器的群时延响应系统对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部崩溃

笔记:此示例仅在R2016b或更高版本中运行。如果您正在使用较早的版本,请将对该函数的每个调用替换为等价的一步语法。例如,myObject(x)变成step(myObject,x)。

构造全通滤波器

Fs = 48000;%在赫兹FL=1024;APF1=dsp.AllpassFilter(“AllpassCoefficients”,...[-0.710525516540603 - 0.208818210000029]);APF2 = dsp。AllpassFilter(“AllpassCoefficients”,...[-0.940456403667957 - 0.6;...-0.324919696232907 0],...“TrailingFirstOrderSection”,真正的);

构造传递函数估计器来估计随机输入和Allpass滤波输出之间的传递函数

TFE=dsp.TransferFunctionEstimator(“FrequencyRange”,...“单向的”,“SpectralAverages”,2);

构造ArrayPlot来绘制幅度响应

美联社= dsp。ArrayPlot (“打印类型”,“线路”,“YLimits”, [-80 5],...“YLabel”,‘震级(dB)’,“SampleIncrement”, Fs / FL,...“XLabel”,‘频率(Hz)’,“标题”,“震级响应”,...“ShowLegend”,真的,“ChannelNames”, {“震级响应”});

过滤输入,并显示估计传递函数之间的输入和过滤输出的幅度响应

抽搐;虽然toc < 5 in = randn(FL,1);out = 0.5.*(APF1(in) + APF2(in));A = TFE(in, out);美联社(db (A));终止

算法

全部展开

全通滤波器的传递函数如下所示:

H ( Z ) = C ( N ) + C ( N 1. ) Z 1. + ... + Z N 1. + C ( 1. ) Z 1. + ... + C ( N ) Z N

C为全通多项式系数向量。订单,N,传递函数的长度为向量的长度C

在最小乘法器形式和波形数字形式中,全通滤波器被实现为二阶(双四阶)部分或一阶部分的级联N-by-2矩阵,矩阵的每一行指定一个二阶滤波器的系数。根据末尾的一阶设置,可以忽略最后一行的最后一个元素。当系数被指定为anN-by-1矩阵,矩阵中的每个元素指定一阶滤波器的系数。所有过滤部分的级联形成allpass过滤器。

在晶格形式中,系数被指定为一个矢量。

与一般的IIR滤波器(如df1, df1t, df2, df2t)相比,这些结构在计算上更经济,在结构上更稳定。对于所有结构,全通滤波器可以是单段或多段(级联)滤波器。不同的部分可以有不同的顺序,但它们都是根据相同的结构实现的。

兼容性的考虑

全部展开

错误开始于R2018b

参考文献

Regalia, Philip A.和Mitra Sanjit K.和Vaidyanathan, P. P.(1988)“数字全通滤波器:通用信号处理模块”。IEEE会议录,第76卷,第1期,1988,第19-37页

M. Lutovac, D. Tosic, B. Evans,基于MATLAB和Mathematica的信号处理滤波器设计。上鞍河,新泽西州:普伦蒂斯霍尔,2001。

扩展功能

介绍了R2013a