Desiging a very simple filter (Very Basic Sort of)???

2 views (last 30 days)
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....

Accepted Answer

Star Strider
Star Strider on 8 Jul 2012
A bandpass filter would work. Be sure to use [z, p, k] and SOS syntax.

More Answers (2)

Arun Sharma
Arun Sharma on 9 Jul 2012
Thanks for your help... Can you pls give me an example to do so...
I searched on internet and MATLAB help got some advance topic....
pls tell me how to make a Bandpass filter...
Thanks in Advance

Arun Sharma
Arun Sharma on 9 Jul 2012
Is There anyone who can tell me.. how to make a simple Bandpass Filter..
Pls help its very urgent

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!