Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Play decimated file ( soundsc(y,fs) )
- %Play Original file ( soundsc(play,fs ) )
- %Play reconstucted File ( soundsc(final,fs) )
- [piano,fs]=wavread('piano.wav'); % loads piano
- play=piano(:,1); % Renames the file as "play"
- t = linspace(0,time,length(play)); % Time vector
- x = play;
- y = decimate(x,2);
- stem(x(1:30)), axis([0 30 -2 2]) % Original signal
- title('Original Signal')
- figure
- stem(y(1:30)) % Decimated signal
- title('Decimated Signal')
- %changes the sampling rate
- fs1 = fs/2;
- fs2 = fs/3;
- fs3 = fs/4;
- fs4 = fs*2;
- fs5 = fs*3;
- fs6 = fs*4;
- wavwrite(y,fs,'PianoDecimation');
- %------------------------------------------------------------------
- %Downsampled version of piano is now upsampled to the original
- [PianoDecimation,fs]=wavread('PianoDecimation.wav'); % loads piano
- play2=PianoDecimation(:,1); % Renames the file as "play
- %upsampling
- UpSampleRatio = 2; % 2*fs = nyquist rate sampling
- play2Up=zeros(length(PianoDecimation)*UpSampleRatio, 1);
- play2Up(1:UpSampleRatio:end) = play2; % fill in every N'th sample
- %low pass filter
- ResampFilt = firpm(44, [0 0.39625 0.60938 1], [1 1 0 0]);
- fsUp = (fs*UpSampleRatio)/2;
- wavwrite(play2Up,fsUp,'PianoUpsampled');
- %Plot2
- %data vs time plot
- time=(1/44100)*length(play2);
- t=linspace(0,time,length(play2));
- stem(t,play2)
- title('Upsampled graph of piano')
- xlabel('time(sec)');
- ylabel('relative signal strength')
- [PianoUpsampled,fs]=wavread('PianoUpsampled.wav'); % loads piano
- final=PianoUpsampled(:,1); % Renames the file as "play"
- %-------------------------------------------------------------
- %resampleing
- [piano,fs]=wavread('piano.wav'); % loads piano
- x=piano(:,1); % Renames the file as "play"
- m = resample(x,3,2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement