语音信号矢量量化设计及实现算法的matlab仿真毕业设计说明书(编辑修改稿)内容摘要:

,则合并胞腔 iR 和 jR ,码字更新为 1()2i i jY y y 式( 310) 若 j=n1,则从码书中去掉码字 jy ;否则令 1jnyy , 1jnRR ,从码书中去掉码字 1ny ,令 n=n1 步骤 4:若 n=N,则终止程序,其中 N 为所要求的码书大小; 否则,转步骤 2 继续合并最近的两个胞腔 将 PNN算法得到的码书作为 LBG算法的初始码书,初始码书的码字能在整个输入矢量空间中很好的散开,尽可能的占据输入概率密度较大的区域,提高最后码书的质量。 PNN算 法流程图如下所示: 内蒙古工业大学本科毕业 设计 说明书 16 图( 23) PNN算法流程图 开始 训练序列 TS, 0 1 1{ , , ... .., }MX x x x  码字数 n=M,设置 码字 iiyx 0,1,......., 1iM。 n=N? 结束 计算各对码字 ly 和 my 间的失真( , )lmd y y , 01l m n    找出失真最小的两个码 ,ijyy 合并胞腔 iR 和 jR ,更新胞腔码字 1 ()2i i jY y y,置 n=n1 N Y 内蒙古工业大学本科毕业 设计 说明书 17 第三 章 矢量量化 器 的设计及 MATLAB 仿真 MATLAB 仿真环境简介: MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。 它将数值分析、 矩阵计算 、科学数据可视化以及非 线性 动态系统的 建模 和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学 领域 提供了一种全面的解 决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如 C、Fortran)的编辑模式。 MATLAB 可以进行 矩阵 运算、绘制 函数 和数据、实现 算法 、创建用户界 面 ,连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、 图像处理 、 信号检测 、金融建模设计与分析等领域。 矢量量化器 LBG算法的仿真及仿真结果分析 程序设计思 路 为了使程序简短,运行容易,初始码书的选取采用随机选取法; 考虑到输入数据有正值有负值,失真测度采用欧氏距离 均方误差 [8]。 具体的,程序输入为 秒长的 8 比特,单声道语音,取样频率为 8000hz,通过随机选取的方法选取大小为 200 的初始码书。 设置码本维数是 5,码书大小为 16,通过不断迭代来修改码书,直到小于失真门限 停止迭代,此时的码书是最终的码书。 仿真达到 200 个数据量化为 16 个数据的目的。 程序运行结果: 语音长度 = 秒 取样频率 =8000 取样点 /秒 sample_num = 200 s 初始码书 = 内蒙古工业大学本科毕业 设计 说明书 18 0 0 0 0 cpu_time= pj_distort 平均失真 = Columns 1 through 10 Columns 11 through 12 xd_shizhen 相对失真 = Columns 1 through 10 内蒙古工业大学本科毕业 设计 说明书 19 Columns 11 through 12 0 N1 每个码书的样本个数 = 11 12 10 12 11 5 14 19 10 9 6 2 20 24 22 13 j2 循环次数 = 12 final_codebook= 输入语音与码书波形如下图所示: 内蒙古工业大学本科毕业 设计 说明书 20 0 2 4 6 8 10 12 14 161 0 . 500 . 51时间幅度输入语音0 0 . 0 0 1 0 . 0 0 2 0 . 0 0 3 0 . 0 0 4 0 . 0 0 5 0 . 0 0 6 0 . 0 0 7 0 . 0 0 8 0 . 0 0 9 0 . 0 11 0 . 500 . 51时间幅度码书 图( 31) 输入语音与码书波形图 仿真结果 在对实际语音信号进行 MATLAB仿真的过程中,通过改变语音数据量大小,码书维数,失真门限,量化压缩比四个参数,比对分析实验结果的数据 . 一 改变数据量 改变数据量大小,码书中码字个数随之变化, 保持 量化压缩比不变 表( 31) LBG算法改变数据量的仿真结果 语音文件 参数类型 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 语音长度 15s 15s 15s 15s 样本个数 1000 2020 5000 10000 码书中码字个数 80 160 400 800 码字维数 5 5 5 5 内蒙古工业大学本科毕业 设计 说明书 21 量化压缩比 失真门限 循环次数 10 13 14 14 平均失真 相对失真 运算时间 数据分析: 改变数据量大小 :试验用的是同一段语音,保持量化压缩比 不变,使输入训练序列大小分别为 1000,2020,5000, 10000,则码书中码字个数为 80,160,400,800 其他参数 设置不变 .结果如 上 表所示,循环次数为 10,13,14,14 呈现递增趋势,平均失真没有规律,相对失真为 ,, , 呈现递减趋势,运算时间为 , , 呈现递减趋势。 进行大量的仿真说明:输入的数据量越大,相对失真越小,循环次数越多,运算量(运算时间)越大 二 改变量化压缩比 改变数据量大小,码书中码字个数不变,压缩比随之改变 表( 32) LBG算法改变量化压缩比的仿真结果 语音文件 8single 8single 8single 参数类型 8比特 单声道 采样率 8000点每秒 8比特 单声道 采样率 8000点每秒 8比特 单声道 采样率 8000点每秒 语音长度 15s 15s 15s 样本个数 10000 10000 10000 码书中码字个数 800 400 200 码字维数 5 5 5 量化压缩比 25 50 失真门限 内蒙古工业大学本科毕业 设计 说明书 22 循环次数 14 15 21 平均失真 相对失真 运 算时间 数据分析: 改变量化压缩比 :试验用的是同一段语音,保持训练序列样本个数 10000 不变,使量化压缩比分别为 ,25,50,则码书中码字个数为 800, 400,200,其他参数设置不变 .结果如 上 表所示,循环次数为 14,15,21 呈现递增趋势,相对失真没有规律,平均失真为 , , 呈现递增趋势,运算时间为 , , 呈现递减趋势。 进行大量的仿真说明:压缩比越大,循环次数越多,平均失真 越大,运算量(运算时间)越多 三 改变码书维数 表( 33) LBG算法改变码书维数的仿真结果 语音文件 参数类型 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 语音长度 15s 15s 15s 样本个数 10000 10000 10000 码书中码字个数 640 640 640 码字维数 5 8 11 量化压缩比 失真门限 循环次数 15 14 13 平均失真 相对失真 运算时间 内蒙古工业大学本科毕业 设计 说明书 23 数据分析: 改变码字维数 :试验用的是同一段语音,使码字维数分别为 5,8,11,其他参数设置不变 .结果如 上 表所示,循环次数为 15,14,13 呈现递减趋势,平均失真为 , , 呈现递增趋势,相对失真为 , , 呈现递减趋势,运 算时间为 , , 呈现递减趋势。 进行大量的仿真说明: 码书维数越大,循环次数越少,平均失真越大,相对失真越小,运算量(运算时间)越大 四 改变失真门限 ( 34) LBG算法改变失真门限的仿真结果 语音文件 参数类型 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 8比特 单声道 采样率为 8000 语音长度 15s 15s 15s 15s 样本个数 10000 10000 10000 10000 码书中码字个数 640 640 640 640 码字维数 11 11 11 11 量化压缩比 18. 8 失真门限 循环次数 5 6 8 15 平均失真 相对失真 运算时间 数据分析: 改变失真门限 :试验用的是同一段语音,使失真门限分别为 , ,其他参数设置不变 .结果如 上 表所示,循环次数为 5,6,8, 15 呈现递增趋势,平均失真为 , , , 呈现递减趋势,相对失真为 , , ,呈现递减趋势,运算时间为 , , , 呈现递减趋势。 内蒙古工业大学本科毕业 设计 说明书 24 进行大量的仿真说明: 失真门限越小,平均失真越小,相对时间越小,循环次数越大,运算量(运算时间)越大 仿真结论 一 保持量化压缩比不变,输入的数据量越大,相对失真越小,循环次数越多,运算量(运算时间)越大 ; 二 压缩比越大,循环次数越多,平均失真越大,运算量(运算时间)越多 ; 三 码书维数越大,循环次数越少,平均失真越大,相对失真越小,运算量(运算时间)越大 ; 四 失真门限越小,平均失真越小,相对失真越小,循环次数越大,运算量(运算时间)越大。 矢量量化器覆盖算法的仿真及仿真结果分析 程序设计思路 为了使程序简短,运行容易,初始码书的选取采用 随机选取法; 考虑到输入数据有正值有负值,失真测度采用欧氏距离 均方误差。 具体的,程序输入为 秒长的 8 比特,单声道语音,取样频率为 8000hz,通过随机选取的方法选取大小为 200 的初始码书 设置码本维数是 5,初始失真半径为 ,通过不断增大失真半径迭代来修改码书,直到码书大小满足 码书大小 16停止迭代,此时的码书是最终的码书。 仿真达到 200个数据量化为 16个数据的目的。 程序运行结果: 划分胞腔次数 = 1754 最终码书中码字个数 = 16 最终失真半径 = 内蒙古工业大学本科毕业 设计 说明书 25 每个胞腔中的向量数 = 138 14 6 1 7 4。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。