PCM编码器与PCM解码器的MATLAB实现 下载本文

...

程控实验课程设计报告

题目:PCM

学生姓名: xxx 学 号: 0910406003 系 别: 物理与信息工程系 专 业: 通信工程 指导教师: xxxx

2012年 6月 2日

1

编码器与PCM解码器的MATLAB实现

目 录

摘 要 ........................................................................................................... 3 关键词 ......................................................................................................... 3 前 言 ......................................................................................................... 4 一、课程设计的目的 ................................................................................ 5 二、课程设计的内容 ................................................................................ 5 三、课程设计的要求 ................................................................................ 5 四、脉冲编码调制 .................................................................................... 6

4.1 PCM原理 ....................................................................................... 6 五、模块设计和仿真图形分析 ................................................................ 8

5.1 PCM编码器电路设计 ................................................................... 8 5.2编码部分封装 .............................................................................. 10 5.3 PCM解码器电路设计 ................................................................. 11 5.4解码部分封装 .............................................................................. 12 5.5有干扰信号的PCM编码与解码 ................................................ 13 5.6无干扰信号的PCM编码与解码 ............................................... 16 六、心得体会与总结 .............................................................................. 19

2

摘 要

本设计结合PCM的抽样、量化、编码原理,利用MATLAB集成环境下的Simulink仿真平台,完成对脉冲编码调制系统的建模与仿真分析。用示波器观察编码与解码前后的信号波形;加上各种噪声源,用误码测试模块测量误码率;最后根据运行结果和波形来分析该系统性能。通过本次课程设计,对PCM原理及性能有了更深刻的认识,并进一步掌握MATLAB软件的使用

关键词

MATLAB ;Simulink仿真平台;PCM编码器与解码器;

3

前 言

MATLAB是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。随着电子技术和计算机技术的发展,仿真技术得到了广泛的应用。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活可以满足从底层到高层不同层次的设计、分析使用,形成多层系统,使系统设计更加简洁明了等优点。基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

Matlab软件中的simulink具有良好的交互界面,通过分析窗口和示波器模拟等方法,提供一个可视的仿真过程,不仅在工程上得到应用,在数学领域也得到了公众的认可,尤其在信号分析、通信系统等领域得到了广泛的应用。它可以实现复杂的模拟、数字以及数模混合电路及各种速率的系统。本次课程设计主要阐述了如何利用simulink实现脉冲编码调制(PCM)及其译码过程。系统主要通过模块分层实现,主要的模块有:PCM编码模块、PCM译码模块、以及逻辑时钟控制信号等构成。通过仿真设计电路,分析仿真结果,为最终的硬件的实现提供充分的理论依据。

4

一、课程设计的目的

通过本次课程设计的学习我们不仅要能够加深对在课堂中的理论知识的理解并且巩固理论课上所学的有关 PCM编码和译码的基本的概念、理论和方法。利用Matlab软件平台运行,对模块进行调试、仿真和分析。对结果记性分析,输出结果应和结论一致,且符合理论。通过这些过程不但可以能锻炼我们发现问题、分析问题和解决问题的能力,而且还能够通过实验学习和掌握到书本中不能学习到的实践知识和经验。并且能够通过实验验证一些基本的简单的理论,为以后自己学习工作积累充分的实践知识和经验。

二、课程设计的内容

在本次课程设计中利用Matlab软件集成环境下的Simulink仿真平台,通过理论分析,设计一个 PCM编译码系统.用示波器观察编码与译码前后的结果,即在示波器上信号波形,根据运行的数据和波形来分析该系统性能。结合理论分析验证结果的正确性。

三、课程设计的要求

以Matlab的Simulink作为软件平台充分利用其提供的通信工具箱和信号处理工具箱中的模块,充分发挥Simulink的特点对脉冲编译码调制PCM系统进行模型构建。

(1)利用Simulink对系统建模设计一个PCM的编译码器。

5

(2)输入模拟的话音信号并且观察其输出波形。 (3)输入数字信号并且观察期译码波形。 (4)对系统设计进行仿真演示和结果的分析

四、脉冲编码调制

4.1 PCM原理

数字信号是对连续变化的模拟信号进行抽样、量化和编码产生的,称为PCM(Pulse-code modulation),即脉冲编码调制。PCM是实现语音信号数字化的一种方法,就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。PCM系统的原理框图简要介绍。原理框图如图2所示。

图1:PCM原理图

PCM的工作包括:抽样,量化,编码。下面分别对它们进行介绍一下:

1、抽样:把连续信号变为时间轴上离散的信号过程称为抽样抽样必须遵守奈奎斯特抽样定理。离散信号才可以完全代替连续信号。

6

