Цифровое моделирование непрерывных систем. Классификации методов моделирования систем

В основе моделирования лежит теория подобия, которая утверждает, что абсолютное подобие может иметь место лишь при замене объекта другим точно таким же. При моделировании абсолютное подобие не имеет места и стремятся к тому, чтобы достаточно хорошо отображало исследуемую сторону строну функционирования объекта. Классификация видов моделирован ведена на рис. 1.

Рис. 1. Виды моделирования систем

По степени полноты модели они делятся на полные, неполные и приближенные. Полные модели идентичны объекту во времени и пространстве. Для неполного моделирования эта идентичность не сохраняется. В основе приближенного моделирования лежит подобие, при котором некоторые стороны функционирования реального объекта не моделируются совсем.

В зависимости от характера изучаемых процессов в системе виды моделирования подразделяются на детерминированные и стохастические, статические и динамические, дискретные, непрерывные и дискретно-непрерывные. Детерминированное моделирование отображает процессы, в которых предполагается отсутствие случайных воздействий. Стохастическое моделирование учитывает вероятностные процессы и события. Статическое моделирование служит для описания поведения объекта в фиксированный момент времени, а динамическое - для исследования объекта во времени. Дискретное, непрерывное и дискретно-непрерывное моделирования используются для описания процессов, имеющих изменение во времени. При этом оперируют аналоговыми, цифровыми и аналого-цифровыми моделями.

В зависимости от формы представления объекта моделирование классифицируется на мысленное и реальное. Мысленное моделирование применяется тогда, когда модели не реализуемы в заданном интервале времени либо отсутствуют условия для их физического создания (например, ситуации микромира).

Мысленное моделирование реализуется в виде наглядного, символического и математического. При наглядном моделировании на базе представлений человека о реальных объектах создаются наглядные модели, отображающие явления и процессы, протекающие в объекте. В основу гипотетического моделирования закладывается гипотеза о закономерностях протекания процесса в реальном объекте, которая отражает уровень знаний исследователя об объекте и базируется на причинно-следственных связях между входом и выходом изучаемого объекта. Этот вид моделирования используется, когда знаний об объекте недостаточно для построения формальных моделей. Аналоговое моделирование основывается на применении аналогий различных уровней. Для достаточно простых объектов наивысшим уровнем является полная аналогия. С усложнением системы используются аналогии последующих уровней, когда аналоговая модель отображает несколько либо только одну сторону функционирования объекта. Макетирование применяется, когда протекающие в реальном объекте процессы не поддаются физическому моделированию либо могут предшествовать проведению других видов моделирования. В основе построения мысленных макетов также лежат аналогии, обычно базирующиеся на причинно-следственных связях между явлениями и процессами в объекте.

Символическое моделирование представляет собой искусственный процесс создания логического объекта, который замещает реальный и выражает основные свойства его отношений с помощью определенной системы знаков и символов. В основе языкового моделирования лежит некоторый тезаурус, который образуется из набора входящих понятий, причем этот набор должен быть фиксированным. Между тезаурусом и обычным словарем имеются принципиальные различия. Тезаурус - словарь, который очищен от неоднозначности, т. е. в нем каждому слову может соответствовать лишь единственное понятие, хотя в обычном словаре одному слову может соответствовать несколько понятий. Если ввести условное обозначение отдельных понятий, т. е. знаки, а также определенные операции между этими знаками, то можно реализовать знаковое моделирование и с помощью знаков отображать набор понятий - составлять отдельные цепочки из слов и предложений. Используя операции объединения, пересечения и дополнения теории множеств, можно в отдельных символах дать описание какого-то реального объекта.

Математическое моделирование - это процесс установления соответствия данному реальному объекту некоторого математического объекта, называемого математической моделью. В принципе, для исследования характеристик процесса функционирования любой системы математическими методами, включая и машинные, должна быть обязательно проведена формализация этого процесса, т. е. построена математическая модель. Исследование математической модели позволяет получать характеристики рассматриваемого реального объекта. Вид математической модели зависит как от природы реального объекта, так и от задач исследования объекта, требуемой достоверности и точности решения задачи. Любая математическая модель, как и всякая другая, описывает реальный объект с некоторой степенью приближения. Для аналитического моделирования характерно то, что процессы функционирования элементов системы записываются в виде некоторых функциональных соотношений (алгебраических, интегро-дифференциальных, конечно-разностных и т. д.) или логических условий. Аналитическая модель исследуется следующими методами: аналитическим, когда стремятся получить в общем виде явные зависимости, связывающие искомые характеристики с начальными условиями, параметрами и переменными системы; численным, когда, не умея решать уравнений в общем виде, стремятся получить числовые результаты при конкретных начальных данных; качественным, когда, не имея решения в явном виде, можно найти некоторые свойства решения (например, оценить устойчивость решения).

В настоящее время распространены методы машинной реализации исследования характеристик процесса функционирования БС. Для реализации математической модели на ЭВМ необходимо построить соответствующий моделирующий алгоритм.

При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени, причем имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получить сведения о состояниях процесса в определенные моменты времени, дающие возможность оценить характеристики системы. Основным преимуществом имитационного моделирования по сравнению с аналитическим является возможность решения более сложных задач. Имитационные модели позволяют достаточно просто учитывать такие факторы, как наличие дискретных и непрерывных элементов, нелинейные характеристики элементов системы, многочисленные случайные воздействия и др., которые часто создают трудности при аналитических исследованиях. В настоящее время имитационное моделирование - наиболее эффективный метод исследования БС, а часто и единственный практически доступный метод получения информации о поведении системы, особенно на этапе ее проектирования.

В имитационном моделировании различают метод статистического моделирования и метод статистических испытаний (Монте-Карло). Если результаты, полученные при воспроизведении на имитационной модели, являются реализациями случайных величин и функций, тогда для нахождения характеристик процесса требуется его многократное воспроизведение с последующей обработкой информации. Поэтому целесообразно в качестве метода машинной реализации имитационной модели использовать метод статистического моделирования. Первоначально был разработан метод статистических испытаний, представляющий собой численный метод, который применялся для моделирования случайных величин и функций, вероятностные характеристики которых совпадали с решениями аналитических задач (такая процедура получила название метода Монте-Карло). Затем этот прием стали применять и для машинной имитации с целью исследования характеристик процессов функционирования си-стем, подверженных случайным воздействиям, т. е. появился метод статистического моделирования.

Метод имитационного моделирования применяется для оценки вариантов структуры системы, эффективности различных алгоритмов управления системой, влияния изменения различных параметров системы. Имитационное моделирование может быть положено в основу структурного, алгоритмического и параметрического синтеза БС, когда требуется создать систему с заданными характеристиками при определенных ограничениях. Система должна быть оптимальной по некоторым критериям эффективности.

Комбинированное (аналитико-имитационное) моделирование позволяет объединить достоинства аналитического и имитационного моделирования. При построении комбинированных моделей производится предварительная декомпозиция процесса функционирования объекта на составляющие подпроцессы, и для тех из них, где это возможно, используются аналитические модели, а для остальных подпроцессов строятся имитационные модели. Такой подход позволяет охватить качественно новые классы систем, которые не могут быть исследованы с использованием только аналитического или имитационного моделирования в отдельности.

Информационное моделирование (часто называемое кибернетическим) связано с исследованием моделей, в которых отсутствует непосредственное подобие физических процессов, происходящих в моделях, реальным процессам. В этом случае стремятся отобразить лишь некоторую функцию и рассматривают реальный объект как «черный ящик», имеющий ряд входов и выходов, и моделируются некоторые связи между выходами и входами. Таким образом, в основе информационных (кибернетических) моделей лежит отражение некоторых информационных процессов управления, что позволяет оценить поведение реального объекта. Для построения модели в этом случае необходимо выделить исследуемую функцию реального объекта, попытаться формализовать эту функцию в виде некоторых операторов связи между входом и выходом и воспроизвести данную функцию на имитационной модели, причем на совершенно другом математическом языке и, естественно, иной физической реализации процесса.

Структурно-системное моделирование базируется на некоторых специфических особенностях структур определенного вида, используя их как средство исследования систем или разрабатывая на их основе с применением других методов формализованного представления систем (теоретико-множественных, лингвистических и т. п.) специфические подходы к моделированию.

Структурно-системное моделирование включает:

    методы сетевого моделирования;

    сочетание методов структуризации с лингвистическими (языковыми);

    структурный подход в направлении формализации построения и исследования структур разного типа (иерархических, матричных, произвольных графов) на основе теоретико-множественных представлений и понятия номинальной шкалы теории измерений.

Ситуационное моделирование основано на модельной теории мышления, в рамках которой можно описать основные механизмы регулирования процессов принятия решений. В ос-нове модельной теории мышления лежит представление о формировании в структурах мозга информационной модели объекта и внешнего мира. Эта информация воспринимается человеком на базе уже имеющихся у него знаний и опыта. Целесообразное поведение человека строится путем формирования целевой ситуации и мысленного преобразования исходной ситуации в целевую. Основой построения модели является описание объекта в виде совокупности элементов, связанных между собой определенными отношениями, отображающими семантику предметной области. Модель объекта имеет многоуровневую структуру и представляет собой тот информационный контекст, на фоне которого протекают процессы управления. Чем богаче информационная модель объекта и выше возможности ее манипулирования, тем лучше и многообразие качество принимаемых решений при управлении.

При реальном моделировании используется возможность исследования характеристик либо на реальном объекте целиком, либо на его части. Такие исследования проводятся как на объектах, работающих в нормальных режимах, так и при организации специальных режимов для оценки интересующих исследователя характеристик (при других значениях переменных и параметров, в другом масштабе времени и т. д.). Реальное моделирование является наиболее адекватным, но его возможности ограничены. Например, проведение реального моделирования АСУП требует, во-первых, наличия такой АСУ и, во-вторых, проведения экспериментов с управляемым объектом, т. е. предприятием, что в большинстве случаев невозможно.

