MATLAB实现A率非均匀量化
A 压缩律:
所谓 A 压缩律也就是压缩器具有如下特性的压缩律:
其中,A 为压缩系数;y 为归一化的压缩器输出电压;x 为归一化的压缩器输入电压。 图画出了 A 为某一取值的归一化压缩特性。A 律压缩特性是以原点奇对称的,为了简便, 图中只给出了正半轴部分。
程序实现:
function a_lianghua()
t=0:0.0001:0.005;
y=sin(800*pi*t); %输入模拟信号
figure
subplot(2,1,1)
plot(t,y)
axis([0,0.005,-1.02,1.2])
xlabel('时间')
ylabel('幅值')
title('原始信号')
z=a_pcm(y,87.6); %实用中,A=87.6
subplot(2,1,2)
plot(t,z)
axis([0,0.005,-1.2,1.2])
xlabel('时间')
ylabel('幅值')
title('量化信号')
function y=a_pcm(x,a) %A 律非均匀量化的算法程序
t=1/a;
for i=1:length(x)
if x(i)>=0
if (x(i)<=t)
y(i)=(a*x(i))/(1+log(a));
else
y(i)=(1+log(a*x(i)))/(1+log(a));
end
else
if (x(i)>=-t)
y(i)=-(a*-x(i))/(1+log(a));
else
y(i)=-(1+log(a*-x(i)))/(1+log(a));
end
end
end
输出结果: