本科毕业设计-通信系统课群综合设计信息工程学院—课程设计任务书.doc

上传人:沧海****B 文档编号:91493450 上传时间:2023-05-27 格式:DOC 页数:35 大小:363.50KB
返回 下载 相关 举报
本科毕业设计-通信系统课群综合设计信息工程学院—课程设计任务书.doc_第1页
第1页 / 共35页
本科毕业设计-通信系统课群综合设计信息工程学院—课程设计任务书.doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《本科毕业设计-通信系统课群综合设计信息工程学院—课程设计任务书.doc》由会员分享,可在线阅读,更多相关《本科毕业设计-通信系统课群综合设计信息工程学院—课程设计任务书.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 xx理工大学学科基础课群综合训练报告 课程设计任务书学生姓名: 专业班级: 信息 班 指导教师: 工作单位: 信息工程学院 题 目: 通信系统课群综合训练与设计 初始条件:MATLAB软件平台要求完成的主要任务: 1、利用仿真软件MATLAB,或硬件实验系统平台上设计完成一个典型的通信系统2、学生要完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。 时间安排:序号设 计 内 容所用时间1根据设计任务,分析电路原理,确定实验方案2天2根据实验条件进行电路的测试,并对结果进行分析7天3撰写课程设计报告1天合 计2周指导教师签名: 年

2、月 日系主任(或责任教师)签名: 年 月 日目 录摘 要IAbstractII1设计任务11.1设计任务11.2 设计要求12实验电路原理分析22.1 PCM(脉冲编码调制)编译码22.1.1 脉冲编码调制的基本原理22.1.2 逐次比较法编码32.1.3 折叠二进制码原理42.1.4逐次比较法译码原理52.1.5 MATLAB编程实现PCM编译码62.2 HDB3码编解码62.2.1 AMI码编码基本原理62.2.2 HDB3码编码基本原理72.2.3 HDB3码的译码82.2.4 MATLAB实现HDB3码编解码82.3 汉明码编译码92.3.1汉明码的构造原理92.3.2 MATLAB实

3、现汉明码编译码112.4 2PSK调制与解调122.4.1数字调制技术122.4.2 二进制相移键控(2PSK)基本原理122.4.3 MATLAB实现2PSK调制与解调142.5 AWGN信道的模拟153 实验方案及测试方法164 实验结果及分析174.1 发送端仿真结果174.1.1 PCM编码仿真174.1.2 HDB3码及汉明码编码仿真174.1.3 2PSK调制以及AWGN信道仿真184.2 接收端仿真结果184.2.1 2PSK解调仿真184.2.2 汉明码及HDB3码解码仿真194.2.3 PCM解码仿真194.3 仿真结果分析205 实验总结21参考文献22附录23II摘 要通

4、信系统是一个十分复杂的系统,在具体实现上有多种多样的方法,但总的过程却是具有共性的。对于一个模拟信号数字化传输,过程可分为数字化,信源编解码,信道编解码,调制解调,加扰等。本实验利用MATLAB实现了PCM编码,HDB3码,汉明码,PSK调制,AWGN及对应的解调过程,完整实现了一个通信系统的全部过程。 MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面

5、的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。关键字:通信系统,调制,解调,MATLABAbstractCommunication system is a very complicated system in the implementation of a variety of methods. But the process has general characters. For a analog signal digital transmission, the process can be divided

6、into digital, source decoding, channel decoding, modem, scrambling, etc. This experiment using MATLAB the delta modulation, Miller code, hamming code, PSK modulation, AWGN and the corresponding demodulation process, complete implements a communication system of all process.MATLAB is a high-level tec

7、hnical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C+, and Fortran.Key words:communication