Натурным моделированием называют проведение исследования на реальном объекте с последующей обработкой результатов эксперимента на основе теории подобия. Натурный экс-перимент подразделяется на научный эксперимент, комплексные испытания и производственный эксперимент. Научный эксперимент характеризуется широким использованием средств автоматизации проведения, применением весьма разнообразных средств обработки информации, возможностью вмешательства человека в процесс проведения эксперимента. В соответствии с этим появилось новое научное направление - автоматизация научного эксперимента и новая специализация в рамках специальности АСУ - АСНИ (автоматизированные системы научных исследований и комплексных испытаний). Одна из разновидностей эксперимента - комплексные испытания, когда вследствие повторения испытаний объектов в целом (или больших частей системы) выявляются общие закономерности о характеристиках качества, надежности этих объектов. В этом случае моделирование осуществляется путем обработки и обобщения сведений о группе однородных явлений. Наряду со специально организованными испытаниями возможна реализация натурного моделирования путем обобщения опыта, накопленного в ходе производственного процесса, т. е. можно говорить о производственном эксперименте. Здесь на базе теории подобия обрабатывают статистический материал по производственному процессу и получают его обобщенные характеристики. Необходимо помнить про отличие эксперимента от реального протекания процесса. Оно заключается в том, что в эксперименте могут появиться отдельные критические ситуации и определиться границы устойчивости процесса. В ходе эксперимента вводятся новые факторы и возмущающие воздействия в процесс функционирования объекта.

Другим видом реального моделирования является физическое, отличающееся от натурного тем, что исследование проводится на установках, которые сохраняют природу явлений и обладают физическим подобием. В процессе физического моделирования задаются некоторые характеристики внешней среды и исследуется поведение либо реального объекта, либо его модели при заданных или создаваемых искусственно воздействиях внешней среды. Физическое моделирование может протекать в реальном и нереальном (псевдореальном) масштабах времени или рассматриваться без учета времени. В последнем случае изучению подлежат так называемые «замороженные» процессы, фиксируемые в некоторый момент времени. Наибольшие сложность и интерес с точки зрения корректности получаемых результатов представляет физическое моделирование в реальном масштабе времени.

В непрерывной имитационной модели состояние системы представляется с помощью непрерывно изменяющихся зависи­мых переменных. Для того чтобы отличать непрерывно изме­няющиеся переменные от дискретно изменяющихся, будем первые называть переменными состояния . Непрерывная имита­ционная модель создается путем задания уравнений для сово­купности переменных состояния, динамическое поведение ко­торых имитирует реальную систему.

Модели непрерывных систем часто определяются в терми­нах производных переменных состояния. Это объясняется тем, что иногда легче задать выражение для определения скорости изменения переменной состояния, чем сделать это непосред­ственно для самой переменной. Уравнения такого вида, вклю­чающие производные переменных состояния, называются диф­ференциальными уравнениями. Пусть, например, в процессе разработки модели мы составили следующее дифференциальное уравнение для переменной состояния по времени :

Первое уравнение определяет скорость изменения как функ­цию от и , второе уравнение - начальное условие для пере­менной состояния. Цель имитационного эксперимента опре­делить реакцию переменной состояния в зависимости от ими­тационного времени.

В некоторых случаях возможно определение аналитического выражения для переменной состояния , заданного уравнением для . Однако на практике в большинстве случаев анали­тическое выражение для не известно. В результате мы долж­ны получить реакцию путем интегрирования по времени, используя уравнение следующего вида:

Каким образом выполняется интегрирование, зависит от того, использует ли разработчик аналоговый или цифровой компью­тер. В 50-х и 60-х годах аналоговые компьютеры были основным средством реализации непрерывных моделей. Аналоговые компьютеры представляют переменные состояния в модели с помощью электрических цепей. Динамическая структура сис­темы моделируется с помощью таких элементов, как резисто­ры, конденсаторы и усилители. Основной недостаток аналого­вых компьютеров состоит в том, что от характеристик этих элементов зависит точность результатов. Кроме того, в анало­говом компьютере мало логических контрольных функций и отсутствуют те возможности хранения данных, которые име­ются в цифровом компьютере.

Ряд непрерывных имитационных языков был разработан для цифровых компьютеров. Несмотря на то, что цифровой компьютер является дискретным устройством, практически любая переменная, значение которой ограничивается только размером слова компьютера, может рассматриваться как не­прерывная.

Цифровой компьютер с большой скоростью и точностью вы­полняет основные математические операции, такие, как сложе­ние, умножение и логическое тестирование. Выполнение же интегрирования требует применения числовых методов интегри­рования. При использовании этих методов независимая пере­менная (обычно время) разделяется на части, называемые шагами. Значения переменных состояния, требующие интегри­рования, получаются путем аппроксимации производных этих переменных по времени. Точность получаемых значений зави­сит от порядка аппроксимационного метода и размера шага: более высокую точность дают аппроксимации высокого порядка и наименьшие размеры шагов. Так как аппроксимации высокого порядка и небольшие размеры шага требуют больше вычисле­ний, то существует зависимость между точностью вычислений переменной состояния и затрачиваемым при этом машинным временем.

