⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcmcoding.m

📁 PCM在matlab环境下的脉冲编码
💻 M
字号:
function code=pcmcoding(S)
% A率PCM编码,采用逐次比较法
%S为输入信号

%判断S的极性
z=sign(S);
%求S的最大值
MaxS=max(abs(S)); 
%归一化
S=abs(S/MaxS);
%量化
QuantizS=S*2048;
%代码存储矩阵
code=zeros(length(S),8);
%各个量化值的段落码
for i=1:length(S)
    if (QuantizS(i)>=128)&(QuantizS(i)<512)
        code(i,2)=1;
    elseif (QuantizS(i)>=512)&(QuantizS(i)<1024)
        code(i,3)=1;
    elseif QuantizS(i)>=1024
        code(i,4)=1;
    end
end 
%各个量化值的段内码
DuanluoN=zeros(length(S));
for i=1:length(S)
    DuanluoN(i)=bin2dec(num2str(code(i,2:4)))+1;
end
DuanluoQidianDianping=[0,16,32,64,128,256,512,1024];
DuanluoLianghuaJiange=[1,1,2,4,8,16,32,64];
for i=1:length(S)
    k=num2str(dec2bin((QuantizS(i)-DuanluoQidianDianping(DuanluoN(i)))/DuanluoLianghuaJiange(DuanluoN(i)),4));                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
    code(i,5)=(k(4));
    code(i,6)=(k(3));
    code(i,7)=(k(2));
    code(i,8)=(k(1));
end
for i=1:length(S)
    if z(i)>0
        code(i,1)=1;
    elseif z(i)<0
        code(i,1)=0;
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -