Implement an alternative to SNR function

Folks,
I have x as following:
[x,Fs] = audioread(strcat(PathName,FileName));
And some noise in the form of alpha*v as below:
rng('default');
alpha=0.2;
v = randn(size(x));
I don't have Signal Processing toolbox to use snr() function. How can I find SNR as given in this equation?

回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 9 月 22 日

0 投票

hint:
sum(x.^2)

2 件のコメント

Hasan Ghorbani
Hasan Ghorbani 2015 年 9 月 24 日
編集済み: Hasan Ghorbani 2015 年 9 月 24 日
Thansk. Am I right by using following code:
x_snr_db = 20 * log10( sum(x.^2) / sum((alpha * v).^2) );
Walter Roberson
Walter Roberson 2015 年 9 月 24 日
Where did the 20 come from?

サインインしてコメントする。

タグ

質問済み:

2015 年 9 月 21 日

コメント済み:

2015 年 9 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by