当前位置: 首页 > news >正文

阿里巴巴国际站操盘官认证考试博客网站登录

阿里巴巴国际站操盘官认证考试,博客网站登录,php网站开发基础,苏州市建设职业中心网站(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第九章内容,有兴趣的读者请阅读原书) clear all %%%%%%%参数设计部分%%%%%%%Nsp52;%系统子载波数(不包括直流载波) Nfft64;%FFT长度 Ncp16;…

 (内容源自详解MATLAB/SIMULINK 通信系统建模与仿真   刘学勇编著第九章内容,有兴趣的读者请阅读原书) 

clear all
%%%%%%%参数设计部分%%%%%%%Nsp=52;%系统子载波数(不包括直流载波)
Nfft=64;%FFT长度
Ncp=16;%循环前缀长度
Ns=Nfft+Ncp;%一个完整OFDM长度
noc=53;%包含直流载波的总的子载波数
Nd=6;%每帧包含的OFDM符号数(不包括训练符号)
M1=4;%QPSK调制
M2=16;%16QAM调制
sr=250000;%OFDM符号速率
EbN0=0:2:30;%归一化信噪比
Nfrm=1000;%每种信噪比下的仿真帧数
ts=1/sr/Ns;%OFDM抽样时间间隔
t=0:ts:(Ns*(Nd+1)*Nfrm-1)*ts;%抽样时刻
fd=100;%最大多普勒平移
h=rayleigh(fd,t);%生成单径瑞利信道
h1=sqrt(2/3)*h;%生成二径衰落信道(1)
h2=sqrt(1/3)*rayleigh(fd,t);
h2=[zeros(1,4) h2(1:end-4)];%训练符号频域数据,采用802.11a中的长训练符号数据    
Preamble=[1 1 -1 -1 1   1 -1 1 -1 1   1 1 1 1 1   -1 -1 1 1 -1   1 -1 1 1 1   1  ...1 -1 -1 1 1   -1 1 -1 1 -1   -1 -1 -1 -1 1   1 -1 -1 1 -1   1 -1 1 1 1 1];
Preamble1=zeros(1,Nfft);
Preamble1(2:27)=Preamble(27:end);%训练符号重拍后的数据
Preamble1(39:end)=Preamble(1:26);
preamble1=ifft(Preamble1);%训练符号时域数据
preamble1=[preamble1(Nfft-Ncp+1:end) preamble1];%加入循环前缀%%%%%%%仿真循环%%%%%%%
for ii=1:length(EbN0)%******发射机部分******msg1=randsrc(Nsp,Nd*Nfrm,[0:M1-1]);%QPSK信息数据msg2=randsrc(Nsp,Nd*Nfrm,[0:M2-1]);%16-QAM信息数据data1=pskmod(msg1,M1,pi/4);%QPSK调制data2=qammod(msg2,M2)/sqrt(10);%16QAM调制并归一化data3=zeros(Nfft,Nd*Nfrm);%根据FFT要求,对数据重排data4=zeros(Nfft,Nd*Nfrm);data3(2:27,:)=data1(27:end,:);data3(39:end,:)=data1(1:26,:);          data4(2:27,:)=data2(27:end,:);data4(39:end,:)=data2(1:26,:);clear data1 data2;%清除不必要的临时变量data3=ifft(data3);%IFFT变换data4=ifft(data4);data3=[data3(Nfft-Ncp+1:end,:);data3];%加入循环前缀data4=[data4(Nfft-Ncp+1:end,:);data4];spow1=norm(data3,'fro').^2/(Nsp*Nd*Nfrm);%计算数据符号能量spow2=norm(data4,'fro').^2/(Nsp*Nd*Nfrm);data5=zeros(Ns,(Nd+1)*Nfrm);%加入训练符号data6=data5;for indx=1:Nfrmdata5(:,(indx-1)*(Nd+1)+1)=preamble1.';data5(:,(indx-1)*(Nd+1)+2 :indx*(Nd+1))=data3(:,(indx-1)*Nd+1:indx*Nd);data6(:,(indx-1)*(Nd+1)+1)=preamble1.';data6(:,(indx-1)*(Nd+1)+2 :indx*(Nd+1))=data4(:,(indx-1)*Nd+1:indx*Nd);endclear data3 data4data5=reshape(data5,1,Ns*(Nd+1)*Nfrm);%并串变换data6=reshape(data6,1,Ns*(Nd+1)*Nfrm);data51=zeros(1,length(data5));data61=zeros(1,length(data6));data51(5:end)=data5(1:end-4);data61(5:end)=data6(1:end-4);sigma1=sqrt(1/2*spow1/log2(M1)*10.^(-EbN0(ii)/10));%根据EbN0计算噪声标准差sigma2=sqrt(1/2*spow2/log2(M2)*10.^(-EbN0(ii)/10));for indx=1:Nfrmdd1=data5((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));%当前帧的发射数据dd2=data6((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));dd3=data51((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));dd4=data61((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));hh=h((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));%当前帧的单径信道参数hh1=h1((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));%当前帧的二径信道参数hh2=h2((indx-1)*Ns*(Nd+1)+1:indx*Ns*(Nd+1));%信号通过单径瑞利衰落信道,并加入高斯白噪声(2)r1=hh.*dd1+sigma1*(randn(1,length(dd1))+j*randn(1,length(dd1)));r2=hh.*dd2+sigma2*(randn(1,length(dd2))+j*randn(1,length(dd2))); %信号通过2径瑞利衰落信道,并加入高斯白噪声r11=hh1.*dd1+hh2.*dd3+sigma1*(randn(1,length(dd1))+j*randn(1,length(dd1)));r21=hh1.*dd2+hh2.*dd4+sigma2*(randn(1,length(dd2))+j*randn(1,length(dd2))); r1=reshape(r1,Ns,Nd+1);%串并变换r2=reshape(r2,Ns,Nd+1);r11=reshape(r11,Ns,Nd+1);%串并变换r21=reshape(r21,Ns,Nd+1); r1=r1(Ncp+1:end,:);%移除循环前缀r2=r2(Ncp+1:end,:);r11=r11(Ncp+1:end,:);r21=r21(Ncp+1:end,:);R1=fft(r1);%fft运算R2=fft(r2);R11=fft(r11);R21=fft(r21);R1=[R1(39:end,:);R1(2:27,:)];R2=[R2(39:end,:);R2(2:27,:)];R11=[R11(39:end,:);R11(2:27,:)];R21=[R21(39:end,:);R21(2:27,:)];HH1=(Preamble.')./R1(:,1);%信道估计HH2=(Preamble.')./R2(:,1);HH11=(Preamble.')./R11(:,1);HH21=(Preamble.')./R21(:,1);HH1=HH1*ones(1,Nd);HH2=HH2*ones(1,Nd);HH11=HH11*ones(1,Nd);HH21=HH21*ones(1,Nd);x1=R1(:,2:end).*HH1;x2=R2(:,2:end).*HH2;x3=R11(:,2:end).*HH11;x4=R21(:,2:end).*HH21;x1=pskdemod(x1,M1,pi/4);%数据解调x2=qamdemod(x2.*sqrt(10),M2);x3=pskdemod(x3,M1,pi/4);%数据解调x4=qamdemod(x4.*sqrt(10),M2);%统计一帧中的错误比特数[neb1(indx),temp]=biterr(x1,msg1(:,(indx-1)*Nd+1:indx*Nd),log2(M1));[neb2(indx),temp]=biterr(x2,msg2(:,(indx-1)*Nd+1:indx*Nd),log2(M2));[neb3(indx),temp]=biterr(x3,msg1(:,(indx-1)*Nd+1:indx*Nd),log2(M1));[neb4(indx),temp]=biterr(x4,msg2(:,(indx-1)*Nd+1:indx*Nd),log2(M2));
end
ber1(ii)=sum(neb1)/(Nsp*log2(M1)*Nd*Nfrm);%理想信道估计的误比特率
ber2(ii)=sum(neb2)/(Nsp*log2(M2)*Nd*Nfrm);ber3(ii)=sum(neb3)/(Nsp*log2(M1)*Nd*Nfrm);%根据训练符号信道估计的误比特率
ber4(ii)=sum(neb4)/(Nsp*log2(M2)*Nd*Nfrm);endsemilogy(EbN0,ber1,'-ro',EbN0,ber3,'-rv',EbN0,ber2,'-r*',EbN0,ber4,'-rx')
grid on
title('OFDM系统误比特率性能')
legend('QPSK单径信道','QPSK2径信道','16-QAM单径信道','16-QAM二径信道')
xlabel('信噪比(EbN0)')
ylabel('误比特率')

