www.pudn.com > SNR_vs.rar > SNR_vs.m
%对均匀PCM和非均匀PCM的信噪比特性作比较
%并绘制曲线
x=0:0.01:20;
a=sin(0.1*pi*x);
a2=max(a); %求幅值的最大值
b=length(a);
a1=abs(a); %求输入信号的绝对值
X=20*(log10(a1/a2));
n=8;
SNR1=6*n+4.8+X; %均匀量化的信噪比
A=87.6;
C=1/(1+log(A));
S1=a.^2;
S=S1/2; %正弦信号功率
for i=1:b
L=256;
if a1(i)<=1/A
q=1/(3*(C*A*L)^2);
else
q=1/(3*pi*(C*A*L)^2)*((2-(a1(i)*A)^2)*(asin(1/(a1(i)*A)))+pi*(a1(i)*A)^2/2+...
sqrt((a1(i)*A)^2-1));
end
Q(i)=q; %噪声功率放在数组Q中
end
S21=S./Q;
SNR21=10*log10(S21); %n=8非均匀量化的信噪比
for i=1:b
L=64;
if a1(i)<=1/A
q=1/(3*(C*A*L)^2);
else
q=1/(3*pi*(C*A*L)^2)*((2-(a1(i)*A)^2)*(asin(1/(a1(i)*A)))+pi*(a1(i)*A)^2/2+...
sqrt((a1(i)*A)^2-1));
end
Q(i)=q;
end
S22=S./Q;
SNR22=10*log10(S22); %n=6时非均匀量化信噪比
figure(1)
plot(X,SNR1,X,SNR21,X,SNR22)
grid on
axis([-80 0 0 70])
xlabel('20log10(瞬时值/峰值)')
ylabel('SNR(dB)')
title('均匀量化和非均匀量化信噪比特性比较')