1、武汉理工大学学科基础课群综合应用课程设计书课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 武汉理工大学 题 目: 通信系统课群综合训练与设计初始条件1)MATLAB 软件2)通信原理各模块相关知识要求完成的主要任务: 主要任务:利用仿真软件(如 Matlab 或 SystemView),或硬件实验系统平台上设计完成一个典型的通信系统其中信源为随机确定的一个模拟时间函数,数字化方式采用增量调制,基带码为 Miller 码,信道码采用汉明码,调制方式为 FSK,信道类型为 awgn 信道。要求:掌握以上各种电路与通信技术的基本原理,掌握实验的设计、电路调试与测量的方法。时间安排:序号
2、 设 计 内 容 所用时间1 根据设计任务,分析电路原理,确定实验方案 2 天2 根据实验条件进行电路的测试,并对结果进行分析 7 天3 撰写课程设计报告 1 天合 计 2 周指导教师签名: 年 月 日武汉理工大学学科基础课群综合应用课程设计书系主任(或责任教师)签名: 年 月 日武汉理工大学学科基础课群综合应用课程设计书目录摘要 .IAbstractII1 课程设计任务与要求 11.1 课程设计的目的 11.2 课程设计的任务与要求 12 MATLAB 概况 .23 通信系统 33.1 系统简述 .33.2 主要步骤 .33.3 系统框图 .34 系统设计原理 44.1 增量调制 .44.2
3、 基带传输 Miller 码 .54.3 信道传输循环码 .54.3.1 汉明码编码原理 54.3.2 汉明码纠错原理 84.4 FSK 调制及解调原理 94.4.1 FSK 调制原理 .94.4.2 FSK 解调原理 .104.5 AWGN 信道 115 系统仿真及分析 125.1 增量调制仿真 .125.2 基带传输 Miller 码仿真 .125.3 信道传输码汉明码仿真 .135.4 FSK 调制仿真 145.5 AWGN 信道仿真 145.6 FSK 解调仿真 155.7 汉明码解调仿真 .165.8 Miller 码解调仿真 .175.9 增量解调仿真 .175.10 失真度分析
4、.186 总结 197 参考文献 20附录 参考程序 21武汉理工大学学科基础课群综合应用课程设计书摘要本系统信源为随机确定的一个模拟时间函数,数字化方式采用增量调制,基带码为 Miller 码,信道码采用汉明码,调制方式为 FSK,信道类型为 awgn,在 MATLAB 平台上编程序,完成了模拟数字信号系统的仿真。本次设计输入信号为一个正弦信号,之后进行增量调制进行量化编码,再进行 Miller 码编码成基带码,随后编码成汉明码作为信道码进入信道,进行的 FSK 频移键控调制,之后过 awgn 信道模拟实际信道的加入噪声的影响,随后进行一系列的解调和译码,最后进行增量解调,恢复成原始的正弦波
5、信号。在最后还进行了失真度的分析。关键词:增量调制 Miller 码 汉明码 FSK AWGN 信道武汉理工大学学科基础课群综合应用课程设计书IAbstractThe source is an analog time randomly determined function digitally using delta modulation, the baseband code is Miller code, channel code using Hamming code, modulation scheme FSK, channel type awgn, on MATLAB platform
6、program, and complete simulation of analog and digital signal system. The design of the input signal is a sine signal, followed by incremental modulation quantization and coding, then Miller coding a baseband code, and then encoded as the Hamming code as channel code into the channel, FSK perform FS
7、K modulation, after over awgn channel simulate the effect of added noise of the actual channel, followed by a series of demodulation and decoding, demodulation last incremental restore to the original sine wave signal. In the final analysis also carried out distortion.Keywords: delta modulation Mill
8、er code hamming code FSK AWGN channel武汉理工大学学科基础课群综合应用课程设计书01 课程设计任务与要求1.1 课程设计的目的通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手独立开展电路实验的机会,锻炼分析解决电子电路问题的实际本领,实现由课本知识向实际能力的转化;加深对通信原理的理解,提高学生对现代通信系统的全面认识,增强学生的实践能力。1.2 课程设计的任务与要求要求利用仿真软件(如 Matlab 或 SystemView),或硬件实验系统平台上
9、设计完成一个典型的通信系统(如图 1-1 所示)。其中信源为随机确定的一个模拟时间函数,数字化方式采用增量调制,基带码为 Miller 码,信道码采用汉明码,调制方式为 FSK,信道类型为 awgn。要求完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。信息源编码调制传 输 介质接收者译码解调发 送 设 备接 收 设 备噪 声 干 扰图 1-1 典型的通信系统武汉理工大学学科基础课群综合应用课程设计书12 MATLAB 概况MATLAB 是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专
10、业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学 ,工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C、FORTRAN 等语言完相同的事情简捷得多。应用 MATLAB 这一软件来设计滤波器,与传统的设计思路相比是非常的简便的,具体来说主要有以下几点:MATLAB 的 GUID 可以提供给使用者一个进行人机交换的环境,在此环境中,使用者没有必要了解程序内部具体的编写情况,在这个界面上他只要输入他所期望的滤波器的性能指标就可以了。2)利用 MATLAB 可以进行系统仿真,也就是说,使用者可以通过计算机进行对数字滤波
11、器的频率响应图据的处理和波形的检测,不像以前必须借助一定的实验器材才可以得到。3) MATLAB 内部有丰富的函数可供调用,使用者只需要根据自己的需要查到所需要的函数名,那就可以直接调用使用了,不需要自己把函数详细的编写出来.使编写内部程序变的简单。MATLAB 包括拥有数百个内部函数的主包和三十几种工具包 (Toolbox).工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充 MATLAB 的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。开放性使 MATLAB 广受用户欢迎.除内部函数外,所
12、有 MATLAB 主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。武汉理工大学学科基础课群综合应用课程设计书23 通信系统3.1 系统简述通信原理的主要内容就是怎样可靠而有效地实现信息的传输。要使这些传输方法成为现实,就需要制作出相应的发送设备及接收设备。然后在发送端,我们把欲传送的信息变换成某种适宜的信号并将之馈入传输媒体(电缆,光缆,无线电波等)。在接收端,信号又从媒体馈入接收设备,我们再以同发端相反的过程恢复出原来所发送的信息。根据所学的知识,我们知道在什么样的情况下应该选择什么样的传输方式,并能判断出噪声,信道,传输方式等因素将会怎
13、样影响对我们来说非常重要的一些通信指标,如信噪比,误码率等。3.2 主要步骤本通信传输系统的 MATLAB 仿真包括以下内容: 单频正弦波模拟信号经过抽样、增量调制、Miller 码型变换基带传输,汉明码,FSK 调制后发送到 AWGN 信道,然后经过FSK 解调,汉明码译码、Miller 码译码、增量调制解后恢复出单频正弦波模拟信号。3.3 系统框图图 3-1 数字通信系统模型武汉理工大学学科基础课群综合应用课程设计书34 系统设计原理4.1 增量调制增量调制简称 M或增量脉码调制方式(DM ),它是继 PCM 后出现的又一种模拟信号数字化的方法。它是一种把信号上一采样的样值作为预测值的单纯
14、预测编码方式。增量调制是预测编码中最简单的一种。它将信号瞬时值与前一个抽样时刻的量化值之差进行量化,而且只对这个差值的符号进行编码,而不对差值的大小编码。因此量化只限于正和负两个电平,只用一比特传输一个样值。如果差值是正的,就发“1”码,若差值为负就发“0”码。因此数码“1”和“0”只是表示信号相对于前一时刻的增减,不代表信号的绝对值。同样,在接收端,每收到一个“1” 码,译码器的输出相对于前一个时刻的值上升一个量阶。每收到一个“0”码就下降一个量阶。当收到连“1” 码时,表示信号连续增长,当收到连“0”码时,表示信号连续下降。译码器的输出再经过低通滤波器滤去高频量化噪声,从而恢复原信号,只要
15、抽样频率足够高,量化阶距大小适当,收端恢复的信号与原信号非常接近,量化噪声可以很小。增量调制尽管有前面所述的不少优点,但它也有两个不足:一个是一般量化噪声问题;另一个是过载噪声问题。两者可统一称为量化噪声。阶梯曲线(调制曲线)的最大上升和下降斜率是一个定值,只要增量 和时间间隔t 给定,它们就不变。那么,如果原始模拟信号的变化率超过调制曲线的最大斜率,则调制曲线就跟不上原始信号的变化,从而造成误差。我们把这种因调制曲线跟不上原始信号变化的现象叫做过载现象,由此产生的波形失真或者信号误差叫做过载噪声。另外,由于增量调制是利用调制曲线和原始信号的差值进行编码,也就是利用增量进行量化,因此在调制曲线
16、和原始信号之间存在误差,这种误差称为一般量化误差或一般量化噪声。减少增量调制的失真程度有三种:增加量化阶距、减小量化阶距和增加采样频率。增加量化阶距可以减少过载噪声,而减少量化阶距则可以减少一般量化噪声,所以量化阶距的选择必须得慎重;与之相反,增加采样频率既可以减小过载噪声,又可以减小一般量化噪声,因此,在实际系统中,增量调制的采样频率很高。武汉理工大学学科基础课群综合应用课程设计书44.2 基带传输 Miller 码Miller 码也称延迟调制码,是一种变形双向码。其编码规则:对原始符号“1”码元起始不跃变,中心点出现跃变来表示,即用 10 或 01 表示。对原始符号“0”则分成单个“0”
17、还是连续“0”予以不同处理;单个 “0”时,保持 0 前的电平不变,即在码元边界处电平不跃变,在码元中间点电平也不跃变;对于连续“0” ,则使连续两个 “0”的边界处发生电平跃变,即00 和 11 交替。编码例图如下。图 4-1 Miller 码编码规则实例图4.3 信道传输循环码4.3.1 汉明码编码原理一般来说,若汉明码长为 n,信息位数为 k,则监督位数 r=n-k。若希望用 r 个监督位构造出 r 个监督关系式来指示一位错码的 n 种可能位置,则要求(1)1r21rr 或下面以(7,4)汉明码为例说明原理: 设汉明码(n,k)中 k=4,为了纠正一位错码,由(1)式可知,要求监督位数
18、r3。若取r=3,则 n=k+r=7。我们用 来表示这 7 个码元,用 的值表示 3 个监督关系0123456a 321s式中的校正子,则 的值与错误码元位置的对应关系可以规定如表 1 所列。321s表 1 校正子和错码位置的关系123s错码位置 123s错码位置001 0a101 4a武汉理工大学学科基础课群综合应用课程设计书5010 1a110 5a100 2 111 6011 3000 无错码则由表 1 可得监督关系式:16542saa2231 33640 4在发送端编码时,信息位 的值决定于输入信号,因此它们是随机的。监督位654a、 、 应根据信息位的取值按监督关系来确定 ,即监督位
19、应使(2)式(4)式中 、2a10 1s、 的值为 0(表示编成的码组中应无错码) s3654231640aa (5)式(5)经过移项运算,接触监督位265413064aa (6)式(5)其等价形式为:6543210100aa(7)式(6)还可以简记为或 THAT(8)其中武汉理工大学学科基础课群综合应用课程设计书6101H6543210AaaP10rI所以有rHPI(9)式(6)等价于2106543654310aaaaaQ (10)其中 Q 为 P 的转置,即TQP()式(10)表示,信息位给定后,用信息位的行矩阵乘矩阵 Q 就产生出监督位。我们将 Q 的左边加上一个 kk 阶单位方阵,就构
20、成一个矩阵 G1010kGIQ(12)G 称为生成矩阵,因为由它可以产生整个码组,即有65432106543aaaG(3)或者6543Aaa(14)武汉理工大学学科基础课群综合应用课程设计书7式(13)即汉明码的编码原理。在 MATLAB 中我们不需要这么麻烦地去自己写程序编码,因为 MATLAB 有自带的编码函数:encode(MSG, N, K, OPT);MSG 为将要进行编码的二进制序列,N 为码字长度,K 为信息位长度,OPT 为进行何种编码,可选 hamming(汉明码),linear block (线性分组码)和 cyclic(循环码)。4.3.2 汉明码纠错原理当数字信号编码成
21、汉明码形式(本文中即 A)后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。一般来说接收码组与 A 不一定相同。若设接收码组为一 n 列的行矩阵 B,即6543210Bb (15)则发送码组和接收码组之差为AE (6)E 就是传输中产生的错码行矩阵6543210e (17)若 ei=0,表示接收码元无错误,若 ei=1,则表示该接收码元有错。式(16)可改写成BAE (8)若 E=0,即接收码组无错,则 ,将它代人式(8),该是仍成立,即有0TH (19)当接收码组有错时,E0,将 B 带入式(8)后
22、,该式不一定成立。在未超过检错能力时,式(19)不成立。假设此时式(19)的右端为 S,即TS20将 代入式(20),可得BAE()TTTSAEHE由式(8)可知,所以T 21此处 S 与前面的 有着一一对应关系,则 S 能代表错码位置。123s武汉理工大学学科基础课群综合应用课程设计书8因此,纠错原理即,接收端收到码组后按式(20)计算出 S,再根据表 1 判断错码情况,进行差错纠正。在 MATLAB 中我们不需要这么麻烦地去自己写程序译码,因为 MATLAB 有自带的译码函数:decode(MSG, N, K ,OPT);MSG 为将要进行编码的二进制序列,N 为码字长度,K 为信息位长度
23、,OPT 为进行何种编码,可选 hamming(汉明码),linear block (线性分组码)和 cyclic(循环码)。4.4 FSK 调制及解调原理4.4.1 FSK 调制原理频移键控是利用载波的频率来传递数字信号,在 2FSK 中,载波的频率随着二进制基带信号在 f1 和 f2 两个频率点间变化,频移键控是利用载波的频移变化来传递数字信息的。在 2FSK 中,载波的频率随基带信号在 f1 和 f2 两个频率点间变化。故其表达式为:(3-16))cos()(2 12)( nntAtFSKte 典型波形如下图所示。由图可见。2FSK 信号可以看作两个不同载频的 ASK 信号的叠加。因此
24、2FSK 信号的时域表达式又可以写成:(3-17) )cos()()cos()()( 2_12 nnnFSK tTtgatTtgats 传“0”信号时,发送频率为 f1的载波; 传“1”信号时,发送频率为 f2的载波。可见,FSK 是用不同频率的载波来传递数字消息的。 实现模型如下图:图 4-2 2FSK 调制原理武汉理工大学学科基础课群综合应用课程设计书94.4.2 FSK 解调原理2FSK 的解调方式有两种:相干解调方式和非相干解调方式。非相干解调是指经过调制后的 2FSK 数字信号通过两个频率不同的带通滤波器 f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波
25、,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。其原理图如下图所示:图 4-3 非相干解调原理图相干解调是指根据已调信号由两个载波 f1、f2 调制而成,则先用两个分别对 f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波 f1、f2 相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。原理图如下图 4-4 相干解调原理图武汉理工大学学科基础课群综合应用课程设计书104.5 AWGN 信道加性高斯白噪声 AWGN 是最基本的噪声与干扰模型。加性噪声:叠加在信号上的一种噪声,通常记为 n(t),而且无论有无信号
26、,噪声 n(t)都是始终存在的。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。 MATLAB 中也有模拟 AWGN 信道在某一个信号中加入高斯白噪声的函数:awgn(x,SNR),x 是要加入高斯白噪声的信号。SNR 为信噪比,以 dB 为单位。如果 x 是复数,就加入复噪声。武汉理工大学学科基础课群综合应用课程设计书115 系统仿真及分析5.1 增量调制仿真在仿真中构造的原始时间函数为:x=sin(2*pi*50*t)。调制结果如图图 5-1 增量调制从图中原始信
27、号和增量调制的仿真结果比较来看,在输入信号上升部分,编码器输出现连 1 码,输入信号下降部分,编码器输出连 0 码,仿真结果基本成功。但是在输入信号变化平缓的部分,编码器输出 1、0 交替码,这是由于增量幅值过大造成的。5.2 基带传输 Miller 码仿真将增量调制之后的二进制码进行Miller编码。武汉理工大学学科基础课群综合应用课程设计书12图 5-2 Miller 编码由 Miller 码和增量调制之后的码一对比,可以发现,码长增加了一倍,符合 Miller 的编码规则,仿真结果正确。5.3 信道传输码汉明码仿真基带码不利于在长距离信道传输,需要加冗余码进行差错控制,于是采用汉明码。汉
28、明码编码仿真用的是(7,4)汉明码,n =7 是总码长,k =3 是信息位码长。仿真结果如下:汉明编码器输入了 60 个码元,输出 105 个码元。因为是(7,3)汉明编码,所以校验位 r=4 满足 和 ,即仿真结果正确。21rn21rkr武汉理工大学学科基础课群综合应用课程设计书13图 5-3 汉明码编码5.4 FSK 调制仿真将汉明编码器输出的信道码进行 2FSK 调制,仿真结果见下:图 5-4 2FSK 调制5.5 AWGN 信道仿真将经过 2FSK 调制好后的信号经过 AWGN 信道,仿真结果如图所示。武汉理工大学学科基础课群综合应用课程设计书14图 5-5 加噪后波形通过设置信噪比系
29、数,可控制噪声强度,来改变信道的噪声系数。仿真结果正确。5.6 FSK 解调仿真将经过 AWGN 信道的信号进行 2FSK 解调,并进行分析。仿真结果如下图所示。图 5-6 FSK 解调武汉理工大学学科基础课群综合应用课程设计书15当信噪比取较高的时候,即为高信噪比的时候,由于噪声小,故失真小,经过相干解调和非相干解调后的信号与原序列比较差距也越小,而若噪声越小,经过相干解调和非相干解调后的信号之前差距也越小。当信噪比取较小的时候,即为低信噪比的时候,由于噪声大,故失真大,经过相干解调和非相干解调后的信号与原序列比较差距也越大,相干解调后的信号与信号原序列相比较差距更小,这是因为相干解调误比特
30、率更低。5.7 汉明码解调仿真将 FSK 解调后的信号进行信号恢复。汉明码译码的时候,编码时用了 3 位监督位,共有 105 位,译码后应有 60 位。如图所示,汉明码译码器输出信号有 60 个码元,即仿真结果正确。图 5-7 汉明码译码武汉理工大学学科基础课群综合应用课程设计书165.8 Miller 码解调仿真图 5-8 Miller 码译码Miller 码译码是 Miller 码编码的逆过程,所以由图看出 Miller 码译码器输出依旧 30个码元,即仿真结果正确。5.9 增量解调仿真图 5-9 增量解调武汉理工大学学科基础课群综合应用课程设计书17由上图可以看出,解调出来的图像和原始的
31、正弦信号相似,有一些误差是正常现象,仿真结果成功。5.10 失真度分析本次设计失真度计算为0.0586。从上图可以看出,增量解调恢复出的信号与原信号近似相同,但存在一定程度的失真。经分析,是由于增量调制的量化幅度太大,产生的颗粒噪声,造成了过载失真。加噪后的信号经过FSK解调后,都会因为加噪的影响,产生一定的失真。减小失真最简单的办法就是从增量调制入手,增加采样频率和减小量化阶距,上图我们用的采样频率为1Hz ,量化阶距为0.4,我们增加采样频率为50Hz、减小量化阶距为0.01,再次运行程序,得到的解调之后的波形如图所示:图5-10 改变采样频率和量化阶距之后的解调图像我们可以看到,解调之后
32、的图像和原始信号的图像几乎完全一样,此时的失真度为3.3403e-05,基本上可以认为和原始信号一样,证明此次的设计是成功的。武汉理工大学学科基础课群综合应用课程设计书186 总结在这次课程设计中,我通过多方面地查找搜集资料,对增量调制、Miller码、汉明码、FSK调制解调以及AWGN信道都进行深入理解分析,对通信系统的,成功地通过对MATLAB的运用完成了对通信系统的仿真实现。通过本次课程设计,我学到很多东西,提高了我们的逻辑思维能力,使我们在matlab仿真的分析与设计上有了很大的进步。加深了我对通信系统的认识,进一步增进了对其原理及仿真方法实现的了解。在编写程序时,遇到很多不能仿真的东
33、西,通过查阅参考书和网络到,解决了仿真的问题。不是每一个模块找到程序之后就可以让整个通信系统都能仿真出来,而是要进行融合,才能让仿真得以实现,所以对各个函数的理解及运用都要弄清楚。在读懂编写修改程序的过程中,让我更加了解了整个通信系统的工作原理并且通过仿真分析加深了对原理的理解,体会到了理论与实际的相结合。这次综合课程设计让我体会到了编程,仿真实现的艰辛,也让我明白必须打好基础,才能完成以后的每一个任务。武汉理工大学学科基础课群综合应用课程设计书197 参考文献1 刘泉.通信电子线路 .武汉理工大学出版社.2004.9.2 樊昌信.通信原理 .国防科技出版社.20073 陈怀琛.数字信号处理教
34、程:MATLAB 释义与实现.20084 罗军辉.MATLAB7.0 在数字信号处理中的应用.机械工业出版社.20085 张平.matlab 基础与应用.北京航空航天大学出版社.2007武汉理工大学学科基础课群综合应用课程设计书20附录 参考程序clear;%*定义一个原始信号并进行抽样*Ts=1e-3;t1=0:Ts:29*Ts;signal1=sin(2*pi*50*t1);fs=1;t=0:Ts/fs:29*Ts;T=29*Ts;signal=sin(2*pi*50*t);%*增量调制*delta=0.4; %量化阶距D(1+length(t)=0; %预测器初始状态for k=1:le
35、ngth(t)e(k)=signal(k)-D(k); %误差信号e_q(k)=delta*(2*(e(k)=0)-1); %量化器输出D(k+1)=e_q(k)+D(k); %延迟器状态更新DMout(k)=(e_q(k)0); %编码输出endfigure(1)subplot(2,1,1);plot(t,signal,-o);axis(0,T,-2,2);grid on;title(原始信号波形);subplot(2,1,2);stairs(t,DMout);axis(0,T,-2,2);grid on;title(增量调制后的波形);%*密勒码编码*武汉理工大学学科基础课群综合应用课程设
36、计书21miller=zeros(1,2*length(DMout);ex=1; %exchangeflag1=0;for i=1:length(DMout);if DMout(i)=1 %若原码为 1,则密勒码为 10,01 交替miller(2*i-1:2*i)=ex,not(ex);ex=not(ex); %ex 用来作为 01 交替的标记flag1=1; %flag1 用来作为上一个码的标记,若上一个码为 1,则 flag1 为 1else if flag1=1 %若原码为 0;且上一个码为 1miller(2*i-1:2*i)=ex,ex;flag1=0;else %若原码为 0;且
37、上一个码为为 0ex=not(ex);miller(2*i-1:2*i)=ex,ex;endendendfigure(2)stairs(0:length(miller)-1,miller);axis(0,length(miller)-1,-0.5,1.5);title(Miller 编码后的波形);grid on;%*汉明码编码*hamming=encode(miller,7,4,hamming)figure(3)stairs(0:length(hamming)-1,hamming);axis(0,length(hamming)-1,-0.5,1.5);title(Hamming 编码后的波形
38、);grid on;武汉理工大学学科基础课群综合应用课程设计书22%*FSK 调制*fs=40;freq_seq=0.5;Nsamp=100;M=4;fskout=fskmod(hamming,M,freq_seq,Nsamp,fs);figure(4)plot(0:length(fskout)-1,fskout);axis(0,(length(fskout)-1)/2,-1.5,1.5);grid on; %只截取了其中一段title(FSK 调制后的波形);%*AWGN 信道*awgnout=awgn(fskout,20); %加入噪声 figure(5); plot(0:length(a
39、wgnout)-1,awgnout,b-); axis(0,(length(awgnout)-1)/2,-3,3); %只截取了其中一段grid on; title(加入 AWGN 噪声后的波形)%*FSK 解调*fskdeout=fskdemod(awgnout,M,freq_seq,Nsamp,fs);figure(6)stairs(0:length(fskdeout)-1,fskdeout);axis(0,80,-0.5,1.5);grid on;title(FSK 解调之后的波形);%*汉明码解码*hamming_de=decode(fskdeout,7,4,hamming) ; fi
40、gure(7)武汉理工大学学科基础课群综合应用课程设计书23stairs(0:length(hamming_de)-1,hamming_de);axis(0,length(hamming_de)-1,-0.5,1.5);title(Hamming 解码后的波形); grid on;%*密勒码解码*miller_de=zeros(1,1/2*length(hamming_de); for i=1:length(hamming_de)/2;if hamming_de(2*i-1)=hamming_de(2*i); %若密勒码为 10 或者 01,则原码为 1miller_de(i)=1;elsem
41、iller_de(i)=0; %若密勒码为 11 或者 00,则原码为 0endend figure(8)stairs(0:length(miller_de)-1,miller_de);axis(0,length(miller_de)-1,-0.5,1.5);title(Miller 解码后的波形);grid on;%*增量解调*Dr(1+length(t)=0; for k=1:length(t)eq(k)=delta*(2*miller_de(k)-1);output(k)=eq(k)+Dr(k);Dr(k+1)=output(k); endfigure(9);plot(t,signal);hold on;stairs(t,output);axis(0,T,-2,2);grid on;title(增量解调后的波形);武汉理工大学学科基础课群综合应用课程设计书24%*失真度计算*dist=0;for i=1:length(t)d=(signal(i)-output(i)2/length(t);dist=dist+d;enddisp(失真度为 ); disp(dist);