AnyMath 文档

工程师。VariableBandwidthFIRFilter

可变带宽的FIR滤波器。

库::`工程师`

资料描述

要实现对输入信号的每个通道进行滤波的可变带宽FIR滤波器,请按照以下步骤操作:

  1. 创建*EngeeDSP对象。VariableBandwidthFIRFilter*并设置其属性。

  2. 用参数调用对象,就好像它是一个函数一样。

若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.

语法

创造

  • vbwFIR=EngeeDSP。VariableBandwidthFIRFilter() 返回FIR filter对象 vbwFIR 具有可变带宽,其在对算法的连续调用期间独立地过滤输入信号的每个通道(列)。 可以在滤波操作期间调节滤波器截止频率。 采用加窗方法设计了一个可变带宽FIR滤波器.

  • vbwFIR=EngeeDSP。VariableBandwidthFIRFilter(名称=值) 返回FIR filter对象 vbwFIR 具有指定的属性 姓名,设置为指定值 价值. 您可以以任何顺序将其他参数指定为名称-值对(名称1=价值1,…​,纳门=瓦伦). 未指定的属性具有默认值。

使用

  • y=vbwFIR(x) 过滤输入信号 x 并输出滤波后的值 y. 可变带宽FIR滤波器对象与每个通道一起工作,这意味着该对象通过对算法的连续调用独立地对输入信号的每列进行滤波。

争论

输入参数

x — 输入信号

+ 向量资料 | 矩阵

Details

输入信号被指定为矢量或矩阵。 此系统对象支持可变大小的输入数据。 锁定对象后,您可以更改每个输入通道的大小,但不能更改通道数。

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

输出参数

y — 滤波后的输出信号

+ 向量资料 | 矩阵

Details

滤波后的输出信号作为矢量或矩阵返回。 输出信号的大小、数据类型和复杂度与输入信号相同。

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

特征

# 过滤顺序 — FIR滤波器顺序

+ 30 (默认情况下)| 一个甚至正的标量

Details

FIR滤波器阶数,作为偶数正标量给出。

数据类型

漂浮物32, 漂浮64</无翻译>

# filterType — 滤波器特性类型

+ "低通" (默认情况下)| "高通" | "带通" | "乐队"

Details

滤波器特性的类型,设为 "低通", "高通", "带通""乐队".

# 截止频率 — 滤波器截止频率

+ 512 (默认)| 正标量

Details

滤波器的截止频率以Hz为单位或以归一化频率为单位,设置为正标量。

如果属性*NormalizedFrequency*设置为:

  • 错误 -截止频率值以Hz表示。 该值必须小于*SampleRate*值的一半。

  • 真的 -截止频率值以标准化频率单位指定。 值必须是小于的正标量 1.0.

依赖关系

若要使用此属性,请设置*[Property:filterType]*值 低通,低通高通.

数据类型

漂浮物32, 漂浮64</无翻译>

# 窗口 — 窗口功能

+ "汉恩" (默认情况下)| "汉明" | "切比雪夫" | "凯撒"

Details

用于设计FIR滤波器的窗口函数,定义为 "汉恩", "汉明", "切比雪夫""凯撒".

# Kaiserwindow参数 — Kaiser窗口的参数

+ 0.5 (默认情况下)| 真正的标量

Details

Kaiser窗口的参数,设置为真正的标量。

依赖关系

要使用此属性,请设置*Window*值 凯撒.

数据类型

漂浮物32, 漂浮64</无翻译>

# 中心频率 — 滤波器的中心频率

+ 11025 (默认情况下)| 正标量

Details

滤波器的中心频率以Hz为单位或以归一化频率为单位,设置为正标量。

如果属性*NormalizedFrequency*设置为:

  • 错误 -中心频率的值以Hz表示。 该值必须小于*SampleRate*值的一半。

  • 真的 -中心频率的值以归一化频率单位表示。 该值必须是小于的正标量 1.0.

依赖关系

若要使用此属性,请设置*[Property:filterType]*值 带通,带通带阻器,带阻器.

数据类型

漂浮物32, 漂浮64</无翻译>

# 带宽 — 滤波器带宽

+ 7680 (默认情况下)| 正标量

Details

以Hz为单位或以归一化频率为单位的滤波器带宽,设置为正标量。

