Нормализация спектра

Спектр сигнала является квадратом преобразования Фурье сигнала. Спектральная оценка с использованием команд spa, spafdr, и etfe нормируется шаг расчета T:

Φy(ω)=Tk=MMRy(kT)eiwTWM(k)

где WM (k) - окно задержки, а M - ширина окна задержки. Ковариация выхода Ry (kT) задается следующим дискретным представлением:

R^y(kT)=1Nl=1Ny(lTkT)y(lT)

Поскольку в дискретном преобразовании Фурье вектора нет масштабирования, цель T состоит в том, чтобы связать дискретное преобразование вектора с физически значимым преобразованием измеренного сигнала. Эта нормализация устанавливает модули измерения Φy(ω) как степень на радианы в единицу времени, и делает радианы модулями в единицу времени.

Масштабный коэффициент T необходим, чтобы сохранить плотность энергии спектра после интерполяции или десятикратного уменьшения.

По теореме Парсеваля средняя энергия сигнала должна равняться средней энергии в предполагаемом спектре следующим образом:

Ey2(t)=12ππ/Tπ/TΦy(ω)dωS1Ey2(t)S212ππ/Tπ/TΦy(ω)dω

Сравнение левой части уравнения (S1) на правую сторону (S2), введите следующие команды. В этом коде phiy содержит Φy(ω) между ω=0 и ω=πT с шагом частоты, заданным следующим образом:

(πTlength(phiy))

load iddata1

Создайте объект iddata timeseries.

y = z1(:,1,[]);

Задайте интервал расчета из данных.

T = y.Ts;

Оцените частотную характеристику.

sp = spa(y);

Удалите паразитные размерности

phiy = squeeze(sp.spec);

Вычислите среднюю энергию сигнала.

S1 = sum(y.y.^2)/size(y,1)
S1 = 19.4646

Вычислите среднюю энергию из расчетного энергетического спектра, где S2 масштабируется на T.

S2 = sum(phiy)/length(phiy)/T
S2 = 19.2076

Таким образом, средняя энергия сигнала приблизительно равна средней энергии в оцененном спектре.

См. также

| |