(1)生成2径衰落信道

2径衰落信道表示信号同时通过2个信道,这里的信道设定如下

两径信道的能量之和和单径信道能量之和相等,

两径信道中第二个信道的能量比第一个信道的能量低3dB(也就是能量减半)

又因为信道的能量是信道振幅的平方,设两径信道第一个信道振幅为a,第二个振幅为b

所以a方+b方=1(单径瑞利衰落信道振幅为1)

a方=2*b方

所以a=根号下(2/3),b=根号下(1/3)。

接下来对第二个信道进行延时处理,延时就是在信道前面加0,加0会导致信道的长度变长,将超过指定长度的多余部分直接删掉

(2)信号通过2径衰落信道

即为信号*2径中的第一个信道+信号*2径中的第二个信道+噪声(这里噪声加的是两个信道的总体噪声)

%信号通过2径瑞利衰落信道,并加入高斯白噪声
    r11=hh1.*dd1+hh2.*dd3+sigma1*(randn(1,length(dd1))+j*randn(1,length(dd1)));
    r21=hh1.*dd2+hh2.*dd4+sigma2*(randn(1,length(dd2))+j*randn(1,length(dd2)));

dd1,QPSK调制得到的单帧信号;

dd2,QAM调制得到的单帧信号

dd3,QPSK调制经过处理与延时的信道一一对应的单帧信号