Общие сведения

При цифровом моделировании непрерывных систем необходимо обеспечить близость процессов в моделируемой непрерывной системе и в ее цифровой модели. Несовпадение этих процессов связано с двумя причинами: 1) заменой непрерывного входного процесса цифровым и 2) использованием численных методов анализа. Ошибки, связанные с заменой непрерывного процесса цифровым, были рассмотрены в предыдущей лабораторной работе. Остановимся на второй причине.

Математическая модель непрерывной системы представляет собой или нелинейное дифференциальное уравнение или совокупность соединенных между собой линейных и нелинейных блоков. В зависимости от принятой математической модели используются различные подходы к формированию цифровой модели.

Численное решение дифференциальных уравнений

Разработано большое количество методов численного решения дифференциальных уравнений. Рассмотрим, как производится численное решение на примере нелинейного дифференциального уравнения первого порядка

du /dt = f (u,x,t ). (5.1)

Здесь x = x (t ) – независимая функция (входной процесс), u = u (t ) – решение уравнения (выходной процесс).

Численное решение находится для дискретных значений аргумента t , отличающихся на шаг интегрирования Dt . В одношаговых разностных методах для нахождения следующего значения u к = u (t к) требуется информация только об одном предыдущем шаге. Из одношаговых методов наибольшую известность получили методы Рунге-Кутта. В основу метода Рунге-Кутта первого порядка, называемого также явным или прямым методом Эйлера, положено разложение функции u (t A (t k -1, u k -1):

u (t ) = S 0 + S 1 (t – t k - 1) + S 2 (t – t k - 1) 2 + …, (5.2)



где S 0 = u (t k - 1) = u k - 1 ,

S i = (1/i !)du (t )/dt при t = t k – 1 .

В методах Эйлера (и Рунге-Кутта тоже) ограничиваются только двумя первыми членами разложения в ряд. Запишем значение u k = u (t k ), приняв в выражении (5.2) t = t k и ограничившись двумя первыми членами ряда:

u k = u k - 1 + S 1 (t k – t k - 1) = u k - 1 + S 1 Δt

Учитывая, что производная du (t )/dt равна правой части дифференциального уравнения (5.1), имеем S 1 = f (u k – 1 , x k – 1 , t k – 1) и окончательно получим:

u k = u k - 1 + Δt f (u k – 1 , x k – 1 , t k – 1). (5.3)

Это выражение является приближенным решением дифференциального уравнения (5.1) прямым методом Эйлера. Оно рекуррентное и позволяет найти значение выходного процесса u k по значениям выходного и входного процессов в предыдущем такте.

На рис. 5.1 а ) проиллюстрировано решение прямым методом Эйлера.

а ) б )
Рис. 5.1

Видим, что при использовании этого метода используется линейная экстраполяция и тангенс угла наклона экстраполирующей прямой равен производной функции u (t ) в точке А . Экстраполированное значение u k отличается от точного на величину ошибки.

Неявный (обратный) метод Эйлера основан на разложении функции u (t ) в ряд Тейлора в окрестности точки В (u k , t k) (см. рис. 5.1 б ):

u (t ) = u k + S 1 (t – t k ) + S 2 (t – t k ) 2 + …,

Приняв в этом выражении t = t k – 1 и ограничившись двумя первыми членами ряда, получим

u k – 1 = u k – Δt f (u k , x k , t k ).

u k = u k – 1 + Δt f (u k , x k , t k ). (5.4)

Искомое значение процесса u k входит и в левую, и в правую части уравнения, и если не удается найти u k в явном виде, то приходится использовать приближенные методы решения этого уравнения.

Применим методы Эйлера для расчета переходной характеристики интегрирующей цепи. Передаточная функция интегрирующей цепи:

K (p ) = 1/(1 + pT ).

Отсюда дифференциальное уравнение в операторной форме:

(pT + 1)y = x

и в канонической форме:

Tdy /dt + y = x .

Перепишем его в виде (5.1):

dy /dt = (1/T )(x – y ).

Запишем рекуррентную формулу для прямого метода Эйлера в соответствии с (5.3)

y k = y k – 1 + (Δt /T )(x k – 1 – y k – 1), (5. 5)

y k = (1 – Δt /T ) y k – 1 + Δt /T x k – 1 .

Формула для обратного метода Эйлера запишется в соответствии с (5,4)

y k = y k – 1 + (Δt /T )(x k y k ).

Так кА уравнение линейное, то значение y k вычисляется в явной форме:

y k = (y k – 1 + (Δt /T )x k )/(1 + Δt /T ). (5. 6)

Методы Эйлера обладают низкой точностью. В более точных методах используются различные способы определения угла наклона экстраполирующей прямой, чтобы она прошла ближе к точному решению. Хорошей точностью обладает метод Рунге-Кутта четвертого порядка, который обычно и используется. Программы для численного решения дифференциальных уравнений имеются практически в любом пакете прикладных программ, в том числе и в LabVIEW.

Для вычислений по формулам (5.5) и (5.6) используем структуру Formula Node. Внутри этой структуры запишем точное выражение для переходной характеристики:

z = 1 – e - i Δt / T ,

и выражения для переходной характеристики, полученные прямым методом Эйлера:

y = y 1 + (Δt /T )(1 – y 1)

и обратным методом Эйлера:

v = (v 1 + (Δt /T ))/(1 + Δt /T )

при нулевых начальных условиях: y(0) = 0, v(0) = 0.

В этих выражениях использованы различные обозначения для выходных переменных и принято x = 1(t ) = 1, так как t > 0.

На рис. 5.2 показана эта структура. В формулах Δt обозначена как dt .

Рис. 5.2 Рис. 5.3

Напомним, что для образования входных и выходных терминалов нужно щелкнуть ПКМ на границе структуры в предполагаемом месте терминала и в раскрывшемся меню выбрать Add Input или Add Output.

Для формирования массивов выходных переменных структура Formula Node помещается внутрь структуры For Loop, при этом задержанные на интервал дискретизации отсчеты выходных переменных y 1 и v 1 получаются с помощью регистра сдвига (рис. 5.3).

Прямой метод Эйлера при большом интервале дискретизации может дать неустойчивое решение. Это случится, если отклонение решения от входного процесса x k – 1 – y k – 1 (см формулу (5.5)) даст такое значение y k . что отклонение на следующем шаге x k y k будет той же величины, что и предыдущее, но обратным по знаку. Решение будет колебательным незатухающим.

К графическому индикатору
Рис. 5.4

В предыдущих лабораторных работах развертка графического индикатора Graph осуществлялась автоматически в соответствии с типом данных, подаваемых на вход графического индикатора. В этой работе мы сформируем данные так, чтобы по горизонтальной оси откладывалось время. Для этого надо сформировать кластер, куда кроме массива данных будет входить информация о времени. Используем ВП Bundle (Объединить), который находится в подпалитре Cluster (Кластер). На его входы element подаются (см. рис. 5.4): на верхний – время начала развертки – 0; на средний – интервал дискретизации – Δt; на нижний – массив данных

Замена непрерывной передаточной функции дискретной

Если математическая модель системы представляется в виде соединения линейных и нелинейных блоков, то для описания линейных блоков чаще всего используется передаточная функция K (p ). В этом случае цифровую модель непрерывного линейного блока можно получить, заменив непрерывную передаточную функцию K (p ) дискретной K (z ).

Для этого можно использовать связь между непрерывными и дискретными изображениями, устанавливаемую дискретным преобразованием Лапласа (Z -преобразованием). В таблице 5.1 приведена эта связь для передаточных функций, используемых в данной лабораторной работе.

Таблица 5.1

K (p ) 1 p p 2 (1 + pT )
K (z ) Δt z (z – 1) t ) 2 z (z – 1) 2 t /T )z (z – e - Δt /T )

Заметим, что здесь комплексная переменная z определяется как z = e p Δt и является оператором опережения на интервал дискретизации. Соответственно z -1 – это оператор задержки на интервал дискретизации.

Другой путь предусматривает непосредственный переход от комплексной переменной p к комплексной переменной z заменой операции аналогового интегрирования 1/p операцией дискретного интегрирования. При дискретном описании аналогового интегрирования можно оперировать только с значениями входного и выходного процессов в моменты дискретизации. На рис. 5.5 показано, как это можно сделать, используя численное интегрирование по методу прямоугольников и по методу трапеций.

Значение выходного процесса y k интегратора в момент времени t = k Δt отличается от предыдущего значения y k -1 на величину площади S под кривой x (t ) (заштрихованная фигура на рис. 5.5 а ).

y k = y k- 1 + S y k = y k- 1 + Δt x k- 1 y k = y k- 1 + Δt x k y k = y k - 1 + +Δt (x k + x k - 1)/2
а ) б ) в ) г )
Рис. 5.5

По методу прямоугольников площадь можно определить по разному в зависимости от того, какую величину принять за высоту прямоугольника: x k - 1 или x k (рис. 5.5 б и рис. 5.5 в ). На рис. 5.5 г ) показано, как вычисляется эта площадь по методу трапеций. Рекуррентные формулы для интегрирования приведены под рисунками.

По этим формулам можно записать дискретные передаточные функции. Поясним это на примере интегрирования по методу трапеций:

y k = y k - 1 + Δt (x k + x k - 1)/2.

Перенесем y k - 1 в левую часть и возьмем от полученного выражения Z -преобразование. Учитывая, что запаздывание на интервал дискретизации в области оригиналов соответствует умножению на z -1 в области изображений, получим:

Y (z ) – z - 1 Y (z ) = (Δt /2)(X (z ) + z - 1 X (z )).

Дискретная передаточная функция – это отношение Z -изображений выходной и входной переменных, поэтому

K (z ) = Y (z )/X (z ) = (Δt /2)(1 + z -1)/(1 – z -1) = (Δt /2)(z + 1)/(z – 1).

