通信原理软件实验_第1页
通信原理软件实验_第2页
通信原理软件实验_第3页
通信原理软件实验_第4页
通信原理软件实验_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、实 验 报 告课程名称通信原理实验项目名称通信原理软件实验实验类型实验学时班级学号姓名指导教师实验室名称实验时间实验成绩实验原理(1分)实验步骤(2分)实验结果(2分)总成绩教师签字日期哈尔滨工程大学教务处 制通信原理软件仿真实验一、实验题目1、基带码型仿真1) 通过仿真观察占空比为50%、75%以及100%的单、双极性归零码波形以及其功率谱,分析不同占空比对仿真结果的影响。2) 通过仿真产生一随机消息码序列,将其分别转换为AMI码和HDB3码,观察它们的波形及其功率谱密度。2、 数字带通调制仿真设计一个采用2DPSK调制的数字通信系统:产生二进制随机数据,并仿真其对应的2DPSK调制波形,分

2、析其频谱。所产生的调制波形加入不同信噪比的白噪声,选取合适的接收方案,画出系统误码率曲线,并与理论误码率进行对比。2、 实验基本原理1、基带码型仿真想要产生不同占空比的单、双极性归零码波形,首先要确定码元序列,其次要对码元序列进行采样并输出到图表上。确定码元序列的原理很简单,对于单极性码元,只需要产生一系列随机数并判断随机数是否大于零即可。若大于等于零则码元为1,若小于零则码元为0。对于双极性码元,可以通过判断随机数的极性来产生码元。AMI码为传号交替反转码,为1反转,否则归零。而HDB3码则是在AMI的基础上进行变换。通过检测4个及以上的连零来插入破坏符号(V)。倘若两个相邻破坏符号间的非零

3、符号有偶数个时,还要插入B符号。2、数字带通调制仿真2DPSK数字调制系统的调制过程可以认为成差分双极性非归零矩形脉冲与高频载波的乘积。至于解调过程,我在本次实验中选取的为相位比较法。基本原理是将接收到的调制波形延迟一个码元周期,再与未延迟的调制波形相乘,分析该信号,从而解调码元。3、 仿真方案1、基带码型仿真2、数字带通调制仿真4、 实验结果1、基带码型仿真1)占空比为0.5占空比为0.75占空比为1分析:由实验结果可知,随着占空比的增大,码元信号的直流分量会逐渐增多,频谱变窄。而且,相较于单极性,双极性的功率谱要更宽一些。2)(参数:HDB3码中V为1.5,B为2)分析:通过以上实验结果可

4、见,AMI和HDB3码波形正确,而二者的功率谱在如此有限的码元数量内看不出来太多的区别。相比之下,HDB3的功率谱成分要更复杂,更多。2、数字带通调制仿真上图为综合了调制和解调结果的总图。(仅取了一种信噪比)分析可得:调制完成后的2DPSK波形是正确的,叠加噪声后,送入解调器,得到的码元序列如图,可见解调结果还是比较正确和稳定的。上图为选取了100000个码元情况下的解调器信噪比和误码率之间的关系。欲要求误码率在,则只需保证信噪比即可。上图为选取100000个码元情况下的误码率理论曲线。可见仿真得到的曲线要比理论曲线的误码率更小。原因可能是该处的信噪比较小,与书中理论公式所要求的大信噪比条件不

