This example demonstrates a way to measure the size of point clusters in spectrograms (time-freqeuncy spectrum). In sensor data analysis or loudspeaker nonlinearity measurements we would come across a need to measure the disturbance observed in spectrograms. The dataset utilized for this study has been artificially created. Two different scenarios have been shown -- one with a large cluster of points in a spectrogram and the second one having a small, low-level cluster in the presense of a strong signal content nearby. It is important to underscore that the strategy adopted in this instance is predicated solely on rudimentary image processing techniques. We explicitly refrain from the application of neural network methodologies in this process. This results in an efficient process that gets you the results fast and reliably. A detailed discussion is included in the live scritps.
open and run the live script: measureSpectrogram.mlx
createClusterSpectrogram.mlx -- generates the synthetic data for analysis smallCluster.png, bigCluster.png -- spectrogram plots generated by createClusterSpectrogram.mlx timeShaping.m -- return a vector with white noise except at the middle portion it is the input signal. measureSpectrogram.mlx -- analyze the cluster size in the spectrograms in the png files. createMask.m, createMask2.m -- functions that extracts parts of the image, these files are created from measureSpectrogram.mlx
The license is available in the License.txt file in this GitHub repository.
signal processing, audio signal analysis, sensors signal analysis, anomaly detection
- MATLAB®
- Signal Processing Toolbox™
- Image Processing Toolbox™
Copyright 2024 The MathWorks, Inc.