Skip to content

Latest commit

 

History

History
95 lines (61 loc) · 6.88 KB

File metadata and controls

95 lines (61 loc) · 6.88 KB

无线通信技术实验报告:信道编码与信道均衡

1. 实验目的

  1. 理解信道编码原理,包括 Hamming(7,4) 分组码的编码、伴随式计算和单比特纠错机制,体会编码增益的概念。
  2. 掌握信道均衡技术,理解码间干扰的产生机理,学习迫零均衡器和 LMS 自适应均衡器的设计方法。
  3. 熟悉 GitHub 自动评分流程,包括 Fork 仓库、本地开发、pytest 测试和自动评分的完整工作流。
  4. 实践 Python 科学计算,运用 NumPy 进行矩阵运算和信号处理,使用 Matplotlib 可视化实验结果。

2. 实验原理

2.1 信道编码

  1. Hamming(7,4) 码是一种线性分组码,将 4 位信息比特编码为 7 位码字,引入 3 位监督比特。其生成矩阵 G 为 4 乘 7 矩阵,满足 c 等于 m 点乘 G 后对 2 取模。
  2. 伴随式的定义为:设接收码字为 r,校验矩阵为 H,则伴随式 s 等于 r 点乘 H 的转置后对 2 取模。若 s 等于 0,认为无错;若 s 不等于 0,则 s 对应 H 的某一列,指示错误位置。
  3. 单比特纠错的原理:Hamming(7,4) 码的最小汉明距离 d_min 等于 3,根据编码理论,可纠正的错误位数 t 等于 d_min 减 1 后除以 2 再向下取整,结果为 1,因此能纠正任意单比特错误。
  4. 编码增益是指通过引入冗余比特降低误码率,在相同信噪比下获得性能提升,代价是码率从 1 降至 4 除以 7。

2.2 信道均衡

  1. 码间干扰的产生原因是多径信道导致信号经过不同路径到达接收端,产生时延扩展,造成前后符号相互干扰。
  2. 迫零均衡器的设计思路是通过设计 FIR 滤波器 w,使得 h 与 w 的卷积近似等于冲激函数 delta[n],强制消除码间干扰。具体通过求解最小二乘问题得到,其中 A 为卷积矩阵,d 为中心为 1 的目标向量。
  3. LMS 自适应均衡利用训练序列迭代更新抽头系数,更新公式为 w[n+1] 等于 w[n] 加上步长 mu 乘以误差 e[n] 再乘以输入向量 x[n]。其中 e[n] 等于期望输出 d[n] 减去实际输出 y[n]。

3. 实验环境

  1. Python 版本为 Python 3.x。
  2. 主要依赖包括 NumPy 用于矩阵运算,Matplotlib 用于绘图,pytest 用于单元测试。
  3. AI 助手使用情况为使用 AI 辅助理解实验要求、调试代码逻辑、解释通信原理概念。

4. 实验方法与步骤

4.1 Part 1:信道编码

  1. 编码,实现 hamming74_encode 函数,将输入比特按每 4 位分组,通过生成矩阵 G 在 GF(2) 上相乘得到 7 位码字。
  2. 加噪与翻转,模拟 BSC 信道,以概率 p 随机翻转码字比特;或模拟 AWGN 信道加高斯噪声后硬判决。
  3. 译码,实现 hamming74_syndrome 函数计算伴随式定位错误,hamming74_decode 函数翻转错误位并提取前 4 位信息比特。
  4. 误码率对比,对比编码前后的误码率,绘制误码率与信噪比关系曲线。

4.2 Part 2:信道均衡

  1. 多径信道建模,给定信道冲激响应如 h 等于 [0.9, 0.3, -0.2],产生码间干扰。
  2. 迫零均衡器设计,构造卷积矩阵 A,求解最小二乘问题得到均衡器抽头。
  3. LMS 自适应均衡,使用训练序列,按 LMS 算法迭代更新抽头系数,记录误差收敛曲线。
  4. 效果评估,对比均衡前后的眼图、星座图,计算均方误差评估均衡性能。

