How should I estimate the Signal to noise ratio of a 20 Gbps NRZ PRBS pattern from power spectral density--where should I take the noise floor if I can assume well the noise is AWGN?

I know roughly what the spectra should look like: https://pdfserv.maximintegrated.com/en/an/AN3455.pdf

and how an oscilloscope would take the SNR in the time domain over a distribution of samples: https://gwdata.cdn-anritsu.com/en-us/test-measurement/reffiles/Products-Solutions/11410-00919A-Eye-Diagram-AN.pdf

but how would I correctly go about using the periodogram/ power spectrum to find the SNR? Should I take the noise floor to be where out at where the spectra is flat?

I have a time domain data set of PRBS7 with noise, the data only has one non repeated segment of the PRBS7, sampled with 1ps resolution ( why the MATLAB snr() function gives it out past 250GHz) the resolution isn't so great I think because the length of this sample is 6500ps. Matlab uses a default kaiser window for filtering, I may be able to do better with different filters, but want to see if this is on the right track. enter image description here


To estimate the Signal to Noise Ratio you can use the normalized correlation coefficient to the reference time-aligned sequence. I detail this approach further at this post here including the relationship between correlation coefficient and SNR. Note that "noise" in this context is any deviation of the received signal from the reference sequence such as multipath effects and band-limiting. To negate those effects modify the reference sequence to also include that or use equalization techniques on the received sequence to match the reference. In many cases these effects are second order and may be neglected.

Noise detection

If you can assume the noise is White, and you can assume the PRBS is a rectangular waveform (with a Sinc function spectrum) then the equivalent 2-sided brick-wall noise bandwidth of the Sinc with nulls at 1/T (where T is the pulse width) is 1/T. If your signal level is sufficiently in far excess of the total noise power (such as 15 dB or more) then you can estimate the signal power from total power received and compute the noise power over that equivalent bandwidth (1/T) using the estimate of the noise floor far from the signal. Pay attention to the resolution bandwidth setting on the spectrum analyzer to then determine power values / Hz (for example if you are using a 1 KHz resolution band width and a pixel displays a power level of -70 dBm, this is -100 dBm/Hz since $10Log10(1000) = 30$ dB.) For lower signal powers you can resolve the signal to noise by knowing the total power is the additive power of signal plus noise (for example if the signal is only 10 dB higher the noise, the total power measured will be 0.4 dB higher than the signal alone given $10Log(1+10^{-10/10})= 0.4$, and for 15 dB higher will be 0.14 dB from $10Log(1+10^{-15/10}) = 0.14$)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.