Engee 文档

Dialog FIR Decimation

使用 FIR 滤波器进行多相稀化。FIR 滤波器系数在输入栏中设置。

类型: SubSystem

图书馆中的路径:

/Signal Operations/Filters/MultirateFilters/Dialog FIR Decimation

说明

对话框 FIR 去细化*块在第一次测量时使用整数下采样因子 执行高效的多相细化。

从概念上讲,FIR 去微器(如原理图所示)由一个平滑 FIR 滤波器和一个下采样器组成。

FIR 滤波器用直接形式的 FIR 滤波器过滤输入信号每个通道的数据。接下来的降采样是通过取 -th 样本并丢弃其后的 样本来减少每个通道滤波数据的采样,其中 是在*降采样系数*参数中设置的降采样系数的值。这样得到的离散时间信号与原始信号相比,采样频率降低了

fir decimation 1 cn

FIR 滤波器系数在输入栏中设置。

请注意,实际的块算法实现了直接形式 FIR 滤波器的多相结构,实际上等同于图中所示的组合系统。详见算法

端口

输入

# IN_1 — 输入数据
标量 | 向量 | 矩阵

Details

以标量、向量或矩阵形式指定的数据块的输入数据。

数据类型

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

复数支持

输出

# OUT_1 — 稀释后的输出数据
标量 | 向量 | 矩阵

Details

细化后的输出数据,以标量、向量或矩阵形式返回。

块行为取决于 Rate options 参数的值:

  • 强制单速率处理"--选中此值时,块会保持输入采样率并对信号进行稀疏处理,将输出帧大小减少 倍。

  • 允许多速率处理"--选择此值时,程序块会对信号进行稀释,使输出采样率比输入采样率小 倍。输出帧大小与输入帧大小相同。

数据类型

Float16、Float32、Float64、Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64。

复数支持

参数

Main

# FIR filter coefficients — 低通 FIR 滤波器的系数

Details

按降序指定 FIR 滤波器传递函数分子的系数:

FIR 滤波器的传递函数 定义如下:


为了作为有效的平滑滤波器使用,系数通常对应于一个低通滤波器,其归一化截止频率值不超过 ,其中 是抽取系数。

该模块将所有滤波器状态初始化为零。

默认值

EngeeDSP.Functions.designMultirateFIR(1,2)

程序使用名称

COEFF

可调谐

可计算

# Decimation factor — 删减率

Details

指定一个整数系数 。程序块根据该系数降低输入序列的采样率。

默认值

2

程序使用名称

DF

可调谐

可计算

# Filter structure — FIR 滤波器结构
Direct form | Direct form transposed

Details

指定 FIR 滤波器的结构:直接形式 "或 "直接形式转置"。

Direct form | Direct form transposed

默认值

Direct form

程序使用名称

FS

可调谐

可计算

# Input processing — 输入信号处理类型
Columns as channels (frame based) | Elements as channels (sample based)

Details

指定设备是执行基于采样的处理还是基于帧的处理。可供选择的选项:

  • 元素作为通道(基于采样)"- 每个输入信号元素都被视为一个独立通道(基于采样的处理)。

  • 列作为通道(基于帧)"- 输入信号的每一列都作为一个独立通道处理(基于帧的处理)。

Columns as channels (frame based) | Elements as channels (sample based)

默认值

Columns as channels (frame based)

程序使用名称

IP

可调谐

可计算

# Rate options — 块对输入数据进行稀释的方法
Enforce single-rate processing | Allow multirate processing

Details

指定区块稀释输入数据的方法。可供选择的选项有

  • 强制单速率处理"--选择此方法时,数据块将保留输入信号的采样率并对信号进行稀释,从而将输出帧的大小减少 。要选择此方法,*输入处理*参数必须设置为 "列作为通道(基于帧)"。

如果*速率选项*参数设置为 "强制单速率处理",则可在触发子系统内使用*对话框 FIR 细分*块。

  • 允许多速率处理"--选择此方法时,程序块会对信号进行稀释,使输出采样率比输入采样率低 倍。

依赖关系

要使用此选项,请将*输入处理*参数设置为 "列作为通道(基于帧)"。

Enforce single-rate processing | Allow multirate processing

默认值

Enforce single-rate processing

程序使用名称

ROF

可调谐

可计算

# Rate options — 块对输入数据进行稀释的方法
Allow multirate processing

Details

程序块使用 "允许多采样率处理 "方法对数据进行稀释 - 输出采样率比输入采样率低 倍。

依赖关系

要使用该参数,请将*输入处理*参数设置为 "元素作为通道(基于采样)"。

Allow multirate processing

默认值

Allow multirate processing

程序使用名称

ROS

可调谐

可计算

# Allow arbitrary frame length for fixed-size input signals — 允许为固定大小的输入信号设置任意的帧大小

Details

指定固定大小的输入信号(其大小在仿真过程中不会改变)是否可以具有任意帧大小,即帧大小不必是抽取因子的倍数。程序块仅对固定大小的输入信号使用该参数,如果输入信号大小可变,则忽略该参数。

对于固定大小的输入信号

  • 如果选中 允许固定大小输入信号的任意帧长度 复选框,信号的帧大小不一定是抽取因子的倍数。如果输入信号不是抽取因子的倍数,输出通常是可变大小的信号。因此,要支持任意输入尺寸,程序块还必须支持可变尺寸操作,这可以通过选择 允许固定尺寸输入信号的任意帧长 复选框来启用。

  • 如果未选中 允许固定大小输入信号的任意帧长度 复选框,则输入帧大小必须是抽取因子的倍数。

依赖关系

要使用此选项,请将*输入处理*设为 "列作为通道(基于帧)",并将*速率选项*设为 "强制单速率处理"。

默认值

false (关掉)

