clear all close all close all hidden clc fid=fopen('THEOTH.mp3','r'); m=fread(fid,'int16'); count=8500; Mp=max(m); Fs=8000; Ts=1; No_samples=(2*Fs)+Ts; time=[1:Fs/64]; bits=5; levels=2^bits; bit_rates=Fs*bits alpha=0.45; diff_sig(1)=m(1); for k=2:count; diff_sig(k)=m(k)-alpha*m(k-1); end step_size=(2*Mp)/levels; for k=1:No_samples samp_in(k)=m(k*Ts) quant_in(k)=samp_in(k); error(k)=(samp_in(k)-quant_in(k)); end sings=sign(m); quant_out=quant_in; for i=1:count s(i)=abs(quant_in(i))+0.5; quant_out(i)=signs(i)*round(s(i))*step_size; end %decoding s_out=quant_out; s_out(1)=quant_out(1); for k=2:count s_out(k)=quant_out(k)-alpha(k)*s_out(k-1); end SNR=1.5(levels^2); SNR_db=10*log10(SNR); subplot(4,1,1); plot(time,m(time),time,s_out(time),'r');speech title('input signal') x.label('Time'); y.label('m(t)'); grid on;