PCM编码与解码仿真实验报告

  • 格式:doc
  • 大小:3.41 MB
  • 文档页数:10

实验六:PCM编码与解码仿真

一、 实验目的

1. 掌握PCM的编码原理和Matlab Simulink仿真方法

2. 掌握PCM的解码原理和Matlab Simulink仿真方法

二、 实验原理

1. PCM编码和解码原理详细见教材介绍

三、 实验内容和步骤

1. PCM编码器电路设计

13折线近似的PCM编码器测试模型和仿真结果

1. 仿真框图中各部分的简介

以Constant作为数字信号源,产生一个恒定的数字脉冲信号;Gain1作为一个线性变换器将输入的绝对值不大于2048的数据变换为{-1,1}的区间之内,保证输入的信号满足A律压缩器的要求;以Saturation作为限幅器,将输入信号幅度值限制在PCM编码的定义范围内,以A-Law Compressor作压缩器,Relay模块的门限值设置为0,其输出即可作为PCM编码输出的最高位——极性码。样值取绝对值后,用增益模块将样值放大到0-127,然后用间隔为1的Quantizer进行四舍五入取整,最后将整数编码为7位二进制序列,作为PCM编码的低7位。可以将上图中Constant和Display(不含)之间的模块封装一个PCM编码子系统备用。

其中各部分参数设置:

Constant:

Gain1:

Saturation:

Abs:

A-Law Compressor:

Gain:

Quantizer:

Interger toBit Converter

Display:

Relay:

问题1.1:对Constant输入值进行测试,试输入:0、-1、12、1070、2048、5000、-5000,检测输出结果,验证此编码模型是否正确?并说明原因。

(2)将该系统进行封装:

封装之后的PCM编码子系统

2. PCM解码器电路设计

PCM解码器中首先分离并行数据中的最高位(极性码)和7位数据,然后将7位数据转换为整数值,再进行归一化,扩张后与双极性的极性码相乘得出解码值。可以将该模型中In1Out1右端和Display左端的部分封装为一个PCM解码子系统备用。

其中各模块的具体参数如下:

Demux:

Mux:

Relay

Bit to Integer Converter:

Gain:

A-Law Expander

3.无干扰信号的PCM编码与解码(模拟话音信号)

经过编码与解码之后,然后通过低通滤波器,最后在示波器上得到输出波形,示波器上显示原信号,与输出信号比较。在编码器之后通过Display和Scope1显示PCM数字信号,注意:在通过示波器前需经过ToFrame和Buffer,其中ToFrame用来形成帧信号,Buffer是缓冲器。

各模块参数设置如下: SineWave

Display

ToFrame

Buffer

Scope1

Analog Filter

Scope

Configuration

问题3.1:分别给出示波器在某一时刻的波形,并说明在输入正弦波的情况下,系统是否经过了正确的解码?

问题3.2 什么是PCM?它有什么作用?

问题3.3 模拟信号转换为数字信号一般要经过几个步骤?

4.无干扰信号的PCM编码与解码(数字波形信号)

其中各模型参数设置 SineWave

Zero-Order Hold

Scope

问题4.1:请给出测试模型的仿真结果。并说明在输入数字波形的时候,系统是否得到了正确的解码?

5.无干扰信号的PCM编码与解码(数字信号)

问题5.1 将测试结果输入下表

输入数字 解码数字 误差值

0

-1

78

500

-500

1500

-1700

1900

2048

-3000

问题5.2 通过以上数据分析比较,系统的误差情况,是由于什么原因造成的?

四、 实验报告要求

1. 回答问题并总结本次实验遇到了哪些问题?你是怎么解决的?

2. 在数字通信中,为什么要进行抽样和量化?什么是抽样、量化和编码?