(因为信道和信号的所有元素要求一一对应,通过信道前面加0实现了信道的延时,为了实现一一对应也需要在信号前面加相同数量的0)

dd4,QAM调制经过处理与延时的信道一一对应的单帧信号

其它内容的推导可以见上一篇文章

http://www.hrbkazy.com/news/16653.html

相关文章:

  • 做淘宝客必须建网站吗营销咨询
  • 网站建设7个基本流程网站如何赚钱
  • 青岛网站互联网公司大数据技术主要学什么
  • 在本地怎么做网站外链网盘系统
  • 手机网站一般宽度做多大的alexa全球网站排名分析
  • 网站域名跳转怎么做网页设计与制作案例教程
  • 监控安防的网站怎么做微信营销的功能
  • 商丘幼儿园网站建设策划方案百度收录提交网站后多久收录
  • 盐城网站开发建设百度搜索数据统计
  • 什么做网站的公司好安徽seo优化规则
  • 以前做弹幕现在的电影网站网络营销策略论文
  • 电子商务网站建设侧重点宁波网站建设的公司
  • 创新的沈阳网站建设种子在线资源搜索神器
  • 论坛类型的网站怎么做如何自己弄一个网站
  • 政府网站banner素材广州seo公司推荐
  • 视频网站logo怎么做网络营销专业的就业方向
  • 湖北建站中心app推广引流渠道
  • 贵州企业网站建设案例快速排名软件案例
  • 东莞网站建站公司2022年十大网络流行语发布
  • wordpress xueqiu对网站的建议和优化
  • 网站建设任务和标准如何在微信上做推广
  • 网站小图标素材下载百度指数查询官方下载
  • 天津市网站建设 网页制作宁波免费seo在线优化
  • H5网站建设报价多少滨州seo排名
  • 毕业设计网站开发的中期报告网站seo外链平台
  • 网站建设费用包括哪些内容2022年seo还值得做吗
  • 深圳市哪里最繁华郑州关键词优化平台
  • 网站seo方案案例google免费入口
  • 网站内容与模板设计方案合肥优化排名推广
  • 沈阳建设工程信息网职称公示2013年seo搜索引擎优化入门