elabradio入门第三讲——PSK传输系统的载波同步

在实际的信号传输过程中会出现频偏问题,导致解调信号波形畸变,系统误码率升高。频偏的大小直接影响接收信号的质量,小频偏可能导致轻微失真,大频偏会导致完全解调失败。当接收端载波频率发生偏移时,恢复载波是保证正确解调的必要条件。

一、elabradio仿真

我们在上一讲中已经搭建了BPSK系统,  当接收端和发送端的载波频率一致时,解调输出信号正确恢复为 PN15 序列,从误码仪观察到误码率接近0。

但是我们在实际中还需要考虑接收端出现频偏的情况,设置接收端载波频率:将 IQ 下变频模块的载波频率设置为 256100Hz,与发送端载波(256000Hz)之间存在 100Hz 的偏移。

使用示波器观测接收信号的波形,并从误码仪分析结果看,误码仪处于失步状态,接收端无法正确解调出发送信号。频偏导致载波失同步,信号在下变频过程中的混频产物频率偏移,无法准确还原基带信号。

因此我们需要在接收端引入载波恢复模块,通过Costas环算法 进行载波同步恢复,实现频偏校正。

BPSK相干载波恢复模块

 从示波器观察波形,可以看出增加载波恢复模块后,接收信号的波形稳定且与原始信号一致。从误码仪中确认误码率显著下降接近为0,恢复为与无频偏情况类似的低误码状态。

二、同步相关知识

在这里我们复习一下同步的相关知识:

根据作用不同,同步可以分为四种:载波同步,位同步,帧同步,网同步

其中前三种构成的完整的同步流程可以概括为:

(1)接收端首先对于接收到的信号进行载波提取或者平方变换等方法实现载波同步,以获得本地载波,完成信号解调,得到发送的基带信号。

(2)之后对其进行包络检波或者滤波等操作提取定时脉冲序列,对信号进行抽样判决,得到码元序列,实现位同步

(3)最后进行帧同步处理,检测并获取每帧的起止定位信息,对码元进行正确分组,还原发端原始信息形式。

这三种同步技术虽在信号接收端发挥着不同的作用,但也不是彼此独立毫不相关的。

载波同步

这里因为考虑了接收端的频偏情况,所以主要介绍一下载波同步

无论在何种调制方式下,当信号信噪比相同时,虽然非相干解调的实现复杂度更小,成本更低,但是其解调性能却总是劣于相干解调,因此相干解调方式成为首选。若采用相干解调,需要在接收端获取用于解调的相干载波,而所谓的载波同步,就是在接收端获得一个与发送信号同频同相的相干载波的过程。

(1)有辅助导频时的载波提取

(i)在频域上插入导频(所谓导频就是含有载波信号的单频信号)

适用于不含有载波分量的信号,比如DSB,SSB,VSB,等待2PSK信号

插入原则:导频振幅(功率)要小;要在已调信号频谱的空隙处插入,以便于接收端提取;插入载波应为正交载波

实现方法:在发送信号中额外加入导频信号一起发送;在接收端就可以用窄带滤波器或者锁相环提取出相干载波。

(ii)在时域上插入导频

(2)无辅助导频时的载波提取 

对于DSB-SC,PSK信号本身不含有载波分量,可以通过对信号的非线性变换产生载波的谐波分量,提取之,并分频,产生载波同步信号。

 

 对于costas环的理解可以分为如下两部分(以BPSK为例),有正交解调器和误差检测器,对于不同的BPSK,QPSK和8PSK而言,正交解调器部分一样,不同的是误差检测器部分,也就对应着不同的星座图。

BPSK
QPSK
8PSK

### eLabRadio 收发教程 #### 设备连接与初始化 为了确保 eLabRadio 的正常工作,在开始任何数据传输之前,需确认设备已正确安装并配置好。这包括但不限于硬件连接、驱动程序安装以及软件境设置。 对于初次使用者来说,建议按照官方文档中的指导完成必要的准备工作[^1]。通过串口调试工具可以方便地测试电台模块是否能够成功建立连接,并验证基本功能如频率设定、功率调节等功能是否正常运作。 ```python import serial ser = serial.Serial('COM3', baudrate=9600, timeout=1) if ser.isOpen(): print("Serial port is open.") else: print("Failed to open the serial port.") ``` #### 数据发送流程 当准备就绪之后,就可以利用编程接口向目标地址发送消息了。下面是一个简单的 Python 脚本例子来展示如何构建一条指令并通过 UART 接口传递给 eLabRadio: ```python def send_command(command_string): command_bytes = (command_string + '\r\n').encode() ser.write(command_bytes) send_command("AT+DEST=271828") # 设置接收方ID为自然常数e的小数部分组成的整数形式 send_command("AT+SEND=HelloWorld!") # 发送字符串"HelloWorld!" ``` #### 常见问题排查指南 针对提到的关于通信一段时间后死机的情况,虽然描述的现象更倾向于网络层面上的问题而不是无线射频本身引起的故障,不过仍然可以从几个方面来进行优化尝试以减少此类事件的发生概率: - **定期维护**: 定期清理交换机内部缓存,防止因长时间运行而导致内存泄漏等问题; - **固件更新**: 及时升级至最新版本的固件,制造商可能会修复一些潜在的安全漏洞或是性能瓶颈; - **参数调整**: 对于特定应用场景下的流量控制策略做出适当修改,比如降低最大帧尺寸限制等措施有助于缓解突发性拥塞状况; 如果上述方法仍无法有效改善,则可能需要进一步深入分析具体的组网架构是否存在设计缺陷或者是外部干扰源的影响等因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值