lowpass filter not filtering
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
Jan
2019년 5월 27일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Digital Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!