- •Розділ 1. Обробка вхідного сигналу u(t), знаходження апроксимуючої функції та вибір оптимальної моделі
- •1.1 Табулювання сигналу
- •1.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
- •1.3 Побудова моделі за допомогою полінома Чебишева
- •1.4 Побудова моделі за допомогою перетворення Фур’є
- •1.5 Статистична обробка даних
- •1.6 Знаходження періодограми сигналів
- •1.7 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Розділ 2. Обробка вхідного сигналу w(t), знаходження апроксимуючої функції та вибір оптимальної моделі
- •2.1 Табулювання сигналу
- •2.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
- •2.3 Побудова моделі за допомогою полінома Чебишева
- •2.4 Побудова моделі за допомогою перетворення Фур’є
- •2.5 Статистична обробка даних
- •2.6 Знаходження періодограми сигналів
- •2.7 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Розділ 3. Обробка вихідного сигналу y(t), знаходження апроксимуючої функції та вибір оптимальної моделі
- •3.1 Табулювання сигналу
- •3.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
- •3.3 Побудова моделі за допомогою полінома Чебишева
- •3.4 Побудова моделі за допомогою перетворення Фур’є
- •3.5 Статистична обробка даних
- •3.6 Знаходження періодограми сигналів
- •3.7 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Розділ 4. Побудова загальної моделі системи
- •4.1 Табулювання двох вхідних та одного вихідного сигналів
- •4.2 Побудова першої моделі системи, виду
- •4.3 Побудова другої моделі системи, виду
- •4.3 Побудова третьої моделі системи, виду
- •4.4 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Висновок
- •Список використаних джерел
1.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
Для апроксимації сигналів по відомим вхідним та вихідним параметрам використовують метод найменших квадратів. В даному випадку рівняння апроксимуючої функції буде:
де
– невідомі коефіцієнти.
Запишемо умову метода найменших квадратів:
тобто
Продиференціювавши даний вираз по і прирівнявши його до нуля розв’язуємо слідуючу систему рівнянь:
Використовуючи математичний пакет Matlab, виконаємо розрахунок. Нижче наведено лістинг програмного модуля:
clear;
load data.mat
for i=1:8;
for j=1:8;
A(i,j)=sum(n1t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n1t.^(i-1).*n1ut);
end;
a=B/A;
t=1:150;
f=a(8)*t.^7+a(7)*t.^6+a(6)*t.^5+a(5)*t.^4+a(4)*t.^3+a(3)*t.^2+a(2)*t+a(1);
hPlot=plot(t,f);
hold on;
plot(n1t,n1ut,'red')
xlabel('t')
ylabel('U(t)')
axis([0,150,-0.2,2.2]);
set( hPlot, 'LineWidth', 2 );
Розв’язавши систему, отримаємо такі значення коефіцієнтів:
a0 = 0.9189;
a1 = 0.0754;
a2 = -0.0054;
a3 = 0.0002;
a4 = 0.0000023;
a5 = 0.000000018;
a6 = -7.045548e-011;
a7 = 1.1338095e-013.
Нижче наведемо графічну модель (рис. 1.1):
Рис. 1.1 - Поліноміальна модель вхідного сигналу U(t) поліномом n-го порядку
1.3 Побудова моделі за допомогою полінома Чебишева
За методом найменших квадратів рівняння апроксимуючої функції для полінома Чебишева буде мати вигляд:
де – невідомі коефіцієнти.
Запишемо умову метода найменших квадратів:
тобто
Продиференціювавши даний вираз по і прирівнявши його до нуля розв’язуємо слідуючу систему рівнянь:
В
системі функції
вибрані таким чином:
В даних виразах коефіцієнти визначаються за формулами:
Використовуючи математичний пакет Matlab, виконаємо розрахунок. Нижче наведено лістинг програмного модуля:
clear;
load data.mat;
Cheb_por=7;
n=121;
fi=ones(n,8);
for i=1:n
fi(i,2)=n1t(i)-(1/n)*sum(n1t);
end;
for p=3:Cheb_por; i=1:n;
beta(p)=-sum(n1t(i).*fi(i,p-1).^2)/sum(fi(i,p-1).^2);
gama(p)=-sum(n1t(i).*fi(i,p-1).*fi(i,p-2))/sum(fi(i,p-1).^2);
fi(i,p)=(n1t(i)+beta(p)).*fi(i,p-1)+gama(p).*fi(i,p-2);
end;
A=fi'*fi;
B=fi'*n1ut;
a=A\B;
for i=1:121; j=1:8;
Cheb(i)=a(j)'*fi(i,j)';
end;
hPlot=plot(n1t,Cheb);
hold on;
plot(n1t,n1ut,'red');
xlabel('t');
ylabel('U(t)');
set( hPlot, 'LineWidth', 2 );
Розв’язавши систему, такі значення коефіцієнтів:
a0 = 1.0358; a4 = 0.00000053;
a1 = -0.0058; a5 = 0.0000000085;
a2 = -0.0021; a6 = -1.110324e-011;
a3 = 0.000072; a7 = 1.1338093e-013.
На рис. 1.2 наведена модель вхідного сигналу U(t), побудована поліномом Чебишева.
Рис. 1.2 - Модель вхідного сигналу U(t), побудована поліномом Чебишева
1.4 Побудова моделі за допомогою перетворення Фур’є
Наведемо коротку характеристику перетворень Фур’є.
Вираз виду:
називаються тригонометричними поліномами (ступеня π). Виявляється, що будь-яка безперервна (і не тільки безперервна) функція на проміжку (-π,π) може бути апроксимована з попередньо заданою точністю тригонометричними поліномами з відповідними коефіцієнтами a0 ,…,an, та b0 ,…, bn.
Лінійні
комбінації функцій виду
і
також називають тригонометричними
поліномами, мають період 2πТ.
Тому можна так переформулювати наше
твердження: будь-яка періодична функція
може бути апроксимована тригонометричними
поліномами.
Припустимо,
що значення
функції f(x),
виміряються
в деякому
експерименті й за даними y1,…,ym
нам
вдалося чисельно оцінити
коефіцієнти Фур'є функції f(x).
Часто виявляється, що функція:
Тоді
для знаходження коефіцієнтів Фур’є
використовується наступний метод. Нехай
функція
,
що має період
,
представлена рядом Фур’є:
Якщо
формально помножити дану рівність на
або
і почленно проінтегрувати від
до
,
то зайві гармоніки зникнуть і отримаємо
формулу для коефіцієнтів:
,
В нашому випадку рівняння апроксимуючої лінії буде:
де m =7.
Запишемо формули для розрахунку коефіцієнтів:
Використовуючи математичний пакет Matlab, виконаємо розрахунок. Нижче наведено лістинг програмного модуля:
clear;
load data.mat;
n=121;
Fur_por=4;
m=Fur_por;
for k=1:m+1
A=(1/n)*sum(n1ut);
B(k)=(2/n)*sum(n1ut.*cos(k*n1t));
C(k)=(2/n)*sum(n1ut.*sin(k*n1t));
end
for k=1:m+1
for i=1:n
FS(i,1)=A+sum(B(k)*sin(k*n1t(i))+C(k)*cos(k*n1t(i)));
end
end
plot(n1t,n1ut,'red')
hold on;
hPlot=plot(n1t,FS);
xlabel('t')
ylabel('U(t)')
axis( [ 0, 150, -0.2, 2.2 ] )
set( hPlot, 'LineWidth', 2 );
Розв’язавши систему, отримаємо таку модель:
Рис. 1.3 - Модель вхідного сигналу U(t), побудована за допомогою перетворення Фур’є
і такі значення коефіцієнтів:
a0
= 1.2165;
