通信系统课程设计详解.doc[38页]_第1页
通信系统课程设计详解.doc[38页]_第2页
通信系统课程设计详解.doc[38页]_第3页
通信系统课程设计详解.doc[38页]_第4页
通信系统课程设计详解.doc[38页]_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、名:年 月 日目录摘要IAbstractII1设计任务及要求11.1设计任务11.2设计要求12系统的功能设计23脉冲编码调制331脉冲编码调制的基本原理33. 2折叠二进制码原理53.3 PCH编译码设计64 HDB3码编译码74.1 HDB3码编码基本原理74. 2 HDB3码的译码84-3 HDB3码编译码设计85汉明码编译码95.1汉明码的构造原理95. 3 MATLAB实现汉明码编译码116 2PSK调制与解调126.1数字调制技术126.2二进制相移键控(2PSK)基木原理126. 3 MATLAB实现2PSK调制与解调147 AHGN信道的模拟158 MATLAB软件仿真169心

3、得体会18参考文献19附录20摘要通信系统是一个十分复杂的系统,在具体实现上有多种多样的方法,但总的过程却是 具有共性的。对于一个模拟信号数字化传输,过程可分为数字化,信源编解码,信道编 解码,调制解调,加扰等。本实验利用MATLAB实现了 PCM编码,HDB3码,汉明码,PSK 调制,AWGN及对应的解调过程,完整实现了一个通信系统的全部过程。关键字:通信系统 调制 解调MATLABAbstractCommunication system is a very complicated system in the implementation of a variety of methods. B

4、ut the process has general characters. For a analog signal digital transmission, the process can be divided 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 correspondin

5、g demodulation process, complete implements a communication system of all process.Key words: communication system modulation demodulation MATLAB1设计任务及要求1设计任务利用仿真软件(如Matlab或System View),或硬件实验系统平台上设计完成一个典 型的通信系统(如图1所示)1.2设计要求K系统发送端要求:模拟信源数字化基带码信道码调制信道类型一时间函数PCMHDB3 码汉明码PSKAWGN2、在接收端的解调、信道解码、基带解码、数模转换与

6、发送端一一对应。3、要完成整个系统各环节以及整个系统的仿真,最终在接收端或者稱确或者近似地 再现输入(信源),完成课程设计报告。2系统的功能设计通信系统的模拟框图如图2-1所示图2-1通信系统原理框图模数转换中有三个基本过程:抽样、量化、编码。根据编码的不同有几种调制方法, 如脉冲振幅调制(PAM),脉冲编码调制(PCM),差分脉冲编码调制(DPCM),增 量调制。基带传输的常用码型有AMI码,HDB3码,PST码,曼彻斯特码,密勒码,CMI码。信道编码的常用编码有汉明码,卷积码,循环码,BCH码。常见的数字调制方式有振幅键控(ASK),频移键控(FSK),相移键控(PSK) 常见的信道有加性

7、高斯白噪声信道,多径衰落信道。根拯题目要求,数字化方式为增量调制,基带码为HDB3码,信道码为汉明码,数 字调制方式为PSK调制,信道为AWGN,如图2-2所示图2-2通信系统原理框图3脉冲编码调制3脉冲编码调制的基本原理通常把从模拟信号抽样、量化,直到变换成为二进制符号的基本过程,称为脉冲编 码调制(Pulse Code Modulation,PCM),fu)称脉冲调制。在图3-1中示出一个例子。图中,模拟信号的抽样值为为3.15, 3.96, 5.00, 6.38, 6.80和6.42。若按照“四舍五入”的原则量化为整数值,则抽样值 量化后变为3, 4, 5, 6, 7和6。在按照二进制数

