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

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

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

где WM (k) является окном задержки, и M является шириной окна задержки. Выходная ковариация Рай (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 с шагом частоты, данным можно следующим образом:

(πTдлина (phiy))

load iddata1

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

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

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

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

| |