Seperate high and low frequeny components from signal.

10 views (last 30 days)
Hello
Please help me in separating low and high frequency components of signal(Time series data) recorded from a biological system. For data please refer to the column 2 of attached file.
The objective of my work is to select a random frequency threshold and then plot separate time series for low and high frequency components.
Thank you
  5 Comments
Star Strider
Star Strider on 10 Oct 2014
When I did a FFT of your data (column 1), there was only noise above about 5 Hz.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 10 Oct 2014
Edited: Image Analyst on 10 Oct 2014
You can put this in a loop to extract from element 1 to the point and from the point to the end. Fit each segment to a line and record the slope. Plot the slopes and see where it starts to deviate from a constant. Something like (totally off the top of my head and untested)
for k = 1 : length(signal)
leftSignal = signal(1:k);
rightSignal = signal(k:end);
% Now fit
coeffs = polyfit(1:k, leftSignal, 1);
leftSlopes(k) = coeffs(1);
coeffs = polyfit(k:length(signal), rightSignal, 1);
rightSlopes(k) = coeffs(1);
end
plot(leftSlopes, 'b-', 'LineWidth', 2);
plot(rightSlopes, 'r-', 'LineWidth', 2);
grid on;
legend('Left Slopes', 'Right Slopes');
  3 Comments
Image Analyst
Image Analyst on 10 Oct 2014
The signal I was talking about was the log of the frequency domain signal, NOT the time domain signal. So it should still work once you use the proper signal.
Rajan
Rajan on 10 Oct 2014
Edited: Rajan on 10 Oct 2014
Thanks for your reply.
Is there any method by which I can directly filter the original time series data? Because my final objective is to separate high and low frequency components from original data. And plot two different time series Where each corresponds to different slops.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!