版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、matlab分集+均衡实验报告姓 名 李聪 学 号 11211060 指导教师 姚冬萍 时 间 2014年5月25日 分集matlab作业现给出最大比合并(MRC)、等增益合并(EGC)和选择性合并的分集合并程序,理解各程序,完成以下习题。将程序运行结果及各题目的解答写入word中:1. 用matlab分别运行“BPSKMRC.m”、“BPSKEGC.m”以及“BPSKSEL.m” (a)在程序中标注“注释”处加上注释(英文或中文)MRC% bpsk.m% Simulation program to realize BPSK transmission system%* Preparation
2、part *nd = 10000; % Number of symbols that simulates in each loopsnr_in_dB=0:15 ; ber=zeros(1,length(snr_in_dB);for snr_num=1:length(snr_in_dB) SNR=exp(snr_in_dB(snr_num)*log(10)/10);%* START CALCULATION *nloop=100; % Number of simulation loopsnoe = 0; % Number of error datanod = 0; % Number of tran
3、smitted datafor iii=1:nloop %* Data generation * data1=rand(1,nd)>0.5; data2=2.*data1-1;%* Attenuation Calculation *%* rayleigh channel * code_rate=1; E=1; sigma=E/sqrt(2*SNR*code_rate); n =randn(1,nd) + j*randn(1,nd); h1 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data41=data2.*h1
4、+sigma.*n; h11=conj(h1); %注释:根据测得的信号幅度相位得到各支路加权系数 data411 = data41.*h11; %注释:将各个支路信号调整为同相信号%* n =randn(1,nd) + j*randn(1,nd); h2 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data42=data2.*h2+sigma.*n; h22=conj(h2); data422 =data42.*h22; %* data4=data411+data422;% 注释:各个已调为同相信号支路作相关电压的叠加
5、%* BPSK Demodulation * demodata1=data4 > 0; %* Bit Error Rate (BER) * noe2=sum(abs(data1-demodata1); nod2=length(data1); noe=noe+noe2;nod=nod+nod2;end %* Output result *ber(snr_num) = noe/nod end; %* end of file *figure; semilogy(snr_in_dB,ber,'O-'); hold on semilogy(snr_in_dB,0.5*erfc(sq
6、rt(2*10.(snr_in_dB/10)/sqrt(2),'+-'); hold on semilogy(snr_in_dB,0.5.*(1-sqrt(10.(snr_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('simulation BPSK MRC L=2','theory gngauss BPSK','theory reyleigh' ); %EGC%
7、bpsk.m% Simulation program to realize BPSK transmission system%* Preparation part *nd = 10000; % Number of symbols that simulates in each loopsnr_in_dB=0:15 ; ber=zeros(1,length(snr_in_dB);for snr_num=1:length(snr_in_dB) SNR=exp(snr_in_dB(snr_num)*log(10)/10);%* START CALCULATION *nloop=100; % Numbe
8、r of simulation loopsnoe = 0; % Number of error datanod = 0; % Number of transmitted datafor iii=1:nloop %* Data generation * data1=rand(1,nd)>0.5; data2=2.*data1-1;%* Attenuation Calculation *%* rayleigh channel * code_rate=1; E=1; sigma=E/sqrt(2*SNR*code_rate); n =randn(1,nd) + j*randn(1,nd); h
9、1 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data41=data2.*h1+sigma.*n; h11=conj(h1)./abs(h1); %注释:得到各个支路等增益合并的加权系数 data411 = data41.*h11; %注释:将支路信号调整为同相信号%* n =randn(1,nd) + j*randn(1,nd); h2 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data42=data2.*h2+sigma.*n; h22=c
10、onj(h2)./abs(h2); data422 =data42.*h22; %* data4=data411+data422; %注释:各个已调为同相信号的支路作等增益合并 %* BPSK Demodulation * demodata1=data4 > 0; %* Bit Error Rate (BER) * noe2=sum(abs(data1-demodata1); nod2=length(data1); noe=noe+noe2;nod=nod+nod2;end %* Output result *ber1(snr_num) = noe/nod end; %* end of
11、file *figure; semilogy(snr_in_dB,ber1,'O-'); hold on semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+-'); hold on semilogy(snr_in_dB,0.5.*(1-sqrt(10.(snr_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('sim
12、ulation BPSK EGC L=2','theory gngauss BPSK','theory reyleigh' ); %SEL% close all; % clear all; % clc snr_in_dB=0:15; for k=1:length(snr_in_dB) kN=10000; E=1; SNR=10(snr_in_dB(k)/10); sigma=E/sqrt(2*SNR); for i=1:N a=rand; if(a<0.5) data(i)=-1; else data(i)=1; end end numofber=
13、0; totolnumber=0; while numofber<1 totolnumber=totolnumber+1; for i=1:N H1 =1/sqrt(2)*rand + j*rand; %注释: 多径信道某一径的幅度和相位(多径信道某一径系数)H2 =1/sqrt(2)*rand + j*rand; %注释: 多径信道某一径的幅度和相位(多径信道某一径系数)H=H1;H2; y1=H(1)*data(i)+sigma*(rand + j*rand); %注释:信号某一径分量y2=H(2)*data(i)+sigma*(rand + j*rand); %注释:信号某一径分量
14、y=abs(y1),abs(y2); s=max(y); %注释:比较选择信噪比最大(指示参量最好)的一径if (s=abs(y2) s=y2/H2;%注释:对信噪比最大的支路进行解调else s=y1/H1; %注释:对信噪比最大的支路进行解调enddata2=sign(real(s); if (data2=data(i) numofber=numofber+1; %注释:计算得到误比特数end endend p(k)=numofber/(N*totolnumber); %注释:得到误比特率endfigure; semilogy(snr_in_dB,p,'O-'); hold
15、 onsemilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+-'); hold onsemilogy(snr_in_dB,0.5.*(1-sqrt(10.(snr_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('simulation BPSK SEL L=2','theory gngauss BPSK',
16、9;theory reyleigh');(b)观察信噪比变化10dB,误比特率变化多少? EGC 信噪比从0变化成10db时候,误比特率从0.067变成了0.002,误比特率下降了97.01%SEL信噪比从0变化成10db时候,误比特率从0.1752变成了0.003,误比特率下降了98.29%MRC信噪比从0变化成10db时候,误比特率从0.0576变成了0.0016,误比特率下降了97.22%从这些数据中,我们可以看出,分集的性能是MRC>EGC>SEL,且MRC与SEL在相同信噪比下误码率相差不大;在增加信噪比的时候SEL有显著提升,而MRC,EGC误码率也有比较大的提
17、升,且当信噪比为10db的时候三种分集性能差别不大,说明在信道环境比较好的情况下,三种分集误码率基本上差不多;此外,实验还说明了MRC和EGC比SEL更能适应低信噪比的环境下。(c)程序中给出的是2分集,将其换为3分集,观察信噪比变化10dB,误比特率变化多少? EGC 信噪比从0变化成10db时候,误比特率从0.0331变成了2.19*10-4,误比特率下降了99.34%SEL信噪比从0变化成10db时候,误比特率从0.1657变成了2.0*10-4,误比特率下降了99.88%MRC信噪比从0变化成10db时候,误比特率从0.0251变成了1.27*10-4,误比特率下降了99.49%.相对
18、比之前的二分集来说,在0db(低信噪比的环境下)三分集的性能要比二分集误码率差不多,三种分集方式误码率有比较大的差别,MRC的误码率大概是SEL的15%左右,EGC大概是19.97%,说明MRC,EGC适合低信噪比环境下,并且此时增加分集支路数对误码率影响不大;在10db环境下,误码率有显著下降,且三种分集差别不是太大,数量级都是10-4,且是二分集的10%左右。这些数据说明了,增加分集支路数在低信噪比的环境下对误码率的影响不大,此时分集方式是影响误码率的主要原因;而在高信噪比的条件下,分集方式对误码率影响不大,但是增加分集支路数能够很大程度改善瑞利信道下的误码率。(d)将最大比合并和等增益合
19、并及选择式合并的误比特率曲线,画在一张图上,比较这三种合并方法的优劣。很显然,在低信噪比的环境下,MRC,EGC分集效果比SEL效果好得多,相对来说MRC和EGC差别不大,但是EGC实现起来要比MRC容易得多,因此在多数情况下使用EGC;在高信噪比的环境下,MRC,EGC,SEL分集误码率差别不大,但是当增加分集支路数,误码率则会很大程度地改善,由二分集到三分集误码率下降90%;此外我们可以看到,在信噪比增加的过程中,sel分集方式误码率出现了震荡,因此综合各个方面的因素来说,等增益合并EGC是相对来说比较好的一种选择。均衡matlab现给出迫零均衡(ZF)、最小均方误差均衡中的最小均方算法(
20、LMS)的matlab程序,理解各程序,完成以下习题。将程序运行结果及各题目的解答写入word中: 用matlab分别运行“main_zf.m”和“main_lms.m” (1)在程序中标注“注释”处加上注释(英文或中文)。迫零均衡:M=1500; %码元数目P=0.5; %1码概率data=2*round(rand(1,M)+P-0.5)-1; %产生一列01码h=0.02 0.05 0.1 -0.2 1 -0.2 0.1 0.06 0.01;%归一化的多径信道系数hr=conv(data,h);%迫零均衡N=5;C=force_zero(h,N);dataout=conv(r,C); %注
21、释:将多径信道输出的序列输入均衡器,得到均衡器输出序列figure(1)subplot(2,2,1)plot(1:length(data),data,'.')title('发送信号序列')subplot(2,2,2)plot(1:length(r),r,'.')title('多径信号序列')subplot(2,2,3)plot(1:length(dataout),dataout,'.')title('均衡后的信号序列')eyediagram(r,2);title('迫零均衡前的眼图'
22、); eyediagram(dataout,2);title('迫零均衡后的眼图'); %注释:得到均衡器输出序列的眼图%用不同阶数的迫零均衡器均衡后的误码率,并与理想误码率曲线比较。snr_in_dB=4:11; %注释:输入序列的信噪比的db表示N=1 2 3; %注释:均衡器的阶数err_rate=zeros(length(N),length(snr_in_dB); %经过均衡误码率统计err_rate1=zeros(1,length(snr_in_dB); %未经过均衡误码率统计for ii=1:length(N) C=force_zero(h,N(ii); for j
23、j=1:length(snr_in_dB) SNR=10(snr_in_dB(jj)/10); %注释:输入序列的信噪比线性表示 err=0; %注释:用于记录均衡之后的总的误码数 err1=0; %注释:用于记录均衡之前的总的误码数 for kk=1:103 %注释:用于进行1000次计算得到平均误码率 x=2*round(rand(1,M)+P-0.5)-1; %注释:产生一列01码 x2=awgn(x,SNR,'measured','linear'); %注释:测量序列的功率,给X添加高斯白噪声 x1=conv(x2,h); %注释:添加高斯白噪声序列的信
24、号通过多径信道之后的输出 y=conv(x1,C); %注释:多径信道的输出经过均衡之后输出 L=(length(y)-M)/2; %信道时延色散的长度 y=y(L+1:L+M); %注释:截取得到N阶均衡的输出 y=sign(y); %注释:对得到的序列进行判决 err=err+sum(abs(x-y)/2; %均衡之后总的误码数%-不经过均衡 L1=(length(x1)-M)/2; %注释:信道时延色散导致的码元展宽长度 x11=x1(L1+1:L1+M); %注释:截取多径信道输出的到去除展宽之后的码元 y11=sign(x11); %注释:对信道输出的码元进行抽样判决 err1=er
25、r1+sum(abs(x-y11)/2; %注释:计算得到未均衡输出的误码数 end err_rate(ii,jj)=err/(M*103) %注释:计算得到经过均衡后,平均每个码元在每次实验中的误码率 err_rate1(1,jj)=err1/(M*103) %注释:计算得到经过均衡之前,平均每个码元在每次实验中的误码率 endendfigure(2);semilogy(snr_in_dB,0.5*erfc(sqrt(1*10.(snr_in_dB/10),'g*-');hold on;semilogy(snr_in_dB,err_rate1(1,:),'g-'
26、;); hold on;semilogy(snr_in_dB,err_rate(1,:),'ko');hold on;semilogy(snr_in_dB,err_rate(2,:),'go');hold on;semilogy(snr_in_dB,err_rate(3,:),'ro');title('误码率');legend('高斯信道下理想误码率特性','未进过均衡的误码率','三阶迫零均衡误码率','五阶迫零均衡误码率','七阶迫零均衡误码率')
27、;xlabel('SNR');LMS均衡:clear;clc;%*变量设置区*%N=10000; %二进制信源的长度,测误码率时使用的N h = 0.6 -0.3 0.1; %多径响应序列order = 5; %C的阶数(取大于1的奇数)mu = 0.01; % 步长delta=2; %延迟SNRdB = 5:15; Loops = 100,100,100,100,100,100,100,100,100,100,100; %循环数,实现信源长度106%*%C = zeros(order,1); %初始化自适应系数 for i = 1:length(SNRdB) % 注释:控制信
28、噪比,得到不同信噪比条件下的误码率曲线 disp('目前仿真到第',num2str(i),'轮:','SNR=',num2str(SNRdB(i),'dB'); %注释:在不同的信噪比下实验,得到信噪比和误码率曲线 TotalError = 0; % 注释:用于记录均衡之前的信噪比 totalerror1=0; SNR = 10(SNRdB(i)/10); % 注释:将db形式的信噪比转换成线性形式的信噪比 for JJJ = 1:Loops(i) % 注释:循环数,在某一信噪比下作100次试验 x=randsrc(1,N,0,1
29、;0.5,0.5);%注释:随机生成0,1出现概率均为0.5的单极性码 x1=1-x*2; %注释:将单极性码转换成双极性码 x2 = conv(x1,h); % 注释:信号通过多径信道之后输出 x3 = awgn(x2,SNR,'measured','linear'); %注释:信号序列x2加高斯白噪声 for jjj=order+1:N % iterate rr=x3(jjj:-1:jjj-order+1)'% vector of received signal e=x1(jjj-delta)-C'*rr;%calculate error C
30、=C+mu*e*rr; %update equalizer coefficients end x6=filter(C,1,x3); %注释:用均衡器对信道输出序列进行均衡 x7 = (1-sign(x6)/2; %注释:对均衡器输出序列抽样判决 x8=x3<0; %注释:对多径信道未经过均衡器输出序列进行判决 TotalError = TotalError + sum(abs(x-x7(3:end);%注释:在某一特定信噪比下,计算得到100次实验经过均衡器输出的所有序列的误码数 totalerror1=totalerror1+ sum(abs(x8(1:end-2)-x);%注释:在某
31、一特定信噪比下,计算得到100次实验未经过均衡的所有序列的误码数 end BER(i) = TotalError / (N-order) / Loops(i);% 注释:在某一特定信噪比下,得到平均每次实验误比特率 ber1(i)= totalerror1 / N / Loops(i); %注释:在某一特定信噪比下,得到未经过均衡平均每次实验误比特率endfigure(1)subplot(2,2,1)plot(1:length(x1),x1,'.')title('发送信号序列')subplot(2,2,2)plot(1:length(x2),x2,'.&
32、#39;)title('多径信号序列')subplot(2,2,3)plot(1:length(x3),x3,'.')title('多径加噪声信号序列')subplot(2,2,4)plot(1:length(x6),x6,'.')title('均衡后信号序列')eyediagram(x3,2);title('均衡前的眼图');eyediagram(x6,2);title('均衡后的眼图');figure(2)semilogy(SNRdB, BER,'r.-');%注释:用对数坐标画出误码率和信噪比曲线hold on;semilogy(SNRdB, ber1,'g.-'); hold on;semilogy(SNRdB,0.5*erfc(sqrt(2*10.(SNRdB/10)/sqrt(2),'-');ylim(10(-6),10(0);legend('均衡后的误码率曲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年小学来客来访登记制度范本(二篇)
- 2024年小学德育个人工作总结(二篇)
- 2024年小学六年级班务工作计划例文(二篇)
- 青岛市黄岛区风光互补路灯项目投资计划书
- 2024年单位解除劳动合同格式范文(二篇)
- 2024年安全风险分级管控工作制度范例(二篇)
- 2024年医院隐患排查治理制度范文(二篇)
- 2024年厂房仓库租赁合同格式范文(二篇)
- 2024年学校安全保卫工作制度(二篇)
- 2024年商铺转让合同协议范本(四篇)
- 1.3地球的圈层结构课件高一地理
- 沉香的化学成分及其药理活性的研究进展
- 车辆制造工艺学
- 2023年高速公路收费员基础知识考试题(附含答案)
- 生产加工型小微企业安全管理考试(含答案)
- 阴道炎护理查房
- 未来绿色低碳产业布局实施方案
- 房间隔缺损术后护理课件
- 2024公共数据平台数据归集规范
- 肿瘤患者胸腹水置管护理
- 指导教师在全科医学教育中的角色与培训
评论
0/150
提交评论