上采样和滤波输入信号
过滤/多速率过滤器
dspmlti4
的冷杉插值按整数上采样因子对输入进行阻塞上采样l沿着第一维。FIR插值器(如图所示)在概念上由上采样器和FIR抗成像滤波器组成,FIR抗成像滤波器通常近似于理想的带限插值滤波器。要设计FIR抗成像滤波器,请使用designMultirateFIR
函数。
上采样器将输入的每个通道上采样到更高的速率l样本之间有-1个零。后面的直接形式FIR滤波器对上采样数据的每个通道进行过滤。得到的离散时间信号的采样率为l乘以原始采样率。
注意,实际的块算法实现了多相结构,这是图中所描述的组合系统的有效等效。有关详细信息,请参见算法.
您可以在触发子系统内部使用FIR插值块率的选择参数执行单速率处理
.
在特定条件下,该块还支持SIMD代码生成。金宝app有关详细信息,请参见代码生成.
要指定滤波器系数,请选择您希望FIR插值块操作的模式。中选择模式系数来源组框。
对话框参数—在块对话框中输入过滤器的相关信息,如系数等。
输入端口-指定过滤系数作为块的输入。系数值是可调的(可以在模拟过程中改变),而它们的属性必须保持不变。
过滤器对象—使用a指定过滤器dsp。FIRInterpolator
系统对象™。
汽车(默认)-选择FIR奈奎斯特滤波器的滤波器系数,为块对话框中指定的插值因子预先设计。
当你选择对话框参数,你使用FIR滤波器系数参数来指定FIR滤波器传递函数的分子系数H(z).
可以生成FIR滤波器系数矢量,b= (b0,b1、……bN],使用DSP System Toolbox™中的滤波器设计功能之一,如designMultirateFIR
,firnyquist
,firhalfband
,firgr
或firceqrip
.
作为一个有效的抗成像滤波器,系数通常对应于一个低通滤波器,其归一化截止频率不大于插值因子的倒数。要设计这样的过滤器,请使用designMultirateFIR
函数。
块内部初始化所有过滤器状态为零。
当你选择汽车中指定的插值因子设计FIR插值器插值因子.的designMultirateFIR
函数设计过滤器并返回块使用的系数。
有关过滤器设计的更多信息,请参阅Orfanidis[2].
当你设置输入处理参数列作为通道(基于帧)
,该块随时间对输入的每列重新采样。在这种模式下,块可以执行单速率或多速率处理。你可以使用率的选择参数来指定块如何重新采样输入:
当你设置率的选择参数执行单速率处理
,块的输入和输出具有相同的采样率。为了在保持输入采样率的同时对输出进行内插,该块对输入的每列中的数据进行重新采样,以便输出的帧大小(Ko)是l比输入(Ko=K我*l).
有关单速率FIR插值的示例,请参见例1 -单速率处理.
当你设置率的选择参数允许多速率处理
, FIR插补块的输入和输出大小相同。但是,输出的采样率为l比输入快几倍。在这种模式下,代码块处理aK我——- - - - - -N矩阵输入为N独立的通道。该块通过保持帧大小不变(K我=Ko),同时使输出帧周期(T佛)l比输入帧周期(T佛=Tfi/l).
看到例2 -基于帧的多速率处理在此模式下使用FIR插值块的示例。
当你设置输入处理参数元素作为通道(基于样本)
, block处理aP——- - - - - -问矩阵输入为P*问独立的通道,并随时间插值每个通道。输出采样周期(T所以)是l比输入样本周期(T所以=T如果/l),而输入和输出大小保持相同。
当你在Simulink中运行模型时金宝app®SingleTasking
模式或设置输入处理参数列作为通道(基于帧)
和率的选择参数执行单速率处理
, FIR插值块始终具有零任务延迟。Zero-tasking延迟表示该块传播第一个过滤的输入样本(在时间点接收)t=0
)作为第一个输出样本。第一个输出样本之后是l- - - - - -1
插值值,第二个过滤的输入样本,等等。
FIR插值块显示延迟的唯一时间是当您设置率的选择参数设置为允许多速率处理
并在Simulink中运行你的模型金宝app多任务处理
模式。多速率、多任务操作的延迟量取决于输入处理参数,如下表所示。
输入处理 | 延迟 |
---|---|
|
l样品 |
|
l帧(K我每帧采样数) |
当块显示延迟时,默认初始条件为零。或者,您可以使用输出缓冲区初始条件参数指定初始条件矩阵,其中包含每个通道的一个值,或者指定将应用于所有通道的标量初始条件。块按比例缩放输出缓冲区初始条件由插值因子并输出缩放后的初始条件,直到第一个滤波后的输入样本变得可用。
当块处于基于样本的处理模式时,块在每个通道的开始处输出缩放后的初始条件,紧接着是第一个滤波后的输入样本,然后l-1插值值,依此类推。
当块处于基于帧的处理模式并使用默认初始条件0时,第一个K我*l输出行包含0,其中K我是输入帧的大小。第一个过滤的输入样本(输入矩阵的第一个过滤行)作为样本出现在输出中K我*l+1
.该值后面跟着l-1插值值,第二个过滤的输入样本,等等。
请注意
有关延迟和Simulink任务模式的详细信息,请参见金宝app超额算法延迟(任务延迟)和基于时间的调度和代码生成(金宝app仿真软件编码器).
在ex_firinterpolation_ref2, FIR插值块对帧大小为的单通道输入进行插值16
.因为block在做单速率处理插值因子参数设置为4
, FIR插值块的输出帧大小为64
.如下图所示,FIR插值块的输入和输出具有相同的采样率。
在ex_firinterpolation_ref1, FIR插值块对帧周期为1秒的单通道输入进行插值(样品时间=1/64
和每帧采样数=64
).因为这个块正在做基于多速率帧的处理插值因子参数设置为4
, FIR插值块的输出帧周期为0.25
秒。如下图所示,FIR插值块的输入和输出具有相同的帧大小,但输出的采样率为1/4
乘以输入的量。
的ex_polyphaseinterp
模型说明了FIR插值块的基本多相实现。运行模型,并查看作用域上的结果。FIR插值块的输出与多相插值滤波器块的输出相匹配。
的ex_mrf_nlp
模型说明了FIR插值块在许多多级多速率滤波器中的使用。
FIR插值块可以在四种不同的模式下工作。中选择模式系数来源组框。
对话框参数—在掩码中输入过滤器的相关信息,如系数等。
输入端口—使用“a”指定过滤系数全国矿工工会输入端口。的全国矿工工会的输入端口将出现输入端口选择。通过全国矿工工会是可调的(可以在模拟期间更改),而它们的属性必须保持不变。
过滤器对象—使用a指定过滤器dsp。FIRInterpolator
系统对象。
汽车(默认)-选择FIR奈奎斯特滤波器的系数,为块对话框中指定的插值因子预先设计。
不同的项目出现在冷杉插值块对话框,具体取决于是否选择对话框参数,输入端口,过滤器对象,或汽车在系数来源组框。
Fliege, n.j。多速率数字信号处理:多速率系统,滤波器组,小波.西萨塞克斯,英格兰:约翰·威利父子公司,1994年。
[英]索福克勒斯·奥法尼迪斯信号处理概论.Upper Saddle River, NJ: Prentice-Hall, 1996。
港口 | 金宝app支持的数据类型 |
---|---|
输入 |
|
输出 |
|
采用多相结构有效地实现了FIR插值滤波器。
为了推导多相结构,从FIR滤波器的传递函数开始:
N+1是FIR滤波器的长度。
你可以将这个等式重新排列如下:
l是多相分量的个数,它的值等于您指定的插值因子。
你可以把这个方程写成:
E0(zl),E1(zl)、……El - 1(zl)FIR滤波器是多相元件吗H(z)。
从概念上讲,FIR插值滤波器包含一个上采样器,然后是FIR低通滤波器H(z)。
取代H(z)及其多相表示。
这是插值的多速率高贵恒等式。
对插值应用高贵恒等式将上采样操作移到滤波操作之后。这一举动使您能够以较低的速率过滤信号。
可以用换向开关替换上采样操作符、延迟块和加法器。开关从第一个支路0开始,逆时针移动,每次从每个支路接收一个样本。插补器有效输出l它接收到的每一个输入样本的样本。因此,FIR插值滤波器输出端的采样率为Lfs.