For machine learning classification between two samples, how can I focus on certain frequency components as the separating feature?

1 view (last 30 days)
I have two samples which, when exposed to ultrasound, emit their unique frequency responses. As can be seen in the attached figure, where the exciting frequency is 2.25 MHz, sample 1 emits a strong subharmonic and also ultra-harmonics which is not the case for sample 2.
My 1st question is, if I want to classify samples 1 and 2 using machine learning, how can I make use of the subharmonic and ultra-harmonics? The goal is that, when I want to know whether a signal is from sample 1 or sample 2, the ML algorithm would be able to tell that based on the presence or absence of the sub and ultra harmonics. For sample 2, the harmonics present are lower in power but I don't want to rely on amplitude.
My 2nd question is, is there any way to separate sample 1 and 2 signals from a signal coming from their mixture using machine learning?
Thanks in advance.

Answers (2)

Image Analyst
Image Analyst on 16 Jan 2022
Can you turn the spectra into images with spectrogram() and then use those for your network input? I saw a MATLAB demo where they did this, for cardiac waveforms I think.

Star Strider
Star Strider on 16 Jan 2022
There may be many approaches to this. I actually did something similar using linear discriminant analysis (the Statistics and Machine Learning Toolbox classify function) although in BMDP, not MATLAB, because that was not then available on MATLAB. (My experiment was to determine if it was possible to identify the laboratory task a research subject was doing depending on the short-time-Fourier-transform (STFT) of electroencephalogram signals in time and space. It worked, and the results were published in a highly-reputed journal.)


Find more on Statistics and Machine Learning Toolbox 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!

Translated by