基于MATLAB的数字带通传输系统设计
基于MATLAB的数字带通传输系统设计
通信原理课程实验,做了一晚上头脑异常清晰,写下来和大家分享下,程序有点问题,但可以基本实现要求,话不多说,上干货。
软件环境是MATLAB2019B
大家如果找到问题可以在评论区留言,博主会尽快改正
1 实验条件与要求
实验条件:
1) 已知恒参有线信道的带宽为300-3400Hz;
2) 假设信道存在加性高斯白噪声,信噪比为10dB;
3) 带通传输系统的传输速率为4800bps。
实验要求:
1) 确定整个传输系统的核心设计参数;
2) 设计完成该带通传输系统的发送器;
3) 根据要求添加信道噪声,得到接收端的信号;
4) 设计完成该带通传输系统的接收器;
5) 选择一张高清的图片,通过所设计的系统完成图片的传输,并计算误信率;
6) 完成实验报告。
2 设计思路
简单说下我的思路,因为之前设计过平方根余弦滚降低通滤波器和平方根余弦滚降带通滤波器并且当时设计的码元速率指标(波特率)都是2400BAUD,因此为了达到4800bps的传输速率要求,我决定采用四进制码元进行发送(偷懒,不想再重新设计发送与接收滤波器了,因为用四进制码元发送所以传输速率Rb=RB*log2(M)=2400x2=4800bps),我实际使用的时候是利用QPSK的方式进行调制与相干解调。
3 设计步骤
1.将图片利用MATLAB读入并变为二进制数组
2.开始分帧处理,我这里选择4800bit一帧,也就是一次处理4800个二进制数据。一次性处理全部数据我没有试过,但是如果图片太大可能会出问题
3.将4800个二进制数据转化为2400个四进制数据
4.四进制数据进行矢量图映射,说得高级其实很简单,举个例子(这里用两个二进制表示四进制,举的例子是B方式):"11"映射为“1+j“(矢量图第一象限),"01"映射为“-1+j“(矢量图第二象限),"00"映射为“-1-j“(矢量图第三象限),"10"映射为“1-j“(矢量图第四象限)
附一张矢量图: