ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:985.71KB ,
资源ID:9944218      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9944218.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(语音信号基带传输通信系统仿真基于PCM编码和汉明码.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

语音信号基带传输通信系统仿真基于PCM编码和汉明码.docx

1、语音信号基带传输通信系统仿真基于PCM编码和汉明码语音信号基带传输通信系统仿真 基于PCM编码和汉明码学生姓名:XX 指导老师:XXX摘 要 本课程设计的目的主要是仿真通信系统中的信源编码和纠错编码。录制一段语音信号,对其进行PCM编码后再进行汉明编码,送入二进制对称信道传输,在接收端对其进行汉明解码和PCM解码以恢复原信号,回放比较传输前后的语音质量,改变信道差错率绘制误码率曲线,观察前后信号波形是否一致,并结合理论进行说明。关键词 Matlab;Simulink;PCM;汉明码设计仿真1 引言本课程设计主要解决语音信号基带传输过程中,通过PCM编码之后再进行汉明编码和汉明解码,然后进行PC

2、M解码并通过滤波器恢复原信号的问题。通过Simulink软件平台对一个语音信号进行编码传送仿真并恢复原语音信号。1.1 课程设计目的 通过本课程的学习我们不仅能加深理解和巩固理论课上所学的有关PCM编码和解码和汉明码编码解码的基本概念、基本理论和基本方法,而且能锻炼我们分析问题和解决问题的能力。在利用Simulink进行仿真的过程中,充分了解仿真通信系统中的信源编码和纠错编码。我们录制一段语音信号,对其进行PCM编码后再进行循环编码,送入二进制对称信道传输,在接收端对其进行汉明解码和PCM解码以恢复原信号,回放比较传输前后的语音质量,在实践的过程中更好的了解整个对PCM编解码和循环码编解码的理

3、解。2 脉冲编码调制PCM原理2.1 PCM工作原理PCM(Pulse Code Modulation) 脉码调制是实现语音信号数字化的一种方法。是对模拟信号数字化的取样技术,将模拟语音信号变换为数字信号的编码方式,特别是对于音频信号。PCM 对信号每秒钟取样 8000 次;每次取样为 8 个位,总共 64 kbps。取样等级的编码有二种标准。北美洲及日本使用 Mu-Law 标准,而其它大多数国家使用 A-Law 标准,在这次的实验当中,我们采取A-Law标准。一、语音信号的数字化 语音信号是连续变化的模拟信号,实现语音信号的数字化必须经过抽样、量化和编码三个过程。 1 抽样 (Samping

4、) 抽样是把模拟信号以其信号带宽2倍以上的频率提取样值,变为在时间轴上离散的抽样信号的过程。例如,话音信号带宽被限制在0.33.4kHz内,用8kHz的抽样频率(fs),就可获得能取代原来连续话音信号的抽样信号。对一个正弦信号进行抽样获得的抽样信号是一个脉冲幅度调制(PAM)信号。对抽样信号进行检波和平滑滤波,即可还原出原来的模拟信号。 抽样必须遵循奈奎斯特抽样定理,离散信号才可以完全代替连续信号。奈奎斯特抽样定理:若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混

5、叠。2 量化(quantizing) 把幅度连续变化的模拟量变成用有限位二进制数字表示的数字量的过程称为量化。即:抽样信号虽然是时间轴上离散的信号,但仍然是模拟信号,其样值在一定的取值范围内,可有无限多个值。显然,对无限个样值一一给出数字码组来对应是不可能的。为了实现以数字码表示样值,必须采用“四舍五入”的方法把样值分级“取整”,使一定取值范围内的样值由无限多个值变为有限个值。量化后的抽样信号与量化前的抽样信号相比较,当然有所失真,且不再是模拟信号。这种量化失真在接收端还原模拟信号时表现为噪声,并称为量化噪声。量化噪声的大小取决于把样值分级“取整”的方式,分的级数越多,即量化级差或间隔越小,量

6、化噪声也越小。 量化误差:量化后的信号和抽样信号的差值。量化误差在接收端表现为噪声,称为量化噪声。量化级数越多误差越小,相应的二进制码位数越多,要求传输速率越高,频带越宽。 为使量化噪声尽可能小而所需码位数又不太多,通常采用非均匀量化的方法进行量化。 非均匀量化根据幅度的不同区间来确定量化间隔,幅度小的区间量化间隔取得小,幅度大的区间量化间隔取得大。 非均匀量化的实现方法有两种:一种是北美和日本采用的律压扩,一种是欧洲和我国采用的A律压扩。 在PCM-30/32通信设备中,采用A律13折线的分段方法,具体是:Y轴均匀分为8段,每段均匀分为16份,每份表示一个量化级,则Y轴一共有168128个量

7、化级。;X轴采用非均匀划分来实现非均匀量化的目的,划分规律是每次按二分之一来进行分段。13折线示意图如下:图2-1 A-Law 13折线由于分成128个量化级,故有7位二进制码(2的7次方128),又因为Y轴有正值和负值之分,需加一位极性码,故共有8位二进制码。 3 编码(Coding) 量化后的抽样信号在一定的取值范围内仅有有限个可取的样值,且信号正、负幅度分布的对称性使正、负样值的个数相等,正、负向的量化级对称分布。若将有限个量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“”、“”号为前缀,来区分样值的正、负,则量化后

8、的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。简单高效的数据系统是二进制码系统,因此,应将十进制数字代码变换成二进制编码。根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长。这种把量化的抽样信号变换成给定字长的二进制码流的过程称为编码。 话音PCM的抽样频率为8kHz,每个量化样值对应一个8位二进制码,故话音数字编码信号的速率为8bits8kHz64kb/s。量化噪声随量化级数的增多和级差的缩小而减小。量化级数增多即样值个数增多,就要求更长的二进制编码。因此,量化噪声随二进制编码的位数增多而减小,即随数字编码信号的速率提高而减小。自然界中的声音非常复杂,

9、波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。二、 时分复用 所谓时分复用,是将某一信道按时间加以分割,各路信号的抽样。值依一定的顺序占用某一时间间隔(也成时隙),即多路信号利用同一信道在不同的时间进行各自独立的传输。 时分复用的特点: 1 复用设备内部各通路的部件基本通用 2 要求收、发两端同时工作,要求有良好的同步系统。 时分复用的目的:一个信道传输多路信号,即若干路信号可以采用时分复用方式以一定的结构形式复接成一路高速率的复合数字信号群路信号。 数字复接包括bit复接和码组复接。 PCM-30/32路通

10、信设备是采用码组复接的时分复用系统。 PCM-30/32路系统的帧结构如下图所示图2-2图中帧周期T=1/8000秒125us,将其平均分成32个时隙,每个时隙的时间间隔为125/323.91us,每一时隙传送8位编码,每个码的时间间隔为3.91us/8=488ns,每帧共传送328256位码字。 在30/32路PCM系统中,帧结构中第一个时隙TS0用于传送帧同步信号,TS16用于传送话路信令,故只有30个时隙用于传送话音信号,所以只能提供30个话路。当采用共路信令传送方式时,必须将16帧再构成一个更大的帧,称为复帧。复帧的重复频率为500Hz,周期为2ms。 3 汉明码编码原理3.1汉明码编

11、码原理当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用海明码来检测并纠错,简单的说,海明码是一个错误校验码码集,由Bell实验室的R.W.Hamming发明,因此定名为海明码。 用于数据传送,能检测所有一位和双位差错并纠正所有一位差错的二进制代码。汉明码的编码原理是:在n位有效信息位中增加k为检验码,形成一个n+k位的编码,然后把编码中的每一位分配到k个奇偶校验组中。每一组只包含以为校验码,组内按照奇偶校验码的规则求出该组的校验位。汉明码能够纠正1位错码且编码效率较高的一种线性分组码汉明码的构造原理。在偶数监督码中,由于使用了一位监督位a0,它和信息位an-1 a1一起构成一个代数

12、式: 在接收端解码时,实际上就是在计算 若S = 0,就认为无错码;若S = 1,就认为有错码。现将上式称为监督关系式,S称为校正子。由于校正子S只有两种取值,故它只能代表有错和无错这两种信息,而不能指出错码的位置。 若监督位增加一位,即变成两位,则能增加一个类似的监督关系式。由于两个校正子的可能值有4中组合: 00,01,10,11,故能表示4种不同的信息。若用其中1种组合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。同理,r个监督关系式能指示1位错码的(2r 1)个可能位置。一般来说,若码长为n,信息位数为k,则监督位数rnk。如果希望用r个监督位构造出r个监督关系式来指

13、示1位错码的n种可能位置,则要求例:设分组码(n, k)中k = 4,为了纠正1位错码,由上式可知,要求监督位数 r 3。若取 r = 3,则n = k + r = 7。我们用a6 a5 a0表示这7个码元,用S1、S2和S3表示3个监督关系式中的校正子,则S1、S2和S3的值与错码位的对应关系可以规定如下所列:表3-1由表中规定可见,仅当一位错码的位置在a2 、a4、a5或a6时,校正子S1为1;否则S1为零。这就意味着a2 、a4、a5和a6四个码元构成偶数监督关系: 同理, a1、a3、a5和a6构成偶数监督关系:以及a0、a3、a4 和a6构成偶数监督关系在发送端编码时,信息位a6、a

14、5、a4和a3的值决定于输入信号,因此它们是随机的。监督位a2、a1和a0应根据信息位的取值按监督关系来确定,即监督位应使上3式中S1、S2和S3的值为0(表示编成的码组中应无错码):上式经过移项运算,解出监督位 给定信息位后,可以直接按上式算出监督位, 结果见下表表3-2接收端收到每个码组后,先计算出S1、S2和S3,再查表判断错码情况。例如,若接收码组为0000011,按上述公式计算可得:S1 = 0,S2 = 1,S3 = 1。由于S1 S2 S3 等于011,故查表可知在a3位有1错码。按照上述方法构造的码称为汉明码。表中所列的(7, 4)汉明码的最小码距d0 = 3。因此,这种码能够

15、纠正1个错码或检测2个错码。由于码率k/n = (n - r) /n =1 r/n,故当n很大和r很小时,码率接近1。可见,汉明码是一种高效码。4 电路连接与参数设置4.1 PCM编码模块PCM编码模块包括Zero-Order Hold 、Saturation、Abs、Relay、A-LawCompressor、Gain、Quantizer、Integer to Bit Converter和Mux。图4-1 PCM编码模块Zero-OrderHold:零阶保持器,其作用是在信号传递过程中,把第nT时刻的采样信号值一直保持到第(n+1)T时刻的前一瞬时,把第(n+1)T时刻的采样值一直保持到(n

16、+2)T时刻,依次类推,从而把一个脉冲序列变成一个连续的阶梯信号。因为在每一个采样区间内连续的阶梯信号的值均为常值,亦即其一阶导数为零,故称为零阶保持器Saturation:限幅器,将输入信号幅度值限制在PCM编码的定义范围内,即-1,1。Relay:模块的门限设置为0,其输出即可作为PCM编码输出的最高位极性码,但是在matlab中不是连续的,因此eps是最小值,无限接近0,用之代替0,大于这个数的时候输出1,小于它的时候输出0,用0,1来表示电平的正负。Abs:样值取绝对值,因为要进行A-Law编码应为正数,而进行编码之后,再与经relay输出的极性码复用。A-Law Compressor

17、:13折线压缩器,其参数固定设置为87.6,对信号进行A律压缩。Gain:增益模块将样值范围放大到0127,即把0,1范围内的数字,用0127来表示。Quantizer:量化器,取间距为1,并将其进行四舍五入取整,最后将整数编码为7位二进制序列,作为PCM编码的低7位,因为前面Gain模块将信号成了128份,这里采用7位二进制数表达这128位数。Integer to Bit Converter:整数位转换器Mux:复用器,将多路合成一路信号,最高位为8为二进制数的极性码。参数设置:图42 Zero-OrderHold:零阶保持器参数设置图43 Saturation:限幅器参数设置图44 Rel

18、ay参数设置图45 Abs取绝对值参数设置图4-6 A-Law Compressor:13折线压缩器参数设置47 Gain参数设置图48 Quantizer参数设置图49 Integer to Bit Converter:整数位转换器参数设置图 4-10 Mux参数设置 4.2 PCM解码模块PCM解码模块主要包括(图411)所示,解码就好像编码的逆过程,包括的模块有 Demux、Mux1、Relay1、Bit to Integer converter、Gain2、A-Law Expander、Product,Analog Filter Design。图4-11 PCM解码模块模块的功能实现:

19、Demux、Mux1、Relay1、Bit to Integer converter、Gain2、A-Law Expander,这些模块的功能与PCM编码中的器件实现的功能是一个逆过程,故不再赘述。Product:乘法器,作用是将输入的信号进行相乘。Analog Filter Design:模拟滤波器的设计,dedignmethod是指滤波器的设计方法:有巴特沃斯、切比雪夫I型、切比雪夫II型、还有椭圆滤波器。filtertype是指低通、高通、带通还是带阻。再下面的filterorder是指滤波器的阶数,往下的最后一项就是设置的通频、组频等,也就是滤波器的截止频率,这里采用巴特沃斯低通滤波器

20、,由于pcm编码和hamming编码均是在低频之下的编码。参数设置:图4-12 Demux参数设置图4-13 Mux1参数设置图4-14 Bit to Integer Converter参数设置图4-15 Relay1参数设置图4-16 Gain 1参数设置图4-17 A-LawExpander参数设置图4-18 product参数设置图4-19 Analog Filter Design:模拟滤波器的参数设置4.3汉明编解码模块此模块中包含如下图4-20所示的三个模块,Hamming Encoder,Binary Symmetric Channel,Hamming Dcoder。图4-20汉明

21、编解码模块Hamming Encoder:汉明码编码模块,这里的是为(7,4)hamming编码,输入为4位,输出7位,其中3位是校验码。Hamming Decoder:汉明码解编码模块,将7位的,通过3位验证码检验是否发生错码,并纠正错码之后,输出4位码。Binary Symmetric Channel:二进制对称信道是离散无记忆信道(discrete memoryless channel)在J=K=2时的特例。它的输入和输出都只有0和1两种符号,并且发送0而接收到1,以及发送1而收到0(即误码)的概率相同,所以称信道是对称的。此时条件差错概率(conditional probability

22、)由p表示。二进制对称信道的转移概率如图。图4-21 二进制对称信道的转移概率如图参数设置:图4-22汉明码编码模块的参数设置图4-23 Binary Symmetric Channel的参数设置图4-24 汉明码解码模块的参数设置4.3并串转换这一部分包含的模块有,Frame Status Conversion,buffer,unbuffer三种器件,这个模块的功能简介,由于经过PCM编码之后的数据是一帧的,而这一帧是为8位,而hamming码编码模块中的输入端应当输入4为的编码,位数不对应,因此需要将位数进行一个转换。图4-25 并联转为串联模块Frame Status Conversio

23、n:帧状态转换Buffer:可将信号转换为一个尺寸较大或者较小的,如,四位的可转变为1位或8位,buffer1输出为8位,buffer2为4位。Unbuffer:将一个帧输出标量样品在较高的采样率。参数设置:图4-26 Frame Status Conversion参数设置图4-27 Buffer1 参数设置图4-28 Unbuffer参数设置图4-29 Buffer2 参数设置串联变并联这个模块的主要功能是为了实现串联的信号变为并联信号,其包含的器件有Unbuffer,Integer Delay,Buffer,Reshape 。图4-30 串联转为并联数据Integer Delay:整数延迟

24、,Reshape:转换为一维矩阵 参数设置图4-31 Unbuffer 参数设置图4-32 Integer Delay 参数设置图4-33 Buffer的参数设置图4-34 Reshape参数设置4.4误码率模块此模块中包含有两个抽样,分别由ZeroOrder hold和relay构成,Error Rate Calculation ,Display,To Workspace。图4-35 误码率模块Error Rate Calculation :计算所接受数据的错误率,Tx解输入端,Rx接输出端。由于开始是测算整个的误码率,是对模拟信号进行测算,所以加入了抽样,在本次测算hamming信道中的误

25、码率,可将两个抽样去掉,对结果无影响。Display:输入值的数字显示,显示误码率的大小。To Workspace:写输入指定的数组或结构在MATLAB的主要工作区。数据不可用,直到仿真停止或暂停。参数设置图4-36 ZeroOrder hold2参数图4-37 Relay2 参数设置图4-38 Error Rate Calculation参数设置图4-39 To workspace 参数设置图440 Display 参数设置4.5示波器显示模块由simulink模块加入两个scope,用以观察编码波形,和信号输入输出前后的对比。图4-41 scope1图4-42 scope的连接图参数设置:

26、图4-43 scope的参数设置图4-44 scope的参数设置4.6 总电路图图4-45 总电路图连接5 电路调试5.1正弦波测试电路在这此调试当中,首先是利用正弦信号来进行初步的电路测试,因为正弦信号更利于观察波形的改变情况。经调试之后的到下图5-2,将信道误码率设置为0的时候的波形的输出图。下图5-3,是信道误码率不为0时的图形,可以看出,信道误码率对信号的传输有影响,发生了严重的失真.图5-1 sine wave正弦信号输入图5-2 信道误码率设置为0图5-3 信道误码率为0.25.2 接入语音信号在经过正弦信号的的调试之后,再语音信号接入模块进行调试,将下载好的音频信号用录音机进行格

27、式的转换,转换为PCM格式的,频率8000Hz,将其加入到work文件夹之下,再设置其参数如下图5-5。运行程序之后,观察scope中的图形,当信道误码率为0是的图形图下,可以看出,信号基本无失真。图5-4 语音信号输入模块图5-5 语音信号模块参数设置图5-6 输入语音信号的属性接入电路之后的波形显示图5-7 语音信号的输入输出对比5.3 误码率曲线绘制图首先修改信道中的参数,将hamming信道中的参数修改为下图,在将计算误码率模块中的Outpute date改为workspace。图5-8 修改信道的误码率 设置为F图5-9 设置Error Rate Calculation模块再编写m文

28、件,如下所示x=0:0.01:0.10;%设定信道误信率的范围y=x; % for i=1:length(x) %给定i值的范围 F=x(i);% 通过不同的i来设置不同的信道误信率 sim(pcmhamming);%sim函数是运行整个的模块 y(i)=ErrorVec(1);%计算平均值 endplot(x,y);%输出xlabel(信道中的差错率);ylabel(误码率);title(误码率曲线)图5-10 编写M文件输出的误码率曲线,横坐标表示图5-11 误码率曲线图6 结束语及错误总结通过两周的通信原理课程设计真的学会了很多,短短的两周不仅加固了我对专业知识掌握,并且在自己动手设计制

29、作这个课程设计的过程中充分锻炼了自己的实践能力。从整个课程设计的开始设计制作到完成,经历了查找资料,着手设计,遇到瓶颈,寻求帮助,解决问题等等,在这一系列的过程中我体会到了痛苦并快乐的真正含义。 在这个过程当中出现了很多的问题,像是开始很多参数没有设置多,导致波形出现下图6-1的情况,这是由于判决器的设置,在低于eps是设置为了0,所以0以下的波形均没有显示。图6-1 还有在编写误码率曲线的m文件的时候,对于sim函数不熟悉,导致程序没有运行出来,如图6-2。后来自己在网上查找各种资料之后终于解决了。图6-2当测试完正弦信号之后加入语音信号,开始没有将语音信号进行一个格式的转换,导致不能加入到模块中去,后来加入模块中之后,没有将信号参数修改,也导致信号不能用,问题的解决并不是凭我的一个人的努力,所以要感谢老师的解释还有同学的帮助图6-3 其实在整个的实验过程当中,出现了很多的错误,在这个过程当中,其实最重要的就是不断的发现错误,改正错误,不断的完善,并在这个过程当中提升自己解决问题的能力。7 参考文献1 通信原理第六版 樊昌信,曹丽娜著2 MATLAB 7.0 SIMULINK 6.0建模仿真开发与高级工程应用 黄永安编著3 BaiduXX

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1