Документация Engee

snr

Страница в процессе разработки.

Отношение сигнал/шум.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • r = snr(xi,y) — возвращает отношение сигнал/шум в децибелах (дБ) для сигнала xi путем вычисления отношения его суммарного квадрата амплитуды к амплитуде шума y:

    r = mag2db(rssq(xi(:))/rssq(y(:))).

    Аргумент y должен иметь ту же размерность, что и xi. Используйте эту форму, если входной сигнал не обязательно синусоидальный и у вас есть оценка уровня шума.

  • r = snr(x) — возвращает отношение сигнал/шум в децибелах относительно несущей (дБн) вещественного синусоидального входного сигнала x. Определить отношение сигнал/шум можно с помощью модифицированной периодограммы той же длины, что и входной сигнал. Модифицированная периодограмма использует окно Кайзера с коэффициентом . Результат не учитывает мощность первых шести гармоник, включая основную.

  • r = snr(x,fs,n) — возвращает отношение сигнал/шум в дБн вещественного синусоидального входного сигнала x, дискретизированного с частотой fs. При вычислении не учитывается мощность, содержащаяся в n низших гармониках, включая основную.

  • r = snr(pxx,f,"psd") — определяет входной сигнал pxx как оценку односторонней спектральной плотности мощности (Power Spectral Density, PSD). Аргумент f представляет собой вектор частот, на которых происходят оценки pxx. При вычислении шума не учитывается мощность первых шести гармоник, включая основную.

  • r = snr(pxx,f,n,"psd") — определяет количество гармоник n, исключаемых при вычислении отношения сигнал/шум. Значение n по умолчанию равно 6 и включает основную гармонику.

  • r = snr(sxx,f,rbw,"power") — определяет входной сигнал sxx как односторонний спектр мощности вещественного сигнала. Входной сигнал rbw — это разрешающая полоса, в которой интегрируется каждая оценка мощности.

  • r = snr(sxx,f,rbw,n,"power") — определяет количество гармоник n, исключаемых при вычислении отношения сигнал/шум. Значение n по умолчанию равно 6 и включает основную гармонику.

  • r = snr(___,"aliased") — удаляет гармоники основной частоты, попадающие в диапазон Найквиста. Используйте этот вариант, если входной синусоидальный сигнал имеет недостаточную дискретизацию. Если этот вариант не указан или задано значение "omitaliases", функция будет рассматривать как шум любые гармоники основной частоты, выходящие за пределы диапазона Найквиста.

  • r,noisepow = snr(___) — также возвращает общую мощность шума негармонических компонентов сигнала.

  • snr(___) — при отсутствии выходных аргументов строит спектр сигнала в текущем окне графика и отмечает его основные характеристики. Функция использует разные цвета для отображения основной составляющей, значения постоянной составляющей, гармоник и шума. Отношение сигнал/шум отображается над графиком. Эта функция работает для всех перечисленных выше синтаксисов, за исключением snr(xi,y).

Аргументы

Входные аргументы

# xi — входной сигнал
вектор | матрица | N-мерный массив

Details

Входной сигнал, заданный как вектор, матрица или N-мерный массив.

Типы данных

Float64, Float32

Поддержка комплексных чисел

Да

# y — оценка уровня шума
вектор | матрица | N-мерный массив

Details

Оценка шума во входном сигнале, заданная как вектор, матрица или N-мерный массив с теми же размерами, что и xi.

Типы данных

Float64, Float32

Поддержка комплексных чисел

Да

# x — вещественный входной синусоидальный сигнал
вектор

Details

Вещественный входной синусоидальный сигнал, заданный как вектор-строка или вектор-столбец.

Типы данных

Float64, Float32

# fs — частота дискретизации
1 (по умолчанию) | положительный вещественный скаляр

Details

Частота дискретизации, заданная как положительное число. Частота дискретизации — это количество отсчетов в единицу времени. Если единицей времени являются секунды, то частота дискретизации измеряется в герцах.

Типы данных

Float64, Float32

# n — количество гармоник
6 (по умолчанию) | положительный целочисленный скаляр

Details

Количество гармоник, исключаемых из вычисления отношения сигнал/шум, задается как положительное целое число. Значение аргумента n по умолчанию равно 6.

# pxx — оценка односторонней спектральной плотности мощности
вектор

Details

Оценка односторонней спектральной плотности мощности, заданная как вещественный неотрицательный вектор-столбец.

Спектральная плотность мощности должна быть выражена в линейных единицах, а не в дБ. Используйте функцию db2pow для преобразования дБ в коэффициент мощности.

Типы данных

Float64, Float32

# f — циклические частоты
вещественнозначный вектор-строка или вектор-столбец

Details

Циклические частоты оценки односторонней спектральной плотности мощности pxx, заданные в виде вектора-строки или вектора-столбца. Первый элемент аргумента f должен быть равен 0.

Типы данных

Float64, Float32

# sxx — спектр мощности
неотрицательный вещественнозначный вектор-строка или вектор-столбец

Details

Спектр мощности, заданный как вещественный неотрицательный вектор-строка или вектор-столбец.

Спектр мощности должен быть выражен в линейных единицах, а не в дБ. Используйте функцию db2pow для преобразования дБ в коэффициент мощности.

Типы данных

Float64, Float32

# rbw — разрешающая полоса пропускания
положительный скаляр

Details

Разрешающая полоса пропускания, определяемая как положительное число. Разрешающая полоса пропускания является произведением частотного разрешения дискретного преобразования Фурье и эквивалентной ширины полосы шума окна.

Типы данных

Float64, Float32

Выходные аргументы

# r — отношение сигнал/шум
вещественнозначный скаляр

Details

Отношение сигнал/шум, возвращаемое в виде вещественного числа, выраженного в дБн. Отношение сигнал/шум возвращается в дБ, если входной сигнал не синусоидальный.

Типы данных

Float64, Float32

# noisepow — общая мощность шума
вещественнозначный скаляр

Details

Общая мощность шума негармонических составляющих входного сигнала, возвращаемая в виде вещественного числа.

Типы данных

Float64, Float32

Дополнительно

Функции измерения искажений

Details

Функции sfdr, sinad и snr измерьте отклик слабонелинейной системы, возбуждаемой синусоидой.

При наличии входных данных во временной области функция snr строит периодограмму, используя окно Кайзера с большим ослаблением боковых лепестков. Чтобы найти основную частоту, алгоритм ищет в периодограмме наибольшую ненулевую спектральную составляющую. Затем он вычисляет центральный момент всех соседних интервалов, монотонно убывающих от максимума. Для обнаружения основная частота должна находиться как минимум во втором интервале частот. Высшие гармоники находятся на частотах, кратных основной частоте. Если гармоника находится в пределах монотонно убывающей области по соседству с другой гармоникой, считается, что ее мощность принадлежит большей гармонике. Эта большая гармоника может быть основной, а может и не быть.

Функция оценивает уровень шума, используя медианную мощность в областях, содержащих только шум. Постоянная составляющая исключается из расчета. Шум в каждой точке определяется либо оценочным уровнем, либо ординатой точки, в зависимости от того, что меньше. Затем шум вычитается из значений сигнала и гармоник.

Функция snr не выполняется, если основная гармоника не является наивысшей спектральной составляющей сигнала.

Убедитесь, что частотные компоненты находятся на достаточном расстоянии друг от друга, чтобы соответствовать ширине бокового лепестка окна Кайзера. Если это невозможно, можно использовать флаг "power" и вычислить периодограмму в другом окне.