精华内容
下载资源
问答
  • MATLAB QAM调制与解调仿真带GUI界面。
  • 基于 MATLABQAM 调制解调技术分析 基于MATLABQAM调制解调技术分析 摘要当今频谱资源很大一部分已经被利用随着用户数量的不断增加对业务需求量 不断地提高在所剩无几的频谱资源如何才能够承载用户的需求 QAM凭借...
  • 基于MATLAB16QAM调制解调技术研究.ppt
  • 基于MATLABQAM调制解调技术分析 基于MATLABQAM调制解调技术分析 摘要当今频谱资源很大一部分已经被利用随着用户数量的不断增加对业务需求量不断地提高在所剩无几的频谱资源如何才能够承载用户的需求QAM凭借着...
  • matlab程序,方形,星形16QAM解调,其中包含眼图展示,星座图展示,测试matlab2014可完美运行,史上最全的16QAM matlab代码
  • matlab16QAM调制与解调

    2013-07-04 10:02:37
    一个matlab写的16QAM调制与解调程序
  • QAM调制解调matlab

    2010-03-09 18:50:41
    QAM调制解调matlab程序,有实际的语音仿真例程。
  • 系统包含功率谱,星座图,误码率曲线和眼图
  • matlab 16QAM数字调制解调

    热门讨论 2009-05-22 10:18:06
    matlab 实现的16QAM数字调制解调算法.可以供大家参考
  • matlab实现16QAM调制解调

    千次阅读 2020-07-04 16:10:41
    用基带等效的方式仿真16-QAM在AWGN信道下的误码率和误比特率性能,并与理论值相比较。 二、设计 1.调制 (1)首先,一串二进制序列进入串/并变换中,进行4比特划分后再进行2比特划分成一组,按照奇数送同相路,偶数...

    一、要求

    用基带等效的方式仿真16-QAM在AWGN信道下的误码率和误比特率性能,并与理论值相比较。

    二、设计

    1.调制

    (1)首先,一串二进制序列进入串/并变换中,进行4比特划分后再进行2比特划分成一组,按照奇数送同相路,偶数送入正交路。

    (2)进入2/L电平变换,就是说二进制数变成4个十进制数,而4个十进制数是由自己的星座图设定的,即00,01,11,10分别对应于-3,-1,1,3。

    (3)送入低通后滤除较小的抖动波。

    (4)进入相乘器,载波cosωct与同相路波SI(t)相乘变为SI(t) cosωct, 载波cosωct经过相位移动90°与正交路波SQ(t)相乘变为-SQ(t) sinωct。

    (5)两路波形经过相乘器后,进行相加,变为SI(t)cosωct- SQ(t)sinωct。
    在这里插入图片描述
    2.解调

    (1)经过调制后的波形再分别与相乘器相乘,通过载波cosωct和载波cosωct经过相位移动90°后各自提取出同相分量和正交分量。

    (2)进入低通形成包络波形。

    (3)再进入采样判决器,选取采样点形成原始的二进制矩形波形。

    (4)最后进入并/串变换,按照原先的奇偶原则形成完成的原始二进制信号。
    在这里插入图片描述

    三、代码

    clear all;clc;
    nsymbol= 100000;
    M=16;
    graycode=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 ];
    %graycode=[0:32]
    EsN0=5:20;
    snr1=10.^(EsN0/10);
    msg=randi([0,M-1],1,nsymbol);
    msg1=graycode(msg+1);
    msgmod=qammod(msg1,M);
    scatterplot(msgmod);
    spow=norm(msgmod).^ 2/nsymbol; 
    for i=1:length(EsN0)
        sigma=sqrt(spow/(2*snr1(i)));
        rx=msgmod+sigma*(randn(1,length(msgmod))+1i*randn(1,length(msgmod)));
        y=qamdemod(rx,M);
        decmsg=graycode(y+1);
        [err1,ber(i)]= biterr(msg,decmsg,log2(M));
        [err2,ser(i)]=symerr(msg,decmsg);
    end
    p4=2*(1-1/sqrt(M))*qfunc(sqrt(3*snr1/(M-1)));
    ser1=1-(1-p4).^2;
    ber1=1/log2(M)*ser1;
    figure()
    semilogy(EsN0,ber,'o',EsN0,ser,'*' ,EsN0,ser1, EsN0,ber1,'-');
    title('64QAM-AWGN')
    xlabel('Es/N0');ylabel('SER AND BER');
    legend('ber simulation' ,'ser simulation','ser theory' ,'ber theory');
    
    
    

    四、结果

    16QAM
    在这里插入图片描述
    在这里插入图片描述
    32QAM
    在这里插入图片描述
    在这里插入图片描述
    64QAM
    在这里插入图片描述
    在这里插入图片描述

    五、结论

    由上图可知,随着信噪比的增加,误码率和误比特率越来越小。随着信噪比的增加,误比特率越来越接近理论值,而误码率几乎一直与理论值相匹配。QAM的阶数越高误码率与误比特率也就越大。而且阶数越高初始时的误比特率偏离理论值越大。

    展开全文
  • 基于MATLABQAM调制与解调系统设计

    千次阅读 2020-02-06 20:27:02
    源码:https://download.csdn.net/download/weixin_38719187/12135716 课题介绍:基于MATLABQAM调制与解调系统设计 运行截图:

    源码:
    https://download.csdn.net/download/weixin_38719187/12678856[同类课题]
    课题介绍:基于MATLAB的QAM调制与解调系统设计
    运行截图:
    GUI界面

    展开全文
  • 摘 要 正交振幅调制 QAM Quadrature Amplitude Modulation 是一种功率加宽带相 对高效的信道调制技术广泛应用于数字电视无线宽带等传输领域本文针对 16QAM 系统调制解调系统利 MATLAB 工具对整个系统进行完整仿真并 ...
  • 16QAM信号调制解调Matlab仿真,包含星座图,误码率,噪声,成型,匹配滤波等
  • 包括误码率曲线,眼图和星座图
  • 16进制QAM调制解调系统包含功率谱,星座图,误码率和眼图, 信噪比为13;t2f函数,请到我的文章里面去拷贝一下!...t2f请到我的文章里面去拷贝一下:《MATLAB仿真QAM调制解调系统包含功率谱,星座图,误码率和眼图》
  • figure plot(0:0.1:14.9,qq) title('误码率曲线16qam(黄剑文)'); %-----------------------------------% fs = 1000; sps = 32; txfilter = comm.RaisedCosineTransmitFilter('OutputSamplesPerSymbol',sps); ed = ...

    主程序:

    clc
    clear ;
    close all;
    M=16;%mqam的进制数
    mqam_count =400;
    snr=13;  %信噪比
    %-------------------------------------&
    bit_per_symbol=log2(M); % 每个符号占的比特等于4
    bit_length = mqam_count*bit_per_symbol;  %所有符号加起来占的比特数量= 4x400 
    bit_signal = round(rand(1,bit_length))'; %生成一个1600x1的包含 10 的矩阵
    
    figure(1);plot(bit_signal);
    axis([0 100 -1 2]);   %这里是限定横轴是从0-100, 纵轴是从-12
    title('发射码元(黄剑文)')
    xlabel('第几bit'); ylabel('二进制值');
    
       
    bit_moded1 = qammod(bit_signal,M,'InputType','bit'); %输出使用正交幅度调制消息信号X的复包络。
    %M是字母表大小,必须是2的整数幂,表示调制阶数。消息信号X必须由0到M-1之间的整数组成。X可以是标量、矢量、矩阵或三维数组。
    figure(2)
    scatter(real(bit_moded1),imag(bit_moded1),'*g');
    title('调制后的星座图(黄剑文)');
    %-------------------------------------%
    signal_time_C_W_R=awgn(real(bit_moded1),snr);   %在信号中加入高斯白噪声
    signal_time_C_W_i=awgn(imag(bit_moded1),snr);
    signal_time_C_W=complex(signal_time_C_W_R,signal_time_C_W_i);
    figure(3)
    scatter(1.5*real(signal_time_C_W),1.5*imag(signal_time_C_W),'.g');
    title('接收的星座图黄剑文');
    %-------------------------------------%
    eyediagram(bit_moded1,2)
    title('眼图(黄剑文)');
    eyediagram(signal_time_C_W,2)
    title('眼图(黄剑文)');
    %-------------------------------------%
    snr_qq=0;
    qq=zeros(150,1);
    for i=0:149
    bit_moded_qq = qammod(bit_signal,M,'InputType','bit');
    snr_qq=snr_qq+0.1;
    signal_time_C_W_R=awgn(real(bit_moded_qq),snr_qq);
    signal_time_C_W_i=awgn(imag(bit_moded_qq),snr_qq);
    signal_time_C_W=complex(signal_time_C_W_R,signal_time_C_W_i);
    bit_demod_sig=qamdemod(signal_time_C_W,M,'OutputType','bit');
    error_bit = sum(bit_demod_sig~=bit_signal);
    error_rate = error_bit/length(bit_signal);
    qq(i+1)=error_rate;
    end
    
    figure;plot(bit_demod_sig);
    axis([0 100 -1 2]);   %这里是限定横轴是从0-100, 纵轴是从-12
    title('接收(黄剑文)')
    xlabel('第几bit'); ylabel('二进制值');
    
    %功率谱
    Ns=32; %每码元的采样点数
    Ts=2; %ms
    T=M*Ts;
    dt=Ts/Ns;
    
     t=[-T/2:dt:T/2-dt];
      [f1,tmp1]=t2f(t,bit_signal);
      [f2,tmp2]=t2f(t,bit_demod_sig);
      Tmp1=10*log10(tmp1);
      Tmp2=10*log10(tmp2);
      Tmp1=abs(Tmp1).^2;
      Tmp2=abs(Tmp2).^2;
      figure
      subplot(2,1,1)
       plot(f1,Tmp1)
             title('发射时功率谱(黄剑文)');
    %        axis([-2,2,-50,20])
       subplot(2,1,2)
       plot(f2,Tmp2)
            title('接收时功率谱(黄剑文)');
    
    
    figure
    plot(0:0.1:14.9,qq)
    title('误码率曲线16qam(黄剑文)');
    %-----------------------------------%
    fs = 1000;
    sps = 32;
    txfilter = comm.RaisedCosineTransmitFilter('OutputSamplesPerSymbol',sps);
    ed = comm.EyeDiagram('SampleRate',fs*sps,'SamplesPerSymbol',sps);
    txSig = txfilter(signal_time_C_W);
    ed(txSig)
    



    其中 t2f函数的脚本为:

    function [f,sf]= t2f(t,st) %利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。 
    %脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。 
    %This is a function using the FFT function to calculate a signal Fourier 
    %Translation %Input is the time and the signal vectors,the length of time must greater %than 2 
    %Output is the frequency and the signal spectrum 
    dt = t(2)-t(1); T=t(end); df = 1/(10*T); 
    N = length(st); f=-N/2*df : df : N/2*df-df; 
    sf = fft(st); sf = T/N*fftshift(sf); 
    

    运行结果图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 16QAM调制解调技术分析与MATLAB仿真,李瑞,明洋,正交幅度调制QAM (Quadrature Amplitude Modulation)是一种功率和带宽相对高效的信道调制技术,广泛应用于数字电视,无线宽带等传输领域。�
  • 16QAM信号调制解调Matlab仿真,可以运行,需要的下载学习参考
  • 一、 M=16; k=log2(M); x=randint(30000,1);%产生二进制随机数 y=modulate(modem.qammod('M',16,'InputType','Bit'),x);%调制 EbNo=-5:1:10;%信噪比 s_b2d=bi2de(reshape(x,k,length(x)/k).'... title('16QAM 星座图');

    一、

    M=16;

    k=log2(M);

    x=randint(30000,1);%产生二进制随机数

    y=modulate(modem.qammod('M',16,'InputType','Bit'),x);%调制

    EbNo=-5:1:10;%信噪比

    s_b2d=bi2de(reshape(x,k,length(x)/k).','left-msb');%二进制变为十进制

    for n=1:length(EbNo)

    snr(n)=EbNo(n)+10*log10(k);%Ratio of symbol energy to noise power spectral density

    ynoisy=awgn(y,snr(n),'measured');%加入高斯白噪声

    z=demodulate(modem.qamdemod('M',16,'OutputType','Bit'),ynoisy);%解调

    r_b2d=bi2de(reshape(z,k,length(z)/k).','left-msb');%二进制变为十进制

    [sym(n),sym_rate(n)]=symerr(s_b2d,r_b2d);%计算仿真误码率,不是误比特率。

    theo_sym_rate(n)=(3/2*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10)))))*(1-3/8*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10)))));

    %《移动通信》P55的式子,已化简。

    end

    disp(sym);

    disp(sym_rate);

    semilogy(EbNo,sym_rate,'r*',EbNo,theo_sym_rate,'b-');%画图。

    title('误码率性能');

    xlabel('Eb/No(dB)');

    ylabel('误码特率');

    legend('仿真误码率','理论误码率');

    h=scatterplot(ynoisy(1:1*5e3),1,0,'g.');%画图。

    hold on;

    scatterplot(y(1:1*5e3),1,0,'r*',h);%画图。

    title('Received Signal');

    legend('接收信号','星座点');

    axis([-5 5 -5 5]);

    二、用自己编写程序产生高斯白噪声

    %用R2008a运行是没有问题的,低于这个版本的可能有问题。

    %单步运行就会知道每个语句的意思了的。

    M=16;

    k=log2(M);

    x=randint(30000,1);%产生二进制随机数

    y=modulate(modem.qammod('M',16,'InputType','Bit'),x);%调制

    mod=abs(y);%对y求模

    Es=mean(mod.*mod);%对y的模取平方,得出了平均符号的能量

    EbNo=-5:1:10;%信噪比

    s_b2d=bi2de(reshape(x,k,length(x)/k).','left-msb');%二进制变为十进制

    for n=1:length(EbNo)

    snr(n)=EbNo(n)+10*log10(k);%Ratio of symbol energy to noise power spectral density

    noisy=wgn(length(y),1,10*log10(Es)-snr(n),'complex');%产生高斯白噪声

    ynoisy=y+noisy;%加入高斯白噪声

    z=demodulate(modem.qamdemod('M',16,'OutputType','Bit'),ynoisy);%解调

    r_b2d=bi2de(reshape(z,k,length(z)/k).','left-msb');%二进制变为十进制

    [sym(n),sym_rate(n)]=symerr(s_b2d,r_b2d);%计算仿真误码率,不是误比特率。

    theo_sym_rate(n)=(3/2*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10)))))*(1-3/8*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10)))));

    %《移动通信》P55的式子,已化简。

    end

    disp(sym);

    disp(sym_rate);

    semilogy(EbNo,sym_rate,'r*',EbNo,theo_sym_rate,'b-');%画图。

    title('误码率性能');

    xlabel('Eb/No(dB)');

    ylabel('误码特率');

    legend('仿真误码率','理论误码率');

    h=scatterplot(ynoisy(1:1*5e3),1,0,'g.');%画图。

    hold on;

    scatterplot(y(1:1*5e3),1,0,'r*',h);%画图。

    title('Received Signal');

    legend('接收信号','星座点');

    axis([-5 5 -5 5]);

    hold off;

    三、

    M=16;

    k=log2(M);

    EbNo=-5:1:10;%信噪比

    for n=1:length(EbNo)

    for m=1:5

    x=round(rand(3000,1));%产生二进制随机数

    snr(n)=EbNo(n)+10*log10(k);%Ratio of symbol energy to noise power spectral density

    xsym=bi2de(reshape(x,k,length(x)/k).','left-msb');%二进制变为十进制

    y=modulate(modem.qammod('M',16,'InputType','Bit'),x);%调制

    ynoisy=awgn(y,snr(n),'measured');%加入高斯白噪声

    z=demodulate(modem.qamdemod('M',16,'OutputType','Bit'),ynoisy);%解调

    zsym=bi2de(reshape(z,k,length(z)/k).','left-msb');%二进制变为十进制

    [sym0(m),sym_rate0(m)]=symerr(xsym,zsym);%计算仿真误码率,不是误比特率。

    end

    sym_rate(n)=sum(sym_rate0)/5;

    theo_sym_rate(n)=(3/2*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10)))))*(1-3/8*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10)))));

    %《移动通信》P55的式子,已化简。

    end

    figure(1)

    subplot(1,2,1)

    plot(EbNo,sym_rate,'ro',EbNo,theo_sym_rate,'b-');

    axis([-5,10,10^-3,10^0]);

    xlabel('Eb/No(dB) ');

    ylabel('误码率Pe');

    title('误码率性能');

    legend('仿真误码率','理论误码率');

    subplot(1,2,2)

    plot(ynoisy(1:1*750),'r.');%画图。

    hold on;

    plot(y(1:1*750),'b*');

    axis([-5,5,-5,5]);

    xlabel('I ');

    ylabel('Q ');

    legend('接收信号','星座点');

    title('16QAM 星座图');

    展开全文
  • 16QAM调制与解调-MATLAB基带仿真

    千次阅读 多人点赞 2020-01-22 17:16:52
    本篇文章介绍16QAM调制基本原理,通过MATLAB对16QAM系统性能进行基带仿真。
  • MATLAB环境下16QAM调制及解调仿真程序说明
  • 16QAM调制解调

    2018-05-17 14:25:25
    MATLAB编写的 16QAM的 调制解调,压缩包包含16QAM的调制子函数,16QAM的解调子函数,及main函数
  • (1)首先生成一个随机且长度为10000的二...(7)利用MATLAB中的qamdemod函数生成解调器对16QAM信号的解调,并将十六进制信号转化成二进制比特流信息。 (8)用得到比特流信息除以原始发送的比特流信息来计算误码率。
  • 64QAM调制解调

    2015-05-13 20:58:11
    可以设置32,64QAM调制解调代码,MATLAB
  • BPSK QPSK QAM等调制方式的解调matlab程序,可以使用。

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 153
精华内容 61
关键字:

matlabqam解调

matlab 订阅