资源简介

bpsk qpsk 16qam 64qam频带上的调制解调信号包括误码率曲线,眼图和星座图

资源截图

代码片段和文件信息

close all
clc
clear

%设置仿真参数
global dt t f df N T
N=2^16+2^9 ;
L=64;
M=N/L;
Rb=2;
Ts=1/Rb;
dt=Ts/L;
df=1/(N*dt);
T=N*dt;
Bs=N*df/2;
Na=4;
alpha=0.8;
t=linspace(-T/2T/2N);
f=linspace(-BsBsN)+eps;
P_s0=zeros(1N);
P_s1=zeros(1N);
P_s2=zeros(1N);
P_s3=zeros(1N);
Eb_N0=zeros(110);
eb_n0=zeros(110);
Pe=zeros(110);


%升余弦滚降函数
hr1=sin(pi*t/Ts)./(pi*t/Ts);
hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
hr=hr1.*hr2;
HR=abs(t2f(hr));
GT=sqrt(HR);
GR=GT;
%余弦载波信号
A=1.7;
fc=20;
ca=A*cos(2*pi*fc*t);
sa=A*sin(2*pi*fc*t);


%QAM信号通过频带系统
for lp1=1:10
    Eb_N0(lp1)=(lp1-1);
    eb_n0(lp1)=10^(Eb_N0(lp1)/10);
    Eb=1;n0=Eb/eb_n0(lp1); 
    n0=sqrt(n0*Bs);
    n_err=0;     
    for lp2=1:10
        a=round(rand(1M));%输入的码元信号0、1序列
        as=a(1:2:M);%串并变换
        ac=a(2:2:M);
        as=Graycode2(as);
        ac=Graycode2(ac);%电平变化
        imps=zeros(1N);  
        impc=zeros(1N);
        imps(3*L:6*L:N)=as/dt;
        impc(3*L:6*L:N)=ac/dt;
        IMPS=t2f(imps);
        IMPC=t2f(impc);        
        bfs=IMPS.*GT; 
        bfc=IMPC.*GT;        
        bs=real(f2t(bfs));
        bc=real(f2t(bfc));
        sts=bs.*sa;
        stc=bc.*ca;
        sc=stc-sts; %QAM       
        
        Ps0=bfc.*conj(bfc)/T;
        P_s0=P_s0+Ps0;
        
        S1=t2f(stc);
        Ps1=S1.*conj(S1)/T;
        P_s1=P_s1+Ps1;
        
        S2=t2f(sc);
        Ps2=S2.*conj(S2)/T;
        P_s2=P_s2+Ps2;
        
        nr=n0*randn(1N);           
        sr=sc+nr;
        src=sr.*ca;
        srs=-sr.*sa;
        Yc=t2f(src).*GR;        
        Ys=t2f(srs).*GR;
        yc=real(f2t(Yc))/A^2;
        ys=real(f2t(Ys))/A^2;
        
        Ps3=Yc.*conj(Yc)/T;
        P_s3=P_s3+Ps3;
        
        yc1=yc(3*L:6*L:N);
        ys1=ys(3*L:6*L:N);
        yoc=Graydeco2(yc1);
        yos=Graydeco2(ys1);%解码过程
        yo=reshape([yos;yoc]1M);%回复原始序列                               
        n_err=n_err+length(find(yo~=a));       
    end
    Pe(lp1)=n_err/(M*lp2);
end
%同相支路调制信号波形与平均功率谱
figure(1);
subplot(211);
plot(tbc);
title(‘同相支路调制信号波形‘);
axis([-8 8 -5 5]);
subplot(212);
P_s0=P_s0/(lp1*lp2);
plot(f30+10*log10(P_s0));
title(‘同相支路调制信号功率谱‘);
axis([-25 25 -50 30]);
xlabel(‘f (MHz)‘);
ylabel(‘Ps(f) (dBm/MHz)‘);