8、 system,modulation,demodulation,MATLAB1设计任务1.1设计任务可以用软件(如MATLAB),也可以在硬件实验系统平台上完成一个典型的通信系统(如下图1所示)的仿真。发送设备信 息 源调 制编 码传 输介 质噪声干扰接收设备接 收 者解 调译 码图1 典型通信系统的组成1.2 设计要求1、系统发送端要求:模拟信源数字化基带码信道码调制信道类型一时间函数PCMHDB3码汉明码PSKAWGN2、在接收端的解调、信道解码、基带解码、数模转换与发送端一一对应。3、要完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),完成课程设计报告

9、。2实验电路原理分析2.1 PCM(脉冲编码调制)编译码2.1.1 脉冲编码调制的基本原理把从模拟信号抽样、量化,直到变换成为二进制符号的基本过程,称为脉冲编码调制,简称脉码调制。6.386.806.427如:在下图中,模拟信号的抽样值为3.15,3.96,5.00,6.38,6.80和6.42。若按照“四舍五入”的原则量化为整数值,则抽样值量化后变为3,4,5,6,7和6。在按照二进制数编码后,量化值(quantized value)就变成二进制符号:011、100、101、110、111和110。663.96455.0033.15 011 100 101 110 111 110 图2 二进

10、制编码原理PCM信号 输出模拟信号 输入编 码量 化抽样保持冲激脉冲(b)译码器低通滤波解 码(a)编码器PCM信号输入模拟信号输出图3 PCM系统的原理方框图2.1.2 逐次比较法编码上节编码器(a)中的量化器和编码器常构成一个不能分离的编码电路,这种编码电路有不同的实现方案,最常用的一种方案成为逐次比较法编码,其基本原理方框图如下图所示。输入信号抽样脉冲IsIw ?Ci比 较保 持恒 流记 忆图4 逐次比较法编码原理方框图图中示出一个3位编码器。其输入信号抽样脉冲值在0和7.5之间。它将输入模拟抽样脉冲编成3位二进制编码c1 c2 c3。图中输入信号抽样脉冲电流Is由保持电路短时间保持,并

11、和几个称为权值电流的标准电流Iw逐次比较。每比较一次,得出1位二进制码。权值电流Iw是在电路中预先产生的。Iw的个数决定于编码的位数,现在共有3个不同的Iw值。因为表示量化值的二进制码有3位,即c1c2c3。它们能够表示8个十进制数,从0至7,如下表所示。 表1 编码表量化值c1c2c3量化值c1c2c300004100100151012010611030117111因此,若按照“四舍五入”原则编码,则此编码器能够对-0.5至+7.5之间的输入抽样值正确编码。由此表可推知,用于判定c1值的权值电流Iw = 3.5,即若抽样值Is 3.5,则比较器输出c1 = 1。c1除输出外,还送入记忆电路暂

12、存。第二次比较时,需要根据此暂存的c1值,决定第二个权值电流值。若c1 = 0,则第二个权值电流值Iw = 1.5;若c1 = 1,则Iw = 5.5。第二次比较按照此规则进行:若Is Iw,则c2 = 1。此c2值除输出外,也送入记忆电路。在第三次比较时,所用的权值电流值须根据c1 和c2的值决定。如如,若c1 c2 = 0 0,则Iw = 0.5;若c1 c2 = 1 0,则Iw = 4.5;依此类推。2.1.3 折叠二进制码原理表1给出的二进制编码是按照二进制数的自然规律排列的,称为自然二进制码。但这不是唯一编码方法,常用的还有折叠二进制码。折叠二进制码是用最高位表示电压的极性正负,而用

13、其他位来表示电压的绝对值。这就是说,在用最高位表示极性后,双极性电压可以采用单极性编码方法处理,从而使编码电路和编码过程大为简化。折叠码的另一个优点是误码对于小电压的影响较小。在13折线法中采用的折叠码有8位。其中第一位c1表示量化值的极性正负。后面的7位分为段落码和段内码两部分,用于表示量化值的绝对值。其中第2至4位(c2 c3 c4)是段落码,共计3位,可以表示8种斜率的段落;其他4位(c5 c8)为段内码,可以表示每一段落内的16种量化电平。段内码代表的16个量化电平是均匀划分的。所以,这7位码总共能表示27 128种量化值。在下面的表中给出了段落码和段内码的编码规则。表2 段落码编码规

