sinad

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

Описание

пример

r = sinad(x) возвращает отношение сигнала к шуму и искажениям (SINAD) в dBc действительного синусоидального сигнала 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(___) без выходных аргументов строит графики спектра сигнала в текущую фигуру окне и помечает его основной компонент. Он использует различные цвета, чтобы нарисовать основной компонент, значение постоянного тока и шум. 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. The axes with title SINAD: 72.10 dB contains 7 objects of type line, text. These objects represent Fundamental, Noise and Distortion, DC (excluded).

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

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

свернуть все

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

Пример: 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 выполняет периодограмму с использованием окна Кайзера с большим ослаблением бокового колеса. Чтобы найти основную частоту, алгоритм ищет периодограмму для наибольшего ненулевого спектрального компонента. Затем вычисляется центральный момент всех смежных интервалов, которые уменьшаются монотонно от максимума. Чтобы быть обнаруживаемым, основной параметр должен быть, по крайней мере, во втором частотном интервале. Более высокие гармоники находятся в целочисленных множителях основной частоты. Если гармоника находится внутри монотонно уменьшающейся области в окрестности другой, то считается, что ее степень принадлежит большей гармонике. Эта большая гармоника может быть или не быть основной.

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

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

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

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

.
Введенный в R2013b