lowpass filter not filtering
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Test of low pass filter to filter noise at a much higher frequency than the main signal. Lowpass as I've used it here doesn't seem to filter the data.
t=0:3.13e-8:1e-3;
y=sin(2*pi*200000*t); %noise
y2=sin(2*pi*20000*t); %signal
ysum=y+y2;
plot(t,ysum);

y40khz=lowpass(ysum,40000,1/3.13e-8);
plot(t,y40khz)

A test of this with a smaller ratio of filter to sample frequency works as expected.
tslow=0:1e-5:1e-3;
y=sin(2*pi*20000*tslow);
y2=sin(2*pi*4000*tslow);
ysum=y+y2;
y5khz=lowpass(ysum,5000,1/1e-5);
plot(tslow,ysum)
hold
plot(tslow,y5khz)

Why does the first filter not seem to work while the second example does?
0 commentaires
Réponse acceptée
Jan
le 27 Mai 2019
As expected Matlab does filter the data, of course:
t=0:3.13e-8:1e-3;
y=sin(2*pi*200000*t); %noise
y2=sin(2*pi*20000*t); %signal
ysum=y+y2;
y40khz=lowpass(ysum,40000,1/3.13e-8);
plot(t, y40khz - ysum) % Show the difference
ylim([-1.5e-3, 1.5e-3])
According to the chosen filter parameters, the difference is small.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Digital Filtering dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!