8、编码后,量化值(quantized value)就变成 二进制符号:011、100、101、110、111 和 110。图31二进制编码原理PCM系统的原理方框图如图3-2所示。在编码器(图3-2 (a)中由冲击脉冲对模 拟信号抽样,得到在抽样时刻上的信号抽样值。这个抽样值仍是模拟量。图中的量化器 把模拟抽样信号变成离散的数字量,然后在编码器中进行二进制编码。这样,每个二进 制码组就代表一个量化后的信号抽样值。图3-2 (b)中译码器原理和编码原理相反,在 这里不再赘述。冲激脉冲(a)编码器(b)译码器图3-2 PCM原理框图武汉理工大学学科基础课群煤合训练报告在用电路实现时,图3-2 (a)

9、中的:i:化器和编码器常构成一个不能分离的编码电路, 这种编码电路有不同的实现方案,最常用的一种方案成为逐次比较法编码,其基本原理 方框图如下图所示,此图中示岀一个3位编码器。其输入信号抽样脉冲值在0和7.5之间。 它将输入模拟抽样脉冲编成3位二进制编码cl c2 c3o图3-3逐次比较法编码原理方框图图3-3中输入信号抽样脉冲电流(或电压)Is由保持电路短时间保持,并和几个称为 权值电流的标准电流Iw逐次比较。每比较一次,得出1位二进制码。权值(weigh-ing) 电流Iw是在电路中预先产生的。Iw的个数决定于编码的位数,现在共有3个不同的Iw 值。因为表示量化值的二进制码有3位,即clc

10、2c3。它们能够表示8个十进制数,从0 至7,如表3-1所示。表3-1编码表量化值CiC2C3量化值CiC2C300004100100151012010611030117111因此,若按照“四舍五入”原则编码,则此编码器能够对-0.5至+7.5之间的输入抽样 值正确编码。由此表可推知,用于判定cl值的权值电流Iw = 3.5,即若抽样值Is 3.5,则比较器输出cl = U cl除输岀外,还送入记忆电路 暂存。第二次比较时,需要根据此暂存的cl值,决定第二个权值电流值。若cl = 0,则第 二个权值电流值Iw= 1.5:若cl = 1,则Iw = 5.5-第二次比较按照此规则进行:若Isv I

11、w,则c2 = 0;若Is Iw,则c2 = 1 o此c2值除输出外,也送入记忆电路。在第三次比较时,所用的权值电流值须根据cl和c2的值决定。如如,若cl c2 = 0 0,则 Iw = 0.5:若 cl c2 = 1 0,则 Iw = 4.5:依此类推。3.2折叠二进制码原理表1给出的二进制编码是按照二进制数的自然规律排列的,称为自然二进制码。但 这不是唯一编码方法,常用的还有折叠二进制码。折叠二进制码是用最高位表示电压的 极性正负,而用其他位来表示电压的绝对值。这就是说,在用最高位表示极性后,双极 性电压可以采用单极性编码方法处理,从而使编码电路和编码过程大为简化。折叠码的 另一个优点是

12、误码对于小电压的彩响较小。在13折线法中采用的折叠码有8位。其中第一位cl表示量化值的极性正负。后面的 7位分为段落码和段内码两部分,用于表示量化值的绝对值。其中第2至4位(c2c3c4)是 段落码,共计3位,可以表示8种斜率的段落:其他4位(c5c8)为段内码,可以表示每 一段落内的16种量化电平。段内码代表的16个量化电平是均匀划分的。所以,这7位 码总共能表示27 = 128种量化值。在下面的表中给出了段落码和段内码的编码规则。表3-2段落吗段落序号段落码C2 C3 C4段落范围(量化单位段落序号段落码C2 C3 C4段落范围(量化单位81111024204840116412871105

13、121024301032646101256512200116325100128 2561000016表33段内码t化间隔段内码C5C6C7C8化间隔段内码C5C6C7C8t化间隔段内码C5C6C7C8t化间隔段内码C5C6C7C815111111101170111300111411101010106011020010131101910015010110001121100810004010000000在上述编码方法中,虽然段内码是按量化间隔均匀编码的,但是因为各个段落的斜 率不等,长度不等,故不同段落的量化间隔是不同的。其中第1和2段最短,斜率最大, 其横坐标x的归一化动态范围只有1/128。再

14、将其等分为16小段后,每一小段的动态范 围只(1/128)*(1/16) = 1/2048o这就是最小量化间隔,后面将此最小量化间隔(1/2048)称为 1个量化单位。第8段最长,其横坐标x的动态范围为1/2。将其16等分后,每段长度为武汉理工大学学科基础课群综合训练报吿1/32。假若采用均匀量化而仍希望对于小电压保持有同样的动态范围1/2048.则需要用 11位的码组才行。现在采用非均匀量化,只需要7位就够了。3.3 PCM编译码设计对MATLAB中PCM编译码设计如图3-4.图35所示图3-4 PCM编码流程图图35 PCM译码流程图武汉理工大学学科基础课群煤合训练报告4 HDB3码编译码

15、4.1 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的取值为+1或-1:(4)B的取值可选0、+1或-1,以使V

16、同时满足(3)中的两个要求:(5)V码后面的传号码极性也要交替。如:消息码:1 000 0 1 0000 1 1 0000 000 0 1 1AMI 码:-1 000 0+10000 -1+1 0000000 0 -1 +1HDB3 码:-I 000-V+1 0 0 0+V-1 +1-B0 0-V +B0 0+V-1+1其中的V脉冲和B脉冲与1脉冲波形相同,用V或B符号表示的目的是为了示意该 非“0”码是由原信码的0”变换而来的。HDB3码既要包含AMI的交替特性使输出无直流特性,又要不出现四个以上的连0,因此可以先满足后者。1)把0000”换为取代节。规则:先将“0000”分离开来,第一个“

17、0000”直接变为“0000”,然后数相 邻两个“0000”之间“1”的个数,奇数则变为“000V”,偶数则变为“B00V”。2)更新符号。根据HDB3码的编码规则有:B总是与其前面的1或V符号相反,V总是与前 面的1或B相符号相同,1总是与前面的V或B符号相反,就可编符号了。例如:消息代码:1000010000110000110000000011100001中间码:1000V1000V11B00V11B00VB00V1 1 1 000V 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

18、+1 -1 0 0 0-V+14.2 HDB3码的译码HDB3码的编码虽然比较复杂,但译码却比较简单。从上述编码规则看岀,每一个破 坏脉冲V总是与前一非“0”脉冲同极性(包括B在内)。这就是说,从收到的符号序列中 可以容易地找到破坏点V,于是也断定V符号及其前面的3个符号必是连“0”符号,从 而恢复4个连“0”码,再将所有-1变成+1后便得到原消息代码。解码规则如下:1)若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1 就应该译成10000”:若2连“0”前后非零脉冲极性相同,则两零前后都译为零,如- 100-1,就应该译为0000o2)再将所有的-1变换成+1后,