В таблице 5.2 приведены выражения дискретных передаточных функций для различных методов численного интегрирования для одного и двух интеграторов.

Таблица 5.2

K (p ) K (z )
Метод прямоугольников (1) Метод прямоугольников (2) Метод трапеций
p Δt z – 1 Δt z z – 1 Δt (z + 1) 2 (z – 1)
p 2 t ) 2 (z +1) 2(z – 1) 2 t ) 2 z (z – 1) 2 t ) 2 (z 2 + 4z + 1) 6(z – 1) 2

Видим, что одно и то же аналоговое устройство может описываться отличающимися дискретными передаточными функциями.

В таблице 5.1 была приведена дискретная передаточная функция интегрирующей цепи (для которой К (р ) = 1/(1 + рТ )), полученной применением Z -преобразования. Найдем другие варианты дискретной передаточной функции интегрирующей цепи, отличающиеся методами численного интегрирования.

При использовании метода прямоугольников (1) в передаточную функцию K (p ) = 1/(1 + pT ) вместо р нужно подставить (z – 1)/Δt . Тогда получим

Δt /T z – (1 – Δt /T )

K (z ) = 1/(1 + (z – 1)T t ) = .

Аналогично можно получить дискретные передаточные функции и для других методов численного интегрирования. Они представлены в таблице 5.3. Принято обозначение Δt /T = α

Таблица 5.3

Этим передаточным функциям соответствуют следующие рекуррентные формулы.

Для Z -преобразования

y k = e - α y k – 1 + αx k . (5.7)

Для численного интегрирования по методу прямоугольников (1)

y k = (1 – α)y k – 1 + αx k - 1 .

Полученная формула совпадает с формулой для прямого метода Эйлера

Для численного интегрирования по методу прямоугольников (2)

y k = (1/(1 + α))y k – 1 + (α/(1 + α))x k . (5.8)

и по методу трапеций

y k = ((2 – α)/(2 + α))y k – 1 + (α/(2 + α))(x k + x k – 1). (5.9)

В лабораторной работе производится оценка ошибок цифрового моделирования для каждого из этих методов.

Моделирование линейных замкнутых систем

Нужно быть очень внимательным при выборе интервала дискретизации, когда моделируются замкнутые системы. В этих системах текущее значение входного процесса сравнивается со значением выходного процесса, рассчитанного по предыдущим значениям входного процесса. Это экстраполированное значение не должно значительно отличаться от входного процесса. В противном случае возникают большие ошибки моделирования, а при большом интервале дискретизации процесс может стать неустойчивым. Выбор интервала дискретизации нужно связывать с полосой пропускания замкнутой системы. Проводя аналогию с теоремой Котельникова, можно потребовать, чтобы Δf 0,1 Δt = 5 – 10, где Δf 0,1 – полоса пропускания замкнутой системы по уровню 0,1.

Запишем дискретную передаточную функцию разомкнутой системы, заменяя интеграторы по методу прямоугольников (2). Для этого преобразуем передаточную функцию разомкнутой системы (5.10), поделив числитель и знаменатель на р 2:

К р (р ) = .

Используя соотношения, приведенные в таблице (5.2), получим:

К t ) 2 z /(z – 1) 2 Т + Δt z /(z – 1)
b 1 z z 2 + a 1 z + a 2

К р (z ) = = , (5.11)

где b 1 = K t ) 2 /(T + Δt ), a 1 = - (2T + Δt )/(T + Δt ), a 2 = T /(T + Δt ).

Для моделирования устройства с передаточной функцией (5.11) используется БИХ-фильтр, коэффициенты числителя которого (Forward Coefficients) представляются массивом из двух элементов (0,b 1), а коэффициенты знаменателя – массивом из трех элементов (1, a 1 ,a 2). Специфика использования БИХ-фильтра заключается в том, что неизвестен целиком входной массив Х , а известен только текущий элемент, а следующий элемент рассчитывается с учетом значения текущего элемента выходного массива фильтра. В LabVIEW существует такой фильтр – IIR Filter PtByPt (IIR Filter Point By Point – БИХ-фильтр точка за точкой).


Рис. 5.6

Вычисления БИХ-фильтром IIR Filter PtByPt производятся в цикле For Loop (рис. 5.6). В этом же цикле генерируется единичное входное воздействие. Автоматическое появление в цепи обратной связи регистра сдвига обусловлено тем, что рассчитанное значение выходного процесса используется для сравнения с входным только в следующем интервале дискретизации, то есть с запаздыванием на интервал дискретизации. В результате вычислений формируется массив переходной характеристики.

Для точного расчета переходной характеристики воспользуемся ВП ODE Linear nth Order Numeric – “Решение линейного обыкновенного дифференциального уравнения n-го порядка в численном виде” (рис.5.7).


Рис. 5.7

ВП находит решение в виде суммы экспонент и вычисляет его для заданных точек. Поэтому решение точное.

Вход А представляет собой массив коэффициентов дифференциального уравнения в порядке увеличения степени производной. Коэффициент при производной самой высокой степени считается равным 1 и не требует ввода.