14、则段落序号段落码c2 c3 c4段落范围 (量化单位)段落序号段落码 c2 c3 c4段落范围 (量化单位)8111204840964011128256711010242048301064128610151210242001326451002565121000032表3 段内码编码规则量 化 间 隔段内码c5 c6 c7c8量 化 间 隔段内码c5 c6 c7c8量 化 间 隔段内码c5 c6 c7c8量 化间 隔段内码c5 c6 c7c8151111111011701113001114111010101060110200101311019100150101100011211008100040

15、10000000在上述编码方法中,虽然段内码是按量化间隔均匀编码的,但是因为各个段落的斜率不等,长度不等,故不同段落的量化间隔是不同的。其中第1和2段最短,斜率最大,其横坐标x的归一化动态范围只有1/128。再将其等分为16小段后,每一小段的动态范围只有(1/128)*(1/16) = 1/2048。这就是最小量化间隔,后面将此最小量化间隔(1/2048)称为1个量化单位。第8段最长,其横坐标x的动态范围为1/2。将其16等分后,每段长度为1/32。假若采用均匀量化而仍希望对于小电压保持有同样的动态范围1/2048,则需要用11位的码组才行。现在采用非均匀量化,只需要7位就够了。2.1.4逐次

16、比较法译码原理 IsIw “1”IsIw “0”下图所示编码器中虚线方框内是本地译码器,而接收端译码器的核心部分原理就和本地译码器的原理一样。PAM输入Is保持电路比较器整流器后7位码c2c8极性码c1Iw本地译码器记忆电路7/11变换电路恒流源 图5 逐次比较法非均匀编码器原理框图在此图中,本地译码器的记忆电路得到输入c7值后,使恒流源产生为下次比较所需要的权值电流Iw。在编码器输出c8值后,对此抽样值的编码已经完成,所以比较器要等待下一个抽样值到达,暂不需要恒流源产生新的权值电流。在接收端的译码器中,仍保留本地译码器部分。由记忆电路接收发送来的码组。当记忆电路接收到码组的最后一位c8后,使

17、恒流源再产生一个权值电流,它等于最后一个间隔的中间值。在上如中,此中间值等于1248。由于编码器中的比较器只是比较抽样的绝对值,本地译码器也只是产生正值权值电流,所以在接收端的译码器中,最后一步要根据接收码组的第一位c1值控制输出电流的正负极性。判断段内位置判断符号位判断段落位置输入码组code输 出提取符号输入信号S判断符号归一化、量化段落判断输 出段内判断2.1.5 MATLAB编程实现PCM编译码 图6 编码流程图 图7译码流程图2.2 HDB3码编解码2.2.1 AMI码编码基本原理AMI码的全称为传号交替反转码,其编码规则为将消息码的“1”(传号)交替地变换为“+1”和“-1”,而“

18、0”(空号)保持不变。如:消息码: 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1AMI码: 0 -1 +1 0 0 0 0 0 0 0 1 +1 0 0 1 +1 AMI码对应的波形是具有正、负、零三种电平的脉冲序列。它可以看成是单极性波形的变形,即“0”仍对应零电平,而“1”交替对应正负电平。AMI码的优点:没有直流成分,且高、低频分量少,编译码电路简单,且可利用传号极性交替这一规律观察误码情况;如果它是AMI-RZ波形,接收后只要全波整流,就可变为单极性RZ波形,从中可以提取位定时分量AMI码的缺点:当原信码出现长连“0”串时,信号的电平长时间不跳变,造成提取定时信号的困

