exponenta event banner

sfdr

Ложный свободный динамический диапазон

Описание

пример

r = sfdr(x) возвращает ложный свободный динамический диапазон (SFDR), r, в дБ действительного синусоидального сигнала, x. sfdr вычисляет спектр мощности с использованием модифицированной периодограммы и окна Кайзера с β = 38. Среднее вычитается из x перед вычислением спектра мощности. Количество точек, используемых при вычислении дискретного преобразования Фурье (DFT), равно длине сигнала, x.

r = sfdr(x,fs) возвращает SFDR входного сигнала временной области, x, когда частота выборки, fs, указывается. Значение по умолчанию fs 1 Гц.

пример

r = sfdr(x,fs,msd) возвращает SFDR, учитывая только те шпоры, которые отделены от основной (несущей) частоты минимальным расстоянием шпоры, msd, указанное в циклах/единицу времени. Частота выборки составляет fs. Если несущая частота равна Fc, то все шпоры в интервале (Fc-msd, Fc+msd) игнорируются.

пример

r = sfdr(sxx,f,'power') возвращает SFDR одностороннего спектра мощности действительного сигнала, sxx. f - вектор частот, соответствующий оценкам мощности в sxx. Первый элемент f должно быть равно 0. Алгоритм удаляет всю мощность, которая монотонно уменьшается от ячейки постоянного тока.

r = sfdr(sxx,f,msd,'power') возвращает SFDR, учитывая только те шпоры, которые отделены от основной (несущей) частоты минимальным расстоянием шпоры, msd. Если несущая частота равна Fc, то все шпоры в интервале (Fc-msd, Fc+msd) игнорируются. При вводе в sfdr - спектр мощности, определяющий msd может предотвратить выявление высоких уровней сайлоба в качестве шпор.

пример

[r,spurpow,spurfreq] = sfdr(___) возвращает мощность и частоту самой большой шпоры.

пример

sfdr(___) без выходных аргументов отображает спектр сигнала в окне текущего рисунка. Для рисования основного компонента, значения постоянного тока и остальной части спектра используются различные цвета. Она затеняет SFDR и отображает его значение над графиком. Он также маркирует фундаментальный и самый большой отрог.

Примеры

свернуть все

Получите SFDR для тонального сигнала 10 МГц с амплитудой 1, дискретизированной на частоте 100 МГц. Имеется шпора на 1-й гармонике (20 МГц) с амплитудой 3,16 × 10-4.

deltat = 1e-8;
fs = 1/deltat;
t = 0:deltat:1e-5-deltat;
x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t);
r = sfdr(x,fs)
r = 70.0063

Отображение спектра сигнала. Аннотируйте основание, значение DC, шпору и SFDR.

sfdr(x,fs);

Figure contains an axes. The axes with title SFDR: 70.01 dB contains 9 objects of type patch, line, text. These objects represent SFDR, Fundamental, Spurs, DC (excluded).

Получите SFDR для тонального сигнала 10 МГц с амплитудой 1, дискретизированной на частоте 100 МГц. Имеется шпора на 1-й гармонике (20 МГц) с амплитудой 3,16 × 10-4 и ещё одна шпора на 25 МГц с амплитудой 10-5. Пропустите первую гармонику, используя минимальное расстояние между пружинами 11 МГц.

deltat = 1e-8;
fs = 1/deltat;
t = 0:deltat:1e-5-deltat;
x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t)+ ...
    0.1e-5*cos(2*pi*25e6*t);
r = sfdr(x,fs,11e6)
r = 120.0000

Отображение спектра сигнала. Аннотируйте основные, значения DC, шпоры и SFDR.

sfdr(x,fs,11e6);

Figure contains an axes. The axes with title SFDR: 120.00 dB contains 9 objects of type patch, line, text. These objects represent SFDR, Fundamental, Spurs, DC (excluded).

Получение спектра мощности тонального сигнала 10 МГц с амплитудой 1, дискретизированной на частоте 100 МГц. Имеется шпора на 1-й гармонике (20 МГц) с амплитудой 3,16 × 10-4. Используйте односторонний спектр мощности и вектор соответствующих частот в Гц для вычисления SFDR.

