toi

Точка пересечения третьего порядка

Описание

oip3 = toi(x) возвращает выходную точку прерывания третьего порядка (TOI), в децибелах (дБ), действительного синусоидального двухцветного входного сигнала, x. Расчет выполняется по периодограмме той же длины как вход с помощью окна Кайзера с β = 38.

пример

oip3 = toi(x,fs) задает частоту дискретизации, fs. Значение по умолчанию fs 1.

пример

oip3 = toi(pxx,f,'psd') задает вход как одностороннюю степень спектральную плотность (PSD), pxx, из действительного сигнала. f вектор частот, который соответствует вектору pxx оценки.

пример

oip3 = toi(sxx,f,rbw,'power') задает вход как односторонний спектр мощности, sxx, из действительного сигнала. rbw пропускная способность разрешения, по которой интегрирована каждая оценка степени.

пример

[oip3,fundpow,fundfreq,imodpow,imodfreq] = toi(___) также возвращает степень, fundpow, и частоты, fundfreq, из двух основных синусоид. Это также возвращает степень, imodpow, и частоты, imodfreq, из более низких и верхних продуктов межмодуляции. Этот синтаксис может использовать любой из входных параметров в предыдущих синтаксисах.

пример

toi(___) без выходных аргументов строит спектр сигнала и аннотирует более низкие и верхние основные принципы (f 1, f 2) и продукты межмодуляции (2f1  – f 2, 2f2  – f 1). Более высокие гармоники и продукты межмодуляции не помечены. TOI появляется выше графика.

Примеры

свернуть все

Создайте двухцветную синусоиду с частотами f1=5 kHz и f2=6 kHz, произведенный на уровне 48 кГц. Сделайте сигнал нелинейным путем питания его полином. Добавьте шум. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов. Вычислите точку пересечения третьего порядка. Проверьте, что продукты межмодуляции происходят в 2f2-f1=4 kHz и 2f1-f2=7 kHz.

rng default
fi1 = 5e3;
fi2 = 6e3;
Fs = 48e3;
N = 1000;
x = sin(2*pi*fi1/Fs*(1:N))+sin(2*pi*fi2/Fs*(1:N));
y = polyval([0.5e-3 1e-7 0.1 3e-3],x)+1e-5*randn(1,N);

[myTOI,Pfund,Ffund,Pim3,Fim3] = toi(y,Fs);
myTOI,Fim3
myTOI = 1.3844
Fim3 = 1×2
103 ×

    4.0002    6.9998

Создайте двухцветную синусоиду с частотами 5 кГц и 6 кГц, произведенных на уровне 48 кГц. Сделайте сигнал нелинейным путем оценки полинома. Добавьте шум. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов.

rng default
fi1 = 5e3;
fi2 = 6e3;
Fs = 48e3;
N = 1000;
x = sin(2*pi*fi1/Fs*(1:N))+sin(2*pi*fi2/Fs*(1:N));
y = polyval([0.5e-3 1e-7 0.1 3e-3],x)+1e-5*randn(1,N);

Оцените периодограмму сигнала с помощью окна Кайзера. Вычислите TOI использование степени спектральная плотность. Постройте результат.

w = kaiser(numel(y),38);

[Sxx, F] = periodogram(y,w,N,Fs,'psd');
[myTOI,Pfund,Ffund,Pim3,Fim3] = toi(Sxx,F,'psd')
myTOI = 1.3843
Pfund = 1×2

  -22.9133  -22.9132

Ffund = 1×2
103 ×

    5.0000    6.0000

Pim3 = 1×2

  -71.4868  -71.5299

Fim3 = 1×2
103 ×

    4.0002    6.9998

toi(Sxx,F,'psd');

Создайте двухцветную синусоиду с частотами 5 кГц и 6 кГц, произведенных на уровне 48 кГц. Сделайте сигнал нелинейным путем оценки полинома. Добавьте шум. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов.

rng default

fi1 = 5e3;
fi2 = 6e3;
Fs = 48e3;
N = 1000;

x = sin(2*pi*fi1/Fs*(1:N))+sin(2*pi*fi2/Fs*(1:N));
y = polyval([0.5e-3 1e-7 0.1 3e-3],x)+1e-5*randn(1,N);

Оцените периодограмму сигнала с помощью окна Кайзера. Вычислите TOI использование спектра мощности. Постройте результат.

w = kaiser(numel(y),38);

[Sxx,F] = periodogram(y,w,N,Fs,'power');

toi(Sxx,F,enbw(w,Fs),'power')

ans = 1.3844

Сгенерируйте 640 выборок двухцветной синусоиды с частотами 5 Гц и 7 Гц, произведенных на уровне 32 Гц. Сделайте сигнал нелинейным путем оценки полинома. Добавьте шум со стандартным отклонением 0.01. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов. Вычислите точку пересечения третьего порядка. Проверьте, что продукты межмодуляции происходят в 2f2-f1=9Hz и 2f1-f2=3Hz.

rng default
x = sin(2*pi*5/32*(1:640))+cos(2*pi*7/32*(1:640));
q = x + 0.01*x.^3 + 1e-2*randn(size(x));
[myTOI,Pfund,Ffund,Pim3,Fim3] = toi(q,32)
myTOI = 17.4230
Pfund = 1×2

   -2.8350   -2.8201

Ffund = 1×2

    5.0000    7.0001

Pim3 = 1×2

  -43.1362  -43.5211

Fim3 = 1×2

    3.0015    8.9744

Сгенерируйте 640 выборок двухцветной синусоиды с частотами 5 Гц и 7 Гц, произведенных на уровне 32 Гц. Сделайте сигнал нелинейным путем оценки полинома. Добавьте шум со стандартным отклонением 0.01. Установите генератор случайных чисел на настройки по умолчанию. Постройте спектр сигнала. Отобразите основные принципы и продукты межмодуляции. Проверьте, что последние происходят на уровне 9 Гц и 3 Гц.

rng default
x = sin(2*pi*5/32*(1:640))+cos(2*pi*7/32*(1:640));
q = x + 0.01*x.^3 + 1e-2*randn(size(x));
toi(q,32)

ans = 17.4230

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

свернуть все

Синусоидальный двухцветный сигнал с действительным знаком в виде строки или вектор-столбца.

Пример: polyval([0.01 0 1 0],sum(sin(2*pi*[5 7]'*(1:640)/32))) + 0.01*randn([1 640])

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

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

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

Односторонняя степень спектральная оценка плотности в виде неотрицательной строки с действительным знаком или вектор-столбца.

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Выведите точку пересечения третьего порядка синусоидального двухцветного сигнала, возвращенного как скаляр с действительным знаком, выраженный в децибелах. Если второй первичный тон является второй гармоникой первого первичного тона, то более низкий продукт межмодуляции на нулевой частоте. Функция возвращает NaN в тех случаях.

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

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

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

Частоты двух основных синусоид входного сигнала, возвращенного как двухэлементный вектор-строка с действительным знаком.

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

Степень, содержавшаяся в более низких и верхних продуктах межмодуляции входного сигнала, возвращенного как двухэлементный вектор-строка с действительным знаком.

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

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

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

Ссылки

[1] Kundert, Кеннет С. "Точное и быстрое измерение IP2 и IP3". Сообщество руководства разработчика. Май, 2002. https://designers-guide.org/analysis/intercept-point.pdf.

Смотрите также

| | |

Введенный в R2013b