D1 = load('7004x4.mat');
T1 = D1.g;
Q1 = T1(1:5,:);
t = T1{:,1};
sm = T1{:,3};
t = rmmissing(t);
sm = rmmissing(sm);
L = size(sm,1);
Fs = 1/mean(diff(t));
Ts = 1/Fs;
Fn = Fs/2;
smc = sm - mean(sm);
FTsm = fft(smc)/L;
Fv = linspace(0, 1, fix(L/2)+1)*Fn;
Iv = 1:numel(Fv);
figure
plot(Fv, abs(FTsm(Iv))*2)
grid
xlim([0 50])
title('Fourier Transform')
xlabel('Frequency (Hz)')
ylabel('Amplitude')
Wp = [30]/Fn;
Ws = [1.01].*Wp;
Rp = 1;
Rs = 60;
[n,Wp] = ellipord(Wp,Ws,Rp,Rs);
[z,p,k] = ellip(n,Rp,Rs,Wp);
[sos,g] = zp2sos(z,p,k);
figure
freqz(sos, 2^20, Fs)
set(subplot(2,1,1), 'XLim',Wp*Fn.*[0.8 1.2])
set(subplot(2,1,2), 'XLim',Wp*Fn.*[0.8 1.2])
sm_filtered = filtfilt(sos, g, sm);
figure
plot(t, sm)
hold on
plot(t, sm_filtered)
hold off
grid
xlabel('Time (Units Estimated)')
ylabel('AMplitude (Units Not Specified)')
legend('Original Signal', 'Lowpass-Filtered Signal', 'Location','SE')
0 Comments
Sign in to comment.