1、摘要本文是关于一个数字语音通信系统的设计与实现,首先介绍数字通信系统的基本原理,然后分别从信源编码、信道编码和数字调制与解调三个方面介绍本系统的设计与实现,最后通过Matlab程序分模块仿真,完成通信系统的实现。本系统信源编码中脉冲编码调制采用非均匀量化,A律压缩13折线法编码,非均匀量可以得到较高的信噪比并且非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。信道编码采用循环码,循环码的编码和解码设备都不太复杂,而且纠错的能力较强。在数字调制中采取了二进制频移键控调制方式,此方法利用数字基带信号控制在波的频率来传送信息,解调时用了相干解调,方法简便,容易实现。关键字:信源编码与译码
2、 信道编码与译码 数字调制与解调1.背景介绍随着数字通信系统的发展,语言通信已成为人们日常生活的一部分,手机,电话和网络语音通信等已经逐渐深入人们的日常生活,通信技术是信息技术中极重要的组成部分。从广义说,各种信息的传递均可称之为通信。但由于现代信息的内容极为广泛,因而人们并不把所有信息传递纳入通信的范围。通常只把语音、文字、数据、图像等信息的传递和传播称为通信。面向公众的单向通信,如报纸、广播、电视便不包括在内。但这种单向传播方式,由于通信技术的发展,也在发生变化。现代通信技术的主要内容及发展方向,是以光纤通信为主体调卫星通信、无线电通信为辅助的宽带化、综合化(有的称数字化)、个人化、智能化
3、的通信网络技术。本设计基于数字通信系统设计的基本原理,通过信源编码与译码,信道编码与译码以及数字调制与解调等模块的设计以实现语音通信。2.数字通信系统基本原理2.1数字通信系统的模型图1 数字通信系统的模型2.2信息源它的作用是把各种消息转换为原始电信号,信源分为模拟信源和数字信源。本文的输入信号采用模拟信源,通过A/D转换把输入的模拟信号转换为数字信号,模拟信号转化为数字信号包括三个步骤:抽样、量化和编码。模拟信号首先被抽样。通常抽样是按照等时间间隔进行的,虽然在理论上并不是必须如此的。模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。第二步是量
4、化。量化的结果使抽样信号变成量化信号,其取值是离散的。故量化信号已是数字信号了,它可以看成是多进制的数字脉冲信号。第三步是编码。第一步:抽样的定理。设一个连续模拟信号m(t)中的最高频率V,h(i)=V;end if f(i)=-V,h(i)=-V;end flag=0; for j=2:L/2+1 if(flag=0) if(f(i)p(j) h(i)=p(j-1); flag=1; end; end; end; for j=L/2+2:L+1 if(flag=0) if(f(i)=0 if(x(i)=-t) y(i)=-(a*-x(i)/(1+log(a); else y(i)=-(1+l
5、og(a*-x(i)/(1+log(a); end endend仿真结果:3.3.4 PCM A律13折线编码的MATLAB实现PCM均匀量化的MATLAB程序设计按如下步骤进行:(1)确定输入模拟信号;(2)根据给均匀量化的原理确定非均匀量化的算法程序;(3)将上述编码的十进制数转化成8位二进制数。源程序如下:function a_13code()t=0:0.000025:0.00025;y=sin(8000*pi*t)z=line13(y)c=pcmcode(z)function y=line13(x)x=x/max(x);z=sign(x);x=abs(x);for i=1:length
6、(x) if(x(i)=0)&(x(i)=1/64)&(x(i)=1/32)&(x(i)=1/16)&(x(i)=1/8)&(x(i)=1/4)&(x(i)=1/2)&(x(i)=1) y(i)=1/4*x(i)+6/8; end end end end end end endendy=z.*y;function f=pcmcode(y)f=zeros(length(y),8);z=sign(y);y=y.*128;y=fix(y);y=abs(y);for i=1:length(y) if(y(i)=128) y(i)=127.999; endendfor i=1:length(y) for
7、 j=6:-1:0 f(i,8-j)=fix(y(i)/2j); y(i)=mod(y(i),(2j); endendfor i=1:length(y); if(z(i)=1) f(i,1)=0; else f(i,1)=1; endend程序运行结果:y = 0 0.5878 0.9511 0.9511 0.5878 0.0000 -0.5878 -0.9511 -0.9511 -0.5878 -0.0000z = 0 0.9045 1.0000 1.0000 0.9045 0.0000 -0.9045 -1.0000 -1.0000 -0.9045 -0.0000c = 1 0 0 0 0
8、 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 04.信道编码和译码在数字电视和通信系统中,为提高信息传输可靠性,广泛使用了具有一定纠错能力的信道编码技术,如奇偶校验码、行列监督码、恒比码、汉明码、循环码(CRC)等编码技术。信道编码的本质是增加通信的可靠性,或者说增加整个系统的抗干扰性。对信道编码有以下要求:1.透
9、明性:要求对所传消息的内容不加任何限制;2.有纠错能力;3.效率高:为了与信道频谱匹配和具有纠错能力,通常要向原信号添加一些码,要求加入最少的比特数而得到最大的利益;4.包含适当的定时信息。在这些要求中,除编码的必须信息外,所作的处理主要有两条:一是要求码列的频谱特性适应通道的频谱特性从而使传输过程中能量损失最小,提高信噪比。减少发生差错的可能性;二是增加纠错能力,使得即便出现差错,也能得到纠正。4.1差错控制的基本概念4.1.1差错的特点由于通信线路上总有噪声存在,噪声和有用信息中的结果,就会出现差错。噪声可分为两类,一类是热噪声,另一类是冲激噪声,热噪声引起的差错是一种随机差错,亦即某个码
10、元的出错具有独立性,与前后码元无关。冲激噪声是由短暂原因造成的,例如点击的启动、停止,电器设备的放弧等。冲击噪声引起的差错是成群的,其差错持续时间称为突发错的长度。衡量信道传输性能的指标之一是误码率PO,PO=错误接收的码元数/接收的总码元数。目前普通电话线路中,当传输速率在6002400bit/s时,PO在之间,对于大多数通信系统,PO在之间,而计算机之间的数据传输则要求误码率低于。4.1.2 差错控制的基本方式差错控制方式基本上分为两类,一类称为“反馈纠错”,另一类称为“前向纠错”。在这两类基础上又派生出一种称为“混合纠错”。(1)反馈纠错这种方式在是发信端采用某种能发现一定程度传输差错的
11、简单编码方法对所传信息进行编码,加入少量监督码元,在接收端则根据编码规则收到的编码信号进行检查,一量检测出(发现)有错码时,即向发信端发出询问的信号,要求重发。发信端收到询问信号时,立即重发已发生传输差错的那部分发信息,直到正确收到为止。所谓发现差错是指在若干接收码元中知道有一个或一些是错的,但不一定知道错误的准确位置。(2)前向纠错这种方式是发信端采用某种在解码时能纠正一定程度传输差错的较复杂的编码方法,使接收端在收到信码中不仅能发现错码,还能够纠正错码。采用前向纠错方式时,不需要反馈信道,也无需反复重发而延误传输时间,对实时传输有利,但是纠错设备比较复杂。(3)混合纠错混合纠错的方式是:少
12、量纠错在接收端自动纠正,差错较严重,超出自行纠正能力时,就向发信端发出询问信号,要求重发。因此,“混合纠错”是“前向纠错”及“反馈纠错”两种方式的混合。对于不同类型的信道,应采用不同的差错控制技术,否则就将事倍功半。反馈纠错可用于双向数据通信,前向纠错则用于单向数字信号的传输,例如广播数字电视系统,因为这种系统没有反馈通道。4.1.3 误码控制编码的分类随着数字通信技术的发展,研究开发了各种误码控制编码方案,各自建立在不同的数学模型基础上,并具有不同的检错与纠错特性,可以从不同的角度对误码控制编码进行分类。按照误码控制的不同功能,可分为检错码、纠错码和纠删码等。检错码仅具备识别错码功能而无纠正
13、错码功能;纠错码不仅具备识别错码功能,同时具备纠正错码功能;纠删码则不仅具备识别错码和纠正错码的功能,而且当错码超过纠正范围时可把无法纠错的信息删除。按照误码产生的原因不同,可分为纠正随机错误的码与纠正突发性错误的码。前者主要用于产生独立的局部误码的信道,而后者主要用于产生大面积的连续误码的情况,例如磁带数码记录中磁粉脱落而发生的信息丢失。按照信息码元与附加的监督码元之间的检验关系可分为线性码与非线性码。如果两者呈线性关系,即满足一组线性方程式,就称为线性码;否则,两者关系不能用线性方程式来描述,就称为非线性码。按照信息码元与监督附加码元之间的约束方式之不同,可以分为分组码与卷积码。在分组码中
14、,编码后的码元序列每n位分为一组,其中包括k位信息码元和r位附加监督码元,即n=k+r,每组的监督码元仅与本组的信息码元有关,而与其他组的信息码元无关。卷积码则不同,虽然编码后码元序列也划分为码组,但每组的监督码元不但与本组的信息码元有关,而且与前面码组的信息码元也有约束关系。按照信息码元在编码之后是否保持原来的形式不变,又可分为系统码与非系统码。在系统码中,编码后的信息码元序列保持原样不变,而在非系统码中,信息码元会改变其原有的信号序列。由于原有码位发生了变化,使译码电路更为复杂,故较少选用。根据编码过程中所选用的数字函数式或信息码元特性的不同,又包括多种编码方式。对于某种具体的数字设备,为
15、了提高检错、纠错能力,通常同时选用几种误码控制编码方式。以下,以线性分组码为例,对几种简单的编码方式进行介绍。4.2循环码(CRC)循环码是线性码的一个重要的子类,它有以下两大特点:第一,码的结构可以用代数方法来构造和分析,并且可以找到各种实用的译码方法;第二,由于其循环特性,编码运算和伴随式计算,可用反馈移位寄存器来实现,硬件实现简单。循环码是在严密的代数学理论基础上建立起来的,这种码的编码和解码设备都不太复杂,而且纠错的能力较强。顾名思义,循环码除具有线性码的一般性质之外,还具有循环性,即任一码组循环一位以后,仍为该码中的一个码组。4.2.1循环码定义设C使某线性分组码的码字集合,如果对任
16、,它的循环移位也属于C,则称该码为循环码。该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。如果一个线性码具有以下的属性,则称为循环码:如果n元组是子空间S的一个码字,则经过循环移位得到的也同样是S中的一个码字;或者,一般来说,经过j次循环移位后得到的也是S中的一个码字。4.2.2循环码的多项式描述码字的多项式描述,一个n元码字可以用一个次数不超过n-1的多项式唯一表示, (1-1)其中,我们不关心x的具体位置,其次数只表示相应码元的
17、位置。称这样的为c的码字多项式。4.2.3生成多项式及生成矩阵G如果一种码的所有码多项式都是多项式的倍式,则称为该码的生成多项式。在循环码中,次数最低的多项式(0除外)就是生成多项式,其他码多项式都是其倍数。且该的阶数为,常数项为1,是的一个因式。为了寻求生成多项式,必须对进行因式分解。循环码的生成矩阵多项式为: (1-2)然后将系数提出就得到生成矩阵G。4.2.4 系统循环码循环码也可以构成为系统循环码。为方便系统码的构造,将消息多项式和码式都记为高位在前,即的消息多项式为, (1-3)又设码式的高次幂部分等于m(x),即 (1-4)其中p(x)称为校验位多项式,由于码式是生成式的倍式,所以
18、 (1-5) (1-6)因此循环码的系统码码式为 (1-7)将循环码的系统码构造步骤总结为:多项式乘多项式求模(余式) (1-8)多项式减如果令为单项式, (1-9) (1-10)那么容易看到,对应的向量,是线性无关的,从而得到循环码系统码的生成矩阵为 (1-11)4.2.5循环码的编码利用生成多项式实现编码:如上所述,但循环码的生成多项式确定时,码就完全确定了。现在讨论生成多项式给定以后,如何实现循环码的编码问题。若已知 (2-1)并设信息元多项式 (2-2)要编码成系统循环码形式,即码字的最左边k位是信息元,其余位是校验元,则要用 乘以,再加上校验元多项式,这样得到的码字多项式为 (2-3) 其中 一定是的倍式,即有 (2-4) . (2-5)注意到为次多项式,而最多为次多项式,必有 , (2-6)即必是除以的余式。式(2-6)指出了系统循环码的编码方法:首先将信息元多项式乘以成为,然后将除以生成多项式得到余式,该余式就是校验元多项式,从而得到码字多项式。 (2-7) 综上所述,系统循环码的编码问题,可以归结为两个多项式的除法运算,即将除以生成多项式得到余式的运算,因此研究多项式除法的电路实现是必要的。2