ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:778.62KB ,
资源ID:12387645      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12387645.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信原理实验报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

通信原理实验报告.docx

1、通信原理实验报告 信息科学与工程学院 课程设计报告书 课 题: 通信原理 班 级: 学 号: 姓 名: 指导教师: 郭 丽 梅 二一 年 十 月 目录-2 一、课程设计目的-3 二、课程设计题目-3 三、课程设计实验原理-3 四、建立模型描述-6 五、模块功能分析及源程序代码-6 六、调试过程及结论-22 七、调试分析-34 八、基于MATLAB的MASK、MFSK、MPSK调制拓展(M=4;M=8)-34 九、心得体会-40 十、参考文献-41摘要: 通信原理是通信工程专业相当重要的学科,对日后就业和科研有重大的意义,通过MATLAB,我们可以清晰地理解通信原理中难以理解的一面,对理论的知识

2、加以深化。关键字: MATLAB 通信原理 GUI 序列 频谱 相位 相干 非相干一、 课程设计题目1)、应用MATLAB编制信号生成程序,并对信号进行HDB3编码和译码。 2)、课程设计需要运用MATLAB编程实现2ASK,2FSK,2PSK,2DPSK调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。 二、课程设计目的 通信原理是一门以算法为核心,理论和实践性较强的学科。是电子信息工程、通信工程专业、电子信息科学与技术专业的一门重要的专业技术基础课。通信原理课程设计是在学习完通信原理的相关理论后,进行的综合性训练课程,其目的是:1使学生进一步巩固通信原理的基本概念、理论、分析方

3、法和实现方法;2增强学生应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问 题的能力;3. 全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好 地结合起来;4提高综合运用所学知识独立分析和解决问题的能力;5熟练使用一种高级语言进行编程实现。 三、课程设计实验原理1.HDB3编码解码原理HDB3码:三阶高密度双极性码。 HDB3码与二进制序列的关系: (1)二进制信号序列中的“0”码在HDB3码中仍编为“0”码,二进制信号中“1”码,在HDB3码中应交替地成+1和-1码,但序列中出现四个连“0”码时应按特殊规律编码(引入传号交替反转码的“破坏点”V码); (2)二进

4、制序列中四个连“0”按以下规则编码:信码中出现四个连“0”码时,要将这四个连“0”码用000V或B00V取代节来代替(B和V也是“1”码,可正、可负)。这两个取代节选取原则是,使任意两个相邻v脉冲间的传号数为奇数时选用000V取代节,偶数时则选用B00V取代节。2.二进制数字调制技术原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。通常使用键控法来实现数字调制,比如

5、对载波的振幅、频率和相位进行键控。 (1)2ASK信号的产生方法通常有两种:模拟调制和键控法。解调有相干解调和非相干解调。P=1时f(t)=Acoswt;p=0时f(t)=0;其功率谱密度是基带信号功率谱的线性搬移。解调原理图图1 2ASK非相干解调接收系统 图2 2ASK相干解调接收系统 (2) 一个2FSK信号可以看成是两个不同载波的2ASK信号的叠加。其解调和解调方法和ASK差不多。2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。解调原理图 图3 2FSK相干解调接收系统 图4 2FSK非相干解调接收系统 (3) 2PSK以载波的相位变化作为参考基准的,当基带信号为0时相

6、位相对于初始相位为0, 当基带信号为1时相对于初始相位为180。 (4) 2DPSK调制原理方框图如下图:S(t) 图5 间接法信号调制器原理方框图2DPSK信号的解调,主要有两种方法,即相位比较法和相干解调法。相干解调法原理方框图如下图:图6 相干解调法原理方框图 四、建立模型描述 用MATLAB实现二进制振幅键控(2ASK)的调制和解调在这里用MATLAB函数来对这个二进制振幅键控(2ASK)来实现调制与解调的仿真。二进制振幅键信号可以表示完成一个单极性矩形脉冲序列与一个正弦型载波的乘积。通常它的调制方法有两种,即模拟幅度调制方法和键控方法,在MATLAB里我们采用模拟幅度调制的方法,解调

7、采用相干解调(包络检波法)的方式。我们用SOURCE函数来产生一个原始二进制基带信号,即一个单矩形脉冲序列。以askModu函数来进行模拟幅度调制,得到一个已调2ASK信号,并用此函数进行此2ASK信号的频谱分析。然后用gussian函数加入加性高斯白噪声,再用demoASK函数进行想干解调并分别输出各点的输出波形,最后经过抽样判决后得出输出波形。同时我们用CheckRatePe函数来得出误码率,最后运行主函数ASK_main可以看到各种波形。用MATLAB函数来对2FSK、2PSK、2DPSK实现调制与解调的仿真与2ASK的调制与解调过程的仿真类似。 五、 模块功能分析及源程序代码5.1 H

