什么是使用微控制器对 50 Hz 数字信号进行相移的方法。将样本存储到阵列并明智地移动样本,如何对该信号进行分数移动。
50Hz 信号的相移
信息处理
离散信号
2022-02-16 22:44:46
2个回答
您可以通过创建一个窗口 sinc 滤波器来做到这一点,该滤波器具有足够宽的通带来保存您试图相移的任何能量。但是,您无需将 sinc 函数居中,而是将其移动您想要引入的任何相移。然后您过滤信号,该信号现在将具有该相移。
正如 Jason 在他的评论中所说,我们真正想要的是时间延迟,这意味着与冲动相结合。问题是您只能使用这种技术进行采样周期整数倍的延迟。我们通过创建一个窗口 sinc 形式的低通滤波器来解决这个问题。只要 SOI 的能量在 LPF 的通带内,就忠实地再现感兴趣的信号而言,这实际上与脉冲相同。然后,我们将 LPF 与部分延迟的脉冲进行卷积。我们通过计算这些偏移时间点的基础 sinc 函数的值来做到这一点。
因为卷积是一种线性运算,将您的信号与移位的 sinc 进行卷积等效于将信号与分数移位的脉冲函数进行卷积,然后将其与 LPF 进行卷积。
我同意 Jim Clay 的回答。但是如果您需要非常快速的算法并且结果的准确性不是您的主要目的,您可以使用简单的线性插值。例如,如果你想移动一半的样本分辨率,你可以使用:
y[i] = (x[i+1] + x[i])/2
是的,它也是低通滤波器,但非常简单且非常短。如果您需要更准确的结果 - 使用 Jim Clay 的常见答案并仔细选择过滤器的长度。
其它你可能感兴趣的问题