u_pcm.asv

来自「个人硕士论文的关于数字接收机调制解调方面的matlab程序」· ASV 代码 · 共 22 行

ASV
22
字号
function [a_quan,code]=u_PCM(a,n)
%a,n,a_quan,code 分别为输入序列,量化电平数,量化输出和量化编码序列
amax=max(abs(a));
a_quan=a/amax;
b_quan=a_quan;
d=2/n;
q=d.*[a:n-1];
q=q-((n-1)/2)*d;
for i=1:n
    a_quan(dind((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2)))=q(i).*ones(1,,length(find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2))));
    b_quan(find(a_quan==q(i)))=(i-1).*ones(1,length(find(a_quan==q(i))));
    a_quan=a_quan*amax;
    nu=ceil(log2(n));
    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
end

⌨️ 快捷键说明

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