Amplitude Increase when using bandpass filter
Afficher commentaires plus anciens
Hello,
I am trying to filter "Signal" (I attached only cell {1, 4} as the rest of the cell data is too large to attach here) using an appropriate filter. The frequency of the excited wave is 50 kHz, and the sampling frequency of the received wave is 60 MHz. I used a lowpass filter, with fpass as 5e4, fs as 6e7, and the signal returns as smooth and undistorted.`
I also attempted to use a bandpass filter, with upper and lower bands as 6e4 and 4e4 respectively, so as to try and keep the band close to 50 kHz. The high frequency oscillations are removed, but the signal returns is also distorted. Why is that? Any problems in my code? In addition, is my implementation valid, in both the lowpass filter and bandpass filter? What filter should I use, and why?
actuator = 1;
sensor = 4;
dt = 1.6667e-8;
endTime = 500e-6;
t = 0:dt:endTime;
fs = 6e7;
fpass = 5e4;
%%
a = Signal{actuator, sensor}(:, sensor);
for i = 1:1:10
Signal{actuator, sensor}(:, i) = Signal{actuator, sensor}(:, i) - Signal{actuator, sensor}(actuator, i);
end
a_filtered = bandpass(Signal{actuator, sensor}, [40000 60000], fs);
%a_filtered = lowpass(mean(Signal{Actuator, Sensor}, 2), fpass, Fs);
figure;
plot(t, a, '-r')
hold on
plot(t, a_filtered, '-b')
ylabel('Signal (V)')
xlabel('Time (s)')
title('50 kHz')
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Digital Filtering dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

