Sunteți pe pagina 1din 1

function [enstream,SQNR]=uni_pcm(ql,s)

% ql is the number of Quantization levels


% s is the sampled sequence
noB=log2(ql);
enstream=0;
no=length(s);
qval(no)=0;
Qe(no)=0;
qint=(max(s)-min(s))/ql; %% qint: Quantization interval
for i=1:length(s)
intvno=ceil((max(s)-s(i))/qint); %% intvno: Interval No
if intvno==0
intvno=intvno+1;
end
qval(i)=(((max(s)-intvno*qint)+(max(s)-(intvno-1)*qint))/2); %% q
val: Quantization value
% beq=dec2bin(intvno-1,noB); %% beq refers to binary eqvivalant
Qe(i)=s(i)-qval(i);
end
disp('Signal to Quantization Noise ratio is : ');
SQNR=0.75*(2^(noB-1)-1)^2;
disp(SQNR);
plot(1:length(s),Qe);
figure
for i=min(s):qint:(max(s)-qint)
for j=i:0.001:(i+qint)
plot(j,i+(qint*0.5));
hold on
end
end

S-ar putea să vă placă și