0
$\begingroup$

Im working on a Pulsed Doppler Radar

What is the way to calculate the SNR (with WGN)? What will be the lowest SNR for detectability?

Im using matched-filter(xcorr) to process the signal+noise.

My signal+noise are:

noiseGauss=(1/sqrt(2))*noiseAmp*(randn(1, length(t)) + 1i*randn(1, length(t)));

recv_sig = noiseGauss + (h_t(t) .* exp(-1i*2*pi*fc*t));

Is it true that Power_in equals to:

powerIn = abs( sum(transmitted_sig) ) .^2 ; ?

Thanks alot in advance!

$\endgroup$
2
  • $\begingroup$ If you are correlating to a matched (and noise free) signal, then you can normalize the correlation (by the standard deviation of the signal x the standard deviation of your replica signal) and then from that compute the SNR: See dsp.stackexchange.com/questions/38670/… $\endgroup$ Commented Jan 11, 2023 at 23:02
  • $\begingroup$ Itay, please read my 2nd anwer $\endgroup$ Commented Jan 13, 2023 at 19:41

2 Answers 2

1
$\begingroup$

1.- From :

An Introduction to Signals and Noise in Electrical Communications

Author : Bruce Carlson

Search for much cheaper copies readily available online.

The sought figure-of-merit is SNR=S/N

S : signal power

N : noise power

s signal may be anything to measure, over time, for then calculate signal power.

s is often measured to control work [kgm] or [lbft] . Work is, or should be, proportional to money [$] or [£] or equivalent.

Power measures capacity to generate work.

When working with electrical signals power is [V^2/Ohm] or [A^2*Ohm].

Most relevant literature obviate what impedance value(s) exactly to use, because it depends upon what network is used.

So [CARLSON] included assume 1[Ohm] and develop accordingly. So

S=mean(s^2)
N=mean(n^2)

but receivers always catch S+N , not just S .

2.- Refreshing Random Variables

From this Carnegie Mellon University lecture

in general : mean((x+y)^2)=(mean(x+y))^2+var(x+y)

2.1.- For signals mean(s^2)=(mean(s))^2+var(s)

If the link budget has been correctly designed and since signals and pulses to detect are supposed to be known on the receiver side

(mean(s))^2 >> var(s) and S ~ (mean(s))^2

2.2.- For noise it's the contrary.

It's in the nature of noise var(n) >> mean(n)

3.- AWG n is supposed to be uncorrelated to s

in general mean((x+n)^2)=mean(x^2)+2*mean(x*n)+mean(n^2)

So even if point 1.- takes place, meaning

mean(s^2)>>mean(n^2) and

mean(s^2)+mean(n^2) ~ mean(s^2) 

if noise n is is correlated to signal s that the term 2*mean(x*n) cannot be neglected

However, for a satisfatory system design, with Additive White Gausian AWG Noise only, in absence of interference, or any other non-AWG noise correlated to signal, then

S>>N and S+N ~ S

3.- So

(mean(s))^2/(var(n)^2) % SNR linear

same as

20*log10(abs(var(s)))-20*log10(abs(var(n)))  % SNR in [dB]

4.- I found this interesting website where SNR is calculated from QAM constellation parameters

QAM webdemo, Institute of Telecommunications, University of Stuttgart, Germany, Jan. 2023.

Author : Michael Bernhard

5.- This Mathworks page shows how to use MATLAB command snr for narrow band signals.

6.- For digital signals you should focus on Eb/N0 rather than SNR, SNR being important, but digital signals quality is about having

  • enough pulse or bit enery Eb

  • over noise power spectral density, aka noise power per Hz N0

rather than signal Watts over Noise Watts (SNR).

Often you will read EbN0 instead of Eb/N0 both being the same, it's just 'simplified' notation.

Eb/N0 101 reading, by Jim Pearce available here.

However

All above said is for narrow band signals only.

For broadband signals more or less complicated expressions may or nay not be available and it may be far more practical to obtain direct measurements.

7.- An example: OFDM signals are considered broadband because several close carriers are often used and the overall bandwidth being much larger than the band for each single carrier.

An available detailed explanation how to estimate SNR for OFDM systems is available in this thesis :

Pilot-Based Time Domain SNR Estimation for Broadcasting OFDM Systems

Authors : Abid Muhammad Khan, Varun Jeoti, Muhammad Zaka Ur Rehman, Muhammad Taha Jilani, Omer Chugtai, Mubashir Hussain Rehmani.

Journal of Computer Networks and Communications, vol. 2018, Article ID 9319204, 8 pages, 2018. https://doi.org/10.1155/2018/9319204

Complete text available in Hindawi

Particularly this table shows a couple ways SNR can be estimated for OFDM signals as defined in this text.

And I say it again : Reliable measurements with calibrated instruments are the best way to really know what SNR a signal really has.

$\endgroup$
1
  • $\begingroup$ Thank you! this was really helpful. $\endgroup$ Commented Jan 14, 2023 at 15:03
0
$\begingroup$

1.- MATLAB already has command snr to directly calculate Signal-to-Noise ratios

command snr details available here

2.- the signal may have also have intermodulation, either from transmitter or caused by reflections along the channel(s)

The other 2 similar measurements to snr but not the same are Total Harmonic Distortion (THD) and Signal to Noise and Distortion Ratio SINAD.

Both also have dedicated commands:

Details about command thd available here.

Details about command sinad available here.

3.- Some literature also use Signal-to-Interference SIR along with SNR or in some scenarios where intereference >> noise, like some urban mobile communications, completely ignore SNR and use SIR only.

There's no command for SIR because deciding what is noise and what is interference is not a straight away task for a MATLAB base command.

4.- To calculate detectability first you have to define an acceptable probabilty of detection, or equivalently, and acceptable probability of error by error comprising both missing pulses and taking noise/interference as valid pulses.

Do you have this figure?

If you supply a sample of the signal I may be able to supply some MATLAB code for you to start with.

5.- To truly calculate signal power out of signal amplitude samples one has to include imedance.

Because you mentioned pulse radar you have to be careful with the time window or cycle used to calculate signal power.

If you more than one pulse in same cycle used to calculate signal power you have to average, but then SNR is going to be averaged, meaning one cannot tell at what time within each cycle did SNR spike.

$\endgroup$
2
  • $\begingroup$ thanks for th reply! I'll clarify a bit: Ive been told that the SNR = Power_in / Var(wgn) = |Signal|^2 / Var (wgn). My signal is = exp(1ipi*(t-0.5*Pw).^2*B/Pw).*exp(1i*2*pifc*t), where B is bandwidth, Pw is transmission time = 2 usec, and this pules is transmitted every PRI=5 usec. is it safe to say that |signal|^2 = 1 therefore my SNR = 1/Var(wgn) ? $\endgroup$ Commented Jan 13, 2023 at 14:19
  • $\begingroup$ Itay read my 2nd answer that's been somehow pushed up ahead of the 1st answer. $\endgroup$ Commented Jan 13, 2023 at 19:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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