通信原理课程设计.docx

上传人:b****5 文档编号:12254391 上传时间:2023-04-17 格式:DOCX 页数:29 大小:737.06KB
下载 相关 举报
通信原理课程设计.docx_第1页
第1页 / 共29页
通信原理课程设计.docx_第2页
第2页 / 共29页
通信原理课程设计.docx_第3页
第3页 / 共29页
通信原理课程设计.docx_第4页
第4页 / 共29页
通信原理课程设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

通信原理课程设计.docx

《通信原理课程设计.docx》由会员分享,可在线阅读,更多相关《通信原理课程设计.docx(29页珍藏版)》请在冰豆网上搜索。

通信原理课程设计.docx

通信原理课程设计

通信原理课程设计

 

 

姓名______

学号_______

班级_____

一、目录…………………………………………………………………2

二、任务书……………………………………………………………………3

三、具体内容及要求……………………………………………………………4

3.1题目一…………………………………………………………………4

3.1.1题目内容……………………………………………………………4

3.1.2设计思想或方法………………………………………………………4

3.1.3实现的功能或方法……………………………………………………4

3.1.4程序流程图……………………………………………………………4

3.1.5程序代码……………………………………………………………5

3.1.6仿真框图……………………………………………………………5

3.1.7模块描述及参数设置…………………………………………………5

3.1.8结果运行……………………………………………………………10

3.1.9结果分析……………………………………………………………11

3.2题目二…………………………………………………………………11

3.2.1题目内容……………………………………………………………11

3.2.2设计思想或方法……………………………………………………113.2.2程序流程图……………………………………………………………12

3.2.4程序代码……………………………………………………………13

3.2.5仿真框图……………………………………………………………13

3.2.6模块描述及参数设置…………………………………………………14

3.2.7结果运行……………………………………………………………20

3.2.8结果分析……………………………………………………………20

3.3题目三…………………………………………………………………20

3.3.1题目内容……………………………………………………………20

3.3.2设计思想或方法………………………………………………………20

3.2.3程序流程图……………………………………………………………21

3.2.4程序代码……………………………………………………………21

3.2.5结果运行……………………………………………………………23

3.2.6结果分析……………………………………………………………23

四、心得与体会……………………………………………………………………23

五、参考文献………………………………………………………………………23

 

《通信原理课程设计》任务书

一、目的和要求:

要求学生在熟练掌握MATLAB和simulink仿真使用的基础上,学会通信仿真系统的基本设计与调试。

并结合通信原理的知识,对通信仿真系统进行性能分析。

二、实验环境

PC机、Matlab/Simulink

三、具体内容及要求

(1)试用Matlab/Simulink研究BPSK在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;

(2)试用Matlab/Simulink研究BPSK+信道编码(取汉明码)在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;分析不同码率对误码率性能的影响。

(3)试用Matlab编程实现HDB3码的编解码过程,并画出110100000011100000010的原始、编码和解码图形。

四、提交设计报告

内容包括:

●系统的基本原理框图以及每一个模块的作用;

●系统Simulink仿真过程中,每一个用到的模块中主要参数的意义;

●仿真系统参数的设定和设定的依据;

●仿真系统参数改变时,给仿真结果带来的影响(如高斯白噪声信道的信噪比增加,则误码率减小);

●仿真程序(需要加注释)。

●仿真的结果(波形,误码率等)。

五、主要参考文献及资料

邵玉斌.Matlab/Simulink通信系统建模与仿真实例分析.清华大学出版社2008年

李贺冰等,Simulink通信仿真教程,国防工业出版社,2006年5月。

3.1、题目一

3.1.1、题目内容

试用Matlab/Simulink研究BPSK在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;

3.1.2、设计思想或方法

先用Simulink建立BPSK在加性高斯白噪声信道(无突发干扰)下的仿真模型,设置好每个模块的参数,编写主程序实现BPSK的输入,在程序运行过程中调用BPSK仿真模型,然后用BitErrorRate取在加性高斯白噪声信道下的误码率,最后画出BPSK在加性高斯白噪声信道下的误码率性能与信噪比之间的关系。

3.1.3、实现的功能说明

通过调用已建立的BPSK在加性高斯白噪声信道(无突发干扰)下的仿真模型,利用Matlab编程分析BPSK在加性高斯白噪声信道(无突发干扰)的误码率性能。

