理论基础
脉冲编码调制是一种对模拟信号进行处理,转化为数字信号的编码方式。其实现主要包含3个步骤,抽样,量化和编码,分别完成了时间上的离散,幅度上的离散和数字信号的二进制表达,为了改善小信号能量的性能,本次设计采用的是非均匀量化
代码实现
T=0.002;
t=-0.1:T:0.1;
xt=cos(2*pi*30*t)+sin(2*pi*10*t);
fs=500;
sdt=1/fs;
t1=-0.1:sdt:0.1;
st=cos(2*pi*30*t)+sin(2*pi*10*t);
figure(1);
subplot(3,1,1);
plot(t,xt);title('原始信号');
grid on
subplot(3,1,2);
stem(t1,st,'.');
title('抽样信号');
grid on
m=length(st);
M=max(st);
C=(st/M)*2048;
code=zeros(1,8);
for i=1:m
if C(i)>=0
code(i,1)=1;
else
code(i,1)=0;
end
%极性码的计算
if abs(C(i))>=0&&abs(C(i))<16
code(i,2)=0;code(i,3)=0;code(i,4)=0;step=1;start=0;