19、难。解决连“0”码问题的有效方法之一是采用HDB3码。2.2.2 HDB3码编码基本原理HDB3码的全称为3阶高密度双极性码,它是AMI码的一种改进型,改进目的是为了保持AMI码的优点而克服其缺点,使连“0”个数不超过3个。 其编码规则是:(1)检查消息码中“0”的个数。当连“0”数目小于等于3时,HDB3码与AMI码一样,+1与-1交替;(2)连“0”数目超过3时,将每4个连“0”化作一小节,定义为B00V,称为破坏节,其中V称为破坏脉冲,而B称为调节脉冲;(3)V与前一个相邻的非“0”脉冲的极性相同(这破坏了极性交替的规则,所以V称为破坏脉冲),并且要求相邻的V码之间极性必须交替。V的取值

20、为+1或-1;(4)B的取值可选0、+1或-1,以使V同时满足(3)中的两个要求; (5)V码后面的传号码极性也要交替。 如:消息码: 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 l 1AMI码: -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 0 0 0 0 -1 +1HDB3码: -1 0 0 0 V +1 0 0 0 +V -1 +1-B 0 0V +B 0 0 +V -l +1其中的V脉冲和B脉冲与1脉冲波形相同,用V或B符号表示的目的是为了示意该非“0”码是由原信码的“0”变换而来的。HDB3码既要包含AMI的交替特性使输出

21、无直流特性,又要不出现四个以上的连0,因此可以先满足后者。1)把“0000”换为取代节。规则:先将“0000”分离开来,第一个“0000”直接变为“0000”,然后数相邻两个“0000”之间“1”的个数,奇数则变为“000V”,偶数则变为“B00V”。2)更新符号。根据HDB3码的编码规则有:B总是与其前面的1或V符号相反,V总是与前面的1或B相符号相同,1总是与前面的V或B符号相反,就可编符号了。例如:消息代码:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1中间码: 1 0 0 0 V 1 0 0 0 V

22、 1 1 B 0 0 V 1 1 B 0 0 V B 0 0 V 1 1 1 0 0 0 V 1HDB3码:+1 0 0 0 +V -1 0 0 0 -V +1 -1 +B 0 0 + V -1 +1 -B 0 0 -V +B 0 0 +V -1 +1 -1 0 0 0 -V +12.2.3 HDB3码的译码HDB3码的编码虽然比较复杂,但译码却比较简单。从上述编码规则看出,每一个破坏脉冲V总是与前一非“0”脉冲同极性(包括B在内)。这就是说,从收到的符号序列中可以容易地找到破坏点V,于是也断定V符号及其前面的3个符号必是连“0”符号,从而恢复4个连“0”码,再将所有-1变成+1后便得到原消息

23、代码。解码规则如下:1)若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1 就应该译成“10000”;若2连 “0”前后非零脉冲极性相同,则两零前后都译为零,如-100-1,就应该译为0000。2)再将所有的-1变换成+1后,就可以得到原消息代码。2.2.4 MATLAB实现HDB3码编解码单极性码输入AMI码编码“1”极性交替“B”脉冲位置记录 更新符号YN检测4连“0”?“V”脉冲位置记录 更新符号HDB3码输出HDB3码输入极性标志初始化解码输出YN2连“0”前后非零脉冲极性判断 相同?后一个非零脉冲为V码 将*00V清零图8 HDB3编码流程图 图9 HDB3

24、解码流程图2.3 汉明码编译码2.3.1汉明码的构造原理汉明码是能够纠正1位错码且编码效率较高的一种线性分组码(线性分组码:按照一组线性方程构成的分组码 )。在偶数监督码中,由于使用了一位监督位a0,它和信息位an-1 a1一起构成一个代数式:(公式1)在接收端解码时,实际上就是在计算(公式2)若S = 0,就认为无错码;若S = 1,就认为有错码。现将上式称为监督关系式,S称为校正子。由于校正子S只有两种取值,故它只能代表有错和无错这两种信息,而不能指出错码的位置。若监督位增加一位,即变成两位,则能增加一个类似的监督关系式。由于两个校正子的可能值有4中组合:00,01,10,11,故能表示4

