收藏 分享(赏)

通信原理课程设计77312.doc

上传人:dzzj200808 文档编号:2305739 上传时间:2018-09-10 格式:DOC 页数:24 大小:931.47KB
下载 相关 举报
通信原理课程设计77312.doc_第1页
第1页 / 共24页
通信原理课程设计77312.doc_第2页
第2页 / 共24页
通信原理课程设计77312.doc_第3页
第3页 / 共24页
通信原理课程设计77312.doc_第4页
第4页 / 共24页
通信原理课程设计77312.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、通信原理课程设计姓名学号_班级目录一、目录 2二、任务书3三、具体内容及要求 43.1 题目一 43.1.1 题目内容 43.1.2 设计思想或方法 43.1.3 实现的功能或方法 43.1.4 程序流程图 43.1.5 程序代码 53.1.6 仿真框图 53.1.7 模块描述及参数设置 53.1.8 结果运行 103.1.9 结果分析 113.2 题目二 113.2.1 题目内容 113.2.2 设计思想或方法 11 3.2.2 程序流程图123.2.4 程序代码 133.2.5 仿真框图 133.2.6 模块描述及参数设置143.2.7 结果运行 203.2.8 结果分析 203.3 题目

2、三 203.3.1 题目内容 203.3.2 设计思想或方法203.2.3 程序流程图213.2.4 程序代码 213.2.5 结果运行 233.2.6 结果分析 23四、心得与体会23五、参考文献23通信原理课程设计任务书一、目的和要求:要求学生在熟练掌握MATLAB和simulink仿真使用的基础上,学会通信仿真系统的基本设计与调试。并结合通信原理的知识,对通信仿真系统进行性能分析。二、实验环境PC机、Matlab/Simulink三、具体内容及要求(1) 试用Matlab/Simulink研究BPSK在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;(2) 试用Matlab/Simu

3、link研究BPSK+信道编码(取汉明码)在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;分析不同码率对误码率性能的影响。(3) 试用Matlab 编程实现HDB3码的编解码过程,并画出1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0的原始、编码和解码图形。四、提交设计报告内容包括: 系统的基本原理框图以及每一个模块的作用; 系统Simulink 仿真过程中,每一个用到的模块中主要参数的意义; 仿真系统参数的设定和设定的依据; 仿真系统参数改变时,给仿真结果带来的影响(如高斯白噪声信道的信噪比增加,则误码率减小); 仿真程序(需要加注释)。 仿真的结果(

4、波形,误码率等)。五、主要参考文献及资料邵玉斌. Matlab/Simulink 通信系统建模与仿真实例分析 .清华大学出版社 2008 年李贺冰等,Simulink 通信仿真教程,国防工业出版社,2006 年 5 月。3.1、题目一3.1.1、题目内容试用 Matlab/Simulink 研究 BPSK 在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;3.1.2、设计思想或方法先用 Simulink 建立 BPSK 在加性高斯白噪声信道(无突发干扰)下的仿真模型,设置好每个模块的参数,编写主程序实现 BPSK 的输入,在程序运行过程中调用 BPSK 仿真模型,然后用 BitErrorR

5、ate 取在加性高斯白噪声信道下的误码率,最后画出 BPSK 在加性高斯白噪声信道下的误码率性能与信噪比之间的关系。3.1.3、实现的功能说明通过调用已建立的 BPSK 在加性高斯白噪声信道(无突发干扰)下的仿真模型,利用 Matlab 编程分析 BPSK 在加性高斯白噪声信道(无突发干扰)的误码率性能。3.1.4、程序流程图3.1.5、程序代码x=0:20; y=x; hold off;%取消原来的 图 M=2for i=1:length(x)SNR=x(i); %信道的信噪比依次取x中的元素sim(untitled1); %运行仿真程序,得到的误比特率保存在工作区变量 BitErrorRa

