Изменения амплитуды с помощью встроенных функций Matlab fft / ifft и интеграции / дифференциации частотной / временной области - PullRequest
1 голос
/ 08 февраля 2020

Я получаю непонятные результаты при использовании функции matlab fft в одном из моих проектов и хотел бы понять, почему.

Я реализовал преобразование с четырьмя несущими (используя функцию Matlab FFT) на измеренной скорости , а затем интегрировал этот сигнал в частотной области (путем деления на * омега). Затем я возвращаю свой сигнал во временную область с помощью встроенной функции Matlab Ifft. Затем я дифференцирую сигнал во временной области (используя функцию сравнения), что означает, что я должен получить тот же сигнал, что и мой исходный сигнал скорости.

Я получаю ту же форму. Тем не менее, я не получаю те же значения ... Кто-нибудь знает, почему это так? Как я мог преодолеть эту проблему, чтобы восстановить свой исходный сигнал?

speed_spectrum = zeros(sampsize,length(x));

sampsize = double(sampsize);
window = hanning(sampsize);     % hanning window

%Find size of file, delta T, sampling freq and delta F
deltat=1/sampfreq;          %Seconds
deltaf=sampfreq/sampsize;   %Hertz

%Creating frequency and time vectors
freq=0:deltaf:(sampsize-1)*deltaf;
time=0:deltat:(sampsize-1)*deltat;

Здесь я использую fft для моего сигнала скорости:

for z2 = 1:length(x)       %Each matrix corresponds to measurement at point x(z2) along the beam
    for z=1:navg
        speed_spectrum(:,z2) = speed_spectrum(:,z2) + (fft(data(:,z2,z).*window))./navg;
    end
end

Я интегрирую свой сигнал в частотной области:

for z2 = 2:length(omega)
    position_spectrum(z2,:) = speed_spectrum(z2,:)/(1i * omega(z2));
end

Я применяю ifft, чтобы вернуть мой сигнал положения во временную область:

position_tdomain = ifft(position_spectrum(:,:));

Затем я дифференцирую сигнал положения, чтобы вернуться к моему сигналу скорости:

speed_tdomain = diff(position_tdomain);

enter image description here

Нормально видеть такие большие различия в форме окна из-за примененного окна ханнинга.

Но при увеличении вблизи центра (где окно ханнинга равно или близко к 1) мы можем наблюдать одну и ту же форму, но с разными амплитудами:

enter image description here

Это связано с интегрированием в частотной области, а затем с дифференциацией во временной области, или, скорее, с помощью функций fft и ifft?

...