【MATLAB源码-第1期】基于matlab的16QAM的理论误码率和实际误码率对比仿真,以及不同信噪比下的星座图展示。

操作环境:

MATLAB 2022a

1、算法描述

正交幅度调制(QAM,Quadrature Amplitude Modulation)是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度(π/2)的正弦波,因此被称作正交载波。这种调制方式因此而得名。

同其它调制方式类似,QAM通过载波某些参数的变化传输信息。在QAM中,数据信号由相互正交的两个载波的幅度变化表示。

模拟信号的相位调制和数字信号的PSK可以被认为是幅度不变、仅有相位变化的特殊的正交幅度调制。由此,模拟信号频率调制和数字信号FSK也可以被认为是相位调制(PSK)的特例,因为它们本质上就是相位调制。这里主要讨论数字信号的QAM,虽然模拟信号QAM也有很多应用,例如NTSC和PAL制式的电视系统就利用正交的载波传输不同的颜色分量。

类似于其他数字调制方式,QAM发射信号集可以用星座图方便地表示。星座图上每一个星座点对应发射信号集中的一个信号。设正交幅度调制的发射信号集大小为 N,称之为N-QAM。星座点经常采用水平和垂直方向等间距的正方网格配置,当然也有其他的配置方式。数字通信中数据常采用二进制表示,这种情况下星座点的个数一般是2的幂。常见的QAM形式有16-QAM、64-QAM、256-QAM,以及未来5G采用之512-QAM及1024-QAM。星座点数越多,每个符号能传输的信息量就越大。但是,如果在星座图的平均能量保持不变的情况下增加星座点,会使星座点之间的距离变小,进而导致误码率上升。因此高阶星座图的可靠性比低阶要差。

当对数据传输速率的要求高过8-PSK能提供的上限时,一般采用QAM的调制方式。因为QAM的星座点比PSK的星座点更分散,星座点之间的距离因之更大,所以能提供更好的传输性能。但是QAM星座点的幅度不是完全相同的,所以它的解调器需要能同时正确检测相位和幅度,不像PSK解调只需要检测相位,这增加了QAM解调器的复杂性。在本文中,我们主要对16-QAM这种调制解调方式进行仿真。

2、仿真结果演示

3、关键代码展示

4、MATLAB 源码获取 

 点击下方链接  划到最下方点击名片获取​​​​​​​【MATLAB源码-第1期】基于matlab的16QAM的理论误码率和实际误码率对比仿真,以及不同信噪比下的星座图展示。_16qam 实际误码-CSDN博客文章浏览阅读137次。QAM 是一种在两个上进行的方式。这两个载波通常是为90(π/2)的,因此被称作正交载波。这种调制方式因此而得名。同其它调制方式类似,QAM通过载波某些的变化传输。在QAM中,数据信号由相互正交的两个载波的幅度变化表示。模拟信号的和数字信号的可以被认为是幅度不变、仅有相位变化的特殊的正交幅度调制。由此,模拟信号和数字信号也可以被认为是相位调制(PSK)的特例,因为它们本质上就是相位调制。这里主要讨论数字信号的QAM._16qam 实际误码https://blog.csdn.net/Koukesuki/article/details/132161455?spm=1001.2014.3001.5501

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是16QAMMATLAB仿真程序,包括理论误码率实际误码率的计算: ```matlab % 16QAM仿真程序 clear all; close all; clc; % 参数设置 M=16; % 调制阶数 k=log2(M); % 每个符号所表示的比特数 N=10^6; % 发送的符号数 EbN0dB=0:1:20; % 信噪比范围 EsN0dB=EbN0dB+10*log10(k); % 符号信噪比范围 ip=randi([0 M-1],1,N); % 随机生成发送符号 s=modem.qammod(M); % 生成16QAM调制模型 modSignal=modulate(s,ip); % 16QAM调制 for i=1:length(EbN0dB) n=(randn(1,N/k)+1i*randn(1,N/k)); % AWGN噪声 h=(randn(1,N/k)+1i*randn(1,N/k))/sqrt(2); % Rayleigh信道 y=h.*modSignal+10^(-EsN0dB(i)/20)*n; % 接收信号 demodSignal=modem.qamdemod(M); % 16QAM解调模型 receivedSignal=demodulate(demodSignal,y); % 16QAM解调 [numErrors(i),ber(i)]=biterr(ip,receivedSignal); % 误码率计算 end % 理论误码率计算 M=16; k=log2(M); EbN0=10.^(EbN0dB/10); Pe=2*(1-1/sqrt(M))*erfc(sqrt(3*k*EbN0/(M-1))/sqrt(2)); % 误码率曲线绘制 figure; semilogy(EbN0dB,Pe,'b-','LineWidth',2); hold on; semilogy(EbN0dB,ber,'ro-','LineWidth',1); axis([0 20 10^-5 1]); grid on; legend('理论误码率','实际误码率'); xlabel('Eb/N0(dB)'); ylabel('BER'); title('16QAM误码率曲线'); ``` 其中,模拟过程中采用了16QAM调制和解调,通过AWGN噪声和Rayleigh信道模拟了实际传输过程,并计算了误码率。同时,根据公式计算了理论误码率,并将理论误码率曲线和实际误码率曲线绘制在同一个图表上,方便比较。 需要注意的是,仿真程序中的参数设置和计算公式均为示例,具体使用时需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值