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

📄 u_pcm.m

📁 将输入A律PCM编码器的正弦信号采样,进行PCM编码
💻 M
字号:
function[a_quan,code]=u_pcm(a,n)
%u_pcm 一个序列的均匀PCM编码
%[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.*[0:n-1];
q=q-((n-1)/2)*d;%产生量化间隔
for i=1:n%下面进行量化
  a_quan(find((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))));
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

⌨️ 快捷键说明

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