当前位置: 首页 > news >正文

16QAM通信系统设计与实现(上篇)——信号生成与调制技术(python版本)

本文详细介绍16QAM调制系统的核心实现,包括格雷编码映射、能量归一化、根升余弦滤波器设计和载波调制技术,并通过Python代码实现关键模块。

一、系统架构与技术指标

系统参数配置体现典型通信系统设计要求:

fb = 1e6       # 符号速率1MHz
fs = 8*fb      # 采样率8MHz (满足采样定理)
alpha = 0.35   # 滚降系数
Es = 10        # 符号能量
N_symbols=1e4  # 传输符号数

确保系统满足符号速率与带宽的平衡,采样率设置为符号速率的8倍以实现精细的波形采样

二、格雷编码映射原理

采用4比特到16QAM符号的格雷编码映射,有效减少相邻星座点误码扩散:

gray_map = {(0,0,0,0): (-3+3j), (0,0,0,1): (-3+1j), ..., (1,0,1,0): (3-3j)
}  # I/Q路高2位分别使用2bit格雷码

映射规则特点:

  1. I/Q正交分解:将4比特分为高2位控制I路电平,低2位控制Q路电平 

    23

  2. 幅度分层:星座点坐标集合为{±1,±3}×{±1,±3},通过能量归一化调整实际幅度
  3. 相邻点编码差1bit:如(0,0,0,0)→(-3+3j)与(0,0,0,1)→(-3+1j)仅最低位不同

三、信号生成与能量归一化

3.1 比特到符号转换

def generate_16qam(N):bits = np.random.randint(0,2,4*N)  # 生成4N随机比特symbols = [gray_map[tuple(bits[i:i+4])] for i in range(0,4*N,4)]avg_power = np.mean(np.abs(symbols)**2)return symbols * np.sqrt(Es/avg_power)  # 能量归一化

关键步骤解析:

  • 比特分组:每4比特为一组映射到复数符号
  • 能量校准:通过系数将平均符号能量精确调整

3.2 星座图验证

通过可视化验证映射正确性:

constellation = np.array(list(gray_map.values())) * np.sqrt(Es/10)
plt.scatter(np.real(constellation), np.imag(constellation), c='r',marker='x')
for bits, point in gray_map.items():plt.text(point.real,point.imag+0.3,''.join(map(str,bits)),ha='center')

图示:标注比特组合的16QAM星座图,可见相邻点仅1bit差异

四、根升余弦滤波器设计

def design_rrc_filter(alpha, span, sps):t = np.linspace(-span//2*Tb, span//2*Tb, span*sps+1)h = np.zeros_like(t)for i,ti in enumerate(t):# 处理特殊点ti=0和ti=±T/(4α)if ti == 0:h[i] = 1 - alpha + 4*alpha/np.pielif alpha!=0 and abs(ti)==Tb/(4*alpha):h[i] = alpha/np.sqrt(2)*((1+2/np.pi)*sin(π/4α)+...)else:# 常规点计算num = sin(πt/T*(1-alpha)) + 4αt/T*cos(πt/T*(1+alpha))den = πt/T*(1-(4αt/T)^2)h[i] = num/denreturn h/np.linalg.norm(h)  # 归一化

设计要点:

  • 滤波器跨度:span=16符号周期,确保时域衰减充分
  • 采样密度:sps=8点/符号,匹配系统采样率
  • 归一化处理:保证滤波器能量为1

五、载波调制实现

def apply_carrier(signal, fc, phase):t = np.arange(len(signal)) * Tsreturn signal * np.exp(1j*(2*np.pi*fc*t + phase))

5.2 调制过程

  1. 成型滤波upfirdn(rrc_filter, symbols, up=8)完成8倍上采样和脉冲成型
  2. 载波搬移:通过复指数乘法实现正交上变频
  3. 相位偏移:模拟实际系统中的载波相位不同步现象 

下篇预告:信道传输与解调技术——瑞利衰落建模、Gardner定时同步、最小距离解调算法实现。完整代码可以评论私信联系我

相关文章:

  • 关于 SSE(Server-Sent Events)过程的简要解剖
  • DJI上云API官方demo学习
  • Java如何防止工具类被实例化
  • 三大微调技术对比:Prompt/Prefix/P-Tuning
  • 摩尔线程 MUSA 软件开发集成套件
  • 第12次05: 用户中心-用户基本信息
  • C++虚函数和纯虚函数
  • 强化学习(十一)探索与利用
  • FastAPI 中间件
  • 关于模型记忆力的实现方式
  • 令牌桶算法——流量控制和限流
  • 【AI News | 20250526】每日AI进展
  • SpringAI(GA):Tool工具整合—快速上手
  • 如何实现 C/C++ 与 Python 的通信
  • 云化全场景+AI智算双擎驱动,打造高教数智化转型新范式,麒麟信安闪耀第63届高等教育博览会!
  • 25盘古石初赛wp(部分)
  • 回调函数的使用
  • Android磁盘占用优化全解析:从监控到治理的存储效率革命
  • [特殊字符]《Qt实战:基于QCustomPlot的装药燃面动态曲线绘制(附右键菜单/样式美化/完整源码)》
  • 基于GitHub Actions+SSH+PM2的Node.js自动化部署全流程指南
  • 开源门户网站建设方案/宁波seo快速优化
  • 手机网站怎么做单页面/外链生成工具
  • dedecms 网站地图模板/如何制作自己的网页链接
  • 东营企业网站seo/网络营销名词解释答案
  • 电脑咋建网站/南宁排名seo公司
  • 网站底部浮动广告代码/seo实战优化