通信原理设计性实验报告Matlab的数字通信系统仿真毕业设计论文word格式_第1页
通信原理设计性实验报告Matlab的数字通信系统仿真毕业设计论文word格式_第2页
通信原理设计性实验报告Matlab的数字通信系统仿真毕业设计论文word格式_第3页
通信原理设计性实验报告Matlab的数字通信系统仿真毕业设计论文word格式_第4页
通信原理设计性实验报告Matlab的数字通信系统仿真毕业设计论文word格式_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、通信技术综合课程设计设计报告课题名称: 指导老师: 专业班级: 姓 名: 学 号: 起止时间: 重庆交通大学计算机与信息学院目 录一、课题内容2二、设计目的2三、设计要求2四、实验条件2五、系统设计21、通信系统的原理22. 所设计子系统的原理3六、详细设计与编码51. 设计方案52. 编程工具的选择53. 编码与测试64.运行结果及分析10七、设计心得.13八、参考文献.13一、课题内容本课题是基于的数字通信系统仿真二、设计目的1. 综合应用Matlab原理及应用、信号与系统、现代通信原理、无线通信原理及应用等多门课程知识,使学生建立通信系统的整体概念2. 培养学生系统设计与系统开发的思想;

2、3. 培养学生利用软件进行通信仿真的能力三、设计要求1.对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图2.提出仿真方案3.完成仿真软件的编制4.仿真软件的演示四、实验条件上网的计算机、Matlab软件五、系统设计1、通信系统的原理要仿真的数字通信系统包括三个部分:图1 数字通信系统信源编码的作用就是将模拟或数字信号转换为二进制数字序列,它的目的在于尽量减少信号的冗余,让通信能够以最少的开销传输更多的信息。信道编码的行为恰好与信源编码相反,它将信息序列中添加适当的冗余性,使得通信系统能够纠正一定程度上的传输出错,增加通信系统的可靠性。要将数字信号

3、通过一定的形式发送出去,就需要调制技术,并采用这些调制技术的通信系统进行仿真。一个数字通信系统的性能主要由传输速率和通信出错的概率衡量。信息传输速率用语衡量一个数字通信系统的有效性,这方面的具体指标有波特率和比特率,波特率是住系统没秒传诵分得码元个数,比特率是只系统没秒传诵台信息比特数。(说明:我主要负责数字调制与解调传输中的FSK与BPSK2的部分,另外加上一个QAM)2. 所设计子系统的原理在一个实际通信问题中,信道往往都是带通的,要在这种情况下进行通信,就必须对包含有信息的信号进行调制,把它的频谱搬移到信道的频带之内,然后将调制后的信号通过信道进行传输;相应的,在接收端要对收到的信号进行

4、解调,才能得到进行通信的原始信号。(1) FSKFSK的解调过程比较特殊,它使用一个信号向量来匹配已调制信号,解调过程计算接收信号与信号向量的相关度,并据此判断最有可能的码符。用载波频率的变化来表征被传信息的状态FSK信号的一般时域数学表达式为: 式中, 是2FSK信号的产生通常有两种方式:(1)频率选择法;(2)载波调频法。由于频率选择法产生的2FSK信号为两个彼此独立的载波振荡器输出信号之和,在二进制码元状态转换(或)时刻,2FSK信号的相位通常是不连续的,这会不利于已调信号功率谱旁瓣分量的收敛。载波调频法是在一个直接调频器中产生2FSK信号,这时的已调信号出自同一个振荡器,信号相位在载频

5、变化时始终是连续的,这将有利于已调信号功率谱旁瓣分量的收敛,使信号功率更集中于信号带宽内。因此我们选用频率选择法调制,其原理图如下:图2 2FSK信号产生原理图(2)BPSK2BPSK2的调制过程与FSK的类似,通过计算输入信号与一组载波的相关度来实现。(3)QAM式中,Tb为玛元宽度,Am和Bm为离散的振幅值,m=1、2、,M,M为Am和Bm的个数。 式中A是固定的振幅,与信号的平均功率有关,(dm,em)表示QAM调制信号矢量殿点在信号空间的坐标,由输入数据决定。图3 QAM 调制原框图图4 QAM解调框图六、详细设计与编码1. 设计方案(1)分组情况在这次课程设计中,我小组经过讨论决定由

