通信原理MATLAB仿真实验基于MATLAB的第一类部分响应系统的基带信号及其眼图实现学院:电气工程与自动化班级:通信12-1指导教师:林霏组员______________________________________________________________________________2015年6月25日基于MATLAB的第一类部分响应系统的基带信号及其眼图实现摘要所谓眼图,是指通过用示波器观察接收端的基带信号波形,从而估计和调整系统性能的一种方法。这种方法具体做法是:用一个示波器跨接在抽样判决器的输入端,然后调整示波器水平扫描周期,使其与接受码元的周期同步。此时可以从示波器显示的图形上,观察码间干扰和信道噪声等因素影响的情况,从而估计系统性能的优劣程度。因为在传输二进制信号波形时,示波器显示的图像很像人的眼睛,故名“眼图”。一、实验目的1.通过实验掌握第一类部分响应系统的原理及实现方法。掌握基带信号眼图的概念及绘制方法。二、实验原理1.部分响应系统为了提高系统的频带利用率,减小定时误差带来的码间干扰,升余弦传输特性在这两者的选择是有矛盾的。理想低通滤波器可以有最高的频带利用率s=2,但拖尾的波动比较大,衰减也比较慢。若能改善这种情况,并保留系统的带宽等于柰奎斯特带宽,就能在保证一定的传输质量前提下显著地提高传输速率。这是有实际意义的,特别是在高速大容量传输系统中。部分响应传输系统就具有这样的特点。部分响应传输系统是通过对理想低通滤波器冲激响应的线性加权组合,来控制整个传输系统冲激响应拖尾的波动幅度和衰减。当然,这样做会引入很强的码间干扰,但这种码间干扰是可控制的,是已知的,因此很容易从接收信号的抽样值中减去。由于这种组合并不影响系统的传输带宽,因此频带利用率高。第一类部分响应系统实在相邻的两个码元间引入码间干扰。由于理想低通滤波器的传输函数为120SsTfTf其他其冲激响应为ssTtTtth//sin)(,如果用)(th以及)(th的时延sT的波形作为系统的冲激响应,那么它的系统带宽肯定限制在ssTT21,21,也就是说,系统的频带利用率为2bit/Hz。接着来看系统的冲激响应函数)(tg:sssssssTtTtTtTTtcTtcTththtg/11sin)(sinsin)()()(可以看到,这个系统的冲激响应的衰减是理想低通冲激响应函数衰减的sTt/11,它比理想低通系统冲激响应函数衰减快,因此相对于对定时精度的要求降低,它的系统响应为可以看到,第一类部分响应系统并不满足抽样点无码间干扰的条件,其每个抽样点仅受前一个码元的影响,因此可以通过减去前一码元的干扰来确定当前抽样点值,从而正确判决。因此,第一类部分响应系统可以用框图表示。h(t)Ts+cn∈{+1,-1}an∈{0,1}理想低通g(t)第一类部分响应系统框图电平转换2.基带信号眼图在数字系统的接收端用示波器观察接收信号,将接收信号输入示波器的垂直放大器,同时调整示波器的水平扫描周期为码元间隔的整数倍,则示波器上显示的波形形如一只只“眼睛”,称为基带信号的眼图。其实,基带信号的眼图形成原因是因为示波器的荧光显示屏光迹在信号消失后需要一段时间才能消失,因此显示在示波器上的是若干段的数字基带波形的叠加,呈现出眼图的形状。二进制信号传输时的眼图只有一只“眼睛”,当传输三元码时,会显示两只“眼睛”。眼图是由各段码元波形叠加而成的,眼图中央的垂直线表示最佳抽样时刻,位于两峰值中间的水平线是判决门限电平。在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。三、实验内容%产生一个(+1,-1)的二元随机序列,画出其第一类部分响应系统的基带信号及其眼图Ts=1;N=16;eye_num=10;N_data=1000;%码元数dt=Ts/N;%采样时间间隔t=-5*Ts:dt:5*Ts;%设置采样%产生双极性数字信号d=sign(randn(1,N_data));%randn随机生成数字signsign函数进行一个判断,判断其正负dd=sigexpand(d,N);%将输入的序列扩成间隔为N-1个0的序列%部分响应系统冲击响应ht=sinc((t+eps)/Ts)./(1-(t+eps)./Ts);ht(6*N+1)=1;st=conv(dd,ht);%发送波形tt=-5*Ts:dt:(N_data+5)*N*dt-dt;%设置采样?subplot(211);plot(tt,st);axis([020-33]);xlabel('t/Ts');ylabel('部分响应基带信号');%画眼图subplot(212);ss=zeros(1,eye_num*N);ttt=0:dt:eye_num*N*dt-dt;fork=5:50ss=st(k*N+1:(k+eye_num)*N);drawnow;plot(ttt,ss);holdon;end;xlabel('t/Ts');ylabel('部分响应信号眼图');===================================%将输入的序列扩成间隔为N-1个0的序列function[out]=sigexpand(d,M)N=length(d);out=zeros(M,N);out(1,:)=d;out=reshape(out,1,M*N);四、运行结果02468101214161820-202t/Ts部分响应基带信号012345678910-4-2024t/Ts部分响应信号眼图五、结果分析当存在噪声时,眼图的线迹变成了比较模糊的带状的线,噪声越大,线条越粗,越模糊,“眼睛”张开得越小。不过,应该注意,从图形上并不能观察到随机噪声的全部状态,例如出现机会少的大幅度噪声,由于它在示波器上一晃而过,因而用人眼是观察不到的。从以上分析可知,眼图可以定性反映码间串扰的大小和噪声的大小,眼图还可以用来指示接受滤波器的调整,以减少码间串扰,改善系统性能。使用了随机数,产生的基带信号也是随机的,经过加白噪声,产生的眼图也是不一样的。选取的采样频率也影响着最后的博兴和眼图。一开始的时候,提示加噪声的部分有问题,通过调试,发现工作空间设置的不准确,相加会出现错误,将工作空间加大,语法没错了,但是眼图出不来。后来经过仔细观察,发现做卷积的时候把一个元素弄错了,经过修改,最终成功运行。六、实验心得第一次试验:在设计理想带通滤波器时,不知道该如何下手,完全没有头绪,参考从网上下载的程序,分析他们实现的方法,了解他们的思想,有一些函数根本没学过,通过help指令,然后进行翻译,在同学的帮助下,最终用自己的方法实现。拿到一个题目看到代码,觉得就应该这样,但当自己去做的时候就不知道该如何下手了。首先应该写一下自己的解题思路,最好画成框图的形式,能够一目了然的知道自己应该做什么。掌握了matlab的使用方法,同时加深了对课本基础内容的理解。同时深刻感觉到没有理论知识作指导是难以进行程序编写的,程序的编写是对理论知识的再运用。然而在本次实验中,却又存在着不足,究其原因是自己对理论知识掌握的不够熟练,这使我认识到,在以后的学习中,掌握理论知识的前提下进行一些综合训练是必要的。