%同相支路已调信号波形与平均功率谱
figure(2);
subplot(211);
plot(tstc);
title(‘同相支路已调信号波形‘);
axis([-8 8 -5 5]);
subplot(212);
P_s1=P_s1/(lp1*lp2);
plot(f30+10*log10(P_s1));
title(‘同相支路已调信号功率谱‘);
axis([-40 40 -50 30]);
xlabel(‘f (MHz)‘);
ylabel(‘Ps(f) (dBm/MHz)‘);

%16QAM信号波形与平均功率谱
figure(3);
subplot(211);
plot(tsc);
title(‘64QAM信号波形‘);
axis([-8 8 -5 5]);
subplot(212);
P_s2=P_s2/(lp1*lp2);
plot(f30+10*log10(P_s2));
title(‘64QAM信号功率谱‘);
axis([-40 40 -50 30]);
xlabel(‘f (MHz)‘);
ylabel(‘Ps(f) (dBm/MHz)‘);

%同相支路匹配滤波器解调信号波形与平均功率谱
figure(4);
subplot(211);
plot(tyc);
title(‘同相支路解调信号波形‘);
axis([-8 8 -2.5 2.5]);
subplo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3929  2012-05-04 22:50  运行正确的代码bpsk,qpsk qam2 - 自己做\64qam.m

     文件       2735  2009-05-25 21:02  运行正确的代码bpsk,qpsk qam2 - 自己做\basic.m

     文件       2941  2012-05-03 13:56  运行正确的代码bpsk,qpsk qam2 - 自己做\BPSK.asv

     文件       2945  2012-05-03 13:59  运行正确的代码bpsk,qpsk qam2 - 自己做\BPSK.m

     文件         76  2009-05-04 20:20  运行正确的代码bpsk,qpsk qam2 - 自己做\f2t.m

     文件        219  2009-05-17 17:18  运行正确的代码bpsk,qpsk qam2 - 自己做\Graycode.m

     文件        270  2012-05-04 22:23  运行正确的代码bpsk,qpsk qam2 - 自己做\Graycode2.asv

     文件        241  2012-05-04 22:25  运行正确的代码bpsk,qpsk qam2 - 自己做\Graycode2.m

     文件        382  2012-05-04 22:23  运行正确的代码bpsk,qpsk qam2 - 自己做\Graydeco.asv

     文件        381  2009-05-17 16:32  运行正确的代码bpsk,qpsk qam2 - 自己做\Graydeco.m

     文件        342  2012-05-04 22:18  运行正确的代码bpsk,qpsk qam2 - 自己做\Graydeco2.asv

     文件        243  2012-05-04 22:24  运行正确的代码bpsk,qpsk qam2 - 自己做\Graydeco2.m

     文件        121  2009-05-18 16:42  运行正确的代码bpsk,qpsk qam2 - 自己做\lpf.m

     文件       3914  2012-05-03 14:44  运行正确的代码bpsk,qpsk qam2 - 自己做\QAM.asv

     文件       3924  2012-04-20 16:51  运行正确的代码bpsk,qpsk qam2 - 自己做\QAM.m

     文件       3601  2012-05-03 14:06  运行正确的代码bpsk,qpsk qam2 - 自己做\QPSK.asv

     文件       3630  2012-05-03 14:10  运行正确的代码bpsk,qpsk qam2 - 自己做\QPSK.m

     文件       1288  2009-05-25 23:10  运行正确的代码bpsk,qpsk qam2 - 自己做\SSB.asv

     文件       1288  2009-05-25 22:28  运行正确的代码bpsk,qpsk qam2 - 自己做\SSB.m

     文件         77  2012-04-20 16:34  运行正确的代码bpsk,qpsk qam2 - 自己做\t2f.asv

     文件         75  2012-04-20 17:33  运行正确的代码bpsk,qpsk qam2 - 自己做\t2f.m

     目录          0  2012-05-04 22:44  运行正确的代码bpsk,qpsk qam2 - 自己做

----------- ---------  ---------- -----  ----

                32622                    22


评论

共有 条评论