← 回到 项目

SDR 文本收发机

SDR Text Transceiver: M-PSK over USRP

把一段文字编码、打包、调制,用 USRP 从天线发出去,再从空气里接回来还原成原文。

角色
课程项目 · 两人小组
时间
2026.02 – 2026.06
机构
南方科技大学

为什么做这件事

课堂上的调制解调都是在仿真里跑的 —— 没有噪声、没有频偏、时钟完全对齐,怎么做都对。换成真实硬件之后,同一套算法要面对采样率不匹配、载波相位偏移、包边界找不准这些问题。这个项目的价值不在于实现 PSK,而在于让它在真实链路上跑通:接收端得先在一串连续比特里找到包从哪开始,才谈得上解调。

我做了什么

  • 发射端在课堂上已完成,我们做的是接收端:把队列输入换成真实的 USRP 驱动模块,走通完整硬件链路。
  • 文本按 Unicode 转成比特流,分块后加上 Guard Bits、同步序列、包编号和数据字段,封装成结构化数据包。
  • 用 LabVIEW 搭接收链路:USRP 会话建立与参数配置、IQ 数据采集、重采样、PSK 解调。
  • 实现帧同步:在解调后的比特流里搜索约定的同步序列,定位包起始并校验有效性,再按包编号重组文本。
  • 用星座图和眼图从相位域和时域两个角度判断信号质量。
  • 把调制阶数从 BPSK 一路扩展到 QPSK、8PSK、16PSK,对比各阶的解调表现。

两人小组的课程项目。发射端在课堂上已经写好,我们做的是接收端 —— 把队列输入换成真实的 USRP 驱动,让文本走一遍真实的无线链路。

8-PSK 下的接收端。左边是还原出来的全文(弗罗斯特《未选择的路》),右边星座图上八个点分得清清楚楚,Sync Found 亮绿灯,46 个包全部正确。文字真的从天线上走了一趟又回来了。
8-PSK 下的接收端。左边是还原出来的全文(弗罗斯特《未选择的路》),右边星座图上八个点分得清清楚楚,Sync Found 亮绿灯,46 个包全部正确。文字真的从天线上走了一趟又回来了。
同一首诗换成 16-PSK。星座图从八个点糊成一团,文本开始出错:「藉cause it was grassy and(w`nted」。相位点从 45° 挤到 22.5° 间隔,同样的信噪比就不够用了 —— 这一张比任何公式都直观。
同一首诗换成 16-PSK。星座图从八个点糊成一团,文本开始出错:「藉cause it was grassy and(w`nted」。相位点从 45° 挤到 22.5° 间隔,同样的信噪比就不够用了 —— 这一张比任何公式都直观。
接收端的 LabVIEW 程序框图。从 USRP 会话建立、IQ 采集、重采样解调,到帧同步、包有效性检查、文本重建,整条链路都在这一张图里。
接收端的 LabVIEW 程序框图。从 USRP 会话建立、IQ 采集、重采样解调,到帧同步、包有效性检查、文本重建,整条链路都在这一张图里。

结果

  • 8-PSK 下文本完整还原,46 个数据包全部正确接收。
  • 16-PSK 出现乱码 —— 相位间隔从 45° 压到 22.5°,同样的信噪比不够用了。星座图上八个清晰的点糊成一团,这个失败反而把高阶调制的代价讲清楚了。

用到的技术

  • LabVIEW
  • USRP
  • 软件无线电
  • M-PSK 调制解调
  • 帧同步
  • 星座图 / 眼图