主要内容

dsp。NotchPeakFilter

二阶可调切峰IIR滤波器

描述

NotchPeakFilter对象使用IIR过滤器实现对输入的每个通道进行过滤。

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

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

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

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

创建

描述

npFilter= dsp。NotchPeakFilter返回一个二阶缺口和峰值IIR滤波器,随着时间的推移,使用指定的中心频率和3 dB带宽独立过滤输入的每个通道。

npFilter = dsp。NotchPeakFilter(“规范”,“质量因子和中心频率”)指定陷波或峰值滤波器的质量因子(Q因子),而不是3.dB带宽。

npFilter = dsp.NotchPeakFilter('Specification','Coefficients')表示直接影响带宽和中心频率的系数值,而不是以Hz为单位指定设计参数。这消除了调优属性时涉及的三角计算。

例子

npFilter = dsp。NotchPeakFilter(名称,值返回一个陷波过滤器,其中每个指定的属性名称都设置为指定的值。未指定的属性有默认值。

属性

全部展开

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

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

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

将规范设置为“带宽和中心频率”“质量因子和中心频率”,或“系数”

指定过滤器的3.以Hz为单位的有限正数值标量的dB带宽。该值必须是0到一半采样速率之间的标量。

可调:是的

依赖关系

此属性仅适用于规范“带宽和中心频率”

数据类型:|

指定滤波器的中心频率(陷波和峰值)为一个有限的正数值标量,单位为Hz。该值必须是0到一半采样速率之间的标量。

可调:是的

依赖关系

此属性仅适用于规范设置为“带宽和中心频率”“质量因子和中心频率”

数据类型:|

指定陷波和峰值滤波器的质量因子(Q因子)。Q因子被定义为中心频率除以带宽。较高的Q因子对应于较窄的缺口或峰值。Q因子应该是一个大于0的标量值。

可调:是的

依赖关系

此属性仅适用于规范设置为“质量因子和中心频率”

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

指定输入的采样率(以Hz为单位)为一个有限的数值标量。

数据类型:|

指定决定过滤器的值3.dB带宽作为范围内的有限数值标量[1].的值-1对应于最大值3.分贝带宽(SampleRate/ 4)1对应于最小值3.dB带宽(0hz,全通滤波器)。

可调:是的

依赖关系

此属性仅适用于规范设置为“系数”

数据类型:|

将决定滤波器中心频率的系数指定为范围内的有限数值标量[1].的值-1对应最小中心频率(0hz), 1对应最大中心频率(SampleRate / 2赫兹)。默认值为0,对应于SampleRate / 4赫兹。

可调:是的

依赖关系

此属性仅适用于规范设置为“系数”

数据类型:|

使用

描述

Y= npFilter (x对输入信号的每个通道(列)进行滤波,x,产生陷波滤波器输出,Y

YnYp= npFilter(x对输入信号的每个通道进行滤波,x,产生陷波滤波器输出,Yn,峰值滤波输出,Yp

输入参数

全部展开

输入信号,指定为矢量或矩阵。

数据类型:|
复数支持:万博1manbetx是的

输出参数

全部展开

陷波滤波器输出,作为矢量或矩阵返回。

数据类型:|
复数支持:万博1manbetx是的

峰值滤波器输出,作为矢量或矩阵返回。

数据类型:|
复数支持:万博1manbetx是的

对象的功能

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

发行版(obj)

全部展开

getBandwidth 获得3 dB带宽
getCenterFrequency 获取中心频率
getOctaveBandwidth 以八度数表示的带宽
getQualityFactor 获取质量因子
特遣部队 传递函数
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 的内部状态重置系统对象

例子

全部折叠

这个例子展示了如何使用dsp。NotchPeakFilter一个年代一个切口filter with center frequency of 5000 Hz and a 3 dB bandwidth of 500 Hz.

npFilter = dsp。NotchPeakFilter(“CenterFrequency”, 5000,“带宽”, 500);光谱分析仪(“SampleRate”, 44100,“AveragingMethod”“指数”“ForgettingFactor”, 0.96,“PlotAsTwoSidedSpectrum”、假);i=1:5000 y = npFilter(randn(1024,1));sa (y);如果(i = = 2500)调中心频率到10000npFilter。CenterFrequency = 10000;结束结束发布(npFilter)发布(sa)

创建一个dsp。NotchPeakFilter对象。规范属性设置为“质量因子和中心频率”.默认的质量因子是5,中心频率是多少足球俱乐部为11,025 Hz。

Np = dsp。NotchPeakFilter (“规范”“质量因子和中心频率”
Np = dsp。规格:'质量因子和中心频率'质量因子:5中心频率:11025采样率:44100

计算缺口峰值滤波器的3db带宽getBandwidth函数。带宽是用中心频率和质量因子的比值来计算的, 足球俱乐部

getBandwidth (np)
Ans = 2205

可视化过滤器响应使用fvtool

fvtool (np)

图1:量级响应(dB)包含一个坐标轴对象。标题为幅度响应(dB)的axis对象包含一个类型为line.

创建一个dsp。NotchPeakFilter对象。规范属性设置为“系数”

Np = dsp。NotchPeakFilter (“规范”“系数”
Np = dsp。规格:'系数'带宽系数:0.7265中心频率系数:0采样率:44100

确定缺口峰值滤波器的中心频率使用getCenterFrequency函数。当规范设置为“系数”时,中心频率由CenterFrequencyCoefficient值和采样率。

getCenterFrequency (np)
Ans = 11025

可视化过滤器响应使用fvtool

fvtool (np)

图1:量级响应(dB)包含一个坐标轴对象。标题为幅度响应(dB)的axis对象包含一个类型为line.

创建一个dsp。NotchPeakFilter对象。

Np = dsp。NotchPeakFilter
Np = dsp。规格:'带宽和中心频率'带宽:2205中心频率:11025采样率:44100

方法确定滤波器的八度带宽getOctaveBandwidth函数。

getOctaveBandwidth (np)
Ans = 0.2881

可视化过滤器响应使用fvtool

fvtool (np)

图1:量级响应(dB)包含一个坐标轴对象。标题为幅度响应(dB)的axis对象包含一个类型为line.

创建一个dsp。NotchPeakFilter对象,其中规范属性设置为“带宽和中心频率”

Np = dsp。NotchPeakFilter
Np = dsp。规格:'带宽和中心频率'带宽:2205中心频率:11025采样率:44100

确定过滤器的质量因子使用getQualityFactor函数。质量因子由中心频率与带宽之比给出。

getQualityFactor (np)
Ans = 5

可视化过滤器响应使用fvtool

fvtool (np)

图1:量级响应(dB)包含一个坐标轴对象。标题为幅度响应(dB)的axis对象包含一个类型为line.

创建一个dsp。NotchPeakFilter系统对象™。求出缺口滤波器和峰值滤波器对应的传递函数系数。

notchpeak = dsp.NotchPeakFilter;[Bnotch,Anotch,Bpeak,Apeak] = tf(notchpeak)
Bnotch =1×30.8633 -0.0000 0.8633
Anotch =1×31.000 -0.0000 0.7265
Bpeak =1×30.1367 0 -0.1367
垂直=1×31.000 -0.0000 0.7265

Bnotch而且Anotch是对应于陷波滤波器的等效传递函数的分子系数和分母系数的向量。Bpeak而且垂直为峰值滤波器对应的等效传递函数的分子系数和分母系数的向量。

算法

峰值滤波器的设计方程为:

H z 1 b 1 z 2 1 2 b 因为 w 0 z 1 + 2 b 1 z 2

陷波滤波器的设计方程为:

H z b 1 2 因为 w 0 z 1 + z 2 1 2 b 因为 w 0 z 1 + 2 b 1 z 2

b 1 1 + 棕褐色 Δ w / 2

在哪里ω0= 2πf0/f年代为中心频率,单位为弧度/样本(f0中心频率的单位是Hz和f年代为采样频率,单位为Hz)。Δω= 2πΔf/f年代3 dB带宽的单位是弧度/样本(Δf为3db带宽,单位为Hz)。注意,这两个过滤器是互补的:

H 切口 z + H z 1 它们可以写成: H z 1 2 1 一个 z H 切口 z 1 2 1 + 一个 z 在哪里 一个 z等于a 2 nd 订购allpass过滤器 一个 z 一个 2 + 一个 1 z 1 + z 2 1 + 一个 1 z 1 + 一个 2 z 2 而且 一个 1 2 b 因为 ω 0 一个 2 2 b 1

该过滤器实现如下:

在哪里

G 3 db 一个 2 2 b 1 G cf 一个 1 一个 1 一个 2 1 一个 2 2 因为 w 0

请注意,Gcf只取决于中心频率,而且G3 db仅依赖于3db带宽。

参考文献

奥法尼迪斯,索福克勒斯。信号处理概论.上马鞍河,新泽西州:Prentice-Hall, 1996。

版本历史

在R2014a中介绍