Create a transfer function that creates a bandreject filter
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (0)
Ver también
Categorías
Más información sobre Digital and Analog Filters en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!