Engee 文档

FIR Rate Conversion

基于FIR滤波器的多相采样频率转换器。

类型: SubSystem

图书馆中的路径:

/Signal Operations/Filters/MultirateFilters/FIR Rate Conversion

资料描述

FIR Rate Conversion 使用有理系数对采样频率执行高效多相转换 沿着第一维度。 块将输入信号的每一列视为单独的通道,并且彼此独立地重新采样其中的数据。

从概念上讲,频率转换器结合了FIR内插器和FIR抽取器。 下面给出的方案包含一个结合了重建和平滑滤波器的频率提升元件,以及一个频率降低元件。

变频器执行以下操作:

  • 通过添加将输入数据的采样率增加到更高的采样率 输入样本之间的零。

  • 将采样数据通过FIR滤波器。

  • 通过丢弃将过滤数据的采样率降低到较低的采样率 块存储的每个样本之后的连续样本。

fir rate conversion 1 cn

注意,实际的块算法使用多相分解来执行,这比上面呈现的概念更有效。 有关详细信息,请参阅算法

港口

入口处

In-输入信号传递:q[<br>] 标量,标量 | 向量资料 | 矩阵

输入信号可以指定为标量、矢量或大小矩阵 . 在后一种情况下,输入信号列表示 独立的频道。

有关详细信息,请参阅 基于帧的处理

<无转换>*数据类型*: 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译>

支持复数: 是的

出口;出口

Out-转换通过信号:q[<br>] 标量,标量 | 向量资料 | 矩阵

变频后的输出数据可以表示为标量、矢量或矩阵。

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

  • 强制执行单速率处理 -该块保留输入信号的采样频率,但转换尺寸的方式使输出信号中的通道大小不同。 相对于入口的时间。 输出在大小上有一个上限 要输入大小 .

  • 允许多速率处理 -单元抽取信号,使输出信号的采样频率在 倍输入的采样率。 输出帧的大小与输入帧的大小相同,但采样率相同。 .

连接到输出的所有单元都以采样频率工作。 ,并且连接到输入的所有单元都以采样频率工作 .

<无转换>*数据类型*: 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译>

支持复数: 是的

参数

高效源-一种设置通滤波器系数的方法:q[<br>] 对话框参数(默认情况下)

如果参数具有值 对话框参数,然后在参数设置窗口中设置滤波器系数。

插值系数—通过的插值系数:q[<br>] 3(默认) | 正标量

指定整数系数 . 块在滤波之前根据该系数增加输入序列的采样率。

依赖关系

要使用此参数,请将*Efficient source*参数设置为 对话框参数.

<无转换>*数据类型*: Int8, Int16, Int32, Int64</无翻译>

FIR滤波器系数-低通FIR滤波器通的系数:q[<br>] [0 -0.000129061486199961 -0.000228040316280948 0 0.000554613738572437 0.000802607430267054 0 -0.00152912350278902 -0.00203638780675590 0 0.00342230705979440 0.00433928347039265 0 -0.00673109372352446 -0.00825637814441869 0 0.0121125402586868 0.0145130044012328 0 -0.0204721583515830 -0.0241392529239787 0 0.0332125142618354 0.0388230898504630 0 -0.0529640018790903 -0.0619837024555044 0 0.0860610417481775 0.102712774109103 0 -0.154048515452570 -0.197567026018057 0 0.408837525145054 0.824655115145336 1 0.824655115145336 0.408837525145054 0 -0.197567026018057 -0.154048515452570 0 0.102712774109103 0.0860610417481775 0 -0.0619837024555044 -0.0529640018790903 0 0.0388230898504630 0.0332125142618354 0 -0.0241392529239787 -0.0204721583515830 0 0.0145130044012328 0.0121125402586868 0 -0.00825637814441869 -0.00673109372352446 0 0.00433928347039265 0.00342230705979440 0 -0.00203638780675590 -0.00152912350278902 0 0.000802607430267054 0.000554613738572437 0 -0.000228040316280948 -0.000129061486199961] ( 默认情况下) | 向量资料

从降序指定FIR滤波器系数 .

依赖关系

要使用此参数,请将*Efficient source*参数设置为 对话框参数.

<无转换>*数据类型*: Int8, Int16, Int32, Int64</无翻译>

支持复数: 是的

抽取系数-通过抽取系数:q[<br>] 2(默认情况下) | 正标量

指定整数系数 . 块在滤波之后根据该系数降低输入序列的采样率。

依赖关系

要使用此参数,请将*Efficient source*参数设置为 对话框参数.

<无转换>*数据类型*: 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译>

速率选项-提供单速或允许多速通过处理:q[<br>] 强制执行单速率处理(默认情况下) | 允许多速率处理

指定要使用的处理。 可供选择的选项:

  • 强制执行单速率处理 -输出帧的大小 等于输入帧的大小 乘以 ,在哪里 -插值系数,以及 -抽取系数。

.

输出信号的采样率等于输入信号的采样率:

.

  • 允许多速率处理 -输出帧的大小等于输入帧的大小:

.

输出信号的采样率等于输入信号的采样率乘以 :

.

连接到输出的所有单元都以采样频率工作。 ,并且连接到输入的所有单元都以采样频率工作 .

对于固定大小的输入信号允许任意帧长度-对于固定大小的输入信号允许任意帧长度
禁用(默认情况下) | 已启用

指定是否可以将固定大小的输入信号(其大小在仿真期间不改变)转换为具有任意帧长度的输入信号。 在这种情况下,输入帧长度不必是抽取因子的倍数。

