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(___) без выходных аргументов строит график спектра сигнала в текущую фигуру окне. Он использует различные цвета, чтобы нарисовать основной компонент, значение DC и остальную часть спектра. Он заштриховывает 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

Отобразите спектр сигнала. Аннотировать основной, значение постоянного тока, spur и 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

Отобразите спектр сигнала. Аннотировать основной, значение постоянного тока, шпоры и 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');

Отобразите спектр сигнала. Аннотируйте основной, значение постоянного тока, первую ветвь и 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

Минимальное количество дискретных интервалов преобразования Фурье (ДПФ), которые нужно игнорировать в расчет 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