主要内容

dsp。NotchPeakFilter

二阶可调缺口和峰值IIR滤波器

描述

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

要过滤输入的每个通道:

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

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

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

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

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

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

例子

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

属性

全部展开

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

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

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

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

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

可调:是的

依赖关系

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

数据类型:|

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

可调:是的

依赖关系

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

数据类型:|

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

可调:是的

依赖关系

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

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

指定输入的采样率(Hz)为有限数值标量。

数据类型:|

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

可调:是的

依赖关系

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

数据类型:|

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

可调:是的

依赖关系

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

数据类型:|

使用

描述

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

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

输入参数

全部展开

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

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

输出参数

全部展开

陷波滤波器输出,以矢量或矩阵形式返回。

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

峰值滤波器输出,以矢量或矩阵形式返回。

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

对象的功能

要使用对象函数,请指定System对象™作为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

getBandwidth 获得3db带宽
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。NotchPeakFilter属性:规格:“质量因子和中心频率”质量因子:5中心频率:11025采样率:44100

计算陷波峰值滤波器的3db带宽getBandwidth函数。带宽计算为中心频率与质量因子之比, 足球俱乐部

getBandwidth (np)
Ans = 2205

可视化使用的过滤器响应fvtool

fvtool (np)

{

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

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

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

getCenterFrequency (np)
Ans = 11025

可视化使用的过滤器响应fvtool

fvtool (np)

{

创建一个dsp。NotchPeakFilter对象的默认配置。

Np = dsp。NotchPeakFilter
Np = dsp。NotchPeakFilter属性:规格:带宽和中心频率带宽:2205中心频率:11025 SampleRate: 44100

属性确定滤波器的倍频带宽getOctaveBandwidth函数。

getOctaveBandwidth (np)
Ans = 0.2881

可视化使用的过滤器响应fvtool

fvtool (np)

{

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

Np = dsp。NotchPeakFilter
Np = dsp。NotchPeakFilter属性:规格:带宽和中心频率带宽:2205中心频率:11025 SampleRate: 44100

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

getQualityFactor (np)
Ans = 5

可视化使用的过滤器响应fvtool

fvtool (np)

{

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

notchpeak = dsp.NotchPeakFilter;[Bnotch,Anotch,Bpeak,Apeak] = tf(notchpeak)
Bnotch =1×30.8633 -0.0000 0.8633
Anotch =1×31.0000 -0.0000 0.7265
Bpeak =1×30 -0.1367
垂直=1×31.0000 -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 有序全通滤波器 一个 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带宽。

参考文献

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

版本历史

在R2014a中引入