Seperate high and low frequeny components from signal.

12 次查看(过去 30 天)
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 个评论
Star Strider
Star Strider 2014-10-10
When I did a FFT of your data (column 1), there was only noise above about 5 Hz.

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2014-10-10
编辑:Image Analyst 2014-10-10
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 个评论
Image Analyst
Image Analyst 2014-10-10
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 2014-10-10
编辑:Rajan 2014-10-10
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by