5、符,故而误差较大。5、 程序源代码1、单双极性码元序列及可调的占空比:function output_args = exam_1( D )L=64;%每码元采样点数N=512;%采样点数M=N/L;%码元数Rs=2;%码元速率(个)/sTs=1/Rs;%比特间隔fs=L/Ts;%采样速率T=N/fs;%截短时间t=-(T/2):1/fs:(T/2-1/fs);%时域采样点fin=zeros(1,N);fin1=zeros(1,N);for loop=1:1000 a=(randn(1,M)0);%产生单极性数据 a1=sign(randn(1,M);%产生双极性数据 tmp=zeros(L,M

6、); tmp1=zeros(L,M); L1=L*D;%D是占空比 tmp(1:L1,:)=ones(L1,1)*a; tmp1(1:L1,:)=ones(L1,1)*a1; s=tmp(:); s1=tmp1(:); f,S=T2F(t,s); f1,S1=T2F(t,s1); P=abs(S).2/T;%样本信号的功率谱密度 P1=abs(S1).2/T; fin=fin*(1-1/loop)+P/loop; fin1=fin1*(1-1/loop)+P1/loop; endsubplot(2,2,1)plot(t,s);axis(-2,2,-2,2);title(单极性);grid on

7、; subplot(2,2,2)plot(t,s1);axis(-2,2,-2,2);title(双极性);grid on; subplot(2,2,3)plot(f,fin);title(单极性功率谱); subplot(2,2,4)plot(f1,fin1);title(双极性功率谱); end 2、AMI和HDB3码的产生:function output_args = AMI_HDB3( D )L=64;%每码元采样点数N=1280;%采样点数M=N/L;%码元数Rs=2;%码元速率(个)/sTs=1/Rs;%比特间隔fs=L/Ts;%采样速率T=N/fs;%截短时间t=-(T/2):1

8、/fs:(T/2-1/fs);%时域采样点 tmp=zeros(L,M);a=(randn(1,M)0);%产生单极性数据L1=L*D;%D是占空比tmp(1:L1,:)=ones(L1,1)*a;s=tmp(:); a_AMI=zeros(1,M);k=1;m=0;tmp_AMI=zeros(L,M);%产生AMI码元数据for i=1:M if(a(i)=1) if(k=1) a_AMI(i)=1; m=i; k=k+1; else a_AMI(i)=-a_AMI(m); m=i; k=k+1; end else a_AMI(i)=0; endendtmp_AMI(1:L1,:)=ones

9、(L1,1)*a_AMI;s_AMI=tmp_AMI(:); %产生HDB3码数据a_HDB3=a_AMI;V=1.5;B=2;m=0;k0=0;%连零计数f0=0;%V之间的非零计数v0=0;%V计数flag=0;%是否有B出现for i=1:M a_HDB3(i)=a_HDB3(i)*(-1)(flag); if(a_HDB3(i)=0) k0=k0+1; if(k0=4) if(m=0) a_HDB3(i)=V; k0=0; v0=1; f0=0; else a_HDB3(i)=a_HDB3(m)*V; v0=v0+1; k0=0; if(v0=1) f0=0; else if(mod(

10、f0,2)=0) f0=0; i1=m+1; a_HDB3(i1)=-a_HDB3(m)*B; i1=m+4; a_HDB3(i1)=sign(a_HDB3(m+1)*V; flag=flag+1; else f0=0; end end end end else k0=0; f0=f0+1; m=i; end endtmp_HDB3=zeros(L,M);tmp_HDB3(1:L1,:)=ones(L1,1)*a_HDB3;s_HDB3=tmp_HDB3(:); %求取功率谱f,S_AMI=T2F(t,s_AMI);f1,S_HDB3=T2F(t,s_HDB3);P=abs(S_AMI).2/

11、T;P1=abs(S_HDB3).2/T; figure(1) subplot(3,1,1)plot(t,s);axis(-5,5,-2,2);title(单极性);grid on; subplot(3,1,2)plot(t,s_AMI);axis(-5,5,-2,2);title(AMI码);grid on; subplot(3,1,3)plot(t,s_HDB3);axis(-5,5,-2,2);title(HDB3码);grid on; figure(2) subplot(2,1,1)plot(f,P);title(AMI码功率谱);grid on; subplot(2,1,2)plot

12、(f1,P1);title(HDB3码功率谱);grid on;end 3、2DPSK调制:function wm,xzb = DPSK( D,M )L=64;%每码元采样点数N=L*M;%采样点数% M=N/L;Rs=2;%码元速率(个)/sTs=1/Rs;%比特间隔fs=L/Ts;%采样速率T=N/fs;%截短时间t=-(T/2):1/fs:(T/2-1/fs);%时域采样点f0=2;zb=cos(2*pi*f0*t-pi/2);%产生载波数据 tmp=zeros(L,M);a=(randn(1,M)0);%产生单极性数据L1=L*1;tmp(1:L1,:)=ones(L1,1)*a;s=

13、tmp(:); a_AMI=zeros(1,M);tmp_AMI=zeros(L,M);a_AMI(1)=1;%产生差分双极性非归零码元数据for i=2:M if(a(i)=1) a_AMI(i)=-a_AMI(i-1); else a_AMI(i)=a_AMI(i-1); endendtmp_AMI(1:L1,:)=ones(L1,1)*a_AMI;s_AMI=tmp_AMI(:); s_jt=zeros(1,N);tz_DPSK=s_AMI.*zb;%产生调制波形noise=randn(1,N)*D;%D为噪声比例P_noise=(sum(noise.2)/T;%求出噪声功率P_sig=

14、(sum(tz_DPSK.2)/T;%求出信号功率tz_noise=tz_DPSK+noise;%加入噪声xzb=P_sig/P_noise; for n=65:N s_jt(n)=tz_noise(n-64);endjt_DPSK=s_jt;%产生解调波形(携带噪声) %-相位比较法解调-fx=tz_noise.*jt_DPSK;jt_sig=zeros(1,N);%解调出的码元数据jt=zeros(1,M);%解调出的码元序列for loop=1:N if(fx(loop)cnt1) jt(m)=0; m=m+1; cnt0=0; cnt1=0; else jt(m)=1; m=m+1;

15、cnt0=0; cnt1=0; end end else cnt1=cnt1+1; k=k+1; if(k=65) k=1; if(cnt0cnt1) jt(m)=0; m=m+1; cnt0=0; cnt1=0; else jt(m)=1; m=m+1; cnt0=0; cnt1=0; end end endendtmp_DPSK=zeros(L,M);tmp_DPSK(1:L1,:)=ones(L1,1)*jt;s_DPSK=tmp_DPSK(:); %计算误码率x1=0;for x=1:M if(jt(x)=a(x) x1=x1+1; endendwm=x1/M; figure(1) s

16、ubplot(4,1,1)plot(t,s);axis(-T/2,T/2,-2,2);title(单极性码元);grid on; subplot(4,1,2)plot(t,tz_DPSK);axis(-T/2,T/2,-2,2);title(2DPSK调制波形);grid on; subplot(4,1,3)plot(t,tz_noise);title(2DPSK调制波形+噪声 信噪比=,num2str(xzb);grid on; subplot(4,1,4)plot(t,s_DPSK);axis(-T/2,T/2,-2,2);title(相位比较法解调出的码元 误码率(dB)=,num2str(wm);grid on;end 3、计算误码率图表:function output_args = cul( M )h=waitbar(0,Please wait.);%创建进度条P=19; x=zeros(1,P);y=zeros(1,P);k=1;for i=1:-0.02:0.64 wm,

温馨提示

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

评论

0/150

提交评论