基于matlab的16QAM的误码率性能仿真,输出误码率曲线和不同信噪比下的星座图

简介: 基于matlab的16QAM的误码率性能仿真,输出误码率曲线和不同信噪比下的星座图

1.算法描述

   正交幅度调制(QAM,Quadrature Amplitude Modulation)是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度(π/2)的正弦波,因此被称作正交载波。这种调制方式因此而得名。同其它调制方式类似,QAM通过载波某些参数的变化传输信息。在QAM中,数据信号由相互正交的两个载波的幅度变化表示。
   模拟信号的相位调制和数字信号的PSK可以被认为是幅度不变、仅有相位变化的特殊的正交幅度调制。由此,模拟信号频率调制和数字信号FSK也可以被认为是QAM的特例,因为它们本质上就是相位调制。这里主要讨论数字信号的QAM,虽然模拟信号QAM也有很多应用,例如NTSC和PAL制式的电视系统就利用正交的载波传输不同的颜色分量。
  类似于其他数字调制方式,QAM发射信号集可以用星座图方便地表示。星座图上每一个星座点对应发射信号集中的一个信号。设正交幅度调制的发射信号集大小为N,称之为N-QAM。星座点经常采用水平和垂直方向等间距的正方网格配置,当然也有其他的配置方式。数字通信中数据常采用二进制表示,这种情况下星座点的个数一般是2的幂。常见的QAM形式有16-QAM、64-QAM、256-QAM等。星座点数越多,每个符号能传输的信息量就越大。但是,如果在星座图的平均能量保持不变的情况下增加星座点,会使星座点之间的距离变小,进而导致误码率上升。因此高阶星座图的可靠性比低阶要差。
   当对数据传输速率的要求高过8-PSK能提供的上限时,一般采用QAM的调制方式。因为QAM的星座点比PSK的星座点更分散,星座点之间的距离因之更大,所以能提供更好的传输性能。但是QAM星座点的幅度不是完全相同的,所以它的解调器需要能同时正确检测相位和幅度,不像PSK解调只需要检测相位,这增加了QAM解调器的复杂性。

  16QAM全称正交幅度调制是英文Quadrature Amplitude Modulation的缩略语简称,意思是正交幅度调制,是一种数字调制方式。产生的方法有正交调幅法和复合相移法。

16QAM是指包含16种符号的QAM调制方式。
16QAM 调制解调原理方框图如右图1:

  16QAM 是用两路独立的正交 4ASK 信号叠加而成,4ASK 是用多电平信号去键控载波而得到的信号。它是 2ASK 调制的推广,和 2ASK 相比,这种调制的优点在于信息传输速率高。

正交幅度调制是利用多进制振幅键控(MASK)和正交载波调制相结合产生的。
16 进制的正交振幅调制是一种振幅相位联合键控信号。16QAM 的产生有 2 种方法:
(1)正交调幅法,它是有 2 路正交的四电平振幅键控信号叠加而成;
(2)复合相移法:它是用 2 路独立的四相位移相键控信号叠加而成。
这里采用正交调幅法。

    串/并变换器将速率为Rb的二进制码元序列分为两路,速率为Rb/2.2-4电平变换为Rb/2 的二进制码元序列变成速率为RS=Rb/log216 的 4 个电平信号,4 电平信号与正交载波相乘,完成正交调制,两路信号叠加后产生 16QAM信号.在两路速率为Rb/2 的二进制码元序列中,经 2-4 电平变换器输出为 4 电平信号,即M=16.经 4 电平正交幅度调制和叠加后,输出 16 个信号状态,即 16QAM.

RS=Rb/log216=RB/4.

  1. 16QAM 解调原理
    16QAM 信号采取正交相干解调的方法解调,解调器首先对收到的 16QAM 信号进行正交相干解调,一路与 cos ω c t 相乘,一路与 sin ω c t 相乘。然后经过低通滤波器,低通滤波器 LPF 滤除乘法器产生的高频分量,获得有用信号,低通滤波器LPF 输出经抽样判决可恢复出电平信号。

    QAM也可用于数字调制。数字QAM有4QAM、8QAM、16QAM、32QAM等调制方式。其中,16QAM和32QAM广泛用于数字有线电视系统。以16QAM为例介绍其原理。