25、种不同的信息。若用其中1种组合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。同理,r个监督关系式能指示1位错码的个可能位置。一般来说,若码长为n,信息位数为k,则监督位数r nk。如果希望用r个监督位构造出r个监督关系式来指示1位错码的n种可能位置,则要求(公式3)按照上述方法构造的码称为汉明码。设分组码(n,k)中k 4,为了纠正一位错码,要求监督位数r 3。若取 r = 3,则n = k + r =7。我们用a6a5a0 表示这7个码元,用S1、S2、S3表示三个监督关系式中的校正子,则S1 S2 S3的值与错码位置的对应关系可以规定如下表4所列。表4 校正子与错码位置关

26、系S1 S2 S3错码位置S1 S2 S3错码位置001010100011a0a1a2a3101110111000a4a5a6无 错由表4中规定可见,仅当一错码位置在a2 、a4 、a5 或a6 时,校正子S1 为1;否则S1 为0。这就意味着a2 、a4 、a5 和a6四个码元构成偶数监督关系(公式4)同理,a1 、a3 、a5 和a6构成偶数监督关系(公式5)以及a0 、a3 、a4 和a6构成偶数监督关系(公式6)在发送端编码时,信息位a6 、a5 、a4 和a3 的值决定于输入信号,因此它们是随机的。监督位a2 、a1 和a0 应根据信息位的取值按监督关系来确定,即监督位应使上三式中S

27、1、S2和S3的值为零(表示变成的码组中应无错码)(公式7)由上式经移项运算,解出监督位(公式8)给定信息位后,可直接按上式算出监督位,其结果如表5所列。表5 监督位计算结果信息位监督位信息位监督位a6a5a4a3a2a1a0a6a5a4a3a2a1a00000000100100011010001010110011100001110111011010101100010001001101010111100110111101111111100010001001010100111接收端收到每个码组后,先计算出S1 、S2 和S3 ,再按表5判断错码情况。如,若接收码组为0000011,计算可得S1

28、0,S2 1,S3 1。S1 S2 S3 等于011,可知在a3 位有一错码。按上述方法构造的码称为汉明码。表5中所列的(7,4)汉明码的最小码距d0 3,因此这种码能纠正一个错码或检测两个错码。汉明码有以下特点:码长 n2r1 最小码距d 3信息码位 k2rm1 纠错能力t 1监督码位 rnkm这里m为大于2的正整数,给定m后,即可构造出具体的汉明码(n,k)。2.3.2 MATLAB实现汉明码编译码MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。encode函数 功能:编码函数 语法:code=encode(msg,N,K) 说明:该函数对二进制信息msg进行汉明编码,

29、K为信息位长度,N为码字长度。msg是一个K列矩阵。其中要求N=2m-1,K=N-m,m为监督位长度。decode函数 功能:译码函数 语法:rcvcode=decode(code,N,K) 说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。 hammgen函数 功能:汉明码生成矩阵和校验矩阵产生函数 语法:H=hammgen(M);H,G=hammgen(M);H,G,N,K=hammgen(M) 说明:该函数的功能是产生生成矩阵和校验矩阵,其中M=N-K为校验位的长度,H为汉明码的校验矩阵,G为汉明码的生成矩阵。部分源程序汉明码编码:ym=encod

30、e(abs(yh),7,4,hamming/binary);汉明码解码:dm=decode(c_de,7,4,hamming/binary);2.4 2PSK调制与解调2.4.1数字调制技术为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制以使信号与信道的特性相匹配。这种用数字信号控制载波,把数字基带信号变换为数字带通信号(已调信号)的过程成为数字调制。在接收端通过解调器把带通信号还原成数字基带信号的过程成为数字解调。通常把包括调制和解调过程的数字传输系统叫做数字带通传输系统。一般来说,数字调制与模拟调制的基本原理相同,但是数字调制有离散取值的特点。因此数字调制技术有两种方法:利

