Съвети за потребителите на Simulink

Съвети към потребителите на Simulink от водеща секция

15. Трансферен функционален блок с променливи коефициенти

В стандартната библиотека Simulink липсва функционален блок за прехвърляне, за който можете да посочите коефициентите на числителя и знаменателя като входни вектори. Наличието на такъв блок би позволило моделиране на обекти, чиито свойства се променят във времето.

Можете да създадете такъв блок, като използвате техниката за моделиране на функцията за предаване, описана в [1]. Функция на предаване:

представени във формата

,

.

След това диференциалното уравнение, съответстващо на трансферната функция, се решава числено

.

За тази цел стойностите на производните се определят въз основа на изчисляването на правилните части на следната система от нормални диференциални уравнения:

simulink
,

u- действие за въвеждане,

- променливи на състоянието.

Желаното решение (изходна променлива) се намира, както следва:

.

За реализиране на горния алгоритъм е разработен блокът Transfer Fcn (vp), чиято схема и икона са показани на фиг. 1. Входният сигнал се прилага към входния порт In, а изходният сигнал се взема от порта Out. На входа Num трябва да се даде векторът на коефициентите на числителя, а на входа Den - векторът на коефициентите на знаменателя. В прозореца за настройка на параметрите (фиг. 2) трябва да посочите размерността на векторите на коефициентите на числителя и знаменателя.

коефициентите

Прозорец за настройка на параметрите:

потребителите

[Размерност на вектора на коефициентите на числителя]. Размерността на вектора на коефициентите на числителя не трябва да надвишава размерността на вектора на коефициентите на знаменателя.

[Размерност на вектора на коефициентите на знаменателя].

На фиг. 3 показва сравнение на работата на новия блок със стандартнияблокиране на трансфер Fcn. Както се вижда от графиките на фигурата, резултатите са идентични.

коефициентите

В случай, че коефициентите на числителя и знаменателя са дадени под формата на таблици във функцията на който и да е параметър, е необходимо също да има блок, който осигурява интерполация на коефициентите при промяна на този параметър. Такъв блок може да бъде създаден въз основа на S-функцията, като се използва стандартната функция MATLAB interp1. Диаграмата и иконата на интерполационния блок са показани на фиг.4. Прозорецът за настройка на параметрите е показан на фиг.5.

simulink

Прозорец за настройка на параметрите:

потребителите

Вектор на входните стойности:

[Вектор на входните стойности]. Размерността на вектора на коефициентите на числителя не трябва да надвишава размерността на вектора на коефициентите на знаменателя.

Матрица (вектор) на изходните стойности:

[Матрица или вектор на изходните стойности]. Всеки ред в изходната матрица съответства на нов набор от коефициенти.

[Метод на интерполация]. Стойността на параметъра се избира от списъка:

  • линейна - линейна интерполация,
  • кубична - кубична интерполация,
  • spline - сплайн интерполация.

На фиг. 6 е показана диаграма, в която интерполацията на коефициентите на функцията за предаване се извършва с помощта на разработения блок Interp Fcn. Стойностите на коефициентите на числителя и знаменателя се четат от файлове с помощта на Load Num & Den. Веригата извършва изчисление за всяка стойност на променливата x между 0 и 6,6.