5. 实验结果

编码BER曲线 均衡眼图对比 LMS误差曲线

6. 结果分析与讨论

回答:

  1. Hamming(7,4) 为什么能纠正单比特错误?

Hamming(7,4) 码的最小汉明距离 d_min 等于 3。根据线性分组码的纠错能力公式,可纠正错误位数 t 等于 d_min 减 1 后除以 2 再向下取整,结果为 1。这意味着任意两个合法码字至少相差 3 位,因此当发生单比特错误时,接收序列距离原码字最近,距离为 1,而距离其他合法码字至少为 2,译码器能唯一确定错误位置并纠正。

  1. 为什么信道编码会引入冗余并降低码率?

信道编码通过在信息比特中添加监督比特来实现检错纠错功能。Hamming(7,4) 将 4 位信息扩展为 7 位,码率 R 等于 4 除以 7,约等于 0.57,小于 1。冗余比特不携带原始信息,但提供了纠错所需的空间,使得接收端能够区分合法码字和错误图案。

  1. ZF 均衡为什么可能放大噪声?

迫零均衡器的设计目标是完全消除码间干扰,即 H(f) 乘以 W(f) 等于 1。在信道频率响应 H(f) 存在深衰落的频率点,幅值很小,此时均衡器增益 W(f) 等于 1 除以 H(f) 会非常大,导致该频段的噪声被大幅放大。因此迫零均衡在消除码间干扰的同时会恶化信噪比,特别是在频率选择性深衰落信道下。

  1. LMS 的步长过大或过小会出现什么问题?

当步长过大时,算法会发散,误差剧烈震荡不收敛。原因是更新步长超过最优值范围,在最优解附近来回跳跃甚至远离。 当步长过小时,收敛极慢,需要大量迭代才能接近最优。原因是每次更新幅度太小,难以快速跟踪信道变化。 当步长适中时,算法平稳收敛到最优解,满足 0 小于 mu 小于 2 除以最大特征值这一稳定条件。

  1. 均衡前后 ISI 有什么变化?

均衡前眼图张开度较小,甚至闭合;均衡后眼图明显增大,清晰张开。 均衡前码间干扰严重,多径导致符号重叠;均衡后码间干扰大幅抑制,冲激响应接近理想。 均衡前误码率较高;均衡后误码率显著降低。 均衡前噪声为原始噪声水平;均衡后若使用迫零均衡,可能因噪声放大而略有增加。

7. 实验心得

通过本次实验,我对信道编码和信道均衡有了更深入的理解。

  1. 关于信道编码,Hamming(7,4) 码虽然简单,但完整展示了冗余换可靠性的编码思想。伴随式译码的逻辑非常巧妙,将代数结构与物理错误建立了直接对应关系。实现过程中对 GF(2) 上的矩阵运算有了更直观的认识。
  2. 关于信道均衡,迫零和 LMS 代表了两种截然不同的均衡思路。迫零是开环的基于信道先验知识的设计,LMS 是闭环的自适应学习。实际系统中往往需要结合两者优势,或采用更稳健的 MMSE 准则。
  3. 关于自动评分与 GitHub 工作流,pytest 驱动的自动测试让代码质量有了客观标准,也培养了我先写测试、再实现功能的测试驱动开发思维。Fork 到 Clone 到 Commit 到 Push 的流程是现代软件工程的基础技能。
  4. 关于 AI 编程辅助,AI 在解释通信原理、提供代码框架和调试思路上效率很高,但核心算法逻辑如 LMS 更新公式的推导、伴随式的物理意义仍需自己理解,否则难以应对测试中的边界情况。

8. 参考资料

  • 课程课件:第6章 信道编码
  • 课程课件:第7章 均衡