Seperate high and low frequeny components from signal.
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Star Strider
le 10 Oct 2014
When I did a FFT of your data (column 1), there was only noise above about 5 Hz.
Réponses (1)
Image Analyst
le 10 Oct 2014
Modifié(e) : Image Analyst
le 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 commentaires
Image Analyst
le 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.
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!