初学BPSK解调题

信息处理 解调 bpsk
2022-01-27 06:25:45

我正在用 Python 编写一个简单的应用程序,它使用音频信号通过二进制 PSK 发送和接收数据。我将 cos() 用于 0,将 -cos 用于 1。在接收器端,我想我可以通过将信号乘以 2*cos 来解调,因此这实际上会将信号移到 x 轴下方和上方以获得相应的位。它工作得很好。现在,我正在考虑使用低通滤波器,或者可能对时间范围内的数据进行平均以获得输出“方波”?这里最好/最有效的方法是什么?我可能是一名专业软件工程师,但作为一个业余爱好者正在修补这个问题,因此可能是非常基本的问题:)

1个回答

“集成和转储”过滤器是此应用程序的常用方法,它本质上是一个平均过滤器,在您的符号周期内进行最佳平均。要实现这一点,您只需在符号边界处重置累加器,在符号周期内累积输出,然后通过在再次重置之前将累积的输出作为结果来“转储”结果。对于存在加性高斯白噪声的矩形脉冲形状 BPSK,这是最佳匹配滤波器。(然而,在大多数无线应用中,BPSK 信号不会有矩形脉冲,而是脉冲整形,例如发射机中的根升余弦脉冲整形,然后我们将使用另一个根升余弦脉冲响应对接收到的样本进行加权最佳匹配滤波的积分)。

请注意,除非您的发射器和接收器之间有共享时钟,否则您可能还需要实施某种形式的载波恢复来跟踪发射器和接收器之间的时钟变化(否则一旦漂移 90 度,您的余弦将是正弦和在那种情况下你不会得到任何输出!)。如上所述,您将需要某种形式的时序恢复来确定您的符号开始何时参考您收到的信号。

我在以下帖子中详细介绍了这些内容:

BPSK 中的相位同步

为 psk 恢复信号

重复符号的 Gardner 时序恢复