Create a transfer function that creates a bandreject filter

1 Ansicht (letzte 30 Tage)
Tarik
Tarik am 30 Mai 2013
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))

Antworten (0)

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!

Translated by