1数字通信技术实验指导书电子与信息工程学院2015年6月2实验一分组交织编码的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)3051015202505101520252、对于周期性的单个错误(间隔为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)=0s2=reshape(x1',1,24)x2=reshape(s2,6,4)'s3=reshape(x2,1,24)a=[s1,s2,s3]plot(s1,s2)051015202505101520254实验二直接序列扩频的SIMULINK实现1实验目的1、掌握直接序列扩频的原理;2、进一步学习SIMULINK的使用;3、提高独立设计实验的能力。2实验要求1、课前预习实验,实验原理必须论述清楚;2、实验报告中列出SIMULINK的仿真图和注释;3、实验结果(波形图)必须粘贴在实验报告中;4、实验报告上写上自己的学号和姓名。3实验原理一、直接序列扩频通信系统的发射机设计图(BPSK调制)图4.1是直接序列扩频通信系统的发射机设计图,其中d(t)是代表信源信息,c(t)代表的是扩频码,这两个相乘后得到扩频后的序列,再将此序列送入调制器中,使用载波对其进行载波调制,将其频谱搬移到合适频谱位置上,然后发射出去。二、扩频调制仿真模块打开Matlab,在CommandWindows里面输入Simulink,这时Matlab会调用出Simulink仿真工具箱。在扩频调制模块中我们需要的模块有:PN码发生器(PN5SequenceGenerator)、极性转换器(UnipolartoBipolarConverter)、伯努利二进制发生器(BernoulliBinaryGenerator)、乘法器(Product)、零阶保持器(Zero-OrderHold)、示波器(Scope)、频谱分器(SpectrumScope)。1.1.模块的查找与连接对于这些模块的查找,我们只需要在Simulink的搜索栏里输入相应的名称,并且此种查找方式支持模糊查询,即不用完全输入全名,如图4.3。依照这个方式,我们可以很方便的找到相应的模块,并且依照图4.2依次连接起来。2.各个模块的参数设置PN码发生器:PN码发生器用于生成扩频码序列,生成的是{0,1}分布的序列,在进行载波调制前,扩频后的序列需要是{-1,+1}分布的序列。因此在进行扩频调制前,PN码需要经过极性转换器将其转换为{-1,+1}分布的序列,经过扩频处理后,才能进行BPSK调制。对于PN码发生器的参数设置,如图4.4。6PN码发生器产生的是m序列码。在参数设计中Generatorpolynomial是m序列的参数设置,本次仿真中设置的是101011001。初始状态(Initialstates)设置,这个值可以设定为任何非全零状态的值。偏移覆盖矢量(Outputmaskvector)设置,主要作用是平移生成的PN码,该参数和初始状态共同作用,平时只需要保持默认值0就行。采样时间(Sampletime)设置,其实就是PN码速率设定,前面我们已经介绍过关于码序列的性质,由于我们采用的8阶的m序列,在一个周期里有255个码片,所以这里把码速率设定为255kbit/s。伯努利二进制发生器:由于本文主要是进行扩频调制的仿真,不用通过信道,也无需解调仿真,因此在信源方面直接采用简单的信源发生装置,而没有采用信道编码。伯努利二进制发生器能够产生{0,1}分布的序列,然后经过极性转换器变换成7{-1,+1}分布的序列,进行扩频后,进入BPSK调制模块。伯努利二进制发生器的参数设置如图4.5。在伯努利二进制发生器中,我们主要设置其采样时间(Sampletime),即就是信源的码速率设置,这里我们设置为1kbit/s。极性转换器:如图4.6,是极性转换器的的参数设置框,在参数设置框中,M-aryNumber是极性转换设置,假设输入是{0,1},如果将此参数设置为2,则输出为{-1,+1},如果设置为3,则输出为{-1,0,+1}。在本次仿真中我们需要将其转换为{-1,+1},则将此参数设置为2即可。扩频调制模块中有两个极性转换器,这两个功能是一样的,则参数设置也是一样的。Zero-OrderHold模块:Zero-OrderHold模块是零阶保持模块,本次仿真中采用了两个这样的模块。Zero-OrderHold1的采样率设置为1/1e5,Zero-OrderHold2采样率设置为1/2.55e6.如图4.7。频谱示波器:频谱示波器的参数设置比较复杂,如图4.8所示。8频谱示波器的参数设置分为4个部分:第一部分为示波器属性(ScopeProperties),主要负责设置示波器的输入特性;第二部分为显示特性(DisplayProperties),主要负责显示界面的设置;第三部分为坐标轴属性(AxisProperties),主要负责横纵坐标的设置;第四部分是线性属性(LineProperties),这部分保持默认设置。下面我们只介绍需要设置的参数,其余保持默认值。第一部分中,频谱单位设置(Spectrumunits)设置,这里我们设置为dBm。频谱类型(Spectrumtype)设置中我们选择双边频谱(Two-sided)。Bufferinput表示帧长度,如果要设置它,我们必须选中它,这样才会弹出设置框。如果不选中它的话,无法进行FFT变换,因此我们必须选中它。这里保证帧长度覆盖一个PN码周期,具体的设定需要考虑实际情况,本次仿真中设定帧为512bit。第二、四部分保持默认设置。第三部分中,主要是根据频谱图调整Y轴的最大最小值,是的频谱显示更清晰,更直观。依据实际情况而定。94仿真结果与分析依照上面的步骤,我们已经设置好了整个扩频调制仿真模块,现在我们运行这个模块,进行扩频调制仿真,仿真结束后,双击“CompareWave2”示波器,即可以观察到输入信号和已扩信号的波形比较图,如图4.9。图中下半部分是输入信号的波形,上半部分是已扩信号的波形。1011现在我们来看看扩展前的频谱图和扩展后的频谱图,如图4.10和图4.11。从两个频谱图中可以明显的看出,扩频前的信息频宽是1Hz,扩频后的信息频宽是255KHz,信号的频宽被扩展了255倍。在设置PN码发生器的参数时,将PN码的长度设置为了255bit,理论上可以将信号展宽255倍,由仿真结果可以看出,完全符合扩频调制理论预期值。12实验三BPSK调制的SIMULINK实现1实验目的1、掌握BPSK调制的原理;2、进一步学习SIMULINK软件的使用;3、提高独立设计实验的能力。2实验要求1、课前预习实验,实验原理必须论述清楚;2、实验报告中列出SIMULINK的仿真图和注释;3、实验结果(波形图)必须粘贴在实验报告中;4、实验报告上写上自己的学号和姓名。3实验原理BPSK载波调制模块图4.12是BPSK扩频载波调制模块,在这个模块中主要是使用正弦载波与已扩序列进行载波调制。各模块的参数设置正弦波发生器(SineWave):如图4.13为正弦波发生器参数设置图,从图中可以看出,输出正弦波的公式为S(t)=Amp*Sin(Freq*t+Phase)+Bias。从公式里面我们可以看出,需要设置的有Amp,Freq,Phase,Bias。Amp就是正弦波的幅度(Amplitude),在这次仿真中我们设置为1,即就是正弦波的幅度为1V。Bias13为幅度偏移,主要控制正弦波在Y轴上的偏移量,这里我们需要正弦波在{-1,+1}之间,所以我们应该默认幅度偏移量为0。在这里Freq为角频率,因为我们本次载波仿真中载波选择的频率是510KHz,因此在这个参数中我们Frequence设置为510000*2*pi。Phase为相位初始值设置,由于没有相位偏移,这里我们默认设置为0。SampleTime为采样时间,默认为0。Zero-OrderHold模块:由于我们的载波采用的是510KHz的正弦波,因此图中的两个Zero-OrderHold模块的采样率均设置为1/5.1e6。频谱示波器:在做扩频调制时,我们已经对频谱示波器做了详细的介绍,在这里就不在叙述。对于载波调制模块中的这个频谱示波器的参数设置我们完全参考扩频模块中的频谱示波器参数设置。4实验结果与分析结合前面的扩频模块部分,运行整个扩频调制模块,等待结束后。双击“CompareWave3”示波器,显示调制后的波形,如图4.14。在图中,上半部分是输入信号14的波形,中间部分是载波的波形,下半部分是载波调制后的信号。从图中我们明显的可以看出,当输入信号的极性变换后,调制后的波形信号有明显的相位翻转,因此BPSK调制成功。下面我们在看看频谱图,如图4.15,,对照前面扩频后的频谱图,我们发现信号的频谱中心频率被搬移到了510KHz的位置,与频谱搬移的理论吻合,因此此次仿真达到了BPSK调制的效果。1516实验四直接序列扩频以及QPSK调制1实验目的1、掌握QPSK调制的原理;2、进一步学习SIMULINK软件的使用;3、提高独立设计实验的能力。2实验要求1、课前预习实验,实验原理必须论述清楚;2、实验报告中列出SIMULINK的仿真图和注释;3、实验结果(波形图)必须粘贴在实验报告中;4、实验报告上写上自己的学号和姓名。3实验原理一、直接序列扩频系统发射机设计图(QPSK调制方式)从图4.16中,我们可以看出QPSK调制可以看成是两路BPSK调制,对于输入的信号,我们首先进行一次串/并变换,把一路信号变换成两路信号,分别是I路信号和Q路信号,然后对这两路信号分别进行BPSK调制,最后在输出端将这两路信号相加,总体实现QPSK扩频调制。二、直接序列扩频系统发射机仿真图(QPSK调制)如图4.17,是以QPSK为载波调制方式的直接序列扩频系统。在仿真图中,17我们采用的是伯努利二进制发生器作为信源,然后使用Buffer和Demux两个模块将信源分为两路信号I路和Q路,然后使用两个能够产生m序列的PN码发生器对两路信号分别进行扩频调制。将扩频后的两路信号送入载波调制模块,在载波调制模块中,使用了两个正弦波发生器,由于仿真中两个正弦波发生器是同时工作的,因此在这里,我们只需要对另一个正弦波发生器延迟相位,I路和Q路信号分别与这两个正交的载波信号相乘,将频谱搬移到中频段,然后将两路信号相加。因此QPSK调制就是对两路信号分别进行BPSK调制,然后将两路信号叠加。1.各模块参数设置伯努利二进制发生器:设置伯努利二进