我想制作一个程序,可以将数据作为特定频率的脉冲进行传输,但不确定如何检测频率是否存在。
我认为我需要过滤掉所有不需要的频率,但我似乎无法找到有关如何执行此操作的任何内容。
是否有任何图书馆已经这样做或者我必须建立自己的图书馆?是否有任何这类或类似的例子?
答案 0 :(得分:2)
看起来您正在尝试实施Modem,并建议您查看用于此目的的经验证的调制技术 - 通常是QPSK和{{3} }。您在问题中暗示的技术是幅度调制的原因 - 基本上用比特流调制给定频率的载波。在解调此问题时,QAM可能是一个很好的起点。由于窗口的采样效应,使用FFT将产生较差的结果,这将导致较差的带宽。
解调信号后,您将面临的另一个实际问题是时钟恢复。原始比特流时钟很可能与接收器处的采样时钟异步。为了解码数据流,您需要恢复发送方的时钟(也就是说,它与本地时钟之间的关系)。 Heterodyning是实现这一目标的常用方法。
您还需要弄清楚如何检测比特流的开始 - 例如某种框架。
答案 1 :(得分:0)
您需要对信号数据应用傅里叶变换,以便在频域中查找。 JTransforms是一个开源库,您可以使用它来执行此操作。