我想不出更好的方法来问这个问题,所以我将以一个例子开始。假设我有一个最大频率为50Hz的输入信号(以100Hz采样)。现在,感兴趣的信号在0-5Hz范围内,因此我可以添加一个截止频率为5Hz的低通滤波器,并将得到的信号用于进一步处理。我的理解是,现在我可以将滤波后的信号下采样10倍,从而减少处理负荷。我对吗?如果是,为什么在滤波后始终不执行降采样,因为在我看来这是显而易见的方法?如果我的假设是错误的,那么我在哪里错了?
我想不出更好的方法来问这个问题,所以我将以一个例子开始。假设我有一个最大频率为50Hz的输入信号(以100Hz采样)。现在,感兴趣的信号在0-5Hz范围内,因此我可以添加一个截止频率为5Hz的低通滤波器,并将得到的信号用于进一步处理。我的理解是,现在我可以将滤波后的信号下采样10倍,从而减少处理负荷。我对吗?如果是,为什么在滤波后始终不执行降采样,因为在我看来这是显而易见的方法?如果我的假设是错误的,那么我在哪里错了?
Answers:
您是正确的,如果信号的带宽限制为<5 Hz,那么您可以用10Hz的采样率完美地表示它。这是众所周知的采样定理
但是 ……对于为什么人们将无法和/或倾向于使用临界采样数据,可能存在一些实际考虑。
原因之一是很难对信号进行严格采样。您执行的用于更改信号速率的任何操作都将具有一些过渡带宽为非零的滤波器。在您的示例中,这将未混叠的频率内容限制为5-ftrans。使用长脉冲响应滤波器可以使过渡带宽非常窄,但是这在处理和信号开始和结束时的瞬态(振铃)方面都有代价。
另一个原因是对结果信号起作用的算法的有效性。如果您需要使用只能选择最近样本的黑盒组件,那么最好将其提供给过采样的数据。
大多数(全部?)非线性运算在关键采样数据与过采样数据之间的行为会有所不同。一个例子是平方信号,这是一种众所周知的BPSK载波恢复方法。如果没有2x的过采样条件,则当频域自身卷积时,时域信号与其自身的乘法会导致环绕垃圾混淆。
确定采样率时需要考虑许多因素。让我列出其中一些,以使您了解如果降低采样率可能还会导致其他后果。当然,这很大程度上取决于您如何降低采样率,但是...
为了说明其中的一些原理,我编写了一个简单的matlab程序,还将显示其输出。
pis=linspace(0,2*pi,2048);
for f=1:512
sig=cos(f*pis+pi/2);
sig_average=filter(ones(16,1),1/16,sig);
sam_sig=sig_average(1:16:end);
freq=abs(fft(sam_sig));
freqs(f)=max(freq);
end
figure;plot((1:512)/64,freqs)
奈奎斯特准则(双重采样以完美描述信号)适用于无噪声数据。如果要重建噪声数据,则需要以高于最小频率的频率进行采样。对于图像来说尤其如此,在图像中通常没有周期性信号,因此无法简单地通过时间平均来减少噪声。
此外,如果要将模型拟合到数据中,则可以从更高的采样率中再次受益,因为将模型拟合到三个数据点并不是特别稳定,尤其是在存在噪声的情况下。