我正在一个项目中用 Java 编写一个函数来执行 GMSK 调制。我在一定程度上对 GMSK 调制框图有很好的理解,但我对将 Q 相位输入延迟 90° 意味着什么提出了挑战。
我是简单地将我的 Q 相位比特流乘以负正弦载波还是什么?请问,正确的做法是什么?
我正在一个项目中用 Java 编写一个函数来执行 GMSK 调制。我在一定程度上对 GMSK 调制框图有很好的理解,但我对将 Q 相位输入延迟 90° 意味着什么提出了挑战。
我是简单地将我的 Q 相位比特流乘以负正弦载波还是什么?请问,正确的做法是什么?
将输入信号偏移 90 度的系统是希尔伯特变换器。对于单个正弦波,90 度相移很简单(例如,正弦变为余弦),但对于一般信号,您需要一个希尔伯特变压器。在这里检查基础知识。它可以使用 FIR(有限脉冲响应)数字滤波器来实现。这样的滤波器可以在 Matlab/Octave 中设计。
编辑:以上是对“我如何执行相移(对于非正弦信号)?”。然而,我没有注意到 - 幸运的是 Jim Clay 在评论中指出的 - 在给定的图表中不需要移相器。 首先-block 简单地表示信号在 I 分量和 Q 分量中的分裂。它不是一个分相器和-symbol 实际上具有很大的误导性。