4a312918e2288f3ea17a0e8e69d58d1d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   16QAM调制器框图及星座图。作为调制信号的输入二进制数据流经过串—并变换后变成四路并行数据流。这四路数据两两结合,分别进入两个电平转换器,转换成两路4电平数据。例如,00转换成–3,01转换成–1,10转换成1,11转换成3。这两路4电平数据g1(t)和g2(t)分别对载波cos2πfct和sin2πfct进行调制,然后相加,即可得到16QAM信号。

   QAM调制效率高,要求传送途径的信噪比高,适合有线电视电缆传输。在美国,正交调幅通常用在地面微波链路,不用于国内卫星,欧洲的电缆数字电视采用QAM调制,而加拿大的卫星采用正交调幅。QAM是幅度、相位联合调制的技术,它同时利用了载波的幅度和相位来传递信息比特,因此在最小距离相同的条件下,QAM星座图中可以容纳更多的星座点,即可实现更高的频带利用率,目前QAM星座点最高已可达256QAM。

2.仿真效果预览
matlab2022a仿真结果如下:

8e8b967d1ad21f7e571e77c12aeb42d3_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
9c4e080a166b11a9d14f4243a6a82894_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序

 
% Range of SNR over which to simulate 
Eb_No = -6: 1: 10;
 
 
SNR = Eb_No + 10*log10(4);
 
% Start the main calculation loop
for aa = 1: 1: length(SNR)
    
    % Initiate variables
    T_Errors = 0;
    T_bits = 0;
    
    % Keep going until you get 100 errors
    while T_Errors < 100
    
        % Generate some random bits
        uncoded_bits  = round(rand(1,bit_count));
 
        % Split the stream into 4 substreams
        B = reshape(uncoded_bits,4,length(uncoded_bits)/4);
        B1 = B(1,:);
        B2 = B(2,:);
        B3 = B(3,:);
        B4 = B(4,:);
        
        % 16-QAM modulator
        % normalizing factor
        a = sqrt(1/10);
 
        % bit mapping
        tx = a*(-2*(B3-0.5).*(3-2*B4)-j*2*(B1-0.5).*(3-2*B2));
        
        % Noise variance
        N0 = 1/10^(SNR(aa)/10);
 
        % Send over Gaussian Link to the receiver
        rx = tx + sqrt(N0/2)*(randn(1,length(tx))+i*randn(1,length(tx)));
        
%---------------------------------------------------------------
        
        % Merge into single stream again
        temp = [B5;B6;B7;B8];
        B_hat = reshape(temp,1,4*length(temp));
    
        % Calculate Bit Errors
        diff =  uncoded_bits - B_hat ;
        T_Errors = T_Errors + sum(abs(diff));
        T_bits = T_bits + length(uncoded_bits);
        
    end
    % Calculate Bit Error Rate
    BER(aa) = T_Errors / T_bits;
    disp(sprintf('bit error probability = %f',BER(aa)));
    
    % Plot the received Symbol Constellation
    figure;
    grid on;
    plot(rx,'x');
    xlabel('Inphase Component');
    ylabel('Quadrature Component');
    title('Constellation of Transmitted Symbols');
 
 
end
相关文章
|
25天前
OFDM深入学习及MATLAB仿真(二)
OFDM深入学习及MATLAB仿真
22 1
|
25天前
|
机器学习/深度学习
信道编码译码及MATLAB仿真(三)
信道编码译码及MATLAB仿真
34 3
|
25天前
|
算法
信道编码译码及MATLAB仿真(二)
信道编码译码及MATLAB仿真
25 3
|
6天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
25天前
数字频带传输——多进制数字调制及MATLAB仿真
数字频带传输——多进制数字调制及MATLAB仿真
36 2
|
1天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
11 5
|
4天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
该文档介绍了使用MATLAB2022A中PSO优化算法提升时间序列预测模型性能的过程。PSO优化前后对比显示了优化效果。算法基于CNN、LSTM和Attention机制构建CNN-LSTM-Attention模型,利用PSO调整模型超参数。代码示例展示了PSO的迭代优化过程及训练、预测和误差分析环节。最终,模型的预测结果以图形形式展示,并保存了相关数据。
|
10天前
|
机器学习/深度学习 存储 前端开发
Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
36 5
|
25天前
雷达模糊函数及MATLAB仿真(三)
雷达模糊函数及MATLAB仿真
15 0
|
25天前
雷达模糊函数及MATLAB仿真(一)
雷达模糊函数及MATLAB仿真
25 0

热门文章

最新文章