Computing signal to noise ratio (SNR) of two highly correlated time domain signals

6 vues (au cours des 30 derniers jours)
Mark O'Sullivan
Mark O'Sullivan le 9 Nov 2017
I'm working in the space of EEG acquisition. I made a experiment as detailed below, and am now trying to obtain some results from the data.
I have a text file of an EEG signal in Matlab. I loaded the EEG signal onto an arbitrary waveform generator, then I monitored and recorded the waveform generator output on an oscilloscope. I imported the recorded signal from the oscilloscope back into Matlab. The correlation between the original signal and the oscilloscope signal is 0.9958 (i.e. very high).
I want to compute the SNR of the oscilloscope signal (what I'm calling my signal plus whatever noise is introduced through the digital-to-analog conversion and visa-versa). I have attached a snippet of the 2 signals for reference.
So my original signal is X and oscilloscope signal is X + N. I used the snr function to compute SNR as follows.
snr(original, (oscilloscope - original))
The result I got was 20.44 dB. This seems off to me as I would have thought with such a high correlation, that the SNR should be much higher?
Or is it not appropriate to try and compute SNR in this sort of situation?
All help is appreciated.
Thanks

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by