6、一人做格式化和信源译码,另两人做数字调制与解调传输,又将其中的4个载波调制技术(FSK、ASK、BPSK1、BPSK2)分为2部分,每人做一个部分,而我负责的就是数字调制与解调传输中的FSK与BPSK2的部分,另外再加上自己写的QAM,最后将三人做的部分综合起来。(2)编程的流程图图5 数字调制过程 (3)设计思路:先利用一个均匀分布的随即信源产生大量的随即信号,然后信号通过信道,信号将受到噪声的影响。在接受端,将通过信道后的信号通过一个最佳接受机进行接收判决,就得到接收到的信号,将这个信号与圆心好相比,就可以得到通信误码率。2. 编程工具的选择本次仿真选择的是MATLAB软件。MATLAB软

7、件是国际上公认的功能最强大的数值计算和仿真软件之一。其软件包的主要特点有: 1)它是一种解释性语言,采用了工程技术的计算语言,几乎与数学表达式相同,语言中的基本元素是矩阵,它提供了各种矩阵的运算和操作,并且具有符号计算、数学和文字统一处理、离线和在线计算等功能。2)具有较强的绘图功能,计算结果和编程可视化。3)具有很强的开放性,针对不同的应用学科,3. 编码与测试(1)FSKfigure(1);N = 100;noise_amp = 3;signal_set = 'fsk'bits = '1', '0', '1', '0&

8、#39;, '0', '1'signal1 = sqrt(2)*sin(2*pi*2*0:N-1/N);signal0 = sqrt(2)*sin(2*pi*3*0:N-1/N); color0='r'color1='g'x = ; xcolor = ;%disp(length(bits);for n=1:length(bits)x=x eval(strcat('signal',bits(n); % 0/1 二进制xcolor = xcolor eval(strcat('color',bits(n)

