Engee 文档
Notebook

多速过滤器

导言

多速率系统被称为包含具有不同采样率(BH)的信号的离散系统。 在大多数情况下,考虑改变输入信号采样频率的系统。 它可以增加和减少一个整数次,也可以改变一个分数次(m/n,在哪里 mn -整个)。 使用这个模型的例子,我们将考虑将BH改变一个小数倍的经典问题,并且还找出为什么我们需要一个过滤器。

01_mdl.png

该模型由离散正弦信号源的块组成 DSP Sine Wave,将BH增加整数倍的块 Upsample,将BH降低整数倍的块 Downsample,以及过滤块 Discrete FIR Filter,其最初是不活动的(信号不变地通过块)。 原始离散正弦波是基频为5Hz、采样频率为100Hz的信号。
Upsample 通过在输入正弦波的计数之间增加四个额外的零,以非常简单的方式将BH增加5倍。
Downsample 它通过传入信号的样本进行切割,每秒钟移除(在我们的例子中)。
因此,我们希望将正弦波的BH增加2.5倍。
在标签上 Отладка 在模型中,我们以不同的颜色突出显示块和信号的BH。

模型启动和输出波形

当运行模型进行仿真时,我们可以在窗口中观察 Графики 时域信号。
请注意,原始信号看起来像一个离散(逐步)正弦,而
模型的输出(250Hz BH信号)是一个异常值,它们之间有零。

02_timefail.png

街区 UpsampleDownsample -实现改变BH的简单数字算法。
但它们不执行通常意义上的插值和抽取。

以了解该块如何帮助进行此类操作。
Discrete FIR Filter 让我们先看看会发生什么
到BH增大和减小时的信号频谱。

改变采样率时的频谱复制和混叠

为此,请使用内置的交互式工具来
在窗口中可视化信号频谱 Графики 通过选择
Меню сигналов: Сигналы в частотной области. 我们会的
按顺序显示信号(重要的是要了解正确显示
在相同的轴上,信号必须具有相同的采样频率)。

首先,我们将显示原始离散正弦曲线的频谱。 让我们确定一下
该频谱的峰值是在5赫兹的频率,和图形的X轴
位于从0到50Hz的范围内(即高达采样频率的一半):

03_sine_spectrum.png

现在让我们考虑将BH增加5倍后的信号频谱。:

04_up_spectrum.png

离散信号的频谱本质上是周期性的,
而当频率观测区(奈奎斯特区)扩大
到bh的一半的新值,我们开始观察
我们信号的光谱副本。
在我们的例子中,正弦曲线在5Hz,95Hz的频率下可见,
105赫兹,195赫兹,205赫兹。

并且随着手术后光谱的观察区域的进一步缩小
Downsample 这些副本
被"包裹"在一个新的奈奎斯特区,现在受到限制。
值为125Hz。 这是混叠效果:
05_down_spectrum.png

它是在输出信号频谱副本的存在
这决定了它的形状-异常值与零。 事实上,它
是由基本信号之和形成的复周期信号 -
鼻窦。
我们不能完全消除它们,但我们可以压制
它们具有适当的低通滤波器。 这个过滤器
被称为抗成像或抗混叠滤波器。
它总是在手术后放置。 Upsample 和之前
的操作 Downsample.

低通滤波器开发

我们的任务是开发一个合适的原型(规格)
的滤波器,并将其系数
在街区里 Discrete FIR Filter.

考虑到初始信号可以范围
从0到50Hz,我们选择50Hz的滤波器截止频率,
Kaiser窗口函数,归一化
过渡带宽,以及所需的抑制
障带中。 另请注意
我们选择采样频率为500Hz的规格,
由于这是进入滤波器输入的信号。:

In [ ]:
using DSP;
fs = 500;
mywindow = FIRWindow(; transitionwidth=0.15, attenuation=60, scale=true);
myFIR = digitalfilter(Lowpass(2*50/fs), mywindow);

现在我们将计算并显示振幅-频率
响应(频率响应)的滤波器,以确保它
能够抑制50Hz以上的频谱拷贝:

In [ ]:
myTransferFunction = PolynomialRatio(myFIR,1);
H, w = freqresp(myTransferFunction);
freq_vec = fs*w/(2*pi);
plot(freq_vec, pow2db.(abs.(H))*2, linewidth=3,
     xlabel = "Частота, Гц",
     ylabel = "Амплитуда, дБ",
     title = "АЧХ фильтра нижних частот",
     ylim = (-120, 10))
Out[0]:

根据选定的规格合成了50阶滤波器。
其频率响应的形状,虽然它并没有完全跳过所有
我们感兴趣的频率,但它适用于抑制干扰的当前任务。 滤波器系数
已经嵌入到模型块中,因此您不必再次传输它们。

应用低通滤波器

在模型中,我们右键单击
在筛选器块上并选择 Включить блок.
之后,我们再次运行模型进行仿真,
看看两个信号的频谱-在输入和输出
的过滤器。:
07_win_spectrum.png

正如我们所看到的,光谱副本被相对抑制
到5赫兹正弦波超过70分贝. 你也可以注意到
输出信号中频率为5赫兹的正弦波具有
更高的功率。 我们具体地将滤波器系数乘以5,
因为加零是一个操作。 Upsample 减少
信号的能量正好是5倍。

现在让我们来看看
时域中的输出信号的形状处。:
08_win_time.png

它在幅度上对应于输入信号,也有
基频为5Hz,其采样频率为250Hz,
它的形状现在是正弦振荡。

但我们也看到它相对于输入信号延迟
期的四分之一。 这是应用长程FIR滤波器的效果。
50计数-这样的过滤器必然会引入延迟。

结论

在这个例子中,我们检查了改变的基本原则
数字设备中的采样率、成像和混叠的影响,
而需要使用低通滤波器。