如果属性*NormalizedFrequency*设置为:

  • 错误 -带宽值以Hz为单位指定。 该值必须小于*SampleRate*值的一半。

  • 真的 -带宽值以标准化频率单位指定。 该值必须是小于的正标量 1.0.

依赖关系

若要使用此属性,请设置*[Property:filterType]*值 带通,带通带阻器,带阻器.

数据类型

漂浮物32, 漂浮64</无翻译>

# SidelobeAttenuation — 切比雪夫窗口旁瓣的衰减

+ 60 (默认情况下)| 正标量

Details

以dB为单位的切比雪夫窗口的旁瓣的衰减,设置为正标量。

依赖关系

要使用此属性,请设置*Window*值 切比雪夫.

数据类型

漂浮物32, 漂浮64</无翻译>

# 正常频率 — 以标准化单位指定频率

+ 错误 (默认情况下)| 真的

Details

如果将此属性设置为:

  • 真的 -滤波器带宽频率、中心频率和滤波器带宽应以标准化频率单位设置,其值应小于 1.0.

  • 错误 -滤波器带宽频率、中心频率和滤波器带宽必须以Hz为单位设置。 您可以使用*SampleRate*指定输入信号的采样率。

数据类型

布尔</无翻译>

# * SampleRate*是输入信号的采样率

+ 44100 (默认情况下)| 正标量

Details

以Hz为单位的输入信号的采样频率,设置为正标量。

依赖关系

若要使用此属性,请将*NormalizedFrequency*属性设置为 错误.

数据类型

漂浮物32, 漂浮64</无翻译>

方法

所有系统对象通用

步!::运行系统对象运算算法 释放!::允许更改系统对象属性的值 重置!::重置系统对象的内部状态

算法

FIR变换

Details

所有变换都假设存在一个长度为 .

从低通滤波器到低通滤波器

考虑具有归一化截止频率的"砖墙"类型的理想低通滤波器 . 通过执行理想频率响应的逆离散傅立叶变换并将所得序列限制为长度 ,我们得到脉冲响应

*为 :

+

*为 :

+

哪里 -窗口矢量。 让我们将低通滤波器系数设置为新的截止频率 如下:

*为 :

+

*为 :

+

无需在每次调整截止频率时重新计算窗口大小。

从低通滤波器到高通滤波器

假设低通滤波器具有归一化截止频率 ,等于 6 分贝。 通过补充低通滤波器的频率响应可以获得具有相同截止频率的高通滤波器。:

由上述特征取离散傅立叶逆变换,得到以下高通滤波器系数:

*为 :

+

*为 :

+

从低通滤波器到带通滤波器

我们得到一个中心频率的带通滤波器 通过移位低通滤波器的频率响应:

所得带通滤波器的带宽为 ,在两个带通滤波器截止频率之间测量。 等效带通滤波器系数将如下所示:

什么可以重写为

从低通滤波器到屏障滤波器

您可以通过组合高通滤波器和带通滤波器的变换,将低通滤波器转换为势垒滤波器。 首先,我们通过移位低通滤波器的频率响应来创建带通滤波器,然后将其反转以获得中心频率阻塞滤波器。 .

结果是以下系数:

*为 :

+

*为 :

+

广义变换

您可以组合这些变换,将低通滤波器转换为具有任意截止频率的低通滤波器、高通滤波器、带通滤波器或势垒滤波器。

例如,要将低通滤波器转换为截止频率 成具有截止频率的高通滤波器 首先,应用从低通滤波器到低通滤波器的转换,以获得具有截止频率的低通滤波器 然后应用从低通滤波器到高通滤波器的转换,得到具有截止频率的高通滤波器 .

以得到具有中心频率的带通滤波器 和带宽 首先,应用从低通滤波器到低通滤波器的转换,以从具有截止频率的低通滤波器 到具有截止频率的低通滤波器 然后应用从低通滤波器到带通滤波器的转换以获得所需的带通滤波器。 类似的方法可用于屏障滤波器。

文学作品

  1. Jarske,P.,Y.Neuvo,and S.K.Mitra,_A simple approach to the design of linear phase fir digital filters with variable characteristics._信号处理。 卷。 14,第4期,1988年6月,第313-326页。