На вход Х0 подается массив начальных условий – начальные значения решения и его n – 1 -й производных.

Вход “число точек” задает число равноудаленных по времени точек между начальным и конечным временем

Выход Х содержит массив значений решения в равномерно расположенных по оси времени точках. Значение времени в этих точках выводится в массиве Times.

Дифференциальное уравнение замкнутой системы запишем по передаточной функции замкнутой системы:

К р (р ) 1 + К р (р )
К Тр 2 + р + К

К з (р ) = = , (5.12)

Дифференциальное уравнение замкнутой системы

Td 2 y /dt 2 + dy /dt + Ky = Kx

Запишем однородное дифференциальное уравнение, учитывая, что коэффициент при высшей производной должен быть равен 1

d 2 y /dt 2 + (1/Т )dy /dt + (K /Т )y = 0

Для компьютерного решения этого уравнения нужно задать массив А = (К /Т , 1/Т ). Чтобы получить переходную характеристику, нужно задать массив Х = (- 1, 0) и к решению прибавить 1.

Полностью блок-схема программы моделирования замкнутой системы приведена на рис. 5.8.

k
K
T
k
dt

Рис. 5.8

Контрольные вопросы

1. В каком виде записывается нелинейное дифференциальное уравнение первого порядка для численного решения?

2. Как записывается разложение функции в ряд Тейлора?

3. Поясните графически решение дифференциального уравнения прямым методом Эйлера.

4. Как записывается рекуррентная формула для численного решения нелинейного дифференциального уравнения первого порядка прямым методом Эйлера?

5. Поясните графически решение дифференциального уравнения обратным методом Эйлера.

6. Как записывается рекуррентная формула для численного решения нелинейного дифференциального уравнения первого порядка обратным методом Эйлера?

7. Запишите дифференциальное уравнение интегрирующей цепи в форме, удобной для решения методом Эйлера.

8. Запишите рекуррентную формулу для численного решения дифференциального уравнения интегрирующей цепи прямым методом Эйлера.

9. Запишите рекуррентную формулу для численного решения дифференциального уравнения интегрирующей цепи обратным методом Эйлера.

10. Какие два пути используются при замене непрерывной передаточной функции дискретной передаточной функцией?

11. Запишите рекуррентную формулу для численного интегрирования по методу прямоугольников (1).

12. Запишите рекуррентную формулу для численного интегрирования по методу прямоугольников (2).

13. Запишите рекуррентную формулу для численного интегрирования по методу трапеций.

14. Выведите дискретную передаточную функцию интегратора по методу прямоугольников (1).

15. Выведите дискретную передаточную функцию интегратора по методу прямоугольников (2).

16. Выведите дискретную передаточную функцию интегратора по методу трапеций.

17. Почему одно и то же аналоговое устройство может описываться отличающимися дискретными передаточными функциями?

18. Какая структура используется для вычислений по рекуррентным формулам?

19. Откуда при моделировании берется значение y k – 1 , необходимое для расчета y k ?

20. Как образовать терминалы для ввода и вывода переменных в структуре Formula Node?

21. Почему при моделировании замкнутой системы используется ВП IIR Filter PtByPt, а не ВП IIR Filter?

22. Почему при соединении выхода БИХ-фильтра с его входом в цепи обратной связи автоматически появляется регистр сдвига?

23. Для чего используется ВП ODE Linear nth Order Numeric?

24. Для чего используется ВП Bundle (Объединить)?

Программа работы

1.Вызвать пакет LabVIEW. Открыть New VI.

2. Численное решение дифференциального уравнения интегрирующей цепи методами Эйлера.

2.1. Сформировать лицевую панель создаваемого ВП. На лицевую панель вывести цифровые элементы управления “Постоянная времени Т”, “Интервал дискретизации dt”, “Множитель развертки k”. Поместить на лицевую панель графический индикатор Graph. Разместить под графическим индикатором палитру элементов управления графиком (Graph Palette) и панель редактирования курсора (вывести два курсора разного цвета).

2.2. В окно BD поместить структуру Formula Node. Поместить внутри нее программу расчета переходной характеристики интегрирующей цепи по точной формуле и по формулам для прямого и обратного методов Эйлера (рис. 5.2). На границе структуры поместить терминалы для всех входных и выходных величин. Размер структуры взять таким, чтобы в ней можно было разместить еще четыре строчки.

2.3. Поместить структуру Formula Node внутрь структуры For Loop. Задать число итераций равным (T*k/dt). На границах структуры For Loop поместить терминалы регистров сдвига для переменных y и v, чтобы получить задержанные значения y1 и v1. Установить нулевые начальные условия (рис. 5.3).

2.4. Подсоединить к терминалам dt и Т структуры Formula Node выходы соответствующих элементов управления.

2.5. Одномерные массивы выходных величин z, y и v объединить в многомерный массив, используя функцию Build Array.

2.6. Сформировать кластер, используя функцию Bundle (рис.5.4). К верхнему входу element подсоединить 0, к среднему – dt, к нижнему массив с выхода ВП Build Array. Убедиться в отсутствии ошибок в собранной блок-диаграмме.