deltat = 1e-8;
fs = 1/deltat;
t = 0:deltat:1e-6-deltat;
x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t);
[sxx,f] = periodogram(x,rectwin(length(x)),length(x),fs,'power');
r = sfdr(sxx,f,'power');

Отображение спектра сигнала. Аннотирование основы, значения DC, первой шпоры и SFDR.

sfdr(sxx,f,'power');

Figure contains an axes. The axes with title SFDR: 70.01 dB contains 9 objects of type patch, line, text. These objects represent SFDR, Fundamental, Spurs, DC (excluded).

Определите частоту в МГц для самой большой шпоры. Входной сигнал представляет собой тональный сигнал 10 МГц с амплитудой 1, дискретизированной на частоте 100 МГц. Имеется шпора на первой гармонике (20 МГц) с амплитудой 3,16 × 10-4.

deltat = 1e-8;
t = 0:deltat:1e-6-deltat;
x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t);
[r,spurpow,spurfreq] = sfdr(x,1/deltat);
spur_MHz = spurfreq/1e6
spur_MHz = 20

Создайте наложение трёх синусоид, с частотами 9,8, 14,7 и 19,6 кГц, в белом гауссовом аддитивном шуме. Дискретизация сигнала производится на частоте 44,1 кГц. Синусоидальная волна 9,8 кГц имеет амплитуду 1 вольт, волна 14,7 кГц имеет амплитуду 100 микровольт, а сигнал 19,6 кГц имеет амплитуду 30 микровольт. Шум имеет среднее значение 0 и дисперсию 0,01 мкм. Кроме того, сигнал имеет сдвиг постоянного тока 0,1 В.

rng default

Fs = 44.1e3;
f1 = 9.8e3;
f2 = 14.7e3;
f3 = 19.6e3;
N = 900;

nT = (0:N-1)/Fs;
x = 0.1+sin(2*pi*f1*nT)+100e-6*sin(2*pi*f2*nT) ...
    +30e-6*sin(2*pi*f3*nT)+sqrt(1e-8)*randn(1,N);

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

sfdr(x,Fs);

Figure contains an axes. The axes with title SFDR: 79.52 dB contains 9 objects of type patch, line, text. These objects represent SFDR, Fundamental, Spurs, DC (excluded).

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

свернуть все

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

Пример: x = cos(pi/4*(0:79))+1e-4*cos(pi/2*(0:79));

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

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

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

Минимальное количество дискретных ячеек преобразования Фурье (DFT) для игнорирования в вычислениях SFDR, заданных как положительный скаляр. Этот аргумент можно использовать для игнорирования шпор или боковых лопастей, которые возникают в непосредственной близости от основной частоты. Например, если частота несущей равна Fc, то все шпоры в диапазоне (Fc-msd, Fc+msd) игнорируются.

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

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

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

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

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

Вектор частот, соответствующих оценкам мощности в sxx, указан как вектор строки или столбца.

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

свернуть все

Ложный свободный динамический диапазон в дБ, заданный как действительный скаляр. Ложный свободный динамический диапазон - это разность дБ между мощностью на пиковой частоте и мощностью на следующей наибольшей частоте (spur). Если входные данные являются данными временного ряда, то оценки мощности получают из модифицированной периодограммы с использованием окна Хэмминга. Длина ДПФ, используемого в периодограмме, равна длине входного сигнала, x. Если вы хотите использовать другой спектр мощности в качестве основы для измерения SFDR, вы можете ввести свой спектр мощности с помощью 'power' флаг.

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

Мощность в дБ наибольшей шпоры, заданная как действительный скаляр.

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

Частота в Гц наибольшей шпоры, заданная как действительный скаляр. Если частота выборки не указана в качестве входного аргумента, sfdr предполагает частоту дискретизации 1 Гц.

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

Подробнее

свернуть все

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

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

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

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

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

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

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