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);

График показывает, что спектр использовался для расчета отношения и области, обработанной как шум. Уровень 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