对于固定大小的输入信号:

  • 如果输入信号帧的长度不必是抽取因子的倍数,请选择*允许固定大小输入信号的任意帧长度*复选框。 如果输入信号的第一个维度不是抽取系数的倍数,那么输出通常是可变大小的信号。 因此,要支持任意大小的输入信号,块还必须支持具有可变大小信号的操作,这是通过检查*允许固定大小的输入信号的任意帧长度*复选框来实现的。

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

依赖关系

要使用此参数,请将*Rate options*参数设置为 强制执行单速率处理.

此外

设置FIR滤波器系数

在*FIR滤波器系数*参数中,必须将FIR滤波器分子的系数设置为矢量。

传递函数 FIR滤波器定义为:

系数向量必须具有超过插值系数的长度( ). FIR滤波器必须是一个低通滤波器,其归一化截止频率不超过 . 块内部将所有滤波器状态初始化为零。

设置采样频率

当*Rate options*参数设置为时,本节仅适用于单速处理模式 强制执行单速率处理.

块采样率 FIR Rate Conversion 它是使用*抽取因子*和*插值因子*参数设置的。 对于输入矩阵 抽取因子参数 和*插值因子* 必须符合以下要求:

  • 它们必须是互质数。 即关系 它不能减少到较小的整数的比率。

  • ,在哪里 -分别在输入和输出的整个帧大小。 您可以通过设置*抽取因子来满足第二个要求* 等于输入端的帧大小 . 在这种情况下,输出帧大小为 将等于*插值因子* .

通过以这种方式改变帧大小,块能够保持帧周期恒定( )并实现采样周期的期望变换使得

哪里 -输出端的采样周期。

下面的图片显示了该块是如何 FIR Rate Conversion 转换具有采样周期的4乘1输入信号 3/4 成具有采样周期的3乘1输出信号 1. 帧周期( ),等于 3,保持恒定。 此示例的参数值:

  • *插值因子*事项 3;

  • *抽取系数*事项 4;

  • *费率选项*事项 强制执行单速率处理.

fir rate conversion 2 cn

基于帧的处理

FIR Rate Conversion 按时间对输入信号的每一列重新采样。 在这种模式下,单元可以执行单速和多速处理两者。 您可以使用*Rate options*参数指定块将如何重新计算输入数据。:

  • 如果*Rate options*参数设置为 强制执行单速率处理,则该块的输入和输出数据具有相同的采样率。 为了在保持输入采样率的同时对输出进行重新采样,该块变换每个输入列中的数据,以便输出帧长度在大小上具有上界 ,在哪里 -插值因子参数中指定的插值系数, -输入帧的长度,以及 -在*Decimation factor*参数中指定的抽取系数。

在这种模式下,如果在输入端接收到固定大小的信号(帧长度在模拟过程中不会改变),并且选择了*允许固定大小的输入信号的任意帧长度*复选框,那么输入帧长度可以是任意的,不一定是抽取因子的倍数。 如果未设置*允许固定大小输入信号的任意帧长度*复选框,则输入帧长度必须是抽取因子的倍数。

  • 如果*Rate options*参数设置为 允许多速率处理,则输入输出数据大小相同,但输出信号的采样率在 倍于输入。 在这种模式下,块处理输入矩阵 如何 独立的频道。 块在时间上抽取输入信号的每一列,保持帧大小恒定并使输出帧的周期( )在 比输入帧的周期长的倍( ).

算法

可以基于多相表示高效地执行具有FIR滤波器的频率转换。

要转到多相表示,让我们从定义FIR滤波器的传递函数开始,FIR滤波器是重建和平滑滤波器的组合。:

哪里 —这是FIR滤波器的长度。

您可以按如下方式重新排列此等式:

哪里 —这是多相分量的数量,该值等于插值系数,该系数在参数设置窗口中设置。

你可以把这个方程写成:

哪里 , , …​, -这些是FIR滤波器的多相组件 .

从概念上讲,带有FIR滤波器的频率转换器包含一个采样率升压元件,然后是一个组合的FIR滤波器 ,随后是采样速率降低元件。

fir rate conversion 1 cn

更换/更换 其多相表示。

fir rate conversion 3

这里是多维插值的标识。

fir rate conversion 4 cn

应用用于插值的标识在滤波操作之后移动添加零样本的操作(增加频率的操作)。 此举允许您以较低的速率过滤信号。

fir rate conversion 5

可以用切换开关代替采样率升压元件、延迟单元和加法器。 为了考虑降低采样率的后续因素,开关以增量移动 . 开关从分支0获取第一个选择并逆时针移动,每次跳过 的分支。

作为一个例子,考虑一个速度转换器与 ,设置为5,和 安装在3上。 多相组件: , , , ,而 . 交换机从第一个分支0开始,跳过分支1和2,从分支3获取下一个样本,然后跳过分支4和0,从分支2获取下一个样本,依此类推。 交换机接收数据样本的分支序列为[0, 3, 1, 4, 2, 0, 3, 1, …​.].

因此,在过程中 频率转换首先,对输入数据应用插值系数 ,然后用一个开关仅隔离M个数据样本中的1个,这有效地考虑了抽取系数。 . 转换器输出端的总采样率为 .

fir rate conversion 6 cn

连结

  1. Orfanidis,Sophocles J._Introduction To Signal Processing。_上鞍河,NJ:Prentice-Hall,1996.