Dialog FIR Decimation
使用 FIR 滤波器进行多相稀化。FIR 滤波器系数在输入栏中设置。
类型: SubSystem
图书馆中的路径:
|
说明
对话框 FIR 去细化*块在第一次测量时使用整数下采样因子 执行高效的多相细化。
从概念上讲,FIR 去微器(如原理图所示)由一个平滑 FIR 滤波器和一个下采样器组成。
FIR 滤波器用直接形式的 FIR 滤波器过滤输入信号每个通道的数据。接下来的降采样是通过取 -th 样本并丢弃其后的 样本来减少每个通道滤波数据的采样,其中 是在*降采样系数*参数中设置的降采样系数的值。这样得到的离散时间信号与原始信号相比,采样频率降低了 。
FIR 滤波器系数在输入栏中设置。
请注意,实际的块算法实现了直接形式 FIR 滤波器的多相结构,实际上等同于图中所示的组合系统。详见算法。
端口
输入
#
IN_1
—
输入数据
标量 | 向量 | 矩阵
Details
以标量、向量或矩阵形式指定的数据块的输入数据。
数据类型 |
|
复数支持 |
是 |
输出
#
OUT_1
—
稀释后的输出数据
标量 | 向量 | 矩阵
Details
细化后的输出数据,以标量、向量或矩阵形式返回。
块行为取决于 Rate options 参数的值:
-
强制单速率处理"--选中此值时,块会保持输入采样率并对信号进行稀疏处理,将输出帧大小减少 倍。
-
允许多速率处理"--选择此值时,程序块会对信号进行稀释,使输出采样率比输入采样率小 倍。输出帧大小与输入帧大小相同。
数据类型 |
Float16、Float32、Float64、Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64。 |
复数支持 |
是 |
参数
Main
# FIR filter coefficients — 低通 FIR 滤波器的系数
Details
按降序指定 FIR 滤波器传递函数分子的系数:
FIR 滤波器的传递函数 定义如下:
为了作为有效的平滑滤波器使用,系数通常对应于一个低通滤波器,其归一化截止频率值不超过 ,其中 是抽取系数。
该模块将所有滤波器状态初始化为零。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
# Decimation factor — 删减率
Details
指定一个整数系数 。程序块根据该系数降低输入序列的采样率。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Filter structure —
FIR 滤波器结构
Direct form
| Direct form transposed
Details
指定 FIR 滤波器的结构:直接形式 "或 "直接形式转置"。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Input processing —
输入信号处理类型
Columns as channels (frame based)
| Elements as channels (sample based)
Details
指定设备是执行基于采样的处理还是基于帧的处理。可供选择的选项:
-
元素作为通道(基于采样)"- 每个输入信号元素都被视为一个独立通道(基于采样的处理)。
-
列作为通道(基于帧)"- 输入信号的每一列都作为一个独立通道处理(基于帧的处理)。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Rate options —
块对输入数据进行稀释的方法
Enforce single-rate processing
| Allow multirate processing
Details
指定区块稀释输入数据的方法。可供选择的选项有
-
强制单速率处理"--选择此方法时,数据块将保留输入信号的采样率并对信号进行稀释,从而将输出帧的大小减少 。要选择此方法,*输入处理*参数必须设置为 "列作为通道(基于帧)"。
如果*速率选项*参数设置为 "强制单速率处理",则可在触发子系统内使用*对话框 FIR 细分*块。
-
允许多速率处理"--选择此方法时,程序块会对信号进行稀释,使输出采样率比输入采样率低 倍。
依赖关系
要使用此选项,请将*输入处理*参数设置为 "列作为通道(基于帧)"。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Rate options —
块对输入数据进行稀释的方法
Allow multirate processing
Details
程序块使用 "允许多采样率处理 "方法对数据进行稀释 - 输出采样率比输入采样率低 倍。
依赖关系
要使用该参数,请将*输入处理*参数设置为 "元素作为通道(基于采样)"。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
# Allow arbitrary frame length for fixed-size input signals — 允许为固定大小的输入信号设置任意的帧大小
Details
指定固定大小的输入信号(其大小在仿真过程中不会改变)是否可以具有任意帧大小,即帧大小不必是抽取因子的倍数。程序块仅对固定大小的输入信号使用该参数,如果输入信号大小可变,则忽略该参数。
对于固定大小的输入信号
-
如果选中 允许固定大小输入信号的任意帧长度 复选框,信号的帧大小不一定是抽取因子的倍数。如果输入信号不是抽取因子的倍数,输出通常是可变大小的信号。因此,要支持任意输入尺寸,程序块还必须支持可变尺寸操作,这可以通过选择 允许固定尺寸输入信号的任意帧长 复选框来启用。
-
如果未选中 允许固定大小输入信号的任意帧长度 复选框,则输入帧大小必须是抽取因子的倍数。
依赖关系
要使用此选项,请将*输入处理*设为 "列作为通道(基于帧)",并将*速率选项*设为 "强制单速率处理"。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
更多信息
多相子过滤器
FIR 去微器的多相实现将低通 FIR 滤波器的脉冲响应分解为 不同的子滤波器,其中 是下采样或去微因子。有关多相实现的更多详情,请参阅算法。
让 表示长度为 的 FIR 滤波器的脉冲响应, 表示输入信号。将滤波器的输出信号稀释 ,就相当于降采样卷积:
多相滤波效率的关键在于,在降采样卷积过程中,某些输入值只与选定的脉冲响应值相乘。例如,如果 ,那么 的输入值只与 的滤波器系数相乘,而 的输入值只与 的滤波器系数相乘。通过将滤波器系数分成两个多相子滤波器,卷积过程中就不会进行不必要的计算。多相子滤波器卷积的输出交错相加,得到滤波器输出。
基于帧的处理
当*输入处理*设置为 "列作为通道(基于帧)"时,设备将对输入信号的每一列进行基于时间的重采样。在此模式下,程序块可执行单速率或多速率处理。您可以使用*速率选项*参数来指定块将如何重新计算输入数据:
-
如果*速率选项*参数设置为 "强制单速率处理",则块的输入和输出数据具有相同的采样速率。为了在保持输入数据采样率的同时稀释输出数据,程序块将重新计算输入数据每一列中的数据,使输出数据帧大小的上限为`ceil`( ),其中 是输入数据帧大小, 是*抽取系数*参数中指定的抽取系数。
在此模式下,如果信号大小固定(帧大小在仿真过程中不会改变),且*允许固定大小输入信号的任意帧长度*复选框被选中,则输入帧大小可以是任意的,不必是抽取因子的倍数。如果未选中 允许固定大小输入信号的任意帧长度 复选框,则输入帧大小必须是抽取因子的倍数。
本表显示了当*输入处理*设置为 "列作为通道(基于帧)"和*速率选项*设置为 "强制单速率处理 "时对任意输入帧大小的支持。
输入信号 | 设备支持该信号 | 支持任意输入帧尺寸 | 输入尺寸 | 输出尺寸 |
---|---|---|---|---|
固定尺寸信号 |
是 |
如果*允许固定尺寸输入信号的任意帧长度*复选框被选中 |
在 |
ceil"( )尺寸的上限由 |
-
当*速率选项*设置为 "允许多通道处理 "时,FIR 除法器块的输入和输出数据大小相同。但是,输出数据采样率比输入数据采样率低 倍。在这种模式下,程序块将输入矩阵 至 视为 独立通道。该块在保持帧大小不变的情况下,及时对输入信号的每一列进行细化,输出帧 ( ) 的周期是输入帧 ( ) 周期的 倍。
在这种模式下,分块只接受固定大小的信号,这些信号的帧大小可以是任意的。
本表显示了当*输入处理*设置为 "列作为通道(基于帧)"且*速率选项*设置为 "允许多速率处理 "时对任意输入帧大小的支持。
输入信号 | 设备支持此信号 | 支持任意输入帧大小 | 输入大小 | 输出大小 |
---|---|---|---|---|
固定尺寸信号 |
是 |
始终 |
开 |
开 |
信号大小可变 |
无 |
不适用 |
不适用 |
不适用 |
参考处理
如果将*输入处理*设置为 "元素作为通道(基于采样)",程序块会将输入矩阵 至 视为 独立通道,并对每个通道进行时间采样。输出采样周期 ( ) 是输入采样周期 ( ) 的 倍,而输入和输出数据大小保持一致。
在这种模式下,设备只接受固定大小的信号,这些信号可以是任意帧大小。
本表显示了当*输入处理*参数设置为 "元素作为通道(基于采样)"时对任意输入帧大小的支持。速率选项*参数自动设置为 "允许多速率处理"。
输入信号 | 设备支持此信号 | 支持任意输入帧大小 | 输入大小 | 输出大小 |
---|---|---|---|---|
固定尺寸信号 |
是 |
始终 |
开 |
开 |
信号大小可变 |
无 |
不适用 |
不适用 |
不适用 |
延迟时间
如果程序块在基于采样的处理模式下运行,其延迟时间始终为零。零延迟是指该模块将在 时间收到的第一个滤波输入采样作为第一个输出采样进行传输。第一个输出采样之后是经过滤波的输入采样 , 等。
算法
FIR 滤波稀化可通过多相结构有效实现。有关多相结构的更多详情,请参阅多相子滤波器。
为了推导多相结构,我们首先要定义 FIR 滤波器的传递函数:
其中 是 FIR 滤波器的长度。
我们可以将这个等式重新排列如下
其中 是多相分量的数量,其值等于在参数设置窗口中设置的抽取系数。
我们可以将这一等式写成
其中 , , …, 是 FIR 滤波器 的多相分量。
从概念上讲,FIR 滤波器减薄由一个低通 FIR 滤波器和一个降采样元件组成。
让我们用它的多相表示法取代 。
这里给出了多元稀疏的特性。
应用稀疏化特性可将下采样操作移至滤波操作之前。这样可以降低信号的滤波速度。
您可以用切换开关取代输入端的延迟和抽取因子。
当第一个输入采样到达时,开关将其送入 "0 "分支,然后抽取器计算第一个输出值。当收到更多输入样本时,开关会逆时针移动,经过 、 和 `0`分支,向每个分支馈入一个样本。当开关到达 "0 "分支时,消隐器产生下一组输出值。只要数据继续流动,这一过程就会继续。每次开关接近 "0 "分支时,消隐器都会输出 。每接收到 个采样,消隐器就会有效地输出一个采样。因此,FIR 抽取器输出端的采样率为 。