31、用模拟调制的方法去实现数字式调制;通过开关键控载波,通常称为键控法。基本键控方式有振幅键控、频移键控、相移键控。 振幅键控 频移键控 相移键控图10 正弦载波的三种键控波形2.4.2 二进制相移键控(2PSK)基本原理数字调制可分为二进制调制和多进制调制。(公式9)相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在2PSK中,通常用初始相位0和分别表示二进制“1”和“0”。因此,2PSK信号的时域表达式为:式中,n表示第n个符号的绝对相位:因此,上式可以改写为(公式10)由于表示信号的两种码元的波形相同,极性相反,故2PSK信号可以表述为一个双极性全占空矩形脉冲序列与一个正弦

32、载波的相乘:(公式11)(公式12)式中这里,g(t)是脉宽为Ts的单个矩形脉冲,而an的统计特性为(公式13)即发送二进制符号“0”时,e2PSK(t)取0相位;发送二进制符号“1”时,e2psk(t)取相位。这种以载波的不同相位直接去表示相应二进制数字信号的调制方式,称为二进制绝对相移方式。 (a) 模拟调制的方法 (b)键控法图11 2PSK信号调制器原理方框图2PSK信号的解调通常采用相干解调法,解调器原理框图如下图12所示。假设数字信息为“10011”,相干解调各点波形如下图13所示。图12 2PSK信号的解调原理框图图13 2PSK信号相干解调时各点时间波形2.4.3 MATLAB

33、实现2PSK调制与解调带通滤波器设计与载波相乘低通滤波器设计抽样判决2PSK信号相干解调输出载波频率初始化数字基带信号输入符号1=相位jn:符号0=相位jn: 0控制载波产生2PSK信号e2psk(t)=cos(2*fc*t+ jn)2PSK信号输出图14 2PSK调制 图15 2PSK解调2.5 AWGN信道的模拟加性高斯白噪声 AWGN(Additive White Gaussian Noise) 是最基本的噪声与干扰模型。加性噪声是叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所有的频

34、率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。 高斯白噪声的概念:“白”指功率谱恒定;高斯指幅度取各种值时的概率p(x)是高斯函数。功率谱密度恒定的话,自相关系数则是功率谱密度的反变换,高斯白噪声的自相关系数为无延时的冲击函数,则在时间差不等于零的时候,自相关等于0,也就是不同时间的高斯白噪声的幅度是不相关的。这里,在进行通信仿真时,我们考虑加性高斯白噪声信道(即AWGN信道),即在发射信号上加一个高斯白噪声随机序列。在MATLAB中产生高斯白噪声非常简单,采用命令awgn或wgn,如程序中采用的CC=awgn(c,10,0)。y=a

35、wgn(x,SNR)即:增加高斯白噪声至信号x,信噪比SNR的单位为dB,信号的功率设定为1,如果信号x为复数,则增加复数高斯白噪声。y=awgn(x,SNR,sigpower)即:如果sigpower是一个数值,则表示单位为dBW的信号功率;如果sigpower为measured,则awgn在增加高斯白噪声前自行测量信号功率。y=awgn(x,SNR,sigpower,state)即:重置randn的状态为state。y=wgn(M,N,P)即:产生M*N高斯白噪声。P表示dBW为单位的输出噪声功率。3 实验方案及测试方法方案一:采用MATLAB下的Simulink对各个模块进行建模仿真。S

36、imulink提供了大量的内置模块能够完成大部分系统的动态仿真,用户只需要知道模块的输入输出,参数配置等少数外部接口即可,不必关心内部实现形式。这些模块都是图形化的。整个Simulink的建模过程都是在图形用户界面上完成的。使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。微分方程和差分方程的求解等复杂的数值计算问题都是由Simulink本身来实现,用户只需要根据问题类型及精度要求对求解器类型进行配置即可。通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型,进而进行仿真与分析。Simulink采用类似于Visio绘图的方法建立系统框图模型,方便易用。方案二:运用

