基于MATLAB实现16QAM调制解调仿真(结果超详细)

基于MATLAB的16QAM调制解调仿真(包含中间各个环节的时域波形、功率谱、频谱图、星座图、眼图、理论与仿真的误码率曲线)

目录

前言

一、16QAM调制解调过程

二、仿真结果

Ⅰ、码元信噪比eb/n0=10dB时

1、基带信号波形

2、电平转换后的信号

3、调制后的信号

4、加入高斯白噪声后的信号

5、乘载波后的IQ信号

6、低通滤波后的IQ信号

7、发送端和接收端的星座图

8、接收端的眼图

Ⅱ、码元信噪比eb/n0= -10dB时

星座图和眼图

Ⅲ、码元信噪比eb/n0= 50dB时

星座图和眼图

Ⅳ、理论与仿真误码率曲线

三、仿真代码(超详细)

总结


前言

        16QAM是幅度和相位联合键控。近日对16QAM的调制解调全过程尤为好奇,便对其进行了学习和仿真,在此记录一下各个步骤的仿真结果(包含中间各个环节的时域波形、功率谱、频谱图、星座图、眼图、理论与仿真的误码率曲线),以便自己回顾学习和启示他人。


提示:以下是本篇文章正文内容,转载请附上链接。

一、16QAM调制解调过程

           系列文章:

基于MATLAB实现BPSK调制解调仿真(结果超详细)

基于MATLAB实现2ASK调制解调仿真(结果超详细)

基于MATLAB实现2FSK调制解调仿真(结果超详细)

基于MATLAB实现QPSK调制解调仿真(结果超详细)

16QAM调制解调原理框图如下图所示:

QAM信号的表达式为:

s(t)=I_ncos(\omega _ct)-Q_nsin(\omega _ct)

本次采用16QAM,M=16=2^k,因此k=4,代表每个符号携带4个bit的信息,电平L=2^(k/2)=4。

二、仿真结果

        首先说明一下,实际应用中码速率、载波频率比我仿真设置高的多,我这里设置低的原因是为了清晰地通过仿真图看出每一个步骤信号时域、频域、功率谱的变化。

Ⅰ、码元信噪比eb/n0=10dB时

        参数设定如下:

N = 10000; % 比特个数

fc = 5e3; % 载波频率

Rb = 1e3; % 码速率(符号速率)

k = 4; % 每个符号携带的比特数

Rs = Rb*k; % 比特速率

sps = 32; % 每个符号的采样点数

fs = Rb*sps; % 电平转换后的采样频率=符号率*每个符号的采样点数

fs1 = Rs*sps; % 串并转换前的采样频率

ts = 1/fs; % 电平转换后的最小采样间隔

ts1 = 1/fs1; % 串并转换前的最小采样间隔

n1=N*sps; % 串并转换前总的采样点数

1、基带信号波形

2、电平转换后的信号

        可见,电平转换后信号所占带宽为2KHz,为码速率Rb的两倍。 

3、调制后的信号

        可见,调制后信号的频谱被搬移到了5KHz左右,与设置的载波频率fc一致。 

4、加入高斯白噪声后的信号

        通过频谱明显看出引入了噪声。 

5、乘载波后的IQ信号

        可见,相干解调乘上载波后信号又被搬移到了零频附近。 

6、低通滤波后的IQ信号

        可见,低通滤波后滤除了带外的噪声和不需要的频率分量。 

7、发送端和接收端的星座图

8、接收端的眼图

Ⅱ、码元信噪比eb/n0= -10dB时

星座图和眼图

Ⅲ、码元信噪比eb/n0= 50dB时

星座图和眼图

        通过眼图,可以判断判决电平为2,0,-2。 

Ⅳ、理论与仿真误码率曲线

        可见,仿真的误码率和理论值很接近。 

三、仿真代码(超详细)

基于MATLAB实现QPSK调制解调仿真(结果超详细)


总结

        以上就是今天要讲的内容,本文通过仿真图详细介绍了16QAM调制与解调的整个过程。

MATLAB中进行16QAM信号的仿真可以通过以下步骤实现: 1. 定义调制参数:首先,定义调制参数,包括星座图中的样点数和每个符号携带的比特数。对于16QAM,样点数为16,每个符号携带4个比特。 2. 生成随机比特序列:使用MATLAB的随机数生成函数,生成需要传输的比特序列。 3. 映射比特序列到星座图:将生成的比特序列映射到16QAM星座图中的样点。可以使用MATLAB的函数来实现这一步骤。 4. 添加噪声:为了模拟实际通信环境中的噪声,可以向星座图中的样点添加高斯噪声。可以使用MATLAB的函数来实现这一步骤。 5. 解调:使用解调器将接收到的信号解调回比特序列。解调器根据接收到的星座图样点来判断发送端发送的信息比特。 6. 比特误码率计算:将解调得到的比特序列与原始比特序列进行比较,计算比特误码率。 以上是16QAM信号仿真的基本步骤,具体的MATLAB代码实现可以根据需要进行调整和优化。 #### 引用[.reference_title] - *1* *2* *3* [【数字信号调制】基于matlab 16QAM信号调制解调【含Matlab源码 2050期】](https://blog.csdn.net/TIQCmatlab/article/details/126532975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迎风打盹儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值