6、te中 y(i)=mean(BitErrorRate); %计算BitErrorRate的平均值作为本次仿真的误比 特率Endsemilogy(x,y,k,LineWidth,2); %对y 取对数画图hold on;xlabel(高斯白噪声信道中的SNR);ylabel(误码 率);title(BPSK的误码率曲线);hold on;grid on;%画网格3.1.6、仿真框图3.1.7、模块描述及参数设置Random Integer Generator (随机整数发生器)模块描述:采用该模块产生随机的二进制随机信号作为系统的信源。模块参数:Initial seed: 随机数种子,不同的随机

7、数种子通常产生不同的序列。Sample time:抽样时间,表示输出序列中每个二进制符号的持续时间。Frame-based outputs:选种表示输出为帧格式,否则输出数据流。Samples per frame:只有当 Frame-based outputs 选种后才可编辑此参数,它表示输出一帧中包含的抽样点数。此处表示 1 帧由 10000 个比特组成。Output data type:输出数据类型。BPSK Modulator Baseband (BPSK基带调制器)模块参数: Phase offset(rad):相位偏移AWGN Channel(高斯信道)模块描述:最 简 单 的 信

8、道 , 常 指 加 权 高 斯 白 噪 声 (AWGN)信 道 。 这 种 噪 声假 设 为 在 整 个 信 道 带 宽 下 功 率 谱 密 度 (PDF)为 常 数 , 并 且 振 幅 符 合 高 斯 概 率分 布 。模块参数:Initial seed: 随机数种子,不同的随机数种子通常产生不同的序列。SNR:信噪比。Input signal power,referenced to 1 ohm:输入信号功率 ,参考1欧姆。BPSK Demodulator Baseband(BPSK 基带解调器)模块参数:Phase offset(rad): 相位偏移Error Rate Calculatio

9、n(误码率计算)模块描述:通过比较传输数据和接收数据来计算误码率,模块的输出数据是长度为 n 的向量,其中每个元素的意义分别是:误码率或误比特率、总的错误个数、总的参加比较的符号或比特数。模块参数:Receive delay:指定接收方滞后发送的抽样点数,即接收的第几个值对应发送的第一个值。Computation delay:指定开始比较时模块忽略的抽样点数。Computation mode:指定模块是比较全部还是输入数据。Output data:指定计算结果是输出到工作区还是端口。Selector(信号选择器)模块描述:选择或重组信号,对输入矢量的元素进行有选择的输出。选择第一个,则输出误码

10、率;选择第二个,则输出误码个数;选择第三个,则输出全部码数。模块参数:Number of input dimensions:输入维数。Index mode: 索引模式,该模块默认从一开始的(one-based)。Input port size: 输入口大小。To Workspace(将输出数据写入到Matlab 的工作空间 )模块描述:将其输出写入工作空间。模块将其输出写入到一个由模块 Variable name 参数命名的矩阵或结构中。模块参数: Variable name:写入工作区间的数据名称,默认为 simout。Limit data points to last:模块最多可以保留的数

11、据个数, inf表示无穷 大。Decimation:写入数据的抽样频率,即每隔多少抽样点输入一个值。Sample time:写入数据的抽样时间,默认值为-1,表示与上一模块抽 样时间相同。Save format:将仿真输出保存到工作空间的格式,该模块是将输出保 存为为数组形式。3.1.8、运行结果3.1.9、结果分析在信道高斯白噪声的干扰下,数字调制系统的误码率取决于信噪比,BPSK 的误码率随着信噪比的增大而减小。3.2、题目二3.2.1、题目内容试用Matlab/Simulink研究BPSK+信道编码(取汉明码)在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;分析不同码率对误码率性能

