Модель фильтра Калмана 3 порядка — различия между версиями
Материал из SRNS
Korogodin (обсуждение | вклад) |
Korogodin (обсуждение | вклад) (→Полоса дискретной следящей системы) |
||
Строка 36: | Строка 36: | ||
<math>H=\frac{4{{K}_{1}}^{2}{{K}_{2}}T-6{{K}_{1}}K_{2}^{2}{{T}^{2}}+7{{K}_{1}}{{K}_{2}}{{K}_{3}}{{T}^{3}}-2{{K}_{1}}K_{3}^{2}{{T}^{4}}-4{{K}_{1}}{{K}_{3}}{{T}^{2}}+4{{K}_{2}}^{2}{{T}^{2}}-4{{K}_{2}}{{K}_{3}}{{T}^{3}}+{{K}_{3}}^{2}{{T}^{4}}}{\left( {{K}_{1}}{{K}_{2}}T-{{K}_{3}}{{T}^{2}} \right)\left( {{K}_{3}}{{T}^{2}}-2{{K}_{2}}T-4{{K}_{1}}+8 \right)\cdot 2\cdot T}</math> | <math>H=\frac{4{{K}_{1}}^{2}{{K}_{2}}T-6{{K}_{1}}K_{2}^{2}{{T}^{2}}+7{{K}_{1}}{{K}_{2}}{{K}_{3}}{{T}^{3}}-2{{K}_{1}}K_{3}^{2}{{T}^{4}}-4{{K}_{1}}{{K}_{3}}{{T}^{2}}+4{{K}_{2}}^{2}{{T}^{2}}-4{{K}_{2}}{{K}_{3}}{{T}^{3}}+{{K}_{3}}^{2}{{T}^{4}}}{\left( {{K}_{1}}{{K}_{2}}T-{{K}_{3}}{{T}^{2}} \right)\left( {{K}_{3}}{{T}^{2}}-2{{K}_{2}}T-4{{K}_{1}}+8 \right)\cdot 2\cdot T}</math> | ||
− | Чтобы получить выражение для второго порядка следует обнулить лишний коэффициент. | + | Чтобы получить выражение для второго порядка, следует обнулить лишний коэффициент. |
== Листинг == | == Листинг == |
Версия 17:06, 13 января 2012
Модель фильтра Калмана 3 порядка | |
---|---|
Описание | Модель фильтра Калмана 3 порядка на примере ФАП |
Автор(ы) | Korogodin (Korogodinобсуждение) |
Последняя версия | 1.0 (20.05.2011) |
Загрузить | no link |
Хранилище | no link |
Категории | Статистическая радиотехника, Фазовые измерения, Переходные процессы |
Содержание |
Описание модели
Модель фильтра Калмана 3 порядка, например, используемого в ФАП. В данный момент приведен листинг только для коэффициентов установившегося режима. Следует привести пример с уравнениями Рикатти.
Полоса дискретной следящей системы
Формула получена адскими страданиями с вычетами:
Чтобы получить выражение для второго порядка, следует обнулить лишний коэффициент.
Листинг
Ниже приведен листинг при использовании коэффициентов установившегося режима. Изложение следует дополнить уравнениями Рикатти - для честного соответствия заголовку.
Tmod = 300; % Время моделирования
Tc = 0.005; % Период работы фильтров
C = fix(Tmod/Tc);
Xextr = [0; 0; 0]; % Вектор экстраполяций
F = [1 Tc Tc^2/2;
0 1 Tc;
0 0 1 ]; % Переходная матрица
H = 20; % Hz, полоса
K = nan(3,1); % Вектор-столбец коэффициентов фильтра
K(3) = (1.2*H)^3; % Коэффициенты непрерывной системы в установившемся режиме
K(2) = 2*(K(3))^(2/3);
K(1) = 2*(K(3))^(1/3);
K = K*Tc; % Переход к коэффициентам дискретной системы
Xist = [0; 0; 0]; % Истинный вектор состояния
stdIst = 10; nIst = randn(1,C);
for c = 1:C
Ud = f(Xextr, Xist); % Дискриминатор
Sd = f(A_IQ); % Критизна дискриминационной характеристики
Xest = Xextr + K*Ud/Sd; % Вектор оценок на c-й интервал
Xextr = F*Xest; % Экстраполяция на интервал c+1
Xist = F*Xist + [0; 0; 1]*nIst(c)*stdIst; % Здесь может быть любая другая модель изменения истинного вектора состояния
end
Tc = 0.005; % Период работы фильтров
C = fix(Tmod/Tc);
Xextr = [0; 0; 0]; % Вектор экстраполяций
F = [1 Tc Tc^2/2;
0 1 Tc;
0 0 1 ]; % Переходная матрица
H = 20; % Hz, полоса
K = nan(3,1); % Вектор-столбец коэффициентов фильтра
K(3) = (1.2*H)^3; % Коэффициенты непрерывной системы в установившемся режиме
K(2) = 2*(K(3))^(2/3);
K(1) = 2*(K(3))^(1/3);
K = K*Tc; % Переход к коэффициентам дискретной системы
Xist = [0; 0; 0]; % Истинный вектор состояния
stdIst = 10; nIst = randn(1,C);
for c = 1:C
Ud = f(Xextr, Xist); % Дискриминатор
Sd = f(A_IQ); % Критизна дискриминационной характеристики
Xest = Xextr + K*Ud/Sd; % Вектор оценок на c-й интервал
Xextr = F*Xest; % Экстраполяция на интервал c+1
Xist = F*Xist + [0; 0; 1]*nIst(c)*stdIst; % Здесь может быть любая другая модель изменения истинного вектора состояния
end