2、量化:量化是把幅度连续变化的模拟量变成用有限为二进制数字量的过程。量化分为均匀量化和非均匀量化由于均匀量化的缺点所以实际中往往用非均匀量化。在实际中使用的是两种对数形式的压缩特性:A律和U律, U律PCM用于北美和日本,A律PCM用于欧洲和我国,由于A律压缩实现复杂,常使用13折线法编码(如图1)。

?Ax1A律: (我国、欧洲) 0?|x|???1?1nAy????1?1nA|x|??1?1nAA1?|x |?1A式中,x为归一化输入,y为归一化输出,A为压缩系数。

2:A律13折线图

3、编码:编码就是把两户后的信号变换成代码,其反过程就

成为译码。在现有的编码方法中,若安编码的速度来分,分为:低速编码和高速编码。在实际的PCM设备中,量化和编码是一起进行的。通信中采用高速编码方式。编码器的种类在大体上可归结为三类:逐次比较型、折叠级联型、混合型。

7

五、模块设计和仿真图形分析

5.1 PCM编码器电路设计

图3 13折线近似的PCM编码器测试模型和仿真结果 具体参数设置如下:

图4 Saturation 图5 Abs

8

图6 A-Law Compressor 图7 Gain

图8 Quantizer 图9 Integer to Bit Converter

图10 Mux 图11 Display

9

图12 Relay

5.2编码部分封装

选中除Constent及Display的其他模块,再选中Edit中的Creat Subsystem,对选中部分进行封装,见图13.

图 13

双击PCM-code得封装之后的PCM编码子系统。见图14

图 14

10

5.3 PCM解码器电路设计

图 15

参数设置如下:

图16 Demux 图17 Mux

图18 Relay 图19 Bit to Integer Converter

11

图20 Gain 图21 A-Law Expander

图22 Product

5.4解码部分封装

模型中In1 Out1右端和Display左端的部分封装为一个PCM解码子系统备用。 封装之后的图如下:

图 23

12

封装之后的PCM解码子系统见图 24.

图 24

5.5有干扰信号的PCM编码与解码

图 25

图26 Zero-Oroder-Holder 图27 Frame Status Conversion

13

图28 Buffer 图29 Binary Symmetric Channel

图30 Buffer1 图31 Reshape

图32 Sine Wave

图33 Scope1 图34 Scope 系统总的参数设置

14

图 35

仿真波形

图36 Scope

图37 Scope1

15

5.6无干扰信号的PCM编码与解码

图 38

经过编码与解码之后,然后通过低通滤波器,最后在示波器Scope上得出输出波形,此外,还需注意在通过示波器前需经过To Frame和Buffer,其中To Frame是用来形成帧信号,Buffer是缓冲器。 各参数设置如下:

图 39 sine wave 图40 Buffer

16

图41 Display 图42 Frame Status Conversion

图43 Scope1 图44 Scope

图 45 系统总的参数的设置

17

Analog Filter Design的参数设置: Design method:Butterworth Filter type:Lowpass Filter order:8

Passband edge frequency:250*pi

无干扰的PCM编码与解码其仿真波形图如下:

图 46

图 47

18

六、心得体会与总结

通过本次课程设计,我教系统地掌握了有关PCM脉冲编码调制的设计思路和设计方法,主要对MATLAB的仿真方法,开发环境等有了一定的了解并对其进行测试和应用。掌握了利用MATLAB集成环境下的Simulink仿真平台,完成对脉冲编码调制系统的建模与仿真分析的基本方法。以前对PCM编码的了解只是理论层面上的,通过这次课程设计,加深了对理论知识的理解,并对其在实际中的应用有了一定的了解。

在课程设计刚开始的时候,由于对MATLAB的使用不太熟悉,觉得无从下手,课程设计进展困难。为此,我借助网络、图书等资源,一步一步熟悉MATLAB,并在熟练的同学的帮助下,渐渐摸索找到了方法,我认识到,在以后的学习过程中,要时刻保持着刻苦钻研的精神和坚持不懈的毅力。本此课程设计的成功离不开自己的努力,离不开同学的帮助,更离不开知道老师的教育和指导!xxx老师一方面在理论课上很详细很专业的为我们讲解了本次课程设计的理论知识,让我对此有了宏观上了解,并能够掌握这些理论知识,为以后的实际操作提供了坚实的基础。另一方面在实际操作时,也给我们很多技术上的指导,让我们能在此过程中,学到更多的操作技能。

总的来说,这次的课程设计让我受益匪浅,不仅是我体验到了动

手操作的乐趣,而且培养了我的设计思维,增加了实践能力,让我体会到艰辛的同时,更让我收获了成功的喜悦。

19