FIR 插值
具有FIR滤波器的多相插值。
类型: FIRInterpolation
图书馆中的路径:
|
资料描述
座 FIR 插值 使用整数插值系数执行高效多相插值 据所述第一测量。
从概念上讲,插值与有限脉冲响应滤波器(FIR滤波器)表示在频率的增加 一次,随后使用重构FIR滤波器,其通常是具有有限频带的理想内插滤波器的近似。
将每个输入通道的采样率增加到更高的采样率是通过添加 样本之间没有零。 接下来,FIR滤波器对变换后的数据的每个信道进行滤波。 所得到的离散信号具有采样频率在 原始采样率的倍。
然而,实块算法实现了直接形式FIR滤波器的多相结构,这是图中所示的组合系统的有效等价物。 有关详细信息,请参阅[Algorithms]。
座 FIR 插值 如果*Rate options*参数设置为"强制执行单速率处理",则可以在触发器子系统内部使用。
港口
入口
In-输入数据传递:q[<br>]'标量'|'向量|'矩阵
块的输入数据,指定为向量或矩阵。
数据类型'Float16
,'Float32',Float64
,Int8
,Int16
,Int32
,Int64
,Uint8
,UInt16
,UInt32
,`UInt64'
支持复数'是
Num—通滤波器传递函数分子的系数:q[<br>]`vector'
矢量形式的FIR滤波器分子的系数的输入端口。
传递函数 FIR滤波器定义为:
为作为有效重建滤波器工作,系数通常对应于归一化截止频率值不大于内插系数的逆的值的低通滤波器。
系数值是可配置的。 也就是说,它们的值可以在建模过程中发生变化,而它们的属性(如大小、数据类型和复杂性)保持不变。
依赖关系
要使用此端口,请将*Efficient source*参数设置为"输入端口"。
数据类型'Float16
,'Float32',Float64
,Int8
,Int16
,Int32
,Int64
,Uint8
,UInt16
,UInt32
,`UInt64'
支持复数'是
参数
系数源-设置通行系数的方法:q[<br>]'对话框参数(默认)|'输入端口
如果参数具有值’Dialog parameters',则在参数设置窗口中设置滤波器系数。 如果参数具有值’输入端口',则通过输入端口*Num*设置滤波器系数。
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] ( 默认情况下)
/'vector'
指定FIR滤波器传递函数的分子的系数 :
为作为有效重建滤波器工作,通常选择系数以便对应于归一化截止频率值不大于内插系数的逆的值的低通滤波器。
块将所有滤波器状态初始化为零。
依赖关系
要使用此参数,请将*Efficient source*参数设置为’Dialog parameters'。
数据类型'Float16
,'Float32',Float64
,Int8
,Int16
,Int32
,Int64
,Uint8
,UInt16
,UInt32
,`UInt64'
支持复数'是
插值因子-插值因子传递:q[<br>]'3(默认)|/'正标量`
指定整数系数 . 块根据该因子增加输入序列的采样率。
数据类型'Int8
,'Int16',Int32
,`Int64'
输入处理-输入信号处理类型
'列作为通道(基于帧)|'元素作为通道(基于样本)
指定块是基于参考还是帧执行处理。 可供选择的选项:
-
'元素作为通道(基于样本)`—输入信号的每个元素被视为独立的通道(基于样本的处理)。
-
'列作为通道(基于帧)`—输入信号的每列被视为独立的通道(基于帧的处理)。
有关详细信息,请参阅 按帧和计数进行信号处理.
速率选项-块内插输入数据传递的方法:q[<br>]强制执行单速率处理(默认)|/'允许多速率处理
指定块应插入输入数据的方法。 可供选择的选项:
-
'强制执行单速率处理`-当选择此方法时,该单元保存输入信号的采样率并对信号进行插值,从而增加输出帧的大小 有一次。 要选择此方法,*Input processing*参数必须具有值’Columns as channels(frame based)'。
-
"允许多速率处理`-选择此方法时,该单元以输出采样率的方式对信号进行插值 在 倍于输入采样率。
更详细
基于帧的处理
如果*输入处理*参数设置为’列作为通道(基于帧)`,则块在时间上重新采样输入信号的每一列。 在这种模式下,单元可以执行单速和多速处理两者。 您可以使用*Rate options*参数指定块将如何重新计算输入数据。:
-
如果*Rate options*参数设置为’Enforces single-rate processing',那么块的输入和输出数据具有相同的采样率。 以在保持输入数据的采样率的同时内插输出数据,该块重新计算每个输入数据列中的数据,使得输出数据帧的大小( )在 倍于输入数据帧大小( ).
-
如果*Rate options*参数设置为’Allow multirate processing',那么FIR滤波器插值的输入和输出数据具有相同的大小。 然而,输出数据的采样率在 倍于输入数据的采样率。 在这种模式下,块检查输入矩阵 上 如何 独立的频道。 块随时间内插输入信号的每一列,保持帧大小恒定( = ),而输出帧的周期( )在 比输入帧的周期短的倍( ).
算法
利用多相结构有效地实现了FIR滤波器插值。
为了推导出多相结构,我们首先定义FIR滤波器的传递函数。:
哪里 —这是FIR滤波器的长度。
您可以按如下方式重新排列此等式:
哪里 —这是多相分量的数量,其值等于插值系数,该系数在参数设置窗口中设置。
你可以把这个方程写成:
哪里 , , …, -这些是FIR滤波器的多相组件 .
从概念上讲,FIR滤波器内插由内插系数和低通FIR滤波器组成。 .
更换/更换 其多相表示。
这里给出了多维插值的标识。
应用用于插值的标识移动在滤波操作之后插入零样本的操作。 此举允许您以较低的速率过滤信号。
可以用切换开关代替零样本插入运算器、延迟块和加法器。 开关从第一个分支0开始,逆时针移动,每次从每个分支获得一个样本。 内插器有效地输出 接收的每个输入样本的样本。 因此,FIR滤波器插值输出端的采样率为 .