3.1.4、程序流程图

3.1.5、程序代码

x=0:

20;

y=x;

holdoff;%取消原来的图M=2

fori=1:

length(x)

SNR=x(i);%信道的信噪比依次取x中的元素

sim('untitled1');%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中y(i)=mean(BitErrorRate);%计算BitErrorRate的平均值作为本次仿真的误比特率

End

semilogy(x,y,'k','LineWidth',2);%对y取对数画图

holdon;

xlabel('高斯白噪声信道中的SNR');

ylabel('误码率');

title('BPSK的误码率曲线');

holdon;

gridon;%画网格

3.1.6、仿真框图

3.1.7、模块描述及参数设置

RandomIntegerGenerator(随机整数发生器)

模块描述:

采用该模块产生随机的二进制随机信号作为系统的信源。

模块参数:

Initialseed:

随机数种子,不同的随机数种子通常产生不同的序列。

Sampletime:

抽样时间,表示输出序列中每个二进制符号的持续时间。

Frame-basedoutputs:

选种表示输出为帧格式,否则输出数据流。

Samplesperframe:

只有当Frame-basedoutputs选种后才可编辑此参数,它表示输出一帧中包含的抽样点数。

此处表示1帧由10000个比特组成。

Outputdatatype:

输出数据类型。

BPSKModulatorBaseband(BPSK基带调制器)

模块参数:

Phaseoffset(rad):

相位偏移

AWGNChannel(高斯信道)

模块描述:

最简单的信道,常指加权高斯白噪声(AWGN)信道。

这种噪声假设为在整个信道带宽下功率谱密度(PDF)为常数,并且振幅符合高斯概率分布。

模块参数:

Initialseed:

随机数种子,不同的随机数种子通常产生不同的序列。

SNR:

信噪比。

Inputsignalpower,referencedto1ohm:

输入信号功率,参考1欧姆。

BPSKDemodulatorBaseband(BPSK基带解调器)

模块参数:

Phaseoffset(rad):

相位偏移

ErrorRateCalculation(误码率计算)

模块描述:

通过比较传输数据和接收数据来计算误码率,模块的输出数据是长度为n的向量,其中每个元素的意义分别是:

误码率或误比特率、总的错误个数、总的参加比较的符号或比特数。

模块参数:

Receivedelay:

指定接收方滞后发送的抽样点数,即接收的第几个值对应发送的第一个值。

Computationdelay:

指定开始比较时模块忽略的抽样点数。

Computationmode:

指定模块是比较全部还是输入数据。

Outputdata:

指定计算结果是输出到工作区还是端口。

Selector(信号选择器)

模块描述:

选择或重组信号,对输入矢量的元素进行有选择的输出。

选择第一个,则输出误码率;选择第二个,则输出误码个数;选择第三个,则输出全部码数。

模块参数:

Numberofinputdimensions:

输入维数。

Indexmode:

索引模式,该模块默认从一开始的(one-based)。

Inputportsize:

输入口大小。

ToWorkspace(将输出数据写入到Matlab的工作空间)

模块描述:

将其输出写入工作空间。

模块将其输出写入到一个由模块Variablename参数命名的矩阵或结构中。

模块参数:

Variablename:

写入工作区间的数据名称,默认为simout。

Limitdatapointstolast:

模块最多可以保留的数据个数,inf表示无穷大。

Decimation:

写入数据的抽样频率,即每隔多少抽样点输入一个值。

Sampletime:

写入数据的抽样时间,默认值为-1,表示与上一模块抽样时间相同。

Saveformat:

将仿真输出保存到工作空间的格式,该模块是将输出保存为为数组形式。

3.1.8、运行结果

3.1.9、结果分析

在信道高斯白噪声的干扰下,数字调制系统的误码率取决于信噪比,BPSK的误码率随着信噪比的增大而减小。

 

3.2、题目二

3.2.1、题目内容

试用Matlab/Simulink研究BPSK+信道编码(取汉明码)在加性高斯白噪声信道下的误码率性能与信噪比之间的关系;分析不同码率对误码率性能的影响。

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/s

BitRate=10000;

%循环执行仿真程序

MessageLength=4;

CodewordLength=7;

fori=1:

length(x)

SNR=x(i);

sim('BPSK_Hamming');%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

y(i)=mean(BitErrorRate);%对矩阵中各列的误码率元素分别求平均值

end

semilogy(x,y,'-r');%y轴用对数标度,x轴用线性标度绘制图形

holdon;

MessageLength=11

CodewordLength=15

fori=1:

length(x)

SNR=x(i);

sim('BPSK_Hamming');%调用仿真程序

y(i)=mean(BitErrorRate);%取平均值

end

semilogy(x,y,'-k');%y轴用对数标度,x轴用线性标度绘制图形

holdon;

MessageLength=26

CodewordLength=31

fori=1:

length(x)

SNR=x(i);

sim('BPSK_Hamming');%调用仿真程序

y(i)=mean(BitErrorRate);%取平均值

end

semilogy(x,y,'-b');%y轴用对数标度,x轴用线性标度绘制图形

holdon;

xlabel('信噪比SNR(dB)');

ylabel('误码率Pe');

title('BPSK+汉明码的误码率性能');

legend('码率=4/7','码率=11/15','码率=26/31')%给图形加注解

axis([-281e-61]);%坐标轴

gridon;%画网格线

3.2.5、仿真框图

3.2.6、模块描述及参数设置

RandomIntegerGenerator(随机整数发电器)

模块描述:

采用该模块产生随机的二进制随机信号作为系统的信源

模块参数:

Initialseed:

随机数种子,不同的随机数种子通常产生不同的序列。

Sampletime:

抽样时间,表示输出序列中每个二进制符号的持续时间。

Frame-basedoutputs:

选种表示输出为帧格式,否则输出数据流。

Samplesperframe:

只有当Frame-basedoutputs选种后才可编辑此参数,它表示输出一帧中包含的抽样点数。

此处表示1帧由MessageLength个比特组成

Outputdatatype:

输出数据类型。

HammingEncoder(汉明码编码器)

模块描述:

用于对输入信息进行汉明编码,汉明码是一种能够纠正一位错误的红性分组码,码长为N。

该信息位的长度为K,其中,N=2^M-1(M>=3),K=N-M。

模块参数:

CodewordLength:

码长

M-degreeprimitivepolynomial:

m次本始多项式

BPSKModulatorBaseband(BPSK基带调制器)

模块参数:

Phaseoffset(rad):

相位偏移

AWGNChannel(高斯信道)

模块描述:

最简单的信道,常指加权高斯白噪声(AWGN)信道。

这种噪声假设为在整个信道带宽下功率谱密度(PDF)为常数,并且振幅符合高斯概率分布。

模块参数:

Initialseed:

随机数种子,不同的随机数种子通常产生不同的序列。

SNR:

信噪比。

Inputsignalpower,referencedto1ohm:

输入信号功率,参考1欧姆。

BPSKDemodulatorBaseband(BPSK基带解调器)

模块参数:

Phaseoffset(rad):

相位偏移

HammingDecoder(汉明码解码器)

模块描述:

创建一个码长为N,信息码长为K的汉明码。

其中,N=2^M-1(M>=3),K=N-M。

模块参数:

此处的两个参数要与前面的HammingEncode参数一致。

 

ErrorRateCalculation(误码率计算)

模块描述:

通过比较传输数据和接收数据来计算误码率,模块的输出数据是长度为n的向量,其中每个元素的意义分别是:

误码率或误比物率、总的错误个数、总的参加比较的符号或比特数。

模块参数:

Receivedelay:

指定接收方滞后发送的抽样点数,即接收的第几个值对应发送的第一个值。

Computationdelay:

指定开始比较时模块忽略的抽样点数。

Computationmode:

指定模块是比较全部还是输入数据。

Outputdata:

指定计算结果是输出到工作区还是端口。

Selector(信号选择器)

模块描述:

选择或重组信号,对输入矢量的元素进行有选择的输出。

选择第一个,则输出误码率;选择第二个,则输出误码个数;选择第三个,则输出全部码数。

模块参数:

Numberofinputdimensions:

输入维数。

Indexmode:

索引模式,该模块默认从一开始的(one-based)。

Inputportsize:

输入口大小。

ToWorkspace(将输出数据写入到Matlab的工作空间)

模块描述:

写入专门的数据到MATLAB的主工作区。

数据不可用直到仿真结束或暂停。

模块参数:

Variablename:

写入工作区间的数据名称,默认为simout。

Limitdatapointstolast:

模块最多可以保留的数据个数,inf表示无穷大。

Decimation:

写入数据的抽样频率,即每隔多少抽样点输入一个值。

Sampletime:

写入数据的抽样时间,默认值为-1,表示与上一模块抽样时间相同。

Saveformat:

输出数据的形式。

3.2.7、运行结果

3.2.8、结果分析

在相同信噪比的情况下,码率不同误码率也不同,信息码长度越长的误码率和信噪比关系曲线越低,在信噪比较小时很难分辨误码率相差不大,而随着信噪比的增大误码率会相差越来越大。

3.3题目三

3.3.1、题目内容

试用Matlab编程实现HDB3码的编解码过程,并画出110100000011100000010的原始、编码和解码图形。

3.3.2、设计思想或方法

编码时,对于消息码中的1依次取+1,-1,连续有4个0时,第4个0置为V,第一个V的正负与前一个相邻0的1的正负一样,之后V依次取前个V的相反极性;并且判断V的极性与前一个与0相邻的非0值的极性是否一样,若不一样,则改变该非0值的极性;

解码时,+1,—1都变成1;连续遇见3个0则把该3个0与之后1位皆变为0;l连续遇见2个0,则判断2个0之前一位与之后一位极性是否相同,若相同,则该4为皆化为0。

3.3.3、程序流程图

3.3.4、程序代码

x1=[110100000011100000010];

n=length(x1);

x2=x1;

m=1;

r=0;

c=0;

d=0;

%HDB3编码

fori=1:

n

ifx2(i)==0

r=r+1;

ifr==4&c==0

c=1;

x2(i)=b;

d=-x2(i);

r=0;

end

ifr==4&c==1

x2(i)=d;

d=-d;

ifx2(i)~=x2(i-4)

x2(i-3)=x2(i);

m=-x2(i-3);

end

r=0;

end

else

x2(i)=m;

b=m;

m=-m;

r=0;

end

end

%HDB3解码

e=0;

x3=x2;

fori=1:

n

ifx3(i)==0

e=e+1;

ife==3&i

x3(i-2:

i+1)=[0000];

e=0;

end

ife==2&i

ifx3(i+1)==x3(i-2)

x3(i-2:

i+1)=[0000];

e=0;

end

end

elsex3(i)=1;

e=0;

end

end

%作图

subplot(4,1,1);stairs([0:

length(x1)-1],x1);axis([0length(x1)-22]);ylabel('消息码');

subplot(4,1,2);stairs([0:

length(x1)-1],x2);axis([0length(x1)-22]);ylabel('HDB3码');

subplot(4,1,3);stairs([0:

length(x1)-1],x3);axis([0length(x1)-22]);ylabel('解码后');

3.3.5、运行结果

3.3.6、结果分析

第一个波形是消息码110100000011100000010

第二个波形是HDB3码1-101000100-11-1000-10010

第三个波形是解码110100000011100000010

通过对比经HDB3码编码前的原消息码和HDB3码解码,可以得出其编码译码过程完全对应正确,解码成功。

4、心得与体会

这次通信原理的课程设计,不像平时的实验课,会提供仿真框图和程序,所以如何连接仿真框图,需要哪些部件,每个部件如何设置参数,如何编写程序都需要自己来解决。

虽然一开始无从下手,不过在同学的帮助下,上网查找资料,还是解决了这些问题。

这也使得我对于仿真框图与BPSK的调制解调等印象更加深刻。

在编写HDB3码的编码与解码程序时,也遇到了不少问题,好几次都失败了,令我满头疼的,最后冷静的分析了HDB3码的编码过程,并列出了许多个消息码转化为HDB3码的例子,相互比较找到规律后,成功解决了何时添加B,V和B,V极性的问题。

解码时便要容易许多了,只要观察几个例子,很容易得到规律。

不过我编写的解码部分程序还是存在一些不足之处,对于一些特别的消息码不能应用。

5、参考文献

【1】樊昌信,曹丽娜.通信原理,第6版.国防工业出版社,2006.

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

当前位置:首页 > 小学教育 > 小升初

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

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