您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > pcm抽样量化编码程序
clearall;closeall;%pcmcoding%设置输入信号dt=0.1;%取时间间隔为0.1t=0:dt:2;%时域间隔dt为间隔从0到2fc=1;%xt里最大频率xt=sin(2*pi*fc*t);%xt方程,T=1s%采样:时间连续信号变为时间离散模拟信号fs=2.5;%抽样fs=2fc,每秒钟内的抽样点数目将等于或大于2fc个sdt=1/fs;%频域采样间隔t1=0:sdt:2;%sdt为间隔从0到2st=sin(2*pi*fc*t1);%采样信号与输入信号对应figure(1);subplot(311);plot(t,xt);title('输入信号');%绘出连续图形xlabel('t');%x轴显示时间t,y轴显示输入信号x(t)ylabel('x(t)');gridon;axis([-inf,inf,-2,2]);%inf:infinite,无穷大.-inf《x《inf,-2《y《2subplot(312);stem(t1,st,'.');%绘出杆状离散图xlabel('t');ylabel('s(t)');%y轴显示抽样信号s(t)axis([-inf,inf,-2,2]);title('抽样信号');gridon%量化n=length(st);%取st的长度为n,本题函数n为101M=max(st);%M=1c=(st/M)*2048;%编码%c1(极性码),c2c3c4(段落码),c5c6c7c8(段内电平码)code=zeros(n,8);%产生n*8的零矩阵%极性码c1forn=1:n%if循环语句ifc(n)0code(n,1)=1;%c为正值,c1=1elsecode(n,1)=0;%c为负值,c1=0end%段落码c2c3c4段落1-8,二进制表示即为0-7(000-111)ifabs(c(n))=0&&abs(c(n))16code(n,2)=0;code(n,3)=0;code(n,4)=0;step=1;start=0;elseif16=abs(c(n))&&abs(c(n))32code(n,2)=0;code(n,3)=0;code(n,4)=1;step=1;start=16;elseif32=abs(c(n))&&abs(c(n))64code(n,2)=0;code(n,3)=1;code(n,4)=0;step=2;start=32;elseif64=abs(c(n))&&abs(c(n))128code(n,2)=0;code(n,3)=1;code(n,4)=1;step=4;start=64;elseif128=abs(c(n))&&abs(c(n))256code(n,2)=1;code(n,3)=0;code(n,4)=0;step=8;start=128;elseif256=abs(c(n))&&abs(c(n))512code(n,2)=1;code(n,3)=0;code(n,4)=1;step=16;start=256;elseif512=abs(c(n))&&abs(c(n))1024code(n,2)=1;code(n,3)=1;code(n,4)=0;step=32;start=512;elseif1024=abs(c(n))&&abs(c(n))=2048code(n,2)=1;code(n,3)=1;code(n,4)=1;step=64;start=1024;end%段内码c5c6c7c8B=floor((abs(c(n))-start)/step);%对十进制段内码B进行floor取整,四舍五入t=dec2bin(B,4)-48;%dec2bin定义,将B变为4位2进制码,-48改变格式code(n,5:8)=t(1:4);%输出段内码endcode=reshape(code',1,8*n);%reshape代表从新塑形codesubplot(313);%对code作杆状图stem(code,'.');axis([1n*802]);title('编码信号');gridon%添加网格线参考文献
本文标题:pcm抽样量化编码程序
链接地址:https://www.777doc.com/doc-1655894 .html