数字通信技术实验指导讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字通信技术
实验指导书
电子与信息工程学院
2015年6月
实验一分组交织编码的MATLAB实现
1 实验目的
1、掌握分组交织编码的原理;
2、进一步学习Matlab软件的使用和编程;
3、提高独立设计实验的能力。
2 实验要求
1、课前预习实验,实验原理必须论述清楚;
2、实验报告中列出所有的Matlab源程序并解释代码;
3、实验结果(波形图)必须粘贴在实验报告中;
4、实验报告上写上自己的学号和姓名。
3 实验代码与结果
1、长度≤N的长突发错误通过解交织被离散为随机错误,错误码元之间的最小间隔为M。
s1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]
x1=reshape(s1,4,6) %交织器的输入按列写入
x1(2,4)=0;x1(2,5)=0;
x1(2,6)=0;x1(3,1)=0;x1(3,2)=0 %产生长度为5的长突发错误
s2=reshape(x1',1,24) %交织器的输出按行读出
x2=reshape(s2,6,4)' %解交织器的输入按行写入
s3=reshape(x2,1,24) %解交织器的输出按列读出
s3(1,3)=3;s3(1,7)=7;
s3(1,14)=14;s3(1,18)=18;s3(1,22)=22 %通过分组码纠正随机错误
a=[s1,s2,s3] %对比三个输出
plot(s1,s2)
2、对于周期性的单个错误(间隔为N),通过解交织后会转化为长度为M的单个长突发错误。
s1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]
x1=reshape(s1,4,6)
x1(1,3)=0;x1(2,3)=0;
x1(3,3)=0;x1(4,3)=0
s2=reshape(x1',1,24)
x2=reshape(s2,6,4)'
s3=reshape(x2,1,24)
a=[s1,s2,s3]
plot(s1,s2)
实验二直接序列扩频的SIMULINK实现
1 实验目的
1、掌握直接序列扩频的原理;
2、进一步学习SIMULINK的使用;
3、提高独立设计实验的能力。
2 实验要求
1、课前预习实验,实验原理必须论述清楚;
2、实验报告中列出SIMULINK的仿真图和注释;
3、实验结果(波形图)必须粘贴在实验报告中;
4、实验报告上写上自己的学号和姓名。
3 实验原理
一、直接序列扩频通信系统的发射机设计图(BPSK调制)图4.1是直接序列扩频通信系统的发射机设计图,其中d(t)是代表信源信息,c(t)代表的是扩频码,这两个相乘后得到扩频后的序列,再将此序列送入调制器中,使用载波对其进行载波调制,将其频谱搬移到合适频谱位置上,然后发射出去。
二、扩频调制仿真模块
打开Matlab,在Command Windows里面输入Simulink,这时Matlab会调用出Simulink仿真工具箱。在扩频调制模块中我们需要的模块有:PN码发生器(PN
Sequence Generator)、极性转换器(Unipolar to Bipolar Converter)、伯努利二进制发生器(Bernoulli Binary Generator)、乘法器(Product)、零阶保持器(Zero-Order Hold)、示波器(Scope)、频谱分器(Spectrum Scope)。
1.
1.模块的查找与连接
对于这些模块的查找,我们只需要在Simulink的搜索栏里输入相应的名称,并且此种查找方式支持模糊查询,即不用完全输入全名,如图4.3。
依照这个方式,我们可以很方便的找到相应的模块,并且依照图4.2依次连接起来。
2.各个模块的参数设置
PN码发生器:PN码发生器用于生成扩频码序列,生成的是{0,1}分布的序列,在进行载波调制前,扩频后的序列需要是{-1,+1}分布的序列。因此在进行扩频调制前,PN码需要经过极性转换器将其转换为{-1,+1}分布的序列,经过扩频处理后,才能进行BPSK调制。对于PN码发生器的参数设置,如图4.4。
PN码发生器产生的是m序列码。在参数设计中Generator polynomial是m序列的参数设置,本次仿真中设置的是101011001。
初始状态(Initial states)设置,这个值可以设定为任何非全零状态的值。
偏移覆盖矢量(Output mask vector)设置,主要作用是平移生成的PN码,该参数和初始状态共同作用,平时只需要保持默认值0就行。
采样时间(Sample time)设置,其实就是PN码速率设定,前面我们已经介绍过关于码序列的性质,由于我们采用的8阶的m序列,在一个周期里有255个码片,所以这里把码速率设定为255kbit/s。
伯努利二进制发生器:由于本文主要是进行扩频调制的仿真,不用通过信道,也无需解调仿真,因此在信源方面直接采用简单的信源发生装置,而没有采用信道编码。伯努利二进制发生器能够产生{0,1}分布的序列,然后经过极性转换器变换成
{-1,+1}分布的序列,进行扩频后,进入BPSK调制模块。伯努利二进制发生器的参数设置如图4.5。
在伯努利二进制发生器中,我们主要设置其采样时间(Sample time),即就是信源的码速率设置,这里我们设置为1kbit/s。
极性转换器:如图4.6,是极性转换器的的参数设置框,在参数设置框中,M-ary Number是极性转换设置,假设输入是{0,1},如果将此参数设置为2,则输出为{-1,+1},如果设置为3,则输出为{-1,0,+1}。在本次仿真中我们需要将其转换为{-1,+1},则将此参数设置为2即可。扩频调制模块中有两个极性转换器,这两个功能是一样的,则参数设置也是一样的。
Zero-Order Hold 模块:Zero-Order Hold 模块是零阶保持模块,本次仿真中采用了两个这样的模块。Zero-Order Hold1 的采样率设置为1/1e5,Zero-Order Hold2采样率设置为1/2.55e6.如图4.7。
频谱示波器:频谱示波器的参数设置比较复杂,如图4.8所示。