⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xuezhang.m

📁 用QAM和PSK两种调制方式对OFDM系统的基本原理进行了仿真
💻 M
字号:
clear;Fd=1;%符号数率Fs=1*Fd;%符号取样数率M=4;%符号取值域x=0:10;%信噪比取值范围errratio=x;%误码率errnum=x;%误码个数Nd=1024;%串行数据总数Sd=16;%每载波的符号总数A=Nd/Sd;%子载波数Slen=64;%IFFT的抽样点数CP=4;CPlen=68;original=zeros(Nd,1);X1=zeros(Nd,1);X2=zeros(Nd,1);X3=zeros(Slen,1);Y=zeros(Slen,1);S=zeros(A*Slen,1);g=zeros(CPlen,1);Snoise=zeros(A*CPlen,1);z0=zeros(A*CPlen,1);z1=zeros(Slen,1);z2=zeros(Slen,1);z3=zeros(Nd,1);s1=zeros(Nd,1);last=zeros(Nd,1);%QAM调制方式下%程序开始%发射端original=randint(Nd,1,M);X1=modmap(original,Fd,Fs,'qask',M);X2=amodce(X1,1,'qam');for j=1:A;   for i=1:Sd;       X3(i+Slen-Sd,1)=X2(i+(j-1)*Sd,1);   end   Y=ifft(X3);   for i=1:Slen;       g(i+CP)=Y(i,1);   end      for i=1:CP;       g(i)=Y(i+Slen-CP,1);   end      for i=1:CPlen;       S(((j-1)*CPlen)+i)=g(i,1);   endendfor k=1:length(x);    B=x(k);Snoise=AWGN(S,B,'measured');%加入高斯噪声%接收端for j=1:A;    for i=5:CPlen;        z0(i-4+(j-1)*Slen)=Snoise(i+(j-1)*CPlen,1);    end        for i=1:Slen;        z1(i)=z0(i+(j-1)*Slen);    end        z2=fft(z1);        for i=1:Sd;        z3(i+(j-1)*Sd,1)=z2(i+Slen-Sd,1);    endends1=ademodce(z3,1,'qam');last=demodmap(s1,Fd,Fs,'qask',M);%主程序结束%性能分析[errnum(k),errratio(k)]=symerr(original,last);endfigure(1);plot(x,errratio);grid;xlabel('信噪比');ylabel('误码率');title('qam调制下系统误码率');%PSK调制方式下%发射端original=randint(Nd,1,M);X1=dmodce(original,Fd,Fs,'psk',M);for j=1:A;   for i=1:Sd;       X3(i+Slen-Sd,1)=X1(i+(j-1)*Sd,1);   end      Y=ifft(X3);      for i=1:Slen;       g(i+CP)=Y(i,1);   end      for i=1:CP;       g(i)=Y(i+Slen-CP,1);   end      for i=1:CPlen;       S(((j-1)*CPlen)+i)=g(i,1);   endendfor k=1:length(x);    B=x(k);Snoise=AWGN(S,B,'measured');%加入高斯噪声%接收端for j=1:A;    for i=5:CPlen;        z0(i-4+(j-1)*Slen)=Snoise(i+(j-1)*CPlen,1);    end        for i=1:Slen;        z1(i)=z0(i+(j-1)*Slen);    end        z2=fft(z1);        for i=1:Sd;        z3(i+(j-1)*Sd,1)=z2(i+Slen-Sd,1);    endendlast=ddemodce(z3,Fd,Fs,'psk',M);%主程序结束%性能分析[errnum(k),errratio(k)]=symerr(original,last);endfigure(2);plot(x,errratio);grid;xlabel('信噪比');ylabel('误码率');title('psk调制下系统误码率');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -