Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- path1='C:\Users\Ghostphreak\Desktop\lab2_note_on_frequency_spectrum_estimation'; % change to the path where you put your code
- cd(path1)
- close all, clear all;
- [o_n,fs,b]= wavread('3n.wav'); % replace with your id, mine was 1112700303 hence the 3n % o_n vector that contain the stored audio signal ' noisy version'
- [o_c,fs,b]=wavread('3o.wav'); % clean signal
- %b=fir1(132,0.4);
- %a=1;
- %freqz(b,1,512,8012);
- %estimate the frequency content
- N = length(o_n);
- X_n=fft(o_n,N); % perform N point DFT to obtain N fourier transform samples
- X_c=fft(o_c,N); % Do fft on clean signal
- %% Plot with discrete frequency 0-2pi
- w = ( 0:(N-1) )/N * 2*pi ; % discrete time frequency vector [0 ,...2pi]
- fvec = w*fs/(2*pi); % f = w*fsampling/(2*pi)frequency vector in hertz
- %% Plot only from 0 to half sampling frequency (Hertz)
- halfN = round(length(fvec)/2);
- fv = fvec(1:halfN);
- magX = abs(X_n);
- magX_noisy = abs(X_c);
- X_n_half = magX(1:halfN);
- X_c_half = magX_noisy(1:halfN);
- figure,plot(fv,abs(X_n_half),'b-');
- xlabel('Frequency in hertz 0-> half of fsampling (Hertz) , fsampling = 8000Hz');
- ylabel(' magnitude of fourier transform coefficients');
- % Plot the clean, superimposed
- hold on
- plot(fv,abs(X_c_half),'r-') % red is clean
- title('Spectrum analysis of clean and noisy signal')
- legend('noisy','clean')
- %hamming %added codes
- %credits to bro chakrawarthi
- Na= 132; %class order
- wc = 0.424; %cutoff freq
- h=fir1(Na,wc, hamming (Na+1));
- freqz(h,1,512,fs);
- s=filter(h,1,o_n);
- s_s=fft(s,N);
- magS=abs(s_s);
- s_s_half=magS(1:halfN);
- figure,plot(fv,abs(s_s_half),'b-');%}
Add Comment
Please, Sign In to add comment