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('均匀量化和非均匀量化信噪比特性比较')