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

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


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


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

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

       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仿真结果如下:

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

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

3.MATLAB核心程序

bit_count = 4*1000;

% 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
A215

4.完整MATLAB

V

你可能感兴趣的:(Matlab通信和信号,matlab,16QAM)