资源简介

此代码为MQAM的matlab仿真代码,其中包含4QAM,16QAM,64QAM,256QAM的调制与解调,以及加入高斯白噪声后的误码率,星座图。

资源截图

代码片段和文件信息

%16QAM和64QAM
M=[41664256];
for i=1:4
    k=log2(M(i));
    n=12000000;   %比特序列长度
    samp=1;     %过采样率
    x=randint(n1);   %生成随机二进制比特流
    %     stem(x(1:50)‘filled‘);  %画出相应的二进制比特流
    %     title(‘二进制随机比特流‘);
    %     xlabel(‘比特序列‘);ylabel(‘信号幅度‘);
    x4=reshape(xklength(x)/k);     %将原始的二进制比特序列每四个一组分组,并排列成k行length(x)/k列的矩阵
    xsym=bi2de(x4.‘‘left-msb‘);     %将矩阵转化为相应的16进制信号序列
    % figure;
    %stem(xsym(1:50));                %画出相应的16进制信号序列
    %title(‘64进制随机信号‘);
    %xlabel(‘信号序列‘);ylabel(‘信号幅度‘);
    y=modulate(modem.qammod(M(i))xsym); %用16QAM调制器对信号进行
    %     scatterplot(y);           %画出16QAM信号的星座图
    %     text(real(y)imag(y)dec2bin(xsym));
    %     axis([-5 5 -5 5]);
    EbN0=-5:1:20;
    for n=1:length(EbN0);
        snr(n)=EbN0(n)+10*log10(k)-10*log10(samp); %信噪比
        yn=awgn(ysnr(n)‘me

评论

共有 条评论