Create a transfer function that creates a bandreject filter

1 visualizzazione (ultimi 30 giorni)
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))

Risposte (0)

Categorie

Scopri di più su Digital and Analog Filters in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by