sfdr

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

Синтаксис

r = sfdr(x)
r = sfdr(x,fs)
r = sfdr(x,fs,msd)
r = sfdr(sxx,f,'power')
r = sfdr(sxx,f,msd,'power')
[r,spurpow,spurfreq] = sfdr(___)
sfdr(___)

Описание

пример

r = sfdr(x) возвращает побочный свободный динамический диапазон (SFDR), r, в дБ действительного синусоидального сигнала, x. sfdr вычисляет спектр мощности с помощью измененной периодограммы и окна Kaiser с β = 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. Алгоритм удаляет всю степень, которая уменьшается монотонно далеко от интервала DC.

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

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

sfdr(x,fs);

Получите 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);

Получите спектр мощности тона на 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');

Определите частоту в МГц для самой большой шпоры. Входной сигнал является тоном на 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 микровольт. Кроме того, сигнал имеет сдвиг DC 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 сигнала. Отобразите его основной принцип и его самую большую шпору. Уровень DC исключен из вычисления SFDR.

sfdr(x,Fs);

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

свернуть все

Синусоидальный сигнал с действительным знаком, заданный как строка или вектор-столбец. Среднее значение вычтено из 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, заданном как строка или вектор-столбец.

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

свернуть все

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

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

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

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

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

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

Больше о

свернуть все

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

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

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

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

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

Введенный в R2013a