19、就可以得到原消息代码。4-3 HDB3码编译码设计在MATLAB里HDB3码编译码设计如图4-1、图4-2所示图41 HDB3码编码流程图图4.2HDB3码解码流程图武汉理工大学学科基础课群综合训练报吿5汉明码编译码5.1汉明码的构造原理汉明码是能够纠正1位错码且编码效率较髙的一种线性分组码(线性分组码:按照 一组线性方程构成的分组码)。(公式51)在偶数监督码中,由于使用了一位监督位aO,它和信息位amial 起构成一个代数式:ana”勺=0在接收端解码时,实际上就是在计算S = g色j4(公式5若s = o,就认为无错码:若S = l,就认为有错码。现将上式称为监督关系式,S称 为校正子。

20、由于校正子S只有两种取值,故它只能代表有错和无错这两种信息,而不能 指出错码的位置。若监督位增加一位,即变成两位,则能增加一个类似的监督关系式。由于两个校正 子的可能值有4中组合:00, 01, 10, 11,故能表示4种不同的信息。若用其中1种组 合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。同理,I个监 督关系式能指示1位错码的2-1个可能位置。一般来说,若码长为n,信息位数为k,则监督位数r = n-ko如果希望用r个监督 位构造出r个监督关系式来指示1位错码的n种可能位置,则要求或2以+尸+ 1(公式5-按照上述方法构造的码称为汉明码。设分组码(n, k)中k =

21、4,为了纠正一位错码, 要求监督位数r3若取r = 3,则n = k + r=7。我们用a6a5-a0表示这7个码元,用 SK S2. S3表示三个监督关系式中的校正子,则SI S2 S3的值与错码位置的对应关系可以规定如下表51所列。表5T校正子与错码位置的关系SiSiSm错码位墨SiS】S a5 . a4和a3的值决定于输入信号,因此它们是随机的。监督位a2 . al和aO应根据信息位的取值按监替关系来确定,即监督位应使上三 式中SI、S2和S3的值为零(表示变成的码组中应无错码)6冬=0“ 6= 0(公式5-% 4 q = 0由上式经移项运算,解出监督位口2 = %冬(公式5 ax =

22、a6 a5 a3a3给定信息位后,可直接按上式算出监督位,其结果如表52所列。 表52监督位计算结果信息位a6gg监督位a;aiao信息位a6g4g监督位a;aiao000000010001110001Oil1001100001010110100100011110101100101001101100001010110111010100110Oil11101000111000mi111接收端收到每个码组后,先计算岀SI、S2和S3 ,再按表52判断错码情况。如, 若接收码组为0000011,计算可得S1 =0, S2 =1, S3 =lo SI S2 S3等于011,可知 在a3位有一错码。按上

23、述方法构造的码称为汉明码。表5中所列的(7, 4)汉明码的最 小码距dO =3,因此这种码能纠正一个错码或检测两个错码。汉明码有以下特点:码长n=2r1最小码距d=3信息码位k=2r-m-l纠错能力t=l监督码位r=nk=m这里m为22的正整数,给定m后,即可构适出具体的汉明码(m k) 5.3 MATLAB实现汉明码编译码MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。encode 函数功能:编码函数语法:code=encode(msg,N,K)说明:该函数对二进制信息msg进行汉明编码,K为信息位长度,N为码字长度。 msg是一个K列矩阵。其中要求N=2m-1, K=N

24、-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=encode(abs(yh),7,4,hamming/binary,);汉明码解码:dm

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

26、控方式有振幅键控、频移键控、相 移键控。2PSK信号的时域表达式(公式6-6.2二进制相移键控(2PSK)基本原理数字调制可分为二进制调制和多进制调制。&2PSK =AcOS(./ + 0”)式中,n表示第n个符号的绝对相位:_ JO,发送“0”时=发送“1”时Acos0/, 概率为P一Acosq/,概率为 1_P因此,上式可以改写为e2PSK (0 =(公式6-相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在2PSK 中,通常用初始相位0和n分别表示二进制1”和“0”。因此, 为:武汉理工大学学科基础课群综合训练报吿(公式6(公式6-(公式&由于表示信号的两种码元的波形相

27、同,极性相反,故2PSK信号可以表述为一个双极 性全占空矩形脉冲序列与一个正弦载波的相乘:%K (0 = S(t)COSCOct 式中必)n这里,g是脉宽为Ts的单个矩形脉冲,而an的统计特性为1, 概率为P5科一 1,概率为1P(a)模拟调制的方法开关电路n(b)键控法即发送二进制符号“0”时,e2PSK (t)取0相位:发送二进制符号“1”时, e2psk(t)取n相位。这种以载波的不同相位直接去表示相应二进制数字信号的调制方式, 称为二进制绝对相移方式。图62 2PSK信号调制器原理方框图2PSK信号的解调通常采用相干解调法,解调器原理框图如下图12所示。假设数字 信息为“10011”

28、,相干解调各点波形如下图63所示。图6-3 2PSK信号的解调原理框图图6M 2PSK值号相干解调时各点时间波形6.3 MATLAB实现2PSK调制与解调图65 2PSK调制图2PSK解调7 AWGN信道的模拟加性高斯白噪声AWGN(Additive White Gaussian Noise)是最基本的噪声与干扰模型。 加性噪声是叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n都是 始终存在的。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所 有的频率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高 斯分布,则称这样的噪声为高斯白噪声。高斯

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

30、信号x为复数,则增加复数高斯白噪声。y=awgn(x,SNR,sigpower)即:如果sigpower是一个数值,则表示单位为dBW的信号功率:如果sigpower为 measured1,则awgn在增加高斯白噪声前自行测量信号功率。y=awgn(x,SNR,sigpower,state)即:重置randn的状态为stateoy=wgn(M,N,P)即:产生M*N高斯白噪声。P表示dBW为单位的输出噪声功率。8 MATLAB软件仿真MATLAB是一个高级的矩阵/阵列语言,它同时包含控制语句、函数、数据结构、输 入和输出和而向对象编程等众多特点。用户可以在命令窗口中将输入语句与执行命令同 步,

31、也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行,可移植性好、 可拓展性极强。MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运 算函数,可以方便的实现用户所需的各种计算功能。MATLAB的这些函数所能解决的问 题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运 算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运 算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。通信系统共包含四个模块,分别为输入信号的编码调制、传输介质的加噪、信号编 码解调输岀,其仿真图如下图所示。原始信号的编码调制波形

32、如图8-1所示 PCMQ 图原始信号的编码调制波形信号的调制解调过程如图8-2所示未调信号1002PSK调制信号载波恢复时间ms 载波相乘50 时间ms 加噪信号2o时间ms2PSK解调信号0-223时间ms1.510.50012345时间ms图82信号调制解调时间波形 信号的解码过程及最后输出波形如图8-3所示 2i oBJimurauuL 20204060HDB3Q 图83信号解码输出波形由以上图可知,并比较PCM编码信号、HDB3码編码信号、汉明码编码信号可看出 代码正确,能够实现PCM编码、HDB3编码、汉明码编码的功能。比较汉明码编码信号、 2PSK调制信号与2PSK解调信号可看出,

33、2PSK调制与解调代码正确,可实现2PSK调制 与解调。比较原始正弦信号与输出信号波形可看出,最终在接收端能够近似地再现信源, 由计算得失真度为7,5166e-04.能够实现整个通信系统的仿真。9心得体会在这次课程设计中,我学到了不少知识,对通信原理有了更多的了解。前期的准备 便是在网上查阅相关资料,了解在这次课程设计中所需要掌握的基本知识,同时阅读相 关书籍,弄清各模块的原理,为后面的动手过程提供了必不可缺的理论基础。在査阅资料以及编程方面有了一定的经验后,本次实验中充分借鉴其中好的部分, 在很多方商有了很大的提高,但是仍然有一些细节,稍不注意就会出现错误。这些错误 让我意识到,应用能力的提

34、高不是一天两天就能实现的,一定要在不停地练习中慢慢积 累。在软件仿真调试阶段,岀现很多概念上的错误,通过查阅资料和同学的帮助最终解 决,在发现错渓、改正错误的过程中,暴露出理论方面的欠缺,还有从书本转到实践上 的不足,但是,在实验完成后,这些方面的能力都有了很大的提高。总之,在这次课程设计中,暴露出对通信原理和MATLAB编程知识的不熟练,使之 在具体操作之中遇见了很大的困难,但也正因为如此,在大量的查询资料和请教同学后, 是我在这方面的能力有了不小的提高,使我们更好的将所学的理论知识与实践联系在一 起。参考文献1 樊昌信,曹丽娜.通倍原理(第6版)M.国防工业出版社,2008.32 John

35、 G.Proakis等著,刘树棠译.现代通信系统(Matlab版)(第二版)M.电子工 业出版社,2006.93 刘卫S. Matlab程序设计与应用(第二版)M.高等教育出版社,2006.74 (美)John G.Proakis,张力军等译.数字通信(第三版)M.电子工业岀版社,20015 郭文彬,桑林.通信原理一基于Matlab的计算机仿真.北京邮电大学出版社, 2006附录一.主程序:clearclc% PCM编码0/ MB MB OBO* MB OB MB OB MB OB MB OB MB OB * OBOB MB OB MB OB MB OB * OB * OB a* OB OB

36、* OB OB OB OB OB OB OB OB OB *B OB MB * OB * OB * OB OB *t=0:0.3:2*pi; s=sin(t); m=length(s);PCM_encoder_out=PCM_encoder(s);figure( 1 );set(gcf,color1/white1)subplot(2,l ,1 );plot(t,s); titled原始正弦信号);subplot(2,l ,2);stairs(0:length(PCM_encoder_out(l :64)-1 ,PCM_encoder_out( 1:64); axis(0 length(PCM_

37、encodei_out(1:64) -2 2);title(fPCM 编码信号输出)% HDB3 编码%HDB3_encoder_out,xn=HDB3_encoder(PCM_encoder_out);figure(2);set(gcf,color,white,)subplot(3,l J );stairs(0:length(PCM_encoder_out(l :64)-1 ,PCM_encoder_out( 1:64); axis(0 length(PCM_encoder_out( 1:64) -2 2);title(*PCM 编码信号输出) subplot(3 J 2);stairs(0

38、:length(HDB3_encoder_out( 1:64)-l ,HDB3_encoder_out( 1:64); axis(0 length(HDB3_encoder_out( 1:64) -2 2);title(HDB3 码信号输出)% 三进制转二进制 0bin_out=tri2bin(HDB3_encoder_out);disp(三进制转二进制结果Jreshape(bin_out,4,length(bin_out)/4y% 汉明码编码%hanming_encoder_out=encode(bin_out,7,4/hamming/binary,);dispC汉明编码结果) reshap

39、e(hanming_encoder_out,7Jength(hanming_encoder_out)/7ysubplot(3,l ,3);stairs(0:length(hanming_encoder_out(l :64)1 ,hanming_encoder_out( 1:64);axis(O length(hanming_encoder_out( 1:64) -2 2);titleC汉明码信号输出)% PSK调制%PSK_modulation_out.mm,t l=PSK_modulation(hanming_encoder_out);% AWGN信道传输 %CC=awgn(PSK_modu

40、lation_out, 10,0);figure(3);set(gcf/colorl,white,)subplot(3,l J );plot(t 1 ,mm( 1 :length(t 1 );axis(0,5=256)&(Q(i)=64)&(Q(i)=1024)&(Q(i)=32)&(Q(i)=128)&(Q(i)=512)&(Q(i)=2048)& (Q(i)=0PCM_encoder_out(i, 1 )= 1;else%符号位的判断PCM_encoder_out(i, 1 )=0; endenddispCPCM编码结果,)PC M_encoder_outend%HDB3编码程序funct

41、ion (HDB3_encoder_out,xn=HDB3_encoder(S)m,n=size(S); xn=reshape(S,l%输入单极性码/AMI码的编码yn=xn; num=0;%输出yn初始化%计数器初始化for k=l:length(xn)ifxn(k)=l% T%十数器%奇数个1时输出1,进行极性交替num=num+l;if mod(num,2) =0 yn(k)=l;else yn(k)=-l;endendenddispCAMI编码结果)yn的符号转要求num=0;yh=yn;sign=0;V=zeros(length(yn);B=zeros( 1 Jength(yn);

42、for k=l:length(yn)if yn(k)=0 num=num+l; if num=4%连零计数器初始化%输出初始化%极性标志初始化为0%V脉冲位置记录变量% B脉冲位置记录变量%连“0”个数计数%如果4连“0”%计数器淸零num=0; yh(k)=yh(k4);%让0000最后一个0改变为与前一个非零符号相同极性V(k)=yh(k);% V脉冲位置记录ifyh(k)=sign%如果当前V符号与前一个V符号的极性相同yh(k)=-Pyh(k);% 让当前V符号极性反转,以满足V符号间相互极性反yh(k-3)=yh(k); %添加B符号,与V符号同极性B(k-3)=yh(k);% B脉

43、冲位置记录V(k)=yh(k);% V脉冲位置记录yh(k+l :length(yn)=-l *yh(k+l :length(yn);% 并让后面的非零符号从V符号开始再交替变endsign=yh(k);endelsenum=O;endendHDB3_encoder_out=yh;disp(HDB3编码结栗) HDB3_encoder_out end%三进制转二进制程序 function t=tri2bin(x) m=length(x);for i=l:mifx(i)=-l t(2*i-l)=0; t(2*i)=0;elseif x(i)0 t(2*i-l)=0; t(2*i)=l;elset(2*i-l)=l; t(2*i)=0;end%记录前一个V符号的极性%当前输入为“1”则连“0”计数器淸零%编码完成%PSK调制程序function PSK_modulation_out,mm,t 1 =PSK_modulation(S)N=length(S); fc=10;%调制序列的长度%载波频率delta=0.01; tl=delta:delta:N; m=S;%时域采样间隔%设每个码元长度为1ms时间矢量:0: N%产生调制序列for i=l :length(m)ifm(i)=l)forj=l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论