1、 目录摘要:21、课程设计目的32、课程设计时间43、课程设计环境44、课程设计要求45、设计内容45.1、系统框图设计45.2、模块设计56、仿真结果及分析86.1、FSK调制解调分析86.2、相同信道环境下三种信道编码方式性能分析96.3、不同信道环境下三种信道编码方式性能分析117、实验中遇到的问题及解决方法148、实验心得与体会149、总结15摘要:数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,通过信道编码对数码流进行相应的处理,使系统具有一定的纠错能力和抗干扰能力,可极大地避免码流传送中误码的发生。在MATLAB平台上进行通信系统仿真,通过不同信道编码方式在不同信道
2、环境下的性能比较,分析不同编码方式的性能表现及对不同信道的适应情况,分析不同信道下最优的信道编码方式。信道编码方式为7-4汉明码、交织码、卷积码,信道为:加性高斯白噪声信道(AWGN Channel)和突发错误信道,调制方式采用FSK调制方式。关键词:信道编码 汉明码 交织码 卷积码 AWGN信道 突发错误信道 FSK1、课程设计目的数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图像跳跃、不连续、出现马赛克等现象。所以通过信道编码这一环节,对数码流进行相应的处理,使系统具有一定的纠错能力和抗干扰能力,可极大地避免码流传送中误码的发生。信道编码的目的是为了改善数
3、字通信系统的传输质量。加性高斯白噪声AWGN(Additive White Gaussian Noise)是最基本的噪声与干扰模型。它的幅度分布服从高斯分布,而功率谱密度是均匀分布的。在有记忆信道中,噪声、干扰的影响往往是前后相关的,错误是成串出现的,一般在编码中称这类信道为突发差错信道。实际的衰落信道、码间干扰信道均属于这类信道。基于对此的学习和认识,我们设计了此仿真程序,在高斯信道和突发差错信道下,对信源进行不同方式的信道编码,然后对信号进行FSK方式调制,通过信道进行传输,在接收端解调和译码,分析比较同一信道环境不同编码方式的信噪比-误码率曲线和同一编码方式不同信道环境的信噪比-误码率曲
4、线,来分析不同编码方式下的系统传输性能,得出不同编码方式的性能优劣及适用信道情况的结论。我们希望通过此系统设计,加深我们对于信道编码的认识,理解信道性能及特点,学习FSK调试解调方式及原理,熟悉在MATLAB仿真平台上对通信系统的搭建,进一步熟悉通信系统的整体结构。本仿真系统共涉及三种常用的信道编码方式:7-4汉明码、交织码和卷积码,信道模型采用加性高斯白噪声信道(AWGN Channel)和突发差错信道,调制方式采用FSK调制方式。2、课程设计时间4月10日5月30日3、课程设计环境MATLAB平台4、课程设计要求设计一个通信系统,完成从信源到信宿的整个仿真过程,编程实现信源模块、信道编码模
5、块、FSK调制模块、信道仿真模块、FSK解码模块、信道解码模块、性能分析模块。其中信道编码方式分别采用7-4汉明码、交织码、卷积码,信道分别采用加性高斯白噪声信道(AWGN Channel)、突发错误信道。要求可以实现仿真信息可以从发送到接收的整个传输过程,通过分析比较同一信道环境不同编码方式的信噪比-误码率曲线和同一编码方式不同信道环境的信噪比-误码率曲线来分析三种信道编码方式的性能,得出实验结论。5、设计内容5.1、系统框图设计基于FSK的信道编码性能分析实验仿真系统的程序框图如图1所示:信源信道编码FSK调制信道FSK解调信道解码信宿图1 基于FSK的信道编码性能分析实验仿真系统的程序框
6、图5.2、模块设计本程序采取模块化设计,分为以下几个模块:5.2.1、信源模块产生随机的二进制数字序列;5.2.2、信道编码模块5.2.2.1、7-4汉明码编码模块对信源产生的二进制数字序列进行7-4汉明编码,输出要传送的二进制数字序列;5.2.2.2、交织码编码模块对信源产生的二进制数字序列进行交织编码,输出要传送的二进制数字序列;(1)循环码编码子函数(2)交织子函数5.2.2.3卷积码编码模块对信源产生的二进制数字序列进行交织编码,输出要传送的二进制数字序列;5.2.3、FSK调制模块对发送的二进制数字序列进行FSK调制,输出为经过信道传输的信号;FSK调制框图如图2所示:振荡器1 选通
7、开关振荡器2 选通开关反相器相加器基带信号图2 FSK调制框图5.2.4、AWGN信道模块仿真实现随机错误信道环境,对输出信号进行噪声干扰;5.2.5、突发错误信道模块仿真实现突发错误信道环境,对输出信号进行噪声干扰;5.2.6、FSK解调模块对经过信道传输后的信号进行FSK解调,输出为二进制数字信号;(1)FSK解调子函数(2)计算信号的IFFT子函数(3)低通滤波器子函数FSK解制框图如图3所示:带通滤波器 相乘器低通滤波器带通滤波器 相乘器低通滤波器抽样判决器定时脉冲脉冲图3 FSK解制框图5.2.7、信道解码模块5.2.7.1、7-4汉明码解码模块对FSK解调模块输出的二进制数字序列进
8、行7-4汉明解码,输出要接收到信源发送的二进制数字序列;5.2.7.2、交织码编码模块对FSK解调模块输出的二进制数字序列进行交织解码,输出要接收到信源发送的二进制数字序列;(1)交织子函数(2)纠错子函数(3)循环码解码子函数5.2.7.3卷积码编码模块对FSK解调模块输出的二进制数字序列进行卷积解码,输出要接收到信源发送的二进制数字序列;5.2.8、主函数模块将以上各子函数模块构成系统,进行通信系统传输仿真,画出信噪比-误码率曲线图,用以分析系统性能。6、仿真结果及分析6.1、FSK调制解调分析信源产生10位二进制随机数字序列,对此进行FSK调制,调制时各测试点波形图如图4所示,解调时各测
9、试点波形图如图5所示:图4 FSK调制波形图图5 FSK解调波形图【结论】由图4可以看出,FSK编码模块对输入的基带信号按照0/1分为两路,分别与载波相乘,之后将两路信号相加得到FSK信号。由图5可以看出,接收端对接收信号进行FSK解调,接收信号与两个载波相乘,之后经过低通滤波器,最后抽样判决得到二进制数字序列。综合图4和图5,可以看出,发送数字序列与接收数字序列相同,FSK调制解调模块可以正常工作。6.2、相同信道环境下三种信道编码方式性能分析6.2.1、高斯随机信道信源产生3600个二进制数字随机序列,将其进入系统进行通信传输,信道采用高斯随机信道,分别采用无信道编码和7-4汉明码、交织码
10、、卷积码三种信道编码方式,得到在高斯随机信道环境下的误码率-信噪比曲线,如图6所示:图6 AWGN信道环境下的误码率-信噪比曲线【结论】红色(交织码)、绿色(汉明码)、蓝色(卷积码)、黄色(无信道编码)由图6可以得出,在AWGN信道环境下,通过对以上四条曲线的比较,采用信道编码方式的三条曲线明显在黄色曲线的下方,说明在随机信道编码对于提高误码率性能有着明显的作用;通过比较红、绿、蓝三条曲线可以得出,在AWGN信道环境下,循环交织码对于性能提升效果最明显,汉明码次之,卷积码相对来说对于性能提升效果较小。6.2.1、突发错误信道信源产生3600个二进制数字随机序列,将其送入通信系统进行通信仿真,分
11、别采用无信道编码和7-4汉明码、交织码、卷积码三种信道编码方式,得到在突发错误信道环境下的误码率-信噪比曲线,如图7所示:图7 突发错误信道环境下的误码率-信噪比曲线【结论】红色(交织码)、绿色(汉明码)、蓝色(卷积码)、黄色(无信道编码)由图7可以得出,在突发错误信道环境下,通过对以上四条曲线的比较,同样可以看出采用信道编码方式的三条曲线明显在黄色曲线的下方,说明在突发错误信道环境下采用信道编码对于提高误码率性能有着明显的作用;通过比较红、绿、蓝三条曲线可以得出,在突发错误信道环境下,当信噪比较小时,交织码对于性能提升效果最明显,汉明码次之,卷积码相对来说对于性能提升效果较小;当信噪比增大到
12、一定程度后,三者性能差别不大。综合以上两图可以得出,信道编码对于改善数字通信系统的传输质量有明显效果,采用信道编码方式在相同误码率要求的情况下可节约发射功率。交织编码的指导思想就是通过对所传输符号的交织,减小错误的相关性,使突发错误变为随机错误,从而可以采用纠正随机错误的纠错编码进行检纠错。故交织码更适合于突发错误信道。比较以上三种信道编码方式,交织编码对于提高通信系统的传输质量的提升效果最为明显。6.3、不同信道环境下三种信道编码方式性能分析6.3.1、无信道编码方式不采用信道编码方式,直接传输信源数据,分别在高斯随机信道环境和突发错误信道环境下,误码率-信噪比曲线如图8所示:图8无信道编码
13、方式两种信道环境下的性能曲线图【结论】由图8可以得出,在无信道编码时,AWGN信道与突发错误信道的误码率性相近。6.3.2、7-4汉明编码采用7-4汉明编码方式,分别在高斯随机信道环境和突发错误信道环境下,误码率-信噪比曲线如图9所示:图9 汉明码在两种信道环境下的性能曲线图【结论】由图9可以得出,当信噪比较小时,在两种信道环境下,信号传输质量相近,当信噪比增大到约4dB-7dB时,在高斯信道环境下传输的误比特率要小于在突发错误信道环境下的误比特率。随着信噪比继续增大,两种信道环境下无差别。6.3.3、交织编码采用交织编码方式,分别在高斯随机信道环境和突发错误信道环境下,误码率-信噪比曲线如图
14、10所示:图10 交织码在两种信道环境下的性能曲线图【结论】由图10可以得出,交织编码方式在两种信道环境下的性能相似。6.3.4、卷积编码采用卷积编码方式,分别在高斯随机信道环境和突发错误信道环境下,误码率-信噪比曲线如图11所示:图11 卷积码在两种信道环境下的性能曲线图【结论】由图11可以得出,卷积编码方式在两种信道环境下的性能相似。7、实验中遇到的问题及解决方法(1)FSK调制过程中遇到的问题对于FSK调制时,主要的思想应该是将每一个传输码元对应多个载波,所以在生成传输码元后,应该对其进行抽样处理,然后再进行载波相乘。(2)FSK解调时的低通滤波器设计查阅数字信号处理课本,通过matla
15、b中已知的低通滤波器设计函数来构造低通滤波器。在设计过程中,仅需要考虑数字滤波器的通阻带截止频率即可。(3)FSK的抽样过程中遇到的问题在抽样过程,对于抽样点的选取,实验刚开始时选取的单个抽样为第一个点,然后发现抽样效果偶然性过大,然后将抽样点改为码元中载波的波峰点进行抽样,效果较好。后来,发现在多个载波的波峰点(同一码元)处抽样,然后取其较多的值作为本码元的值,这种方法可以进一步的提高FSK的抗噪声性能。(4)设计突发性错误信道的随机性问题为了保证在突发性错误的随机性,采用的设计的方法为,产生随机位和随机个数的方法,然后将对应的高斯噪声放大,即可得到突发性错误信道。(5)设计画图主函数的问题
16、对于主函数需要调用不用的信道编码和信道模型的情况,设计了参数选择功能,避免了设计多个子函数,优化了程序的整体结构。8、实验心得与体会(刘尊宁)通过本学期的通信系统课程设计的学习与实践,我感到收获到了很多。在本学期初期,老师通过五周的课堂讲解,带领我们一块学习和复习了通信系统的各方面知识,主要有信源编码、信道建模、信道编码、数字调制与解调等知识,我们初步建立了系统的概念。在讲授课程结束后,我们小组在学习掌握通信原理知识的基础上,并结合研究兴趣,讨论确定了本次课程设计的题目:基于FSK的信道编码性能分析。我们打算尝试采用FSK调制方式作为系统的调制解调方式。通过本学期通信原理2中信道编码的学习,我
17、们掌握了几种常用的基本的信道编码方式的编码原理,我们计划通过具体的编程实现来进一步巩固所学知识,验证理论的正确性。所以我们讨论确定了本题目。确定题目后,我们开始着手搜集资料。在正式开始编程设计系统之前,我们阅读了大量程序和参考文献,学习他人的方法和经验。之后,我们经过讨论,首先进行了系统的整体设计,设计了程序整体框图,见图1。为了降低复杂度和使系统简单明了,我们设计采用模块化的设计思想,分模块地进行设计编写,然后进行系统构成。我们将整个系统分为信源模块、信道编解模块(汉明编码、卷积编码、循环编码)、FSK调制与解调模块。在编程过程中,我们遇到了大量问题,例如在进行FSK调制与解调模块的编写过程
18、中,我们一开始不知如何将数字信号调制到频率不同的载波上,在进行相关解调时,需经过低通滤波器滤除基带信号,我们不知道如何设计基带滤波器,截止频率如何确定,我们参考了许多程序,明白了调试与解调的具体实现方法。在信道编码程序设计时,由于我们一开始仅仅掌握了编码的原理,到具体编程实现时,却感到无从下手,编程中涉及到许多具体细节的实现,我们在阅读参考相关程序的基础上,编写调试成功了信道编解码模块。在各模块编写完成,进行系统调试时,同样会遇到很多问题,如各函数参数传递不正确,矩阵位数不匹配等众多问题。但我们面对问题和困难没有退缩,而是耐心查找,仔细分析,一一将问题解决,最终完成了我们预定的任务。在整个过程
19、中,我们虽然遇到了许多困难,有些时候,设计一度陷入绝境,不知该如何解决。但是我们坚持了下来,一步一步最终实现了基于FSK的信道编码性能分析的课题。再次过程中,我们不仅加深了对FSK调制解调原理、信道编解码原理的进一步掌握,而且学习实践了具体的仿真实现形式。最重要的是我们亲身感受到了信道编码对于提高通信质量的功效。整个过程中,我感到收获颇丰。(曹佑龙)本次课程设计中,通过仿真FSK调制过程以及三种信道编码方式,我对无线通信的过程的有了更为具体的认识。首先,由设计FSK调制过程中载波相乘的部分,需要注意载波的频率和码元速率之间的关系,即需要对发送序列需要进行抽样然后在与载波相乘,对于其他形式的载波
20、调制的过程也是试用的。其次,对于FSK解调部分的设计过程,由于需要用到低通滤波,大多数的资料采用的是MATLAB中自带的低通滤波设计函数,而我们采用的方式是进行FFT,在频域进行滤波,效果要好于直接设计的低通滤波器。还有就是对于在每个子函数中序列长度的问题,原打算将序列长度作为参数进行传递,但考虑到实际通信中,接收端无法知道序列长度,所以在子函数前加入了测长,这样的程序设计也有利于多种信道编码方式的直接调用。对于实验结果,由于在每个信噪比下,系统所产生的随机噪声和突发性错误是不同的,所以仿真曲线会出现“毛刺”的现象,但总体的趋势依然可以反映在信噪比提高时,误码率会随之下降。通过本次课程设计,我
21、对汉明编码、卷积码、以及交织码的原理和性能有了更好的理解,同时对于程序设计和编写上也有了一定的提高。(闵睿)本次实验,我主要负责循环交织码编解码模块的编写和加性高斯白噪声信道模块的编写,以及三种不同信道编码方式在AWGN信道环境下的误码率性能分析。为了使本次的实验程序编写更加快捷准确,在编写程序之前,我首先参考了上学期通信原理(一)中关于加性高斯白噪声信道的相关内容和本学期通信原理(二)中关于循环码和交织的相关内容,以及本学期通信原理系统课程设计先导课中关于信道编码和信道环境相关的内容。另外,我访问了此前经常参考的程序员联合开发网,下载了很多有关方面的例程,理解其编程的流程,找出其中独特和简洁
22、之处,以便在自己编写程序时加以改进和引用。在编写程序的过程中,遇到了很多的问题。因为这个实验题目为我们小组成员讨论决定的,有很多的独创性,因此网上并没有现成的例程,相关的程序只能加以参考,最终的程序需要我们自己编写。在编写加性高斯白噪声信道时,我使用了我在本学期通信原理实验中数字基带传输系统实验中编写的加性高斯白噪声信道子程序。由于上学期通信原理课程中讲述的比较多,我对于加性高斯白噪声信道的理解还是比较清晰的。但是本学期通信原理(二)课程中对于循环码以及交织的相关知识并没有详尽的论述,所以对于这部分的内容理解并不是掌握的十分清楚。我参考了相关的教材以及网上的相关资料,同时与同组同学进行了讨论。
23、在进行三种不同信道编码方式在不同信道环境下的误码率性能分析时,由于我们三个人进行的是分工编写,在某些参数的理解上有误解,我们进行了交流和讨论。通过这次的通信原理系统课程设计,我加深了对于信道编码和信道和突发信道的理解,在编程的过程中,熟练了自己对于matlab的使用以及matlab与通信原理实验的结合,在与组内其他组员的合作和交流中,加深了自己对于相关知识的理解,了解到了很多独特的见解。最后,感谢老师在本次课程设计中对我们的指导,感谢同组曹佑龙和刘尊宁同学对我的帮助和指导。9、总结通过对通信原理的学习,我们理解掌握了通信系统的基本原理,了解了数字调制的方法和多种信道编码方法,为进一步验证所学知识,加强对通信原理知识的掌握,我们设计了此仿真系统。在高斯信道和突发差错信道下,对信源进行不同方式的信道编码,然后对信号进行FSK方式调制,通过信道进行传输,在接收端解调和译码,通过分析比较同一信道环境不同编码方式的信噪比-误码率曲线和同一编码方式不同信道环境的信噪比-误码率曲线,我们认识到信道编码对于改善数字通信系统的传输质量大有裨益,体会到了信道编码的神奇之处,赞叹前人的聪明才智,同时也激发了我们对提高通信质量研究的热情,对于我们今后的学习有极大的促进作用。最后,感谢老师给予我们的指导与帮助。 16 / 16