Desiging a very simple filter (Very Basic Sort of)???
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to generate a very simple Filter which removes the noise at-least little bit from a signal (Sinusoidal of 100Hz Frequency).
I don't want to use the complex filter's.
this is my Signal
fSampling = 10000; %Sampling Frequency
tSampling = 1/fSampling; %Sampling Time
L = 10000; %Length of Signal
t = (0:L-1)*tSampling; %Time Vector
F = 100; %Frequency of Signal
%%Signal without noise
xsig = sin(2*pi*F*t);
I calculate its Fourier Transform as Follow:-
NFFT = 2^nextpow2(L);
Xsig = fft(xsig,NFFT)/L;
f1 = fSampling/2*(linspace(0,1,NFFT/2+1));
plot(f1,2*abs(Xsig(1:NFFT/2+1)),'r');
grid on
axis([-50 500 0 1.1])
title('\itSingle-Sided Amplitude Spectrum of xsig(t)')
xlabel('\itFrequency (Hz) \rightarrow')
ylabel('|Xsig(f)| \rightarrow');
Then i add a Little bit of Noise into it as follow:-
xnoise = xsig + 0.45*randn(size(t));
Then calculates its Fourier Transform again...
Now i want to remove the noise from this signal and want to retrieve a pure sinusoidal signal..
Pls Some Body help me....
0 comentarios
Respuesta aceptada
Star Strider
el 8 de Jul. de 2012
A bandpass filter would work. Be sure to use [z, p, k] and SOS syntax.
0 comentarios
Más respuestas (2)
Ver también
Categorías
Más información sobre Spectral Measurements en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!