Получить частотные характеристики по испульсной
От: Didro Россия home~pages
Дата: 18.05.08 07:43
Оценка: -1
Добрый день,

Задача: при неизвестной передаточной функции системы, получить её частотные характеристики (ЛАЧХ\ЛФЧХ) по ипульсной характеристике. Повторюсь, требуется вычилслить ЛАЧХ\ЛФЧХ по эксперементальным данным (отлик системы на дельта импульс), а не аналитически по известной передаточный функции W(s).

Делаю так как написано здесь и здесь. Т.е. вычисляю FFT от отклика на дельта-импульс, затем беру модуль и фазу полученных Фурье коэффициентов и отображаю их в соотв.масштабе.

Код (Matlab):
Tend=1000;

fs=2100;                                   % sampling rate
t = 0:1/fs:Tend;                           % sampling instants
N=length(t);
 
input=[1;zeros(N-1,1)];                    % modelling the obtaning impulse reponse
ws=tf([10],[1 1 1 1 1]);
data=lsim(ws,input,t);
 
temp = fft(data,N);                        % perform N-point transform
fftdata = temp(1:N/2);                     % just look at first half                              

 
m = 20*log10(abs(fftdata));                % m = magnitude of sinusoids
p = unwrap(angle(fftdata));                % p = phase of sinusoids, unwrap()
                                           % copes with 360 degree jumps

f = (0:N/2-1)*fs/(N);                      % calculate Hertz values

% plot spectrum 0..fs/2 :
figure('Name','MyBode')
subplot(2,1,1), semilogx(f,m);             % plot magnitudes
ylabel('Abs. Magnitude'), grid on;
subplot(2,1,2), semilogx(f,p*180/pi);      % plot phase in degrees
ylabel('Phase [Degrees]'), grid on;
xlabel('Frequency [Hertz]');

figure('Name','Bode'),bode(ws);
 
clear


sampling rate как я понимаю можно взять произвольный, т.к. все равно я сам моделирую входной сигнал. Или я не прав?

Пусть ws=tf([10],[1 1]); (т.е. передаточная функция равна W(s)=10/(1+s) )
Сравниваю с bode(ws) и получаю:


Пусть ws=tf([10],[1 1 1 1 1]);
Сравниваю с bode(ws) и получаю:

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

Спасибо
fft bode лачх лфчх matlab frequency response impulse response
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.