exponenta event banner

грешивший

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

Описание

пример

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

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

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

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

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

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

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

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

свернуть все

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

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

Подробнее

свернуть все

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

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

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

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

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

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

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

.
Представлен в R2013b