Create a transfer function that creates a bandreject filter

1 view (last 30 days)
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))

Answers (0)

Categories

Find more on Digital and Analog Filters in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!