%Matlab file used for class demo conducted during Session 11. %A word utterance is effectively sampled at four different %rates and played back to hear the effects of ZOH clf clear all set(0,'defaultaxesfontsize',16); %these commands read in the speech file %data=getspeech('00f1s2t0.wav'); %Fs=12500; data=load('00f1s2t0')'; Fs=8192; %plot data to cut off silence plot(data) %end1=input('end1?') %end2=input('end2?') %data2=data(end1:end2); data2=data; clear data dsize=length(data2); d8=4*dsize; dZOH4=resample(data2,4,1); %data1=data2(1:2:dsize); data1=resample(data2,1,2); disp('Playback speech at original sampling rate of 4096 Hz...'); pause; soundsc(data1,Fs/2) dZOH1=zeros(1,d8); for k=1:8, dt=length(k:8:d8); dZOH1(1,k:8:d8)=data1(1,1:dt); end Fp=Fs*4; plot(dZOH1(10000:10200),'b','Linewidth',3) hold on plot(dZOH4(10000:10200),'r-','Linewidth',3) legend('ZOH reconstruction at 6.25 KHz','Original waveform'); hold off pause input('ZOH D/A at Fs= 6.25 KHz '); %input('- ZOH - hold for 8 samples'); soundsc(dZOH1,Fp) %clear dZOH1 dZOH2=zeros(1,d8); for k=1:4, dt=length(k:4:d8); dZOH2(1,k:4:d8)=data2(1,1:dt); end plot(dZOH2(10000:10200),'b','Linewidth',3) hold on plot(dZOH4(10000:10200),'r-','Linewidth',3) legend('Upsample L=2, ZOH D/A @ 12.5 KHz','Original waveform'); hold off pause input('Upample L=2: from Fs=6.25 KHz to Fr=12.5 KHz'); input('-- ZOH D/A at Fr=12.5 KHz'); soundsc(dZOH2,Fp) %clear dZOH2 data3=resample(data2,2,1); dZOH3=zeros(1,d8); for k=1:2, dt=length(k:2:d8); dZOH3(1,k:2:d8)=data3(1,1:dt); end plot(dZOH3(10000:10200),'b','Linewidth',3) hold on plot(dZOH4(10000:10200),'r-','Linewidth',3) legend('Upsample L=4, ZOH D/A @ 25 KHz','Original waveform'); hold off pause input('Upsample L=4: from Fs=6.25 KHz to Fr=25 KHz'); input('- ZOH at Fr=25 KHz'); soundsc(dZOH3,Fp) %clear dZOH3 pause input('Upsample from Fs=6.25 KHz to Fr=50 KHz'); input('-- ZOH hold for 1 sample'); soundsc(dZOH4,Fp)