收藏 分销(赏)

A律PCM编码专业系统设计与仿真.doc

上传人:人****来 文档编号:3024906 上传时间:2024-06-13 格式:DOC 页数:11 大小:83.54KB 下载积分:8 金币
下载 相关 举报
A律PCM编码专业系统设计与仿真.doc_第1页
第1页 / 共11页
A律PCM编码专业系统设计与仿真.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
通信系统建模和仿真试验汇报 试验2:MATLAB编程实现 A律PCM编码系统设计和仿真 1 关键技术指标: 输入信号:s(t)=Asin(2πft+θ); 输入信号幅值:A=-70~0dB; 输入信号频率:f=4Hz; 抽样频率:fs=100Hz; 2 总体系统设计框图 图1. A律PCM编解码系统框图 3 程序块步骤设计和检验 3.1 A律PCM编码模块 3.1.1 A律PCM编码规则: 图2 段落码和段内码编码规则 3.1.2 PCM编码步骤 输入信号x后,先判定x符号,x>0时C1=1,x<0时C1=0;判定完符号后将信号进行归一化和量化,再进行段落判定和段内判定,最终将C1~C8输出。步骤图以下: 输入信号S 判定符号 归一化、量化 输出 段内判定 段落判定 3.2.A律PCM译码模块 对已经编码信号进行译码时,先输入已经编码码组,依据极性码规则提取符号,判定符号位,接着再判定段落位置和段内位置,最终将译码后结果输出,其译码步骤图以下: 输入信号S 判定符号 归一化、量化 输出 段内判定 段落判定 4 程序代码及测试仿真结果 4.1 连接全程序 输入信号进行参数设定: 抽样频率fs=40,dt=1/fs,t=0:dt:2,输入正弦信号幅度不一样,vm1=-70:5:0,这是以分贝为单位,要将她转换为以伏特为单位vm=10.^(vm1/20); 开始画图调用各个模块函数:PCM均匀量化编码[sqnrM,zxx,zz]=upcm(x,M),PCM编码y=pcm_encode(sxx),PCM解码yy=pcm_decode(y,v); 还要计算噪声平均功率和信号平均功率来得到信号量化信噪比: nq(m)=sum((x-yy).*(x-yy))/length(x); sq(m)=mean(yy.^2); snr(m)=(sq(m)/nq(m)); 4.2 仿真结果 在matlab上运行主函数pcm_e_decode.m,可得到原始信号波形,PCM译码后波形,不一样幅度下PCM编码后量化信噪比和均匀量化量化信噪比波形 图3 原始抽样信号(上)和PCM译码后重建信号(下) 原始抽样信号和PCM译码后信号全部是正弦波,能够看出经过PCM译码后重建信号和原始信号相比没有失真,译码正确。 图4 A律PCM编码和均匀量化编码量化信噪比比较 从上图能够看出: (1)对均匀编码和非均匀编码,量化信噪比伴随输入信号幅度改变而改变; (2)在输入正弦信号幅度相同情况下,经过A律13折线近似PCM非均匀量化编码后信号量化信噪比要比均匀量化编码后信噪比小,所以,能够得出结论:非均匀量化能够有效地改善量化信噪比。 4.3 Matlab源程序程序代码 %均匀量化编码: function[sqnr,a_quan,code]=upcm(a,n) amax=max(abs(a)); a_quan=a/amax; %抽样值归一化 b_quan=a_quan; d=2/n; q=d.*[0:n-1]-(n-1)/2*d; %对归一化输入信号序列进行量化 for i=1:n index=find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2)); a_quan(index)=q(i).*ones(1,length(index)); b_quan(find(a_quan==q(i)))=(i-1).*ones(1,length(find(a_quan==q(i)))) end a_quan=a_quan*amax; nu=ceil(log2(n)); code=zeros(length(a),nu); for i=1:length(a) for j=nu:-1:0 if(fix(b_quan(i)/(2^j))==1) code(i,nu-j)=1; b_quan(i)=b_quan(i)-2^j; end end end sqnr=20*log10(norm(a)./norm(a-a_quan)); %PCM编码: function[out]=pcm_encode(x) for i=1:n if x(i)>0 out(i,1)=1; else out(i,1)=0 end if abs(x(i))>0 & abs(x(i))<32 out(i,2)=0;out(i,3)=0;out(i,4)=0;step=2;st=0; elseif abs(x(i))>=32 & abs(x(i))<64 out(i,2)=0;out(i,3)=0;out(i,4)=1;step=2;st=32; elseif abs(x(i))>=64 & abs(x(i))<128 out(i,2)=0;out(i,3)=1;out(i,4)=0;step=4;st=64; elseif abs(x(i))>=128 & abs(x(i))<256 out(i,2)=0;out(i,3)=1;out(i,4)=1;step=8;st=128; elseif abs(x(i))>=256 & abs(x(i))<512 out(i,2)=1;out(i,3)=0;out(i,4)=0;step=16;st=256; elseif abs(x(i))>=512 & abs(x(i))<1024 out(i,2)=1;out(i,3)=0;out(i,4)=1;step=32;st=512; elseif abs(x(i))>=1024 & abs(x(i))<2048 out(i,2)=1;out(i,3)=1;out(i,4)=0;step=64;st=1024; elseif abs(x(i))>=2048 & abs(x(i))<4096 out(i,2)=1;out(i,3)=1;out(i,4)=1;step=128;st=2048; else out(i,2)=1,out(i,3)=1;out(i,4)=1;step=128;st=2048; end if(abs(x(i))>=4096) out(i,2:8)=[1 1 1 1 1 1 1]; else tmp=floor((abs(x(i))-st)/step); t=dec2bin(tmp,4)-48; %函数dec2bin输出是ASCII字符串,48对应0 out(i,5:8)=t(1:4); end end out=reshape(out',1,8*n); %PCM译码: function[out]=pcm_decode(in,v) %decode the input pcm code %in, input the pcm code 8bits sample %v, quantized level n=length(in); in=reshape (in',8,n/8); slot(1)=0; slot(2)=32; slot(3)=64; slot(4)=128; slot(5)=256; slot(6)=512; slot(7)=1024; slot(8)=2048; step(1)=2; step(2)=2; step(3)=4; step(4)=8; step(5)=16; step(6)=32; step(7)=64; step(8)=128; for i=1:n/8 ss=2*in(1,i)-1; tmp=in(2,i)*4+in(3,i)*2+in(4,i)+1; st=slot(tmp); dt=(in(5,i)*8+in(6,i)*4+in(7,i)*2+in(8,i))*step(tmp)+0.5*step(tmp); out(i)=ss*(st+dt)/4096*v; end %主程序中: figure(1) for k=1:length(vm) for m=1:2 x=vm(k)*sin(2*pi*4*t+2*pi*rand(1)); [sqnrM,zxx,zz]=upcm(x,M); %PCM均匀量化编码 srm(m)=sqnrM; v=vm(k); xx=x/v; %normalize sxx=floor(xx*4096); y=pcm_encode(sxx); %PCM编码 yy=pcm_decode(y,v); %PCM解码 nq(m)=sum((x-yy).*(x-yy))/length(x); %噪声平均功率 sq(m)=mean(yy.^2); %信号平均功率 snr(m)=(sq(m)/nq(m)); %信号量化信噪比 usnrq(k)=mean(srm); snrq(k)=10*log10(mean(snr)); %量化信噪比 end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服