数字信号的量化
通信原理课程设计
设计题目:基于matlab 的数字信号量化的仿真设计 班 级: 学生姓名: 学生学号: 指导老师:
一. 基本原理............................................................................ 错误!未定义书签。 1.1量化原理 ............................................................................ 错误!未定义书签。 1.2课题意义 .............................................................................................................. 2 1.3设计方案.............................................................................................................. 2 1.4研究内容.............................................................................................................. 2 二. 设计过程.............................................................................................................. 2 2.1 MATLAB编程简介 ............................................................................................ 2 2.2 设计思路与流程图 ............................................................................................. 3 2.2.1 设计思路 ...................................................................................................... 3 2.2.2 均匀量化流程图 .......................................................................................... 3 2.2.3 非均匀量化流程图 ...................................................................................... 4 2.3 仿真程序 ............................................................................................................. 5 2.3.1 均匀量化仿真程序 ...................................................................................... 5 2.3.2 非均匀量化仿真程序 .................................................................................. 5 三. 仿真结果.............................................................................................................. 6 3.1 调试 ..................................................................................................................... 6 3.2 均匀量化仿真图 ................................................................................................. 6 3.3 非均匀量化仿真图 ............................................................................................. 7 四. 结果分析.............................................................................................................. 7 4.1 均匀量化结果分析 ............................................................................................. 7 4.2 非均匀量化结果分析 ......................................................................................... 7 4.3 误差分析 ............................................................................................................. 7 五. 总结...................................................................................................................... 8 参考文献........................................................................................................................ 8
基于MATLAB 的数字信号量化的仿真
【摘要】本仿真是一个基于MATLAB 的数字信号量化的仿真,依据量化原理,通过仿真系统制作以及软件编译,设计制作出一个数字信号量化的仿真。本设计根据量化原理对数字信号量化的均匀量化和非均匀量化程序进行编程,配合MATLAB 仿真软件对程序进行仿真调试。
【关键字】MATLAB ;数字信号量化;均匀量化;非均匀量化
【Abstract 】this simulation is based on the MATLAB digital signal quantization simulation, based on the quantitative theory, through the simulation system and the
software compiler, design to produce a digital signal quantization simulation. According to the design principle of digital signal quantization quantization for uniform and nonuniform quantization procedure programming, with MATLAB simulation software for process simulation debugging.
【Key words 】 MATLAB; digital signal quantization; quantization; non uniform quantization
一 基本原理
1.1量化原理
模拟信号抽样后变成在时间上离散的信号,但仍然是模拟信号。这个抽样抽样信号必须经过量化才成为数字信号。我们将在下面讨论模拟抽样信号的量化。
设模拟信号的抽样值为m(kT)其中T 是抽样周期,k 是整数。此抽样值仍然是一个取值
连续的变量,即它可以有无数个可能的连续取值。若我们仅用N 个二进制数字码元来代表此抽样值的大小,则N 个二进制码元只能代表M 等于2的N 次方各不同的抽样值。因此,必须将抽样值的范围划分为M 个区间,每个区间用电平表示。这样共有M 个离散电平,它们称为量化电平。用这M 个量化电平表示连续抽样值的方法称为量化。在图9—9中给出了一个量化过程的例子。图中,m (kT )表示模拟信号抽样值,mq (kT )表示量化后的量化信号值,q1,q2,q3„„.q6是量化后的6个可能输出电平,m1,m2,m3,。。。。。。m6,为量化区间的端点,这样,我们可以用公式mq (kT )=qi, 当m(i-1)
在图9—9中,M 个抽样区间是等间隔划分的,这成为均匀量化。M 个抽样值区间也可以不均匀划分,称为非均匀量化。下面将分别讨论这两种量化方法。 1.2 课题意义
通过该设计我学会了哪些抽象的理论,以前不太懂的,现在通过自己动手仿真,怎么弄懂的以及课程设计中,我遇到了哪些困难与问题,是如何解决的,掌握了什么。 1.3设计方案
学习了解均匀量化与非均匀量化的概念,自己编写关于均匀量化和非均匀量化的程序流程图,根据流程图编写程序,经过修改调试之后得出仿真图。 1.4研究内容
1)量化原理,均匀量化及非均匀量化的概念 2)设计编译均匀量化程序,非均匀量化程序 3)修改之后经MATLAB 调试后得出仿真图
二 设计过程
2.1 MATLAB编程简介
MATLAB 作为一种应用最广泛的科学计算软件,它不仅可以在命令行中逐行输入命令,然后依次执行,而且还可以像C 、FORTRAN 等高级语言一样进行程序设计,然后利用断点等调试手段进行程序设计和调试。MATLAB 的程序设计就是进行M 文件的设计。
MATLAB 程序设计既有传统高级语言的特征,又有自己独特地特点。在MATLAB 程序设计中,充分利用MATLAB 数据结构的特点,可以使程序结构简单,提高编程效率。 2M 文件概述:
MATLAB 不仅是一个功能强大的工具软件,而且可以被理解为一种编程语言。MATLAB 软件本身就是MATLAB 语言的编程环境。MATLAB 本身具有很多强大的函数,实际上M 文件就是一个命令集。
所谓M 文件就是由MATLAB 语句(命令或函数)构成的ASCII 码文本文件,文件名必须以“.m ”为扩展名。主要有两种形式:命令文件(Script File)和函数文件(Function File)。命令文件与批处理文件相似,它是MATLAB 命令或函数的组合,没有输入输出参数,执行时只需在命令中键入文件名回车即可;而函数文件是以一条function 语句作为引导。即文件的第一行为:function[返回参数1,返回参数2,。。。]=函数名(输入参数1,输入参数2,。。。)这一行的有无是区分命令文件和函数文件的重要标志。函数文件可以接受输入变量,还可以返回输出变量,执行时需在命令窗口中以固定格式调用函数方可。其主要用处是利用MATLAB 语句构造一个新的函数。
2.2 设计思路与流程图 2.2.1设计思路
根据量化原理,了解均匀量化和非均匀量化的定义后设计编写均匀量化程序和非均匀量化的程序流程图。
2.2.2均匀量化流程图
2.2.3非均匀量化流程图
2.3仿真程序
2.3.1均匀量化仿真程序
对一个正弦信号进行均匀量化,在图上同时显示出原始信号和量化后信号 t=[0:.1:2*pi];%在[0,2*pi]之间按0.1间隔取值
>> sig=sin(t); %原始信号,一个正弦波
>> partition=[-1:.2:1]; %在[-1,1]之间按0.2间隔取值
>> codebook=[-1,-0.9,-0.7,-0.5,-0.3,-0.1,0.1,0.3,0.5,0.7,0.9,1]; %长度12,每隔一个条目
>> [index,quants,distor1]=quantiz(sig,partition,codebook); %量化 >> plot(t,sig,'x',t,quants,'.') %绘图 >>axis([- .2 7 -1.2 1.2])
>> [distor1] %显示平均平方扭曲 dstor1 = 0.0039 2.3.2非均匀量化仿真程序
用B 折线近似A 律压缩特性曲线的方法如下,对于归一化输入x[-1,1],归一化输出y[-1,1],压缩特性关于原点成奇对称,以下仅考虑第一象限情况,y 平均分成8区间,x 的区间划分为[0,1/128]、[1/128,1/64]、[1/64,1/32]、[1/32,1/16]、[1/16,1/8]、[1/8,2/8]、[2/8,3/8]、[3/8,4/8]、[4/8,5/8]、[5/8,6/8]、[6/8,7/8]、[7/8,1],各区间端点相连,即构成A 律13折线近似压缩特性曲线。
1画出上述A 律折线近似的压缩特性曲线
2画出A 压缩律的A=87.6对应的压缩特性曲线,并与1中的曲线比较 解:程序流程图如图6-18所示,程序如下
%demo for A law for quantize, filename: A_law.m
%A=87.6 y=Ax/(C1+LnA) (0
x=0:dx:1; %在[0,1]之间按0.01间隔取点 A=87.6; %A Law
for i=1:length(x)
if abs(x(i))
ya(i)=sign(x(i))*(1+log(A*abs(x(i))))/(1+log(A)); %sign是符号函数 end
end%计算y 的值
figure(1) %打开图形窗口
>> plot(x,ya,'k.:'); %以x,ya 绘图(k代表黑色,. 代表圆点,:代表点线) >> title('A Law') %为图取名为A Law >> xlabel('x'); %横轴标注为x >> ylabel('y'); %纵轴标注为y >> grid on%绘制网格线 >> hold on%保持当前图形
>> xx=[0,1/128,1/64,1/32,1/16,1/8,1/4,1/2,1]; >> yy=[0,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1]; >> plot(xx,yy); %以xx,yy 绘图 >> stem(xx,yy); %针状图 >>;
三 仿真结果
3.1调试
根据系统的原理结构检查各流程图是否正确,再根据流程图来检查程序是将所有程序组织起来,在软件环境下运行,检查程序是否正确。通过对MATLAB 系统的认真检查,反复测试,如果没有出现问题即可把源程序进行仿真。 3.2均匀量化仿真图
1
2
3
4
5
6
7
3.3非均匀量化仿真图
x
y
四 结果分析
4.1均匀量化结果分析
在均匀量化中,每个量化区间的量化值均取在各区间的中点。其量化间隔取决于样值取值的变化范围和量化级。在一定的取值范围内,均匀量化的量化误差只与量化间隔有关。一旦量化间隔确定,无论抽样值大小,均匀量化噪声功率都是相同的。增大量化级,减小量化间隔,则量化误差会减小。但在实际中,过多的量化级将使系统的复杂性大大增加。量化级应根据量化信噪比的要求确定。
4.2非均匀量化结果分析
非均匀量化是一种在整个动态范围内量化间隔不相等的量化,换言之,非均匀量化是根据输入信号的概率密度函数来分布量化电平,以改善量化性能。其特点是,输入小时,量阶也小,输入大时,量阶也大。程序开始时,先清除内存变量,然后设置变量x 的值,根据x 计算y 值,最后画出A 律图形与折线图。
4.3误差分析
在均匀量化中,量化级级越大,量化误差越小,量化后信号越逼近原信号。我们希望减小误差,又不希望过多增加量化级。在均匀量化中信号幅值大的信号(打信号)与信号幅值小的信号(小信号)的绝对量化误差是相同的,同样大的噪声对大信号影响可能不大,但是对小信号可能造成严重后果,小信号的量化信噪比就难以达到给定的要求。因此采用非均匀量化的方法提高小信号的信噪比,又不过多增加量化级。
五 总结
基于MATLAB 的通信系统仿真至今为止已经进入了令人鼓舞的阶段,在进行了长达十天的时间的摸索与实验,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。
当然在这次宝贵的课程设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对通信原理这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。
总之,这次设计从软件编写、修改到最后仿真成功,我们倾注了大量的时间和心血。真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。
我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。
致谢
感谢我的导师,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。
感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。
感谢我的室友们,是你们和我共同维系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。我们在一起的日子,我会记一辈子的。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
参考文献
[1] 赵静. 基于MATLAB 的通信系统的仿真. 北京:北京航空航天大学出版社,2007.
[2] 赵鸿图. 通信原理MATLAB 仿真教程. 北京:人民邮电出版社,2010.
[3] 樊昌信. 曹丽娜. 通信原理(第六版). 北京:国防工业出版社,2008.
[4] 张卫刚. 通信原理与通信技术[M].西安:西安电子科技大学出版社,2008.
[5] 郭文彬. 通信原理——基于MATLAB 的计算机仿真[M].北京:北京邮电大学出版社,2009.
10