DPCM编码与解码的MATLAB实现与研究课设Word文档格式.docx
《DPCM编码与解码的MATLAB实现与研究课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《DPCM编码与解码的MATLAB实现与研究课设Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
xxxxxxx
DPCM编码与解码的MATLAB的实现与分析
实践教案要求与任务:
利用MATLAB/Simulink进行编程和仿真,仿真的内容可以是关于信源、信源编码、模拟调制、数字调制、多元调制、差错控制、多址技术、信道仿真及具体通信电路的仿真实现。
也可以用MATLAB编程对通信的某一具体环节进行仿真。
工作计划与进度安排:
2013年3月4日选题目查阅资料
2013年3月5日编写软件源程序或建立仿真模块图
2013年3月6日调试程序或仿真模型
2013年3月7日性能分析及验收
2013年3月9日撰写课程设计报告、答辩
指导教师:
专业负责人:
学院教案副院长:
摘要
首先安装MATLAB软件,然后熟悉软件环境以及各个模块并利用MATLAB集成环境下的Simulink仿真平台,建立一个很小的系统,用示波器观察正弦信号的平方的波形;
理解DPCM编码及解码原理图并根据DPCM编解码原理图设计一个DPCM编码与解码系统;
改变不同模块的数据并用示波器观察编码与解码前后的信号波形;
加上各种噪声源,用误码测试模块测量误码率;
最后根据运行结果和波形来分析该系统性能,从而更深入地掌握DPCM编码与解码系统的相关知识使自己受益。
关键词:
MATLAB;
DPCM编码与解码系统;
误码率
目录
1课程设计目的…………………………………………………………1
2课程设计要求…………………………………………………………1
3相关知识………………………………………………………………1
4课程设计分析…………………………………………………………7
5仿真…………………………………………………….…….……...13
6结果分析…………………………………….....……………………14
7参考文献…………………………………………………………..…15
1.课程设计目的
(1)加深对DPCM编码与解码基本理论知识的理解。
(2)培养独立开展科研的能力。
(3)掌握用MATLAB实现DPCM编码与解码系统的设计与仿真。
(4)掌握MATLAB软件的使用。
2.课程设计要求
(1)掌握DPCM编码与解码系统的相关知识、概念清晰。
(2)掌握MATLAB使用方法,利用软件绘制图像。
(3)程序设计合理、能够正确运行。
(4)根据运行结果和波形来分析该系统性能。
3.相关知识
3.1DPCM编码与解码系统简介
预测编码方法是一种较为实用被广泛采用的一种压缩编码方法。
预测编码方法原理,是从相邻像素之间有强的相关性特点考虑的。
比如当前像素的灰度或颜色信号,数值上与其相邻像素总是比较接近,除非处于边界状态。
那么预测编码(predictivecoding)是统计冗余数据压缩理论的三个重要分支之一,它的理论基础是现代统计学和控制论。
由于数字技术的飞速发展,数字信号处理技术不时渗透到这些领域,在这些理论与技术的基础上形成了一个专门用作压缩冗余数据的预测编码技术。
预测编码主要是减少了数据在时间和空间上的相关性,因而对于时间序列数据有着广泛的应用价值。
在数字通信系统中,例如语音的分析与合成,图像的编码与解码,预测编码已得到了广泛的实际应用。
预测编码是根据某一模型利用以往的样本值对于新样本值进行预测,然后将样本的实际值与其预测值相减得到一个误差值,对于这一误差值进行编码。
如果模型足够好且样本序列在时间上相关性较强,那么误差信号的幅度将远远小于原始信号,从而可以用较少的电平类对其差值量化得到较大的数据压缩结果。
如果能精确预测数据源输出端作为时间函数使用的样本值的话,那就不存在关于数据源的不确定性,因而也就不存在要传输的信息。
换句话说,如果我们能得到一个数学模型完全代表数据源,那么在接收端就能依据这一数学模型精确地产生出这些数据。
然而没有一个实际的系统能找到其完整的数据模型,我们能找到的最好的预测器是以某种最小化的误差对下一个采样进行预测的预测器。
当前像素的灰度或颜色信号的数值,可用前面已出现的像素的值,进行预测(估计),得到一个预测值(估计值),将实际值与预测值求差,对这个差值信号进行编码、传送,这种编码方法称为预测编码方法。
预测编码方法分线性预测和非线性预测编码方法。
线性预测编码方法,也称差值脉冲编码调制法,简称DPCM(differentialPulseCodeModulation)。
预测编码方法在图像数据压缩和语音信号的数据压缩中都得到广泛的应用和研究。
3.2DPCM的基本原理
DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式(抽样差值的含义请参见“增量调制”)。
这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。
差值编码可以提高编码频率,这种技术已应用于模拟信号的数字通信之中。
对于有些信号(例如图像信号)由于信号的瞬时斜率比较大,很容易引起过载,因此,不能用简单增量调制进行编码,除此之外,这类信号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的方法。
但瞬时压扩实现起来比较困难,因此,对于这类瞬时斜率比较大的信号,通常采用一种综合了增量调制和脉冲编码调制两者特点的调制方法进行编码,这种编码方式被简称为脉码增量调制,或称差值脉码调制,用DPCM表示。
这种调制方式的主要特点是把增量值分为个等级,然后把个不同等级的增量值编为位二进制代码再送到信道传输,因此,它兼有增量调制和PCM的各自特点。
设这个误差电压经过量化后变为个电平中的一个,电平间隔可以相等,也可以不等,这里认为它是间隔相等的均匀量化。
量化了的误差电压经过脉冲调制器变为PAM脉冲序列,这个PAM信号一方面经过PAM编码器编码后得到DPCM信号发送出去。
另一方面把它经过积分器后变为与输入信号x(t)进行比较,通过相减器得到误差电压e(t)。
实验表明,经过DPCM调制后的信号,其传输的比特率要比PCM的低,相应要求的系统传输带宽也大大地减小了。
此外,在相同比特速率条件下,DPCM比PCM信噪比也有很大的改善。
与ΔM相比,由于它增多了量化级,因此,在改善量化噪声方面优于ΔM系统。
DPCM的缺点是易受到传输线路上噪声的干扰,在抑制信道噪声方面不如ΔM。
3.3DPCM编码与解码系统的研究内容
(1)利用MATLAB集成环境下的Simulink仿真平台,设计一个DPCM编码与解码系统。
(2)用示波器观察编码与解码前后的信号波形。
(3)加上各种噪声源,用误码测试模块测量误码率。
(4)最后根据运行结果和波形来分析该系统性能。
3.4DPCM编码及解码过程和原理
DPCM编、解码原理图
系统包括,发送、接收和信道传输三个部分。
发送端由编码器、量化器、预测器和加/减法器组成;
接收端包括解码器和预测器等;
信道传送以虚线表示。
由图可见DPCM系统具有结构简单,容易用硬件实现(接收端的预测器和发送端的预测器完全相同)的优点。
图中输入信号f(i,j)是坐标为
像素点的实际灰度值,
是由已出现先前相邻像素点的灰度值对该像素点的预测灰度值。
是预测误差。
假如发送端不带量化器,直接对预测误差
进行编码、传送,接收端可以无误差地恢复
。
这是可逆的无失真的DPCM编码,是信息保持编码;
但是,如果包含量化器,这时编码器对
编码,量化器导致了不可逆的信息损失,这时接收端,经解码恢复出的灰度信号,不是真正的
,以
表示这时的输出。
可见引入量化器会引起一定程度的信息损失,使图像质量受损。
但是,为了压缩比特数,利用人眼的视觉特性,对图像信息丢失不易觉察的特点,带有量化器有失真的DPCM编码系统还是普遍被采用。
3.5MATLAB简介
3.5.1基本功能
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面。
MATLAB是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。
MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。
3.5.2MATLAB特点
(1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。
(2)具有完备的图形处理功能,实现计算结果和编程的可视化。
(3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习
和掌握。
(4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
3.5.3MATLAB产品应用
(1)数值分析
(2)数值和符号计算
(3)数字图像处理技术
(4)控制系统的设计与仿真
(5)数字信号处理技术
(6)通讯系统设计与仿真
3.5.4MATLAB特点
(3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握。
3.6SIMULINK简介
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。
在simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。
它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。
而所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl檔进行存取),进而进行仿真与分析。
SIMILINK模块库按功能进行分类,包括以下8类子库:
Continuous(连续模块),Discrete(离散模块),Function&
Tables(函数和平台模块),Math(数学模块),Nonlinear(非线性模块),Signals&
Systems(信号和系统模块),Sinks(接收器模块),Sources(输入源模块)。
4.课程设计分析
4.1simulink的工作环境熟悉
建立一个很小的系统,用示波器观察正弦信号的平方的波形,如图4-1
系统中所需的模块:
正弦波模块,示波器模块。
图4-1正弦仿真电路图
正弦波参数设置如图4-2
图4-2正弦参数设置
4.2DPCM编码与解码的电路图
DPCM编码与解码的仿真电路图如图4-3
此系统所用的仿真电路模块有:
正弦波模块、增益模块、DPCM编码模块、DPCM解码模块、数制转换模块、Terminator模块、示波器模块。
正弦信号用于输入信号,示波器用于观察波形。
图4-3DPCM编码与解码的电路图
4.3系统所用模块的参数设置
调制信号模块的参数设置:
正弦波幅度设计为1,频率Frequency设置为1,如图4-4
图4-4调制信号的参数设置
DPCMEncoder的参数设置如下图4-5
图4-5DPCMEncoder的参数设置
DPCMdecoder的参数设置如图4-6
图4-6decoder的参数设置
数制转换模块参数设置如图4-7和4-8
图4-7数制转换模块参数设置
图4-8数制转换模块参数设置
示波器的参数设置:
示波器有3个接口,时间范围设置为auto,如图4-9
图4-9数制转换模块参数设置
5.仿真
利用MATLAB软件根据图5-1和5-2模型分别进行仿真
图5-1正弦仿真电路图
图5-2DPCM编码与解码的电路图
6.结果分析
图6-1单正弦与平方波的对比
图6-2用示波器观察正弦信号的波形
结论:
两正弦波叠加之后的周期是原周期的1/2,频度是原频度的2倍,且不加任何干涉信号的原正弦信号的图形与进行DPCM编码和解码后的图形是一致的。
7.参考文献
[1]张德丰等编著.MATLAB通信工程仿真[M].机械工业出版社,2003,31-35;
[2]苏金明阮沈勇编著.MATLAB实用教程[M].电子工业出版社,2006,105-117;
[3]董霖编著.MATLAB使用详解[M].科学出版社,2005,13-47;
[4]王宏编著.MATLAB及其在信号处理中的应用[M].清华大学出版社,2007,157-173。