LloydMAX算法的研究报告.docx
- 文档编号:30398567
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:25
- 大小:204.17KB
LloydMAX算法的研究报告.docx
《LloydMAX算法的研究报告.docx》由会员分享,可在线阅读,更多相关《LloydMAX算法的研究报告.docx(25页珍藏版)》请在冰豆网上搜索。
LloydMAX算法的研究报告
Lloyd—Max算法的总结
摘要:
本文分析模拟—数字信号转变过程中抽象信号为离散时间,幅度连续,无记忆的
随机信号的最佳量化问题。
并对算法做了总结,应用MATLAB编写程序实现该算
法,最后给出了运用该程序进行计算的几个例子。
关键词:
非均匀量化,失真度,Lloyd—Max算法
一.引言
模数转换要经过抽样,量化和编码三个步骤。
如下图所示:
SCH
为带限的平稳随机过程,根据抽样理论,我们可以对此随机信号进行奈圭斯特抽样抽样的输出为。
它是与等效的离散抽样序列。
经过量化器以后,用L个电平值来表示次序列,然后对此L个电平进行编码(假设为2进制码)。
如果L为2的整数幂。
则每个量化电平需要的码长为:
如果L不是2的整数幂。
则上式为。
如果L个电平值不等概的情况下,我们可以用哈夫蔓编码(又叫熵编码)增加编码效率。
然而,量化过程用到数据的压缩,从而引进了信号的失真。
这种失真即为量化失真。
我们用量化误差来表示。
本文的重点就是讨论如何最大限度的减小量化误差。
二.信息论的解释
2.1.失真度D
假定抽样器的输出序列为,量化器的输出序列为。
为不同的量化值。
则两个量化值的失真为:
如果p=2;则此失真称为均方失真。
平均失真量为:
如果x(t)是服从概率密度函数为p(x)的随机信号,则:
失真度D:
如果用:
来表示。
量化噪声MSE:
量化信噪比SNR:
2.2.率失真函数R(D):
我们假定信源为无记忆,连续幅度,它的幅度概率密度函数为p(x),则率失真函数R(D)的表示式为:
现在分析一下失真函数R(D)的意义。
给定允许的失真度D的情况下,寻求平均互
信息量的最小值。
在信源编码过程中,该最小值的意义即为:
给定一定的失真度D,存在最小的编码码长R。
即可寻求最小的量化电平数L。
因此,进行最佳量化设计的目标可以看成以下问题:
A:
给定量化电平数L,寻求一种方法使得失真度D最小。
B:
对于允许的失真度D,怎样减少量化电平数L。
本文章将讨论问题A,即怎样寻择量化方法使D最小。
量化的方法有很多,如权量化,自适应量化,矢量量化和标量量化。
下面将对标量量化进行讨论。
三.标量量化的最佳量化问题
在信源量化中,如果我们知道量化器的输入信号为概率密度函数为p(x),则量化器可以进行优化。
同样的,设输入的信号概率密度函数为p(x),量化电平数设为L。
误差函数设为
量化失真度为D。
最佳量化器的目的即为减小D,为此,必须正确选取最佳量化电平值和量化区间。
Lloyd-Max算法就是最佳量化的好的实现方法。
我们称用Lloyd-Max算法的量化器为Lloyd-Max最佳量化器。
为讨论该算法,我们先介绍均匀量化
对于均匀量化,设量化电平为:
,其中,Δ为量化台阶
当(k-1)Δ≤x 假设均匀量化器的输出为对称的偶数个电平,则平均失真为: 对Δ求导,即可得到最小的量化失真D。 对上式求导为: 给定一个p(x),可以通过计算机编程设计得到最佳量化的矢量步长。 Max首先对输入信号为均值为0,单位方差的高斯信号进行了计算。 四.Lloyd—Max算法 对于输入信号分布函数p(x),量化输出电平 ,量化电平数为L,量化区间端点值为 当 时则量化为 . , . 则失真度为: 对和进行优化以减小D,同时对和分别求导,得到下面两个等式: 采用均方误差则,所以可以得出: 这两个式子可以通过计算机编程进行连续的迭代计算,求出最佳的和,以尽可能达到最小的D。 五.MATALB的编程实现 给定量化电平L和输入信号概率密度函数p(x)和信号可能的最大值,最小值进行迭代,求出最佳量化电平和量化范围。 并给出了一个结果。 其中的失真度D的绝对值过大,仅仅是为了说明情况,具体的计算可以根据需要的值进行设置两次迭带中的D值之差,进而计算出比较精确的结果。 (程序清单和计算结果见附录) 六.结束语 Lloyd—Max算法的特点是: 量化电平集中在信号概率大的区域。 在量化电平极小的情况下,均匀量化和非均匀量化的性能差不多。 但是随着量化电平数的增加,非均匀量化产生的失真度明显比均匀量化小。 根据信号的概率密度函数进行量化,将时间离散,幅度连续的信号量化到各个离散的电平上,它们对应了相应的概率。 可以据此进行熵编码,以期在相同的失真度条件下得到最小的码长R。 非均匀量化简单有效的实现且应用在商业电话的对数量化器,根据人的语音特点,在低幅度时用比较多的量化电平(量化台阶小),而在信号不常发生的大幅度电平值时,量化电平就大,常用的技术有美国的 律压缩和欧洲的A-律压缩。 参考文献: [1]: John..G.ProakisDigitalCommunication,电子工业出版社影印版 [2]: Theodore.S.RappaportWirelesscommunication,电子工业出版社影印版 [3]: 傅祖芸信息论基础,电子工业出版社 [4]: 沈振元,聂志泉,区雪荷通信系统原理西安电子科技大学出版社 附录: 源程序清单: 1: MAIN functionmain clearall; string1=input('Pleaseinputthepdfofthesignal: '); string2=string1; disp('Pleaseinputthemaxamplitudeofthesignal: '); xmax=input(''); disp('Pleaseinputtheminamplitudeofthesignal: '); xmin=input(''); disp('Pleaseinputthenumberofthequantizationlevels: '); qsteps=input(''); lloyedmax(string2,xmax,xmin,qsteps) 2: Lloyd—Max functiond=lloyedmax(pdf,xmax,xmin,qsteps) g=inline(pdf); step=abs((xmax-xmin))/qsteps; fori=1: qsteps xvalue(i)=xmin+(i-0.5)*step; end; dold=1; dsum=0; j=0; whileabs(dold-dsum)>0.01 j=j+1; x(j)=dsum; dold=dsum; xdomin (1)=xmin;xdomin(qsteps+1)=xmax; fori=2: qsteps xdomin(i)=(xvalue(i-1)+xvalue(i))./2; end dsum=0; fori=2: qsteps+1 xstemp=xdomin(i-1): abs(xdomin(i)-xdomin(i-1))/100: xdomin(i); y=((xvalue(i-1)-xstemp).^2).*g(xstemp); d=trapz(xstemp,y); dsum=dsum+d; end fori=2: qsteps+1 xstemp=xdomin(i-1): abs(xdomin(i)-xdomin(i-1))/100: xdomin(i); y1=xstemp.*g(xstemp); y2=g(xstemp); d1=trapz(xstemp,y1); d2=trapz(xstemp,y2); xvalue(i-1)=d1/d2; figure(j); plot(xvalue,1: 1: qsteps,'*',xdomin,1: 1: qsteps+1,'x') ylabel('thecomputenumbers') xlabel('regions(x)andoutputlevels(*)') end outputlevel=xvalue regions=xdomin distortion=dsum end j=j+1; x(j)=dsum outputlevel=xvalue regions==xdomin figure(j); ylabel('thecomputenumbers') xlabel('regions(x)andoutputlevels(*)') plot(xvalue,1: 1: qsteps,'*',xdomin,1: 1: qsteps+1,'x') figure(j+1) clearc; fori=2: j c(i-1)=x(i); end plot(1: 1: j-1,c,'*') xlabel('thecomputenumbers') ylabel('everyonedistortion') 附录: 计算举例: 例子: 1.当时,量化电平数L=16;=2。 输入[-20,+20] 过程参数与图示: 说明: main为主函数,outputlevel为量化输出电平值,regions为量化区域,distortion为量化失真度,x为每次迭代得出的量化失真度 main Pleaseinputthepdfofthesignal: 'exp((-x.^2)/(2*4))/sqrt(2*pi*4)' Pleaseinputthemaxamplitudeofthesignal: 20 Pleaseinputtheminamplitudeofthesignal: -20 Pleaseinputthenumberofthequantizationlevels: 16 outputlevel= -17.7225-15.2575-12.8047-10.3710-7.9677-5.6117 -3.3209-1.09691.09693.32095.61177.9677 10.371012.804715.257517.7225 regions= -20.0000-17.5000-15.0000-12.5000-10.0000-7.5000 -5.0000-2.500002.50005.00007.5000 10.000012.500015.000017.500020.0000 distortion=0.5209 outputlevel= -16.7250-14.3051-11.9139-9.5678-7.2895-5.1032 -3.0152-0.99730.99733.01525.10327.2895 9.567811.913914.305116.7250 regions= -20.0000-16.4900-14.0311-11.5878-9.1694-6.7897 -4.4663-2.208902.20894.46636.7897 9.169411.587814.031116.490020.0000 distortion=0.4092 outputlevel= -15.7636-13.4011-11.0891-8.8534-6.7213-4.7050 -2.7849-0.92210.92212.78494.70506.7213 8.853411.089113.401115.7636 regions= -20.0000-15.5151-13.1095-10.7408-8.4286-6.1963 -4.0592-2.00630.00002.00634.05926.1963 8.428610.740813.109515.515120.0000 distortion=0.3390 F4 F6 F8 F10 F12 outputlevel= -9.8274-8.3387-6.9523-5.6241-4.3372-3.0791 -1.8402-0.61220.61221.84023.07914.3372 5.62416.95238.33879.8274 regions= -20.0000-9.4395-7.9327-6.5133-5.1524-3.8325 -2.5406-1.26610.00001.26612.54063.8325 5.15246.51337.93279.439520.0000 distortion=0.1354 x=0.52090.40920.33900.29000.25360.2254 0.20290.18450.16920.15620.14510.1354 2.同样条件,输入为[-60,60]时的情况。 outputlevel= -10.1614-8.5297-7.0115-5.6234-4.3137-3.0524-1.8207 -0.60520.60521.82073.05244.31375.62347.0115 8.529710.1614 regions= -60.0000-9.8716-8.1112-6.5563-5.1407-3.8037-2.5136 -1.25060.00001.25062.51363.80375.14076.5563 8.11129.871660.0000 distortion=0.1332 3.同样函数,输入为[-20,20],L=8时 outputlevel= -4.9505-3.3100-1.9443-0.64360.64361.94433.3100 4.9505 regions= -20.0000-4.2345-2.7073-1.33600.00001.33602.7073 4.234520.0000 distortion=0.1651 4.同样函数,输入为[-60,60],L=32时 outputlevel=-31.8333-28.4797-25.0944-21.8405-18.7849-16.0125-13.5971 -11.5539-9.8169-8.2835-6.8751-5.5461-4.2694-3.0277 -1.8083-0.60140.60141.80833.02774.26945.5461 6.87518.28359.816911.553913.597116.012518.7849 21.840525.094428.479731.8333 regions=-60.0000-31.7736-28.3413-24.9372-21.6598-18.5750-15.7669 -13.3094-11.2202-9.4397-7.8702-6.4306-5.0723-3.7663 -2.4941-1.24220.00001.24222.49413.76635.0723 6.43067.87029.439711.220213.309415.766918.5750 21.659824.937228.341331.773660.0000 distortion=0.1308 5.输入为[-20,20],L=16时 outputlevel= -18.7500-16.2500-13.7500-11.2500-8.7500-6.2500-3.7500 -1.25001.25003.75006.25008.750011.250013.7500 16.250018.7500 regions= -20.0000-17.5000-15.0000-12.5000-10.0000-7.5000-5.0000 -2.50000.00002.50005.00007.500010.000012.5000 15.000017.500020.0000 distortion=0.5209 6. (Laplacian函数),=4, 输入为[-20,20],L=16; outputlevel=-17.6367-14.4158-11.6987-9.1889-6.8127-4.5851-2.5525 -0.76080.76082.55254.58516.81279.188911.6987 14.415817.6367 regions=-20.0000-16.1299-13.1992-10.5930-8.1362-5.8057-3.6387 -1.68870.00001.68873.63875.80578.136210.5930 13.199216.129920.0000 7.和1。 相同的条件: 当时,量化电平数L=16;=2。 输入[-20,+20];改变迭代终止条件,即ΔD<0.01,改为ΔD<0.001的情况。 outputlevel= -6.3968-5.1605-4.2401-3.4217-2.6430-1.8811-1.1266 -0.37520.37521.12661.88112.64303.42174.2401 5.16056.3968 regions= -20.0000-5.8227-4.7440-3.8704-3.0654-2.2875-1.5210 -0.75950.00000.75951.52102.28753.06543.8704 4.74405.822720.0000 distortion=0.0509
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LloydMAX 算法 研究 报告