Использование MatLab для расчета отношения сигнал / шум - PullRequest
2 голосов
/ 29 апреля 2010

Как вы используете MatLab для расчета SNR?

Обновление

У меня есть только один файл, а не два, как в примере, и это .tif.

Ответы [ 3 ]

7 голосов
/ 29 апреля 2010

Первый результат Google для Matlab SNR . Скопировано оттуда, в дБ:

snr = 10*log10(sum(clean.^2) ./ sum(noise.^2))

РЕДАКТИРОВАТЬ: отношение сигнал / шум не может быть вычислено без знания мощности сигнала и мощности шума. Обладая только знанием наблюдаемого (то есть полученного) сигнала, можно вслепую оценить SNR, но это открытая тема исследования. См. «Слепое измерение качества».

3 голосов
/ 05 сентября 2012

Среднее значение noisy и clean должно быть равно нулю:

signal = var(clean(:));
noise  = var(noisy(:)); 

s2n = 10*log10( signal / noise );

От: Сравнение и анализ различных подходов на основе PDE для улучшения изображения , стр. 4.

0 голосов
/ 06 сентября 2014

На стороне ввода:

Calculate DB1 = 10*log10(var(noiseSignal))
Calculate DB2 = 10*log10(var(cleanSpeechSignal))

SNR = DB2 - DB1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...