Problems with snr function
Show older comments
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'.
Accepted Answer
More Answers (2)
Guillaume
on 20 Sep 2014
Sounds like you don't have the signal processing toolbox.
ver
will tell you which toolboxes you have installed.
2 Comments
Image Analyst
on 20 Sep 2014
Edited: Image Analyst
on 20 Sep 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
on 20 Sep 2014
Edited: Dick Rusell
on 20 Sep 2014
Youssef Khmou
on 20 Sep 2014
Edited: Youssef Khmou
on 20 Sep 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
Categories
Find more on Signal Operations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!