sinad

Отношение сигнала к шуму и искажениям

Описание

пример

r = sinad(x) возвращает отношение сигнала к шуму и искажениям (SINAD) в дБн синусоидального x сигнала с действительным знаком. SINAD определяется с помощью модифицированной периодограммы той же длины как входной сигнал. Модифицированная периодограмма использует окно Кайзера с β = 38.

пример

r = sinad(x,fs) задает частоту дискретизации fs из входного сигнала x. Если вы не задаете fs, затем значения по умолчанию частоты дискретизации к 1.

пример

r = sinad(pxx,f,'psd') задает вход pxx как односторонняя оценка спектральной плотности мощности (PSD). f вектор из частот, соответствующих оценкам PSD в pxx.

r = sinad(sxx,f,rbw,'power') задает вход как односторонний спектр мощности. rbw полоса пропускания разрешения, по которой интегрирована каждая оценка степени.

[r,totdistpow] = sinad(___) возвращает общую шумовую и гармоническую степень искажения (в дБ) сигнала.

пример

sinad(___) без выходных аргументов строит спектр сигнала в окне текущей фигуры и помечает его основной компонент. Это использует различные цвета, чтобы чертить основной компонент, значение DC и шум. SINAD появляется выше графика.

Примеры

свернуть все

Создайте два сигнала. Оба сигнала имеют основную частоту π/4 рад/отсчет с амплитудой 1 и первая гармоника частоты π/2 рад/отсчет с амплитудой 0.025. Один из сигналов дополнительно имеет аддитивный белый Гауссов шум с отклонением 0.052.

Создайте два сигнала. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов. Определите SINAD для сигнала без аддитивного шума и сравните результат с теоретическим SINAD.

n = 0:159;
x = cos(pi/4*n)+0.025*sin(pi/2*n);
rng default

y = cos(pi/4*n)+0.025*sin(pi/2*n)+0.05*randn(size(n));
r = sinad(x)
r = 32.0412
powfund = 1;
powharm = 0.025^2;
thSINAD = 10*log10(powfund/powharm)
thSINAD = 32.0412

Определите SINAD для синусоидального сигнала с аддитивным шумом. Покажите, как включая теоретическое отклонение аддитивного шума аппроксимирует SINAD.

r = sinad(y)
r = 22.8085
varnoise = 0.05^2;
thSINAD = 10*log10(powfund/(powharm+varnoise))
thSINAD = 25.0515

Создайте сигнал с основной частотой 1 кГц и модульной амплитудой, произведенной на уровне 480 кГц. Сигнал дополнительно состоит из первой гармоники с амплитудой 0.02 и аддитивный белый Гауссов шум с отклонением 0.012.

Определите SINAD и сравните результат с теоретическим SINAD.

fs = 48e4;
t = 0:1/fs:1-1/fs;
rng default

x = cos(2*pi*1000*t)+0.02*sin(2*pi*2000*t)+0.01*randn(size(t));
r = sinad(x,fs)
r = 32.2058
powfund = 1;
powharm = 0.02^2;
varnoise = 0.01^2;
thSINAD = 10*log10(powfund/(powharm+varnoise*(1/fs)))
thSINAD = 33.9794

Создайте сигнал с основной частотой 1 кГц и модульной амплитудой, произведенной на уровне 480 кГц. Сигнал дополнительно состоит из первой гармоники с амплитудой 0.02 и аддитивный белый Гауссов шум со стандартным отклонением 0.01. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов.

Получите периодограмму сигнала и используйте периодограмму в качестве входа к sinad.

fs = 48e4;
t = 0:1/fs:1-1/fs;

rng default
x = cos(2*pi*1000*t)+0.02*sin(2*pi*2000*t)+0.01*randn(size(t));

[pxx,f] = periodogram(x,rectwin(length(x)),length(x),fs);
r = sinad(pxx,f,'psd')
r = 32.2109

Сгенерируйте синусоиду частоты 2,5 кГц, произведенные на уровне 50 кГц. Добавьте Гауссов белый шум со стандартным отклонением 0.00005 к сигналу. Передайте результат через слабо нелинейный усилитель. Постройте SINAD.

fs = 5e4;
f0 = 2.5e3;
N = 1024;
t = (0:N-1)/fs;

ct = cos(2*pi*f0*t);
cd = ct + 0.00005*randn(size(ct));

amp = [1e-5 5e-6 -1e-3 6e-5 1 25e-3];
sgn = polyval(amp,cd);

sinad(sgn,fs);

Figure contains an axes object. The axes object with title SINAD: 72.10 dB contains 7 objects of type line, text. These objects represent Fundamental, Noise and Distortion, DC (excluded).

График показывает, что спектр использовался для расчета отношения и области, обработанной как шум. Уровень DC и основной принцип исключены из шумового расчета. Основной принцип помечен.

Входные параметры

свернуть все

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

Пример: cos(pi/4*(0:159))+cos(pi/2*(0:159))

Типы данных: single | double

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

Односторонние PSD оценивают в виде неотрицательного вектор-столбца с действительным знаком.

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

Пример: [pxx,f] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2)) задает периодограмму оценка PSD шумной двухканальной синусоиды, произведенной в 2π Гц и частоты, на которых это вычисляется.

Типы данных: single | double

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

Типы данных: double | single

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

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

Пример: [sxx,w] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2),'power') задает оценку спектра мощности периодограммы двухканальной синусоиды, встроенной в белый Гауссов шум и нормированные частоты, на которых это вычисляется.

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

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

свернуть все

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

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

Больше о

свернуть все

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

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

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

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

sinad сбои, если основной принцип не является самым высоким спектральным компонентом в сигнале.

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

Расширенные возможности

Введенный в R2013b