2.7. Задать постоянную времени в соответствии с выполняемым вариантом.

Вариант
Т , с 0.1 0.4 0.8 0,2 0,5 0,9 0,3 0,6 1,0 0,7

Интервал дискретизации dt взять в 20 раз меньше постоянной времени Множитель развертки – 5 – 10. Запустить моделирование. Убедиться в близости всех решений.

2.8 Исследовать влияние интервала дискретизации на ошибку решения дифференциального уравнения методами Эйлера. Вывести вертикальную линию курсора на время, равное 2Т. Закрепить один курсор на точном решении (белый график): щелчок ЛКМ на кнопке в панели редактирования курсоров. В раскрывшемся меню выбрать Plot 0. Второй курсор поочередно закреплять на Plot 1 и Plot 2. Проделать замеры ошибок для прямого и обратного методов Эйлера для интервалов дискретизации равных 0,05Т; 0,1Т; 0,2Т; 0,5Т; Т; 2Т. При каком интервале дискретизации решение прямым методом Эйлера становится неустойчивым? Объясните, почему.

3. Моделирование интегрирующей цепи заменой непрерывной передаточной функции дискретной передаточной функцией

3.1. Поместить Разработанную блок-диаграмму в структуру Case Structure так, чтобы вся блок-диаграмма кроме элементов управления и графического индикатора с формирователем кластера оказалась внутри структуры. Напомним работу с этой структурой. Переключение вариантов произведем с помощью строковой переменной. Активизировать FP. Поместить на лицевую панель переключатель вариантов: Controls → All Controls → Ring & Enum → Enum. Озаглавить его “Варианты”. Активизировать BD. Подсоединить выход узла “Варианты” к терминалу селектора вариантов . В переключателе вариантов (на верхней границе структуры) вместо True и False появятся цифры 1 и 0. Заметим, что собранный в п.2 генератор соответствует цифре 1. Назвать варианты: щелкнуть ПКМ на узле Enum; в появившемся меню выбрать опцию Properties. В раскрывшемся окне Enum Properties открыть закладку Edit Items. В области Items набрать названия вариантов: “Передаточные функции” (ему присваивается символ 0) и “Дифференциальное уравнение” (символ 1). Подтвердить установку – ОК.

3.2. Скопировать всю схему варианта “Дифференциальное уравнение” и вставить ее в вариант “Передаточные функции”. Восстановить все нарушенные соединения.

3.3. Моделирование будем проводить по рекуррентным формулам (5.7) – (5.9). Перепишем их, обозначив переменные другими буквами.

y k = e - α y k – 1 + αx k ,

v k = (1/(1 + α))v k – 1 + (α/(1 + α))x k ,

w k = ((2 – α)/(2 + α))w k – 1 + (α/(2 + α))(x k + x k – 1)

Напомним, что α = dt/T.

Внести изменения в записи внутри структуры Formula Node в соответствии с рис. 5.9.

Рис. 5.9

Поместить терминалы на границе структуры для вновь введенных переменных. Ввести для новых переменных регистры сдвига в структуре For Loop.

Четыре выходных массива z, y, v и w объединить функцией Build Array. Убедиться в отсутствии ошибок.

3.4. Замерить ошибки для этих трех методов, используя курсоры для того же значения постоянной времени Т, что и в п.2 для значений интервала дискретизации dt, равного 0,1Т и 0,5Т для того же момента времени 2Т.

3.5. Сравнить исследованные в п.2 и п.3 методы по точности, приведя необходимые графики.

4. Моделирование замкнутой системы.

4.1. Добавить в переключатель вариантов “Варианты” к имеющимся двум еще один, назвав его “Замкнутая система”. Для этого щелкнуть ПКМ по узлу Варианты (Enum), в раскрывшемся меню выбрать Properties, в окне Enum Properties открыть закладку Edit Items. В области Items набрать указанное название варианта. Ему автоматически присвоится цифра 2. Щелкнуть ПКМ по границе структуры Case. В раскрывшемся меню выбрать Add Case for Every Value (Добавить варианты для каждого значения).

4.2. На лицевой панели поместить цифровой элемент управления, назвав его “Коэффициент передачи”

4.3. Собрать блок-схему программы по рис. 5.8. Количество итераций N такое же, как и в предыдущих вариантах.

4.6. Убедиться в отсутствии ошибок. Задать значения К и Т в соответствии с выполняемым вариантом

Вариант
К
Т, с 0,05 0,033 0,02 0,012 0,008 0,04 0,025 0,017 0,01 0,007

4.7. Исследовать влияние интервала дискретизации на ошибку моделирования приняв за показатель точности величину первого выброса в переходной характеристике h m , а отношение Dh m /h m – за относительную ошибку моделирования. Здесь Dh m – разность между h m при выбранном шаге моделирования и точном значении h m . За точное значение h m принять его значение при Δt = 0,0001

Результаты измерений свести в таблицу:

Лабораторная работа №6