Create a transfer function that creates a bandreject filter
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi I am attempting to create and bandreject filter that takes out noise from a signal via a transfer function. I have read online about all the different types of filter commands ie butter, design.bandpass...etc but those are too involved and frankly are not what I am looking for. I just want to create a transfer function that does that same thing and simply take the fourier transform of it and multiply it by my input signal create the bandreject filter. I have tried all sorts of combinations with my H1 variable. I tried adding constants to the ww to shift the signal, changed my a to a different value and nothing has worked. Any suggestions?
Fsa = 8000;
siz = wavread('mixed');
XX = fft(siz);
NN = length(XX);
a = 800*pi;
ww = (-NN/2+1:(NN/2))*Fsa/NN*2*pi;
H1 = 1-(a./(a + 1i*(ww))));
Hshift1 = fftshift(H1);
YY = XX .* Hshift1';
yy = real(ifft(YY));
soundsc(yy,Fsa);
subplot(311), plot(siz)
subplot(312), plot(yy)
subplot(313), plot(ww/(2*pi),abs(H1))
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Digital and Analog Filters finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!