12、的影响。3.2.2、设计思想或方法先用 Simulink 建立 BPSK 在加性高斯白噪声信道(无突发干扰)下的仿真模型,信道编码及解码方式,采用汉明码进行处理,设置好每个模块的参数,编写主程序实现 BPSK 的输入,在程序运行过程中调用 BPSK 仿真模型,然后用 BitErrorRate 取在加性高斯白噪声信道下的误码率,最后画出 BPSK 在加性高斯白噪声信道下的误码率性能与信噪比之间的关系曲线。3.2.3、程序流程图3.2.4、程序代码clc%x表示信噪比x=-2:1:8;y=zeros(size(x);%产生全零矩阵%信源产 生信号的 bit等于10000bit/sBitRate=1

13、0000;%循环执 行仿真程序MessageLength=4;CodewordLength=7;for i=1:length(x)SNR=x(i);sim(BPSK_Hamming);%运行仿真程序,得到的 误比特率保存在工作区变量BitErrorRate中y(i)=mean(BitErrorRate);%对矩阵中各列的误码率元素分别求平均值endsemilogy(x,y,-r);%y轴用对数标度,x轴用线性标度绘制图形hold on;MessageLength=11CodewordLength=15for i=1:length(x)SNR=x(i);sim(BPSK_Hamming);%调用

14、仿真程序y(i)=mean(BitErrorRate);%取平均值endsemilogy(x,y,-k); %y轴用对数标度,x 轴用线性标度绘制图形hold on;MessageLength=26CodewordLength=31for i=1:length(x)SNR=x(i);sim(BPSK_Hamming); %调用仿真程序y(i)=mean(BitErrorRate); %取平均值endsemilogy(x,y,-b); %y轴用对数标度,x 轴用线性标度绘制图形hold on;xlabel(信噪比 SNR(dB); ylabel(误码 率Pe); title(BPSK+汉明码的误

15、码率性能);legend(码率 =4/7,码率=11/15, 码率=26/31)% 给图形加注解axis(-2 8 1e-6 1);%坐标轴grid on; %画网格 线3.2.5、仿真框图3.2.6、模块描述及参数设置Random Integer Generator(随机整数发电器)模块描述:采用该模块产生随机的二进制随机信号作为系统的信源模块参数:Initial seed:随机数种子,不同的随机数种子通常产生不同的序列。Sample time:抽样时间,表示输出序列中每个二进制符号的持续时间。Frame-based outputs:选种表示输出为帧格式,否则输出数据流。Samples pe

16、r frame:只有当 Frame-based outputs 选种后才可编辑此参数,它表示输出一帧中包含的抽样点数。此处表示 1 帧由MessageLength 个比特组成Output data type:输出数据类型。Hamming Encoder(汉明码编码器)模块描述:用于对输入信息进行汉明编码,汉明码是一种能够纠正一位错误的红性分组码,码长为 N。该信息位的长度为 K,其中,N=2M-1(M=3),K=N-M。模块参数:CodewordLength: 码长M-degree primitive polynomial:m 次本始多项式BPSK Modulator Baseband (BP

17、SK基带调制器)模块参数: Phase offset(rad):相位偏移AWGN Channel(高斯信道)模块描述:最 简 单 的 信 道 , 常 指 加 权 高 斯 白 噪 声 (AWGN)信 道 。 这 种 噪 声假 设 为 在 整 个 信 道 带 宽 下 功 率 谱 密 度 (PDF)为 常 数 , 并 且 振 幅 符 合 高 斯 概 率分 布 。模块参数:Initial seed: 随机数种子,不同的随机数种子通常产生不同的序列。SNR:信噪比。Input signal power,referenced to 1 ohm:输入信号功率 ,参考1欧姆。BPSK Demodulator

18、Baseband(BPSK 基带解调器)模块参数:Phase offset(rad): 相位偏移Hamming Decoder(汉明码解码器)模块描述:创建一个码长为 N,信息码长为 K 的汉明码。其中,N=2M-1(M=3),K=N-M。模块参数:此处的两个参数要与前面的 Hamming Encode 参数一致。Error Rate Calculation(误码率计算)模块描述:通过比较传输数据和接收数据来计算误码率,模块的输出数据是长度为 n 的向量,其中每个元素的意义分别是:误码率或误比物率、总的错误个数、总的参加比较的符号或比特数。模块参数:Receive delay:指定接收方滞后发

19、送的抽样点数,即接收的第几个值对应发送的第一个值。Computation delay:指定开始比较时模块忽略的抽样点数。Computation mode:指定模块是比较全部还是输入数据。Output data:指定计算结果是输出到工作区还是端口。Selector(信号选择器)模块描述:选择或重组信号,对输入矢量的元素进行有选择的输出。选择第一个,则输出误码率;选择第二个,则输出误码个数;选择第三个,则输出全部码数。模块参数:Number of input dimensions:输入维数。Index mode: 索引模式,该模块默认从一开始的(one-based)。Input port size

20、: 输入口大小。To Workspace(将输出数据写入到Matlab 的工作空间 )模块描述:写入专门的数据到 MATLAB 的主工作区。数据不可用直到仿真结束或暂停。模块参数: Variable name:写入工作区间的数据名称,默认为 simout。Limit data points to last:模块最多可以保留的数据个数,inf表示无穷 大。Decimation:写入数据的抽样频率,即每隔多少抽样点输入一个值。Sample time:写入数据的抽样时间,默认值为 -1,表示与上一模块抽 样时间相同。Save format:输出数据的形式。3.2.7、运行结果3.2.8、结果分析在相

21、同信噪比的情况下,码率不同误码率也不同,信息码长度越长的误码率和信噪比关系曲线越低,在信噪比较小时很难分辨误码率相差不大,而随着信噪比的增大误码率会相差越来越大。3.3 题目三3.3.1、题目内容试用Matlab编程实现 HDB3码的编解码过程,并画出1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0的原始、编码和解码图形。3.3.2、设计思想或方法编码时,对于消息码中的1依次取+1,-1,连续有4个0时,第4个0置为V,第一个V的正负与前一个相邻0的1的正负一样,之后 V依次取前个V的相反极性;并且判断V的极性与前一个与0相邻的非0值的极性是否一样,若不一样,

22、则改变该非0值的极性;解码时,+1 , 1都变成1;连续遇见3个0则把该3个0与之后1位皆变为0 ;l连续遇见2个0,则判断2个0之前一位与之后一位极性是否相同,若相同,则该4为皆化为0。3.3.3、程序流程图3.3.4、程序代码x1=1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0;n=length(x1);x2=x1;m=1;r=0; c=0;d=0;%HDB3编码for i=1:nif x2(i)=0r=r+1;if r=4x2(i)=b; d=-x2(i);r=0;endif r=4d=-d;if x2(i)=x2(i-4)x2(i-3)=x2(i);

23、m=-x2(i-3);endr=0;endelse x2(i)=m;b=m;m=-m;r=0;endend%HDB3解 码e=0;x3=x2;for i=1:nif x3(i)=0e=e+1;if e=3e=0;endif e=2e=0;endendelse x3(i)=1;e=0;endend%作图subplot(4,1,1);stairs(0:length(x1)-1,x1);axis(0 length(x1) -2 2);ylabel(消息码);subplot(4,1,2);stairs(0:length(x1)-1,x2);axis(0 length(x1) -2 2);ylabel(

24、HDB3码 );subplot(4,1,3);stairs(0:length(x1)-1,x3);axis(0 length(x1) -2 2);ylabel(解码后);3.3.5、运行结果3.3.6、结果分析第一个波形是消息码 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0第二个波形是 HDB3 码 1 -1 0 1 0 0 0 1 0 0 -1 1 -1 0 0 0 -1 0 0 1 0第三个波形是解码 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0通过对比经 HDB3 码编码前的原消息码和 HDB3 码解码,可以得出

25、其编码译码过程完全对应正确,解码成功。4、心得与体会这次通信原理的课程设计,不像平时的实验课,会提供仿真框图和程序,所以如何连接仿真框图,需要哪些部件,每个部件如何设置参数,如何编写程序都需要自己来解决。虽然一开始无从下手,不过在同学的帮助下,上网查找资料,还是解决了这些问题。这也使得我对于仿真框图与BPSK的调制解调等印象更加深刻。在编写HDB3码的编码与解码程序时,也遇到了不少问题,好几次都失败了,令我满头疼的,最后冷静的分析了HDB3码的编码过程,并列出了许多个消息码转化为HDB3码的例子,相互比较找到规律后,成功解决了何时添加B,V和B,V极性的问题。解码时便要容易许多了,只要观察几个例子,很容易得到规律。不过我编写的解码部分程序还是存在一些不足之处,对于一些特别的消息码不能应用。5、参考文献【1】樊昌信,曹丽娜.通信原理,第 6 版. 国防工业出版社,2006.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报