8、DB3码的编码和译码global xxn=x;yn=xn;num=0; %计数器初始化for k=1:length(xn) if xn(k)=1 %1的计数器 num=num+1; if num/2=fix(num/2) %奇数个一时输出-1,进行记性交替 yn(k)=1; else yn(k)=-1; end endend%HDB3编码num=0;yh=yn;sign=0;v=zeros(1,length(yn);B=zeros(1,length(yn);% B脉冲位置记录for k=1:length(yn) if yn(k)=0 num=num+1;%连0个数计数 if num=4 %如果

9、4连0 num=0; %计数器清零 yh(k)=1*yh(k-4);%最后一个0改变与前一个非零符号同极性 v(k)=yh(k); if yh(k)=sign%如果当前V与前一个极性相同 yh(k)=-1* yh(k);%则当前V符号极性反转, yh(k-3)= yh(k);%添加B脉冲 B(k-3)= yh(k);%B脉冲位置 v(k)= yh(k);%V脉冲位置 yh(k+1:length(yn)=-1* yh(k+1:length(yn); end sign=yh(k); %计算前一个V符号的极性 end else num=0;%当前输入为0,则计数器清零 endendre=xn,yn,

10、yh,v,B;%HDB3解码input=yh;decode=input;sign=0; %极性标志初始化for k=1:length(yh) if input(k)=0 if sign=yh(k)%如果当前码与前一个非零码的极性相同 decode(k-3:k)=0 0 0 0; end sign=input(k);%极性标志 endend decode=abs(decode); subplot(3,1,1);stairs(xn);axis(1 length(xn) -2 2); grid; ylabel(xn);title(HDB3 码的编码前图形);subplot(3,1,2);stairs

11、(yh);axis(1 length(xn) -2 2); grid; ylabel(HDB3 codes);title(HDB3 码的编码后(解码前)图形);subplot(3,1,3);stairs(decode);axis(1 length(xn) -2 2); grid; ylabel(decoded xn);title(HDB3 码的解码后图形); code1=yh;decode1=decode; 5.2 ASK的调制与解调 5.2.1 source函数function sendSignal=source(n,N) sendSignal=randint(1,n) bit=; for

12、i=1:length(sendSignal) if sendSignal(i)=0 bit1=zeros(1,N); else bit1=ones(1,N); end bit=bit,bit1; end figure(1) plot(1:length(bit),bit),title(发送端二进制波形),grid on; axis(0,N*length(sendSignal),-2,2);end5.2.2 askModu函数源程序function transmittedSignal=askModu(signal,bitRate,fc,N) %signal=1 0 1 0 1 0 0 1;% bi

13、tRate=1000000;% fc=1000000;% N=32; t=linspace(0,1/bitRate,N); c=sin(2*pi*t*fc); transmittedSignal=; for i=1:length(signal) transmittedSignal=transmittedSignal,signal(i)*c; endfigure(2) plot(1:length(transmittedSignal),transmittedSignal);title(ASK调制波形 );grid on;figure(3)m=0:length(transmittedSignal)-

14、1;F=fft(transmittedSignal);plot(m,abs(real(F),title(ASK仿真频谱分析);grid on;%figure(4)%plot(m,imag(F);title(ASK_frequency-domain analysis imag);%grid on;End5.2.3 gussian函数源程序function signal=gussian(transmittedSignal,noise) signal=sqrt(2)*transmittedSignal; signal=awgn(signal,noise); figure(5) plot(1:leng

15、th(signal),signal); title(包含噪声的波形),grid on;end5.2.4 CheckRatepe函数源程序function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2 if(signal1(ki)=signal2(ki) rights=rights+1; else wrongs=wrongs+1; endendPeWrong=wrongs/(wrongs+rights);End5.2.5 demoASK函数源程序function bitstream=demoASK(rec

16、eivedSignal,bitRate,fc,n,N) load num signal1=receivedSignal; signal2=abs(signal1); %整流 signal3=filter(num1,1,signal2); %LPF,包络检波 IN=fix(length(num1)/2); %延迟时间 bitstream=; LL=fc/bitRate*N; i=IN+LL/2; while (i=0.5; i=i+LL; end figure(6) subplot(3,1,1); plot(1:length(signal1),signal1);title(接收端波形(包含噪声)

17、;grid on; subplot(3,1,2); plot(1:length(signal2),signal2);title(整流之后的波形);grid on; subplot(3,1,3); plot(1:length(signal3),signal3);title(LPF滤波后的包络波形);grid on; bit=; for i=1:length(bitstream) if bitstream(i)=0 bit1=zeros(1,N); else bit1=ones(1,N); end bit=bit,bit1; end figure(7) plot(bit),title(接收端二进制

18、波形),grid on; axis(0,N*length(bitstream),-2.5,2.5);end5.2.6 ASK_main函数源程序close allclear all%ti=0;fpeask=;startn=-6;endn=18;for ti=startn:endnn=1000;%n=16;fc=1000000; %fc=bitRate fc/bitRate为每个包含sin周期个数bitRate=1000000;N=50;%noise=ti;noise=10;signal=source(n,N);transmittedSignal=askModu(signal,bitRate,f

19、c,N);signal1=gussian(transmittedSignal,noise);configueSignal=demoASK(signal1,bitRate,fc,n,N);%configueSignal;P=CheckRatePe(signal,configueSignal,n)fpeask=fpeask,P;endfigure(8);semilogy(startn:length(fpeask)+startn-1,fpeask);grid on;title(ASK误码率 );xlabel(r/dB);ylabel(PeASK);save PeRate.mat fpeask% 5.

20、3 FSK的调制与解调 5.3.1 source函数function sendSignal=source(n,N) sendSignal=randint(1,n) bit=; for i=1:length(sendSignal) if sendSignal(i)=0 bit1=zeros(1,N); else bit1=ones(1,N); end bit=bit,bit1; end figure(1) plot(bit),title(发送端二进制波形),grid on; axis(0,N*length(sendSignal),-2.5,2.5);end5.3.2 FskModu函数源程序fu

21、nction transmittedSignal=fskModu(signal,bitRate,f1,f2,N) t=linspace(0,1/bitRate,N); c1=sin(2*pi*t*f1); c2=sin(2*pi*t*f2); transmittedSignal=; for i=1:length(signal) if signal(i)=1 transmittedSignal=transmittedSignal,c1; else transmittedSignal=transmittedSignal,c2; end endfigure(2) plot(1:length(tran

22、smittedSignal),transmittedSignal);title(FSK调制波形);grid on;figure(3)m=0:length(transmittedSignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F),title(FSK仿真频谱分析);grid on;end5.3.3 gussian函数源程序function signal=gussian(transmittedSignal,noise) signal=sqrt(2)*transmittedSignal; signal=awgn(signal,noise); fi

23、gure(4) plot(1:length(signal),signal),title(包含噪声的波形); grid on;end5.3.4 CheckRatepe函数源程序function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2 if(signal1(ki)=signal2(ki) rights=rights+1; else wrongs=wrongs+1; endendPeWrong=wrongs/(wrongs+rights);end5.3.5 demoFSK函数源程序function bi

24、tstream=demoFSK(receivedSignal,bitRate,f1,f2,N) load FSKnum signal1=receivedSignal; signal2=filter(gaotong,1,signal1); %通过HPF,得到高频分量 signal3=abs(signal2); %整流 signal3=filter(lowpass,1,signal3); %通过LPF,形成包络 bitstream=; IN1=fix(length(lowpass)/2)+fix(length(gaotong)/2); %延迟时间 bitstream1=; LL=N; %每个bit

25、的抽样点数 i=IN1 +LL/2; while (i=0.5; i=i+LL; end bitstream1 figure(5) subplot(3,1,1); plot(1:length(signal1),signal1);title(接收端波形(包含噪声);grid on; subplot(3,1,2); plot(1:length(signal2),signal2);title(通过HPF得到的高频分量波形);grid on; subplot(3,1,3); plot(1:length(signal3),signal3);title(通过LPF后的包络波形);grid on; sign

26、al4=filter(daitong,1,signal1); %通过BPF,得到低频分量 signal5=abs(signal4); %整流 signal5=filter(lowpass,1,signal5); %通过LPF,形成包络 IN2=fix(length(lowpass)/2)+fix(length(daitong)/2); %延迟时间 bitstream2=; LL=N; %每个bit的抽样点数 i=IN2 +LL/2; while (i=0.5; i=i+LL; end bitstream2 figure(6) subplot(3,1,1); plot(1:length(sign

27、al1),signal1);title(接收端波形(包含噪声);grid on; subplot(3,1,2); plot(1:length(signal4),signal4);title(通过BPF得的低频分量波形);grid on; subplot(3,1,3); plot(1:length(signal5),signal5);title(通过LPF后的包络波形);grid on; for i=1:min(length(bitstream1),length(bitstream2) %判决 if(bitstream1(i)bitstream2(i) bitstream(i)=1; else

28、bitstream(i)=0; end end bitstream bit=; %接收端波形 for i=1:length(bitstream) if bitstream(i)=0 bit1=zeros(1,N); else bit1=ones(1,N); end bit=bit,bit1; end figure(7) plot(bit),title(接收端波形(解调后波形)),grid on; axis(0,N*length(bitstream),-2.5,2.5); end 5.3.6 FSK_main函数源程序close allclear all%ti=0;fpefsk=;startn=-6;endn=18;for ti=startn:endnn=1000;%n=16

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1