matlab均衡仿真报告—胡梦春—11211132_第1页
matlab均衡仿真报告—胡梦春—11211132_第2页
matlab均衡仿真报告—胡梦春—11211132_第3页
matlab均衡仿真报告—胡梦春—11211132_第4页
matlab均衡仿真报告—胡梦春—11211132_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、均衡matlab实验仿真报告 学院:电子信息工程学院班级:通信1106班姓名:胡梦春学号:11211132指导教师:杨维老师 时间:2014年5月27日均衡MATLAB仿真报告要求:现给出迫零均衡(ZF)、最小均方误差均衡中的最小均方算法(LMS)的matlab程序,理解各程序,完成以下习题。将程序运行结果及各题目的解答写入word中:用matlab分别运行“main_zf.m”和“main_lms.m”(a)在程序中标注“注释”处加上注释(英文或中文)。main_zf.mM=1500; %码元数目P=0.5; %1码概率data=2*round(rand(1,M)+P-0.5)-1;%产生一

2、列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); %获得均衡器系数Cdataout=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('多径信号序列&

3、#39;)subplot(2,2,3)plot(1:length(dataout),dataout,'.')title('均衡后的信号序列')figure(2)eyediagram(r,2);title('迫零均衡前的眼图');figure(3)eyediagram(dataout,2);title('迫零均衡后的眼图'); %注释:画迫零均衡后的眼图%用不同阶数的迫零均衡器均衡后的误码率,并与理想误码率曲线比较。snr_in_dB=4:11; %注释:产生不同的信噪比条件,4dB到11dBN=1 2 3; %注释:均衡器抽头数为

4、2*N+1,分别表示3、5、7阶均衡器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);forjj=1:length(snr_in_dB)SNR=10(snr_in_dB(jj)/10); %注释:将信噪比dB值转化为线性值err=0; %注释:经过均衡的误码个数err1=0; %注释:没有经过均衡的误码个数for kk=1:103 %注释:kk从1到1

5、000,每种信噪比下,试验1000次x=2*round(rand(1,M)+P-0.5)-1; %注释: %产生一列01码,1码概率为Px2=awgn(x,SNR,'measured','linear'); %注释:x序列中加入高斯白噪声x1=conv(x2,h); %注释:序列x2通过多径信道y=conv(x1,C); %注释:将经过多径信道传输的信号通过均衡器L=(length(y)-M)/2; y=y(L+1:L+M); %注释:取L+1到L+M个数的符号 y=sign(y); %注释:根据y的正负,以零为判决门限 err=err+sum(abs(x-y)

6、/2; %根据收发序列是否相同统计误码个数%-不经过均衡 L1=(length(x1)-M)/2; %注释:收到序列的起始点 x11=x1(L1+1:L1+M); %注释:取L+1到L+M个数的符号 y11=sign(x11); %注释:根据y的正负,以零为判决门限 err1=err1+sum(abs(x-y11)/2; %注释:根据收发序列是否相同统计误码个数enderr_rate(ii,jj)=err/(M*103) %注释:统计不同阶数均衡器下的误码率err_rate1(1,jj)=err1/(M*103) %注释:统计不经过均衡器的误码率endendfigure;semilogy(sn

7、r_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('误码率');l

8、egend('高斯信道下理想误码率特性','未进过均衡的误码率','三阶迫零均衡误码率','五阶迫零均衡误码率','七阶迫零均衡误码率');xlabel('SNR');main_LMS.mclear;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

9、,100,100,100,100,100,100,100,100; %循环数,实现信源长度106%*%C = zeros(order,1); %初始化自适应系数for i = 1:length(SNRdB) % 注释:在不同信噪比下,从5dB到15dBdisp('目前仿真到第',num2str(i),'轮:','SNR=',num2str(SNRdB(i),'dB'); %注释:不同轮数,不同信噪比条件下TotalError = 0; % 注释:经过均衡的误码个数,初始化为0totalerror1=0;SNR = 10(SNRdB

10、(i)/10); % 注释:将信噪比dB值转化为线性值for JJJ = 1:Loops(i) % 注释:第一轮迭代循环x=randsrc(1,N,0,1;0.5,0.5);%注释:产生有N个数的01随机序列,0、1概率都为0.5 x1=1-x*2; %注释:将x序列中的0转化为1,1转化为-1 x2 = conv(x1,h); % 注释:序列x1通过多径信道 x3 = awgn(x2,SNR,'measured','linear'); %注释:x2序列中加入高斯白噪声for jjj=order+1:N % iterate 循环,迭代rr=x3(jjj:-1:j

11、jj-order+1)' % vector of received signal e=x1(jjj-delta)-C'*rr; % calculate error C=C+mu*e*rr; % update equalizer coefficientsend x6=filter(C,1,x3); %注释:通过信道传输的序列x3经过均衡器C x7 = (1-sign(x6)/2; %注释:判决x6序列,小于0的数判为1,大于零的数判为-1 x8=x3<0; %注释:经信道传输不经过均衡器x3小于0,x8为1,否则x8为0 TotalError = TotalError +

12、sum(abs(x-x7(3:end); %注释:统计经过均衡器的误码数 totalerror1=totalerror1+ sum(abs(x8(1:end-2)-x); %注释:统计不经过均衡器的误码endBER(i) = TotalError / (N-order) / Loops(i); % 注释:统计经过均衡器的误码率ber1(i)= totalerror1 / N / Loops(i); %注释:统计不经过均衡器的误码率endfigure(1)subplot(2,2,1)plot(1:length(x1),x1,'.')title('发送信号序列')s

13、ubplot(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('均衡后的眼图');figur

14、e(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('

15、误码率');(b)写出这两种算法实现的流程。(1)这两种方法的理论实现流程:迫零均衡的理论实现流程如图1所示,迫零均衡是根据信道特性F(z)获得均衡器响应1/F(z)。图1 迫零均衡流程采用有限长滤波器,第n个抽头系数用en表示,共有(2K+1)个,均衡器的输出信号采样为ci等于输入信号Ui与抽头系数序列en的卷积,表示为:通过强迫信道和均衡器组合冲激响应的抽样值Ck在除k=0外的其它抽样时刻取值为零,使均衡器输出端的失真最小。截取矩阵U的前K行和后K行, U矩阵为2K+1方阵,为2K+1维由C =UE 得E =U-1C。迫零法通过选择en的加权,迫使均衡器的输出信号在期望脉冲的两侧各

16、K个采样值为0(名称的由来),即选择抽头系数使下式成立:求解2K+1方程,可得到en ,滤波器的长度(抽头系数的个数)取决于信道产生干扰的程度。迭代LMS的算法理论实现流程a. 用对权值进行初始化b. 计算一个MSE的梯度近似值,使用R,P的估计值,n表示迭代次数,梯度估计c. 通过负梯度方向调整权值参数,决定了收敛速度和剩余误差算法收敛,是相关矩阵R的最大特征值d. 满足终止条件,停止,否则到第b步(2)这两种方法的程序实现流程迫零均衡的程序实现流程:迭代LMS的算法程序实现流程: (c)运行程序,会得到关于信号的一系列图形,包括信号序列图、均衡前后眼图以及均衡前后的误码率图,分析这些图形,你能得到什么结论?解答:迫零均衡中的相关图如图2、3、4、5所示:图2 迫零均衡图3迫零均衡图4迫零均衡图5迫零均衡最小均方误差均衡中的最小均方算法(LMS)中的相关图如图6、7、8、9所示:图6 最小均方误差(LMS算法)均衡图7最小均方误差(LMS算法)均衡图8最小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论