语音信号的A律13折线PCM编译码的MATLAB实现(2)
也会带来量化噪声,及信号再生时引入的定时抖动失真,需要对再生信号进行幅度及相位的补偿,同时滤除高频分量,在这里使用与编码模块中相同的低通滤波器。
2.2 A律13折线原理
实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采用对数式压缩。广泛采用的两种对数压缩律是?压缩律和A压缩律。美国采用?压缩律,我国和欧洲各国均采用A压缩律,因此,PCM编码方式采用的也是A压缩律。
所谓A压缩律也就是压缩器具有如下特性的压缩律: y?Ax1,0?X? (3) 1?lnAA1?lnAx1 y?,?X?1 (4)
1?lnAA其中A?87.6。
在实际中,A律13折线应用比?律13折线用得广泛。表3列出了计算x值与13折线时的x值的比较。
表3 计算值x与A律13折线时x值的比较
y 0 0 0 1 16 x 按折线 分段时的x 段落 斜率 1 81 1282 81 60.634 8811 30.615.41 321 164 4 5 2 5 81 7.791 867 8811 3.931.981 46 1 1 1 1 8 1 1282 16 1 643 8 1 27 1 21 4
表3中第二行的x值是根据A?87.6时计算得到的,第三行的x值是13折线分段时的值。可见,13折线各段落的分界点与A?87.6曲线十分逼近,同时x按2的幂次分割有利于数字化。
A律压扩特性是连续曲线,A律不同压扩特性也不同,在电路上实现这样的函数规律是相当复杂的。实际中,往往采用近似于A律函数规律的13折线(A?87.6)的压扩特性。这样,它基本上保持了连续压扩特性曲线的优点,。本设计中所用到的PCM编码正是采用这种压扩特性来编码的。
3 程序设计
3.1程序流程图
1. PCM编码函数设计流程图
开始 语音信源 PCM编码 调制,加噪声,解调 PCM解码 结束 图3 主函数流程图
2. PCM编码函数设计流程图
开始 输入信号 判断符号 归一化和量化 段落判断 段内判断 输出 结束 图4 编码函数
3. PCM译码函数设计流程图
开始 输入码组 提取符号 判断段落位置 判断段内位置 判断符号位 输出 结束 图5 译码
3.2程序代码(见附录)
4 仿真结果及分析
4.1 举例分析
4.2 通过绘制图形整体分析
5 设计体会
参考文献
[1] 樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2011.
[2] 别志红,别红霞.信息与通信系统仿真[M].北京:北京邮电大学出版社,2010. [3] 赵守彬,李鸿刚. 利用Matlab 实现PCM 编码的A 律13 折线法量化[J]. 科技信息,2010.
[4] 刘全金. 一种A 律PCM编码的简化方法[J]. 安庆师范学院学报(自然科学版), 2007 年11 月第13 卷第4 期.
[5] 曹志刚,钱亚生.现代通信原理[M].北京:清华大学出版社,1992. [6] 张志勇,杨祖撄. MATLAB教程[M]. 北京:北京航空航天大学出版社,2006.
附录:
1. 主程序 close all; clear all; N=1001;
[M]=wavread('a.wav');
S=M(2000:3000); %语音信源 plot(S,'r'); hold on;%画出编码前信号 t1=pcm1(S); %调用编码函数
t2=tqm(t1); %将N行8列矩阵转换为1行8*N列的矩阵的函数 sim('mod1'); %调制
sim('channel1'); %送入信道,加噪声 sim('dem1'); % 解调
t6=tqn(t5); %将8*N行1列的矩阵转换为N行8列矩阵的函数 t7=pcm2(t6); %调用译码函数 plot(t7); % 画出译码后信号
title('PCM编译码前后信号的比较'); %标题 legend('PCM编码前的信号','PCM译码后的信号')%添加图例注解 xlabel('时间') grid on
2. A律十三折线PCM编码函数 function Y=pcm1(S)
z=sign(S); %判断S的正负 Max=max(abs(S)); %求S的最大值 S=abs(S/Max); %归一化 Q=2048*S; %量化
Y=zeros(length(S),8); %存储矩阵(全零) %%段落码判断%% for m=1:length(S)
if Q(m)>128 & Q(m)<2048 %在第五段与第八段之间,段位码第一位都为“1”
% x坐标名
ylabel('幅值') % y坐标名
%添加网格
%将图形设置为正方形
axis square
Y(m,2)=1; end
if (Q(m)>32 & Q(m)<128) || (Q(m)>512 & Q(m)<2048)
Y(m,3)=1; %在第三四七八段内,段位码第二位为“1” end
if (Q(m)>16&Q(m)<32)||(Q(m)>64&Q(m)<128)||(Q(m)>256&Q(m)<512)|| (Q(m)>1024&Q(m)<2048)
Y(m,4)=1; %在二四六八段内,段位码第三位为“1” end
%符号位的判断 if z(m)>0 Y(m,1)=1; elseif z(m)<0 Y(m,1)=0;
end end
%段内码判断程序 N=zeros(length(S)); for m=1:length(S)
N(m)=Y(m,2)*4+Y(m,3)*2+Y(m,4)+1; %找到Y位于第几段 end
a=[0,16,32,64,128,256,512,1024]; %量化间隔
b=[1,1,2,4,8,16,32,64]; %除以16,得到每段的最小量化间隔 for m=1:length(S)
q=ceil((Q(m)-a(N(m)))/b(N(m))); %求出在段内的位置 if q==0
Y(m,(5:8))=[0,0,0,0]; %如果输入为零则输出“0” else k=num2str(dec2bin(q-1,4)); %编码段内码为二进制 Y(m,5)=str2num(k(1)); Y(m,6)=str2num(k(2)); Y(m,7)=str2num(k(3)); Y(m,8)=str2num(k(4)); end end end
…… 此处隐藏:771字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