程序使用名称

AllowArbitrary

可调谐

可计算

更多信息

多相子过滤器

FIR 去微器的多相实现将低通 FIR 滤波器的脉冲响应分解为 不同的子滤波器,其中 是下采样或去微因子。有关多相实现的更多详情,请参阅算法

表示长度为 的 FIR 滤波器的脉冲响应, 表示输入信号。将滤波器的输出信号稀释 ,就相当于降采样卷积:

多相滤波效率的关键在于,在降采样卷积过程中,某些输入值只与选定的脉冲响应值相乘。例如,如果 ,那么 的输入值只与 的滤波器系数相乘,而 的输入值只与 的滤波器系数相乘。通过将滤波器系数分成两个多相子滤波器,卷积过程中就不会进行不必要的计算。多相子滤波器卷积的输出交错相加,得到滤波器输出。

基于帧的处理

当*输入处理*设置为 "列作为通道(基于帧)"时,设备将对输入信号的每一列进行基于时间的重采样。在此模式下,程序块可执行单速率或多速率处理。您可以使用*速率选项*参数来指定块将如何重新计算输入数据:

  • 如果*速率选项*参数设置为 "强制单速率处理",则块的输入和输出数据具有相同的采样速率。为了在保持输入数据采样率的同时稀释输出数据,程序块将重新计算输入数据每一列中的数据,使输出数据帧大小的上限为`ceil`( ),其中 是输入数据帧大小, 是*抽取系数*参数中指定的抽取系数。

在此模式下,如果信号大小固定(帧大小在仿真过程中不会改变),且*允许固定大小输入信号的任意帧长度*复选框被选中,则输入帧大小可以是任意的,不必是抽取因子的倍数。如果未选中 允许固定大小输入信号的任意帧长度 复选框,则输入帧大小必须是抽取因子的倍数。

本表显示了当*输入处理*设置为 "列作为通道(基于帧)"和*速率选项*设置为 "强制单速率处理 "时对任意输入帧大小的支持。

输入信号 设备支持该信号 支持任意输入帧尺寸 输入尺寸 输出尺寸

固定尺寸信号

如果*允许固定尺寸输入信号的任意帧长度*复选框被选中

ceil"( )尺寸的上限由

  • 当*速率选项*设置为 "允许多通道处理 "时,FIR 除法器块的输入和输出数据大小相同。但是,输出数据采样率比输入数据采样率低 倍。在这种模式下,程序块将输入矩阵 视为 独立通道。该块在保持帧大小不变的情况下,及时对输入信号的每一列进行细化,输出帧 ( ) 的周期是输入帧 ( ) 周期的 倍。

在这种模式下,分块只接受固定大小的信号,这些信号的帧大小可以是任意的。

本表显示了当*输入处理*设置为 "列作为通道(基于帧)"且*速率选项*设置为 "允许多速率处理 "时对任意输入帧大小的支持。

输入信号 设备支持此信号 支持任意输入帧大小 输入大小 输出大小

固定尺寸信号

始终

信号大小可变

不适用

不适用

不适用

参考处理

如果将*输入处理*设置为 "元素作为通道(基于采样)",程序块会将输入矩阵 视为 独立通道,并对每个通道进行时间采样。输出采样周期 ( ) 是输入采样周期 ( ) 的 倍,而输入和输出数据大小保持一致。

在这种模式下,设备只接受固定大小的信号,这些信号可以是任意帧大小。

本表显示了当*输入处理*参数设置为 "元素作为通道(基于采样)"时对任意输入帧大小的支持。速率选项*参数自动设置为 "允许多速率处理"。

输入信号 设备支持此信号 支持任意输入帧大小 输入大小 输出大小

固定尺寸信号

始终

信号大小可变

不适用

不适用

不适用

延迟时间

如果程序块在基于采样的处理模式下运行,其延迟时间始终为零。零延迟是指该模块将在 时间收到的第一个滤波输入采样作为第一个输出采样进行传输。第一个输出采样之后是经过滤波的输入采样 , 等。

算法

FIR 滤波稀化可通过多相结构有效实现。有关多相结构的更多详情,请参阅多相子滤波器

为了推导多相结构,我们首先要定义 FIR 滤波器的传递函数:

其中 是 FIR 滤波器的长度。

我们可以将这个等式重新排列如下

其中 是多相分量的数量,其值等于在参数设置窗口中设置的抽取系数。

我们可以将这一等式写成

其中 , , …​, 是 FIR 滤波器 的多相分量。

从概念上讲,FIR 滤波器减薄由一个低通 FIR 滤波器和一个降采样元件组成。

fir decimation 1 cn

让我们用它的多相表示法取代

fir decimation 2

这里给出了多元稀疏的特性。

fir decimation 3 cn

应用稀疏化特性可将下采样操作移至滤波操作之前。这样可以降低信号的滤波速度。

fir decimation 4

您可以用切换开关取代输入端的延迟和抽取因子。

fir decimation 5 cn

当第一个输入采样到达时,开关将其送入 "0 "分支,然后抽取器计算第一个输出值。当收到更多输入样本时,开关会逆时针移动,经过 和 `0`分支,向每个分支馈入一个样本。当开关到达 "0 "分支时,消隐器产生下一组输出值。只要数据继续流动,这一过程就会继续。每次开关接近 "0 "分支时,消隐器都会输出 。每接收到 个采样,消隐器就会有效地输出一个采样。因此,FIR 抽取器输出端的采样率为

参考文献

  1. Fliege, N. J. Multirate Digital Signal Processing: Multirate Systems, Filter Banks, Wavelets. West Sussex, England: John Wiley & Sons, 1994.

  2. Orfanidis, Sophocles J.Introduction to Signal Processing. Upper Saddle River, NJ: Prentice-Hall, 1996.