如何以高定时精度在噪声极大的信号中发送/接收短脉冲?

信息处理 冲动反应 数字通信 bpsk
2022-01-06 20:46:11

我对DSP很陌生。我需要一台计算机在嘈杂的室外环境中通过音频信号将数据传输到接收器。(我正在为发送器和接收器编写软件,因此我可以根据需要设计信号。)我使用的是工作频率为 44.1Khz 的廉价扬声器和麦克风。

我希望发送方发出一个接收方可以在时域上以极高准确度识别的信号。该信号不需要包含任何信息,接收器只需要能够准确地计算出信号开始的时间,理想情况下可以精确到精确的样本。

我的第一个想法是让发送者在 250 毫秒内发出 2kHz 的波。接收器将连续执行 FFT 以识别该波,当存在时,它会查看 FFT 历史以找出波开始的样本。然而,由于满足 FFT 所需的样本数量,这种方法感觉很笨拙。如果不对每个样本进行 FFT,我永远无法达到 1 个样本的准确度,而且我认为它甚至不会给我带来好的结果。

由于不相关的原因,我一直在学习 PSK,我得到的印象是有很多方法可以检测波的特性——无需 FFT。所以我的问题是——在极其嘈杂的环境中,我可以使用哪些方法来识别输入信号的瞬时变化?

1个回答

使用正弦曲线是个坏主意。为了精确检测到达时间,您需要一个带宽较宽的信号。以下是一个好的方法的简要说明:

  • 传输已知的直接序列扩频 (DSSS)波形(通常是相移键控数字信号,BPSKQPSK)。您应该选择具有良好自相关特性的扩展码:它的自相关应该看起来接近脉冲。随机符号序列通常会起作用,或者您可以使用更明确的定义,例如最大长度序列

  • 在接收器处,对已知的传输模式应用匹配滤波器。

  • 您将看到滤波器输出的幅度峰值对应于感兴趣信号的到达时间。将阈值应用于过滤器输出以识别这些尖峰的位置。

  • 匹配滤波器将有样本的延迟,其中是序列的长度。从检测到的脉冲位置中减去此持续时间,以得出脉冲到达时间的估计值。N1N

    • 或者,获取峰值周围的样本并进行插值以获得对实际峰值位置的更精细(子样本)估计。这里可以使用多项式、基于 sinc 的方法或其他方法。

这是对您可能想要做的事情的非常简化的描述,但它应该可以帮助您入门。设计序列长度时要牢记的一个考虑因素是:在总积分周期(即序列长度)和匹配滤波器的频率选择性之间进行权衡。如果您的发射器和接收器之间有明显的频率误差,匹配滤波器输出的峰值将会衰减。衰减量取决于频率偏移与匹配滤波器长度的关系。这是必须适当处理的 DSSS 系统的共同属性。