9、;% disp(x);% disp(xcolor)end% Send signal through white noise channel r=x%r = x + noise_amp*randn(1,length(x); %信道噪声% Run matched filters,利用匹配滤波器进行解调y1=filter(signal1(N:-1:1),1,r);%求通过滤波器的信号y0=filter(signal0(N:-1:1),1,r);% Graphicssubplot(211)t=0:length(r)-1;plot(t,r,'k');hold ona = axis;xp=

10、x*(0.75*max(abs(a(3) a(4)/max(x);for n=1:length(bits)plot(t(n-1)*N+1:n*N),xp(n-1)*N+1:n*N),xcolor(n) '-');h = text(n-1)*N+N/2,max(xp),bits(n);set(h,'fontsize',16);set(h,'color',xcolor(n);end%for n=N*1:length(bits),h=line(n n,a(3:4);set(h,'linestyle','-');endh=

11、title('Received signal');set(h,'fontsize',18);hold offsubplot(212)plot(t,y0,color0,t,y1,color1)a = axis;for n=1:length(bits)if y1(n*N)>= y0(n*N)h = text(n*N-10,.75*a(4),'1');set(h,'fontsize',16);set(h,'color',color1);if bits(n) = '0'set(h,'fontw

12、eight','bold');endelse h = text(n*N-10,.75*a(4),'0');set(h,'fontsize',16);set(h,'color',color0);if bits(n) = '1'set(h,'fontweight','bold');end endendfor n=N*1:length(bits),h=line(n n,a(3:4);set(h,'linestyle','-');endh=title(

13、'Matched Filter Output');set(h,'fontsize',18);%figure2是接收端的误码率% Compute Pre curves 计算误码率%figure(2)snrdb = -10:.5:12;snr = 10.(snrdb/10);p_bpsk = Qfunct(sqrt(2*snr);%需要编写函数Qfunct()p_fsk = Qfunct(sqrt(snr);h=semilogy(snrdb,p_bpsk,snrdb,p_fsk,'r-');grid;axis(-10 12 10(-8) 1)set(

14、gca,'fontsize',18);h=xlabel('Signal-to-Noise Ratio (dB)');set(h,'fontsize',18);h=ylabel('Bit Error Probability');set(h,'fontsize',18);legend('BPSK','FSK');(2)BPSK2figure(1);N = 100;noise_amp = 3;signal_set = 'bpsk2'bits = '1', &

15、#39;0', '1', '0', '0', '1'if strcmp(signal_set, 'bpsk2') signal1 = sqrt(2)*sin(2*pi*2*0:N-1/N); signal0 = -signal1; elseperror(sprintf('Unknown signal set %sn',signal_set);endcolor0='g'color1='b'x = ; xcolor = ;%disp(length(bits);fo

16、r n=1:length(bits)x=x eval(strcat('signal',bits(n); % 0/1 二进制xcolor = xcolor eval(strcat('color',bits(n);% disp(x);% disp(xcolor)end% Send signal through white noise channel r=x%r = x + noise_amp*randn(1,length(x); %信道噪声% Run matched filters,利用匹配滤波器进行解调y1=filter(signal1(N:-1:1),1,r);

17、%求通过滤波器的信号y0=filter(signal0(N:-1:1),1,r);% Graphicssubplot(211)t=0:length(r)-1;plot(t,r,'k');hold ona = axis;xp=x*(0.75*max(abs(a(3) a(4)/max(x);for n=1:length(bits)plot(t(n-1)*N+1:n*N),xp(n-1)*N+1:n*N),xcolor(n) '-');h = text(n-1)*N+N/2,max(xp),bits(n);set(h,'fontsize',16);s

18、et(h,'color',xcolor(n);end%for n=N*1:length(bits),h=line(n n,a(3:4);set(h,'linestyle','-');endh=title('Received signal');set(h,'fontsize',18);hold offsubplot(212)plot(t,y0,color0,t,y1,color1)a = axis;for n=1:length(bits)if y1(n*N)>= y0(n*N)h = text(n*N-10,.

19、75*a(4),'1');set(h,'fontsize',16);set(h,'color',color1);if bits(n) = '0'set(h,'fontweight','bold');endelse h = text(n*N-10,.75*a(4),'0');set(h,'fontsize',16);set(h,'color',color0);if bits(n) = '1'set(h,'fontweight

20、9;,'bold');endendendfor n=N*1:length(bits),h=line(n n,a(3:4);set(h,'linestyle','-');endh=title('Matched Filter Output');set(h,'fontsize',18);%figure2是接收端的误码率% Compute Pre curves 计算误码率%figure(2)snrdb = -10:.5:12;snr = 10.(snrdb/10);p_bpsk = Qfunct(sqrt(2*snr);%

21、需要编写函数Qfunct()p_fsk = Qfunct(sqrt(snr);h=semilogy(snrdb,p_bpsk,snrdb,p_fsk,'r-');grid;axis(-10 12 10(-8) 1)set(gca,'fontsize',18);h=xlabel('Signal-to-Noise Ratio (dB)');set(h,'fontsize',18);h=ylabel('Bit Error Probability');set(h,'fontsize',18);legend(

22、'BPSK','FSK');(3)需要的小函数function y=Qfunct(x) %Q函数,在接收端求误码率时使用y=1/2 *erfc(x/sqrt(2);%max_bound=1000;%fun=inline('1/sqrt(2*pi)*exp(-x.2/2)');%Q_return_value=quad(fun,alpha,max_bound);(4)QAMclear;Fd=10; %消息序列的采样速率Fs=3*Fd; %已调纤毫的采样速率M=16; SNR_db=0:12; %仿真信噪比范围SNR1_db=0:0.1:12; %理论

23、计算信噪比范围for n=1:length(SNR_db) Eb_N0=10(SNR_db(n)/10); sgma=sqrt(5/(4*Eb_N0); %nc、ns的均方差 x=randint(10000,1,M); %产生随即消息序列 y=dmodce(x,Fd,Fs,'qask',M); %QAM调制 ynoise=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+j*randn(length(y),1); %加入噪声 z=ddemodce(ynoise,Fd,Fs,'qask',M); %解调 numbers,pe(n)=sy

24、merr(x,z); %计算误符号率end;for m=1:length(SNR1_db) %计算理论误码率 Eb_N0=10(SNR1_db(m)/10); sq_M=sqrt(M); temp=Qfunct(sqrt(Eb_N0*(3*(log2(M)/(M-1); pe_theory(m)=1-(1-(2*(sq_M-1)*temp)/sq_M)2;endsemilogy(SNR_db,pe,'*',SNR1_db,pe_theory); %作出图象xlabel('信噪比(dB)');ylabel('误码率(Pe)');legend('仿真得到的误符号率','理论符号误码曲线');(5)编译过程中出现的问题a. 对MATLAB的函数不熟悉,要想用某个函数的时候还要在书中查找函数,这样降低了整个编译过程的效率。b. 在编译完成后的运行中,系

温馨提示

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

评论

0/150

提交评论