如何在Matlab中模拟百万分之一(SCO = 1ppm)的采样时钟偏移(发送器和接收器之间)?从理论上讲,我可以将信号上采样 1,000,001 倍(一百万零一),然后再下采样 1,000,000 倍(一百万),以模拟以 1+1e-6 的采样率重新采样信号。但是,这在 Matlab 中是不可能的。我正在考虑通过采用 FFT 来做到这一点,然后在频域中填充零,然后进行适当的选择,然后进行 iFFT ......
谢谢
如何在Matlab中模拟百万分之一(SCO = 1ppm)的采样时钟偏移(发送器和接收器之间)?从理论上讲,我可以将信号上采样 1,000,001 倍(一百万零一),然后再下采样 1,000,000 倍(一百万),以模拟以 1+1e-6 的采样率重新采样信号。但是,这在 Matlab 中是不可能的。我正在考虑通过采用 FFT 来做到这一点,然后在频域中填充零,然后进行适当的选择,然后进行 iFFT ......
谢谢
我怀疑OP指的是频率偏移而不是静态时间偏移。
如果 1ppm 是时钟频率的频率偏移而不是静态时间偏移,则可以使用数控振荡器引入(因此在 Matlab 中,这只是将数据路径信号乘以)。如果该时钟是接收器中其他源(例如 RF 本地振荡器)的参考,则在使用 RF 与参考频率的适当倍增比时,还必须考虑在这些位置引入的频率偏移。
如果 1ppm 确实是一个不变的静态时间偏移,那么可以使用分数延迟滤波器来引入。分数延迟滤波器的基本结构是在时间偏移处重新采样理想的插值 Sinc 函数(这可以使用加窗 Sinc 滤波器设计轻松计算)。Farrow 滤波器也非常适合此目的,具有提供可调延迟的能力。看: