Я пытаюсь получить частотную характеристику любых передаточных функций, используя преобразование Фурье импульсной характеристики системы. Это работает довольно хорошо для большинства протестированных случаев, но у меня все еще есть проблема с передаточными функциями, в которых есть интегратор (например, 1/s; (4s+2)/(3s^2+s) и т. д.).
Возьмем пример чистого интегратора с H(s) = 1/s. Полученная импульсная характеристика представляет собой ступенчатую функцию, как и ожидалось, но тогда преобразование Фурье импульсной характеристики не дает ожидаемых теоретических результатов. Вместо этого он дает очень маленькие результаты и не приводит к классическим характеристикам интегратора (-20 дБ/декада амплитуды и -90 градусов фазы) после обработки.
Возможно, несколько строк кода могут быть полезны, если я недостаточно ясно выразился:
h = tf(1,[1 0]);
t_step = .1;
t = [0 : t_step : 100000]';
[y,t1] = impulse(h,t);
y_fft = fft(y);
Вы знаете, откуда может исходить эта проблема? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Я работаю над MATLAB R2013b.
fft
предполагает периодический сигнал, т. е. бесконечное повторение предоставленного дискретного сигнала, и (2) вы также должны включать ответ для отрицательных моментов времени, т. е. до появления импульса. - person m7913d   schedule 01.09.2017