主要内容

dsp。AllpassFilter

单节或级联全通滤波器

描述

dsp。AllpassFilter对象使用allpass筛选器实现筛选输入的每个通道。将此对象导入到Simulink中®,使用MATLAB®系统的块。

对输入的每个通道进行过滤:

  1. 创建dsp。AllpassFilter对象并设置其属性。

  2. 调用带有参数的对象,就像调用函数一样。

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

创建

描述

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

例子

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

属性

全部展开

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

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

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统

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

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

可调:是的

依赖关系

此属性仅适用于结构属性设置为最小的乘数

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

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

可调:是的

依赖关系

此属性仅适用于结构属性设置为波数字滤波器

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

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

可调:是的

依赖关系

此属性仅适用于结构属性设置为晶格

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

指出最后一节是一级还是二级。当您设置TrailingFirstOrderSection真正的,最后一节认为是一阶的,最后一行的第二元素N-by-2矩阵被忽略。当您设置TrailingFirstOrderSection,最后一段被认为是二阶的。

使用

描述

例子

y= Allpass (x对输入信号进行滤波x使用全通过滤器产生输出y.每一列的x随着时间的推移,作为一个单独的通道进行独立过滤。

输入参数

全部展开

数据输入,指定为向量或矩阵。该对象还接受可变大小的输入。一旦对象被锁定,您可以更改每个输入通道的大小,但不能更改通道的数量。

数据类型:|
复数的支持:是的

输出参数

全部展开

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

数据类型:|
复数的支持:是的

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

freqz 离散时间滤波器的频率响应系统对象
fvtool 可视化DSP滤波器的频率响应
impz 离散时间滤波器的脉冲响应系统对象
信息 信息过滤系统对象
多项式系数 返回过滤器系统对象结构中的系数
成本 估计实施过滤器的成本系统对象
grpdelay 离散时间滤波器的群时延响应系统对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 的内部状态重置系统对象

例子

全部折叠

请注意:本例仅在R2016b或更高版本中运行。如果您使用的是较早的版本,请将对函数的每次调用替换为等效函数一步语法。例如,myObject(x)变成step(myObject,x)。

构造Allpass过滤器

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 (“PlotType”“行”“YLimits”-80年[5],...“YLabel”“(dB)级”“SampleIncrement”, Fs / FL,...“包含”的频率(赫兹)“标题”级响应的...“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是allpass多项式系数向量。订单,n为传递函数的长度c

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

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

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

参考文献

[1] Regalia, Philip A.和Mitra Sanjit K.和Vaidyanathan, P. P.(1988)“数字全通滤波器:一种通用信号处理构建块。”IEEE学报1988年,第76卷第1期,第19-37页

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

扩展功能

版本历史

介绍了R2013a

Baidu
map