37、MATLAB编程语言来实现对各个模块的仿真。MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行,可移植性好、可拓展性极强。MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。MATLAB的这些函数所能解决的问题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函

38、数和其他初等数学运算、多维数组操作以及建模动态仿真等。由于本次课设是对通信系统的仿真,若用Simulink来实验,则会涉及到大量的模块设计和参数的设置,在调试参数的过程中会很不方便,并且可能由于版本的问题导致有些模块不存在而给仿真带来不必要的麻烦。而用MATLAB编程语言则能比较简单方便地实现本次课程设计的任务,故选择方案二。4 实验结果及分析4.1 发送端仿真结果4.1.1 PCM编码仿真图16 原始信号与PCM编码输出4.1.2 HDB3码及汉明码编码仿真图17 HDB3编码与汉明码信号输出4.1.3 2PSK调制以及AWGN信道仿真图18 2PSK调制信号与加噪信号4.2 接收端仿真结果

39、4.2.1 2PSK解调仿真图19 2PSK信号相干解调时间波形4.2.2 汉明码及HDB3码解码仿真图20 HDB3码解码信号输出4.2.3 PCM解码仿真图21 PCM解码信号输出4.3 仿真结果分析由以上图可知,并比较PCM编码信号、HDB3码编码信号、汉明码编码信号可看出代码正确,能够实现PCM编码、HDB3编码、汉明码编码的功能。比较汉明码编码信号、2PSK调制信号与2PSK解调信号可看出,2PSK调制与解调代码正确,可实现2PSK调制与解调。比较原始正弦信号与输出信号波形可看出,最终在接收端能够近似地再现信源,由计算得失真度为8.9524e-004,能够实现整个通信系统的仿真。5

40、实验总结在这次课程设计中,我学到了不少知识,对通信原理有了更多的了解。前期的准备便是在网上查阅相关资料,了解在这次课程设计中所需要掌握的基本知识,同时阅读相关书籍,弄清各模块的原理,为后面的动手过程提供了必不可缺的理论基础。在查阅资料以及编程方面有了一定的经验后,本次实验中充分借鉴其中好的部分,在很多方面有了很大的提高,但是仍然有一些细节,稍不注意就会出现错误。这些错误让我意识到,应用能力的提高不是一天两天就能实现的,一定要在不停地练习中慢慢积累。在软件仿真调试阶段,出现很多概念上的错误,通过查阅资料和同学的帮助最终解决,在发现错误、改正错误的过程中,暴露出理论方面的欠缺,还有从书本转到实践上

41、的不足,但是,在实验完成后,这些方面的能力都有了很大的提高。 总之,在这次课程设计中,暴露出对通信原理和MATLAB编程知识的不熟练,使之在具体操作之中遇见了很大的困难,但也正因为如此,在大量的查询资料和请教同学后,是我在这方面的能力有了不小的提高,使我们更好的将所学的理论知识与实践联系在一起。参考文献1樊昌信,曹丽娜. 通信原理(第6版)M. 国防工业出版社,2008.32John G.Proakis等著, 刘树棠译. 现代通信系统(Matlab版)(第二版)M. 电子工业出版社, 2006.93刘卫国. Matlab程序设计与应用(第二版)M. 高等教育出版社,2006.74(美)John

42、 G.Proakis,张力军等译.数字通信(第三版) M.电子工业出版社,20015郭文彬,桑林.通信原理基于Matlab的计算机仿真.北京邮电大学出版社,2006附录一、主程序:clearclc%-%- PCM编码 -%-t=0:0.3:2*pi; s=sin(t); m=length(s);PCM_encoder_out=PCM_encoder(s); figure(1);set(gcf,color,white)subplot(2,1,1);plot(t,s); title(原始正弦信号);subplot(2,1,2);stairs(0:length(PCM_encoder_out(1:64)-1,PCM_encoder_out(1:64);axis(0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