已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 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 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); h1 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data41=data2.*h1+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;% 注释:各个已调为同相信号支路作相关电压的叠加%* 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(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(simulation BPSK MRC L=2,theory gngauss BPSK,theory reyleigh ); %EGC% 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; % Number 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); h1 =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=conj(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 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(simulation 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(a0.5) data(i)=-1; else data(i)=1; end end numofber=0; totolnumber=0; while numofberEGCSEL,且MRC与SEL在相同信噪比下误码率相差不大;在增加信噪比的时候SEL有显著提升,而MRC,EGC误码率也有比较大的提升,且当信噪比为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%.相对比之前的二分集来说,在0db(低信噪比的环境下)三分集的性能要比二分集误码率差不多,三种分集方式误码率有比较大的差别,MRC的误码率大概是SEL的15%左右,EGC大概是19.97%,说明MRC,EGC适合低信噪比环境下,并且此时增加分集支路数对误码率影响不大;在10db环境下,误码率有显著下降,且三种分集差别不是太大,数量级都是10-4,且是二分集的10%左右。这些数据说明了,增加分集支路数在低信噪比的环境下对误码率的影响不大,此时分集方式是影响误码率的主要原因;而在高信噪比的条件下,分集方式对误码率影响不大,但是增加分集支路数能够很大程度改善瑞利信道下的误码率。(d)将最大比合并和等增益合并及选择式合并的误比特率曲线,画在一张图上,比较这三种合并方法的优劣。很显然,在低信噪比的环境下,MRC,EGC分集效果比SEL效果好得多,相对来说MRC和EGC差别不大,但是EGC实现起来要比MRC容易得多,因此在多数情况下使用EGC;在高信噪比的环境下,MRC,EGC,SEL分集误码率差别不大,但是当增加分集支路数,误码率则会很大程度地改善,由二分集到三分集误码率下降90%;此外我们可以看到,在信噪比增加的过程中,sel分集方式误码率出现了震荡,因此综合各个方面的因素来说,等增益合并EGC是相对来说比较好的一种选择。均衡matlab现给出迫零均衡(ZF)、最小均方误差均衡中的最小均方算法(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); %注释:将多径信道输出的序列输入均衡器,得到均衡器输出序列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(迫零均衡前的眼图); 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 jj=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); %注释:添加高斯白噪声序列的信号通过多径信道之后的输出 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=err1+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-); 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(高斯信道下理想误码率特性,未进过均衡的误码率,三阶迫零均衡误码率,五阶迫零均衡误码率,七阶迫零均衡误码率);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) % 注释:控制信噪比,得到不同信噪比条件下的误码率曲线 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;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=C+mu*e*rr; %update equalizer coefficients end x6=filter(C,1,x3); %注释:用均衡器对信道输出序列进行均衡 x7 = (1-sign(x6)/2; %注释:对均衡器输出序列抽样判决 x8=x30; %注释:对多径信道未经过均衡器输出序列进行判决 TotalError = TotalError + sum(abs(x-x7(3:end);%注释:在某一特定信噪比下,计算得到100次实验经过均衡器输出的所有序列的误码数 totalerror1=totalerror1+ sum(abs(x8(1:end-2)-x);%注释:在某一特定信噪比下,计算得到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,.)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(均衡后的误码率曲线,均衡前的误码率曲线,理想误码率曲线);xlabel(SNR(单位:dB));ylabel(误码率);(2)写出这两种算法实现的流程。迫零均衡流程:1、首先检查归一化多径信道离散系数原点两侧的系数是否相等,不相等则补零使之相等2、根据均衡器抽头数N截取得到长度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国液体化工冷链物流技术突破与商业化应用报告
- 灾难的演讲稿
- 2026年中国木材加工及木制品制造项目经营分析报告
- 构造积极防御的安全保障框架教案(2025-2026学年)
- 高中数学第一章立体几何初步平行关系的判定北师大版教案(2025-2026学年)
- 部编版《我的伯父鲁迅先生》教案(2025-2026学年)
- 五年级美术下册第课山水画教案人美版(2025-2026学年)
- 八年级数学勾股定理教案新人教版(2025-2026学年)
- 2026年中国盐渍竹笋项目经营分析报告
- 演讲稿作文400字左右
- 天津市广通信息技术工程股份有限公司(所属公司)招聘笔试题库2025
- 坚果油冷榨提取设备创新创业项目商业计划书
- 中国移动ai面试题库及答案
- 公安基础知识考试模拟题库
- 学堂在线 不朽的艺术:走进大师与经典 章节测试答案
- 2025公需课《人工智能赋能制造业高质量发展》试题及答案
- 【MOOC】研究生英语科技论文写作-北京科技大学 中国大学慕课MOOC答案
- TCALC 003-2023 手术室患者人文关怀管理规范
- GB/T 12060.5-2011声系统设备第5部分:扬声器主要性能测试方法
- GB30871-2022 化学品生产单位特殊作业安全规范
- 全过程预算绩效管理实务课件
评论
0/150
提交评论