Seperate high and low frequeny components from signal.
10 views (last 30 days)
Show older comments
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
on 10 Oct 2014
When I did a FFT of your data (column 1), there was only noise above about 5 Hz.
Answers (1)
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
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.
See Also
Categories
Find more on Multirate Signal Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!