Problems with snr function

5 visualizaciones (últimos 30 días)
Dick Rusell
Dick Rusell el 20 de Sept. de 2014
Comentada: Image Analyst el 20 de Sept. de 2014
I want to find the snr for signal xn and noise ns but I keep getting an error.
clear;
n = [0:1023];
omega = 0.25*pi;
xn = sin(omega*n);
count = 1024;
ns = sqrt(0.2)*randn(1,count);
r = snr(xn,ns);
plot(r);
??? Undefined function or method 'snr' for input arguments of type 'double'.

Respuesta aceptada

Image Analyst
Image Analyst el 20 de Sept. de 2014
How about:
theRatio = xn ./ ns;
theSNR = mean(theRatio);
  2 comentarios
Dick Rusell
Dick Rusell el 20 de Sept. de 2014
Editada: Dick Rusell el 20 de Sept. de 2014
I'm not sure which formula you used to find snr in the first place.
Image Analyst
Image Analyst el 20 de Sept. de 2014
xn is your signal. ns is your noise. The SNR is theRatio xn/ns, but this gives the SNR element by element. So you have a bunch of SNR's - one for each element. So to get it down to just one SNR I took the mean of all the individual SNRs. If you want something different, then say what you want.

Iniciar sesión para comentar.

Más respuestas (2)

Guillaume
Guillaume el 20 de Sept. de 2014
Sounds like you don't have the signal processing toolbox.
ver
will tell you which toolboxes you have installed.
  2 comentarios
Image Analyst
Image Analyst el 20 de Sept. de 2014
Editada: Image Analyst el 20 de Sept. de 2014
Or it's an antique version. I think snr() has not always been part of the Signal Processing Toolbox, but it's simple enough to calculate manually.
Dick Rusell
Dick Rusell el 20 de Sept. de 2014
Editada: Dick Rusell el 20 de Sept. de 2014
I'm using matlab 2011, how would I calculate it manually?

Iniciar sesión para comentar.


Youssef  Khmou
Youssef Khmou el 20 de Sept. de 2014
Editada: Youssef Khmou el 20 de Sept. de 2014
Generally the formula is SNR=20log10(std(signal)/std(noise)) , in your case you have :
snr=20*log10(std(xn)/std(ns)) % 3.8dB

Categorías

Más información sobre Spectral Estimation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by