Ищу помощь в репликации LabView VI - Ошибки возникают при построении графиков при изменении входных данных - PullRequest
1 голос
/ 28 апреля 2020

Я в некотором роде новичок в LabVIEW и пытался воспроизвести ВП, найденный в следующей статье, для моделирования дыхания в теле человека с использованием этой схемы:

Circuit Model Diagram for Respiration

https://www.ijert.org/research/modeling-simulation-and-analysis-of-lung-mechanics-using-labview-IJERTV1IS6524.pdf

Изображение блок-схемы из бумаги, которую я копировал: Circuit Model Diagram for Respiration

ВП из бумаги выглядит как на изображении выше, которое я воспроизвел и удостоверился, что получаю те же графики при использовании тех же входов: RC = 1 см H2Os / L, RP = 0,5 см H2Os / L, CL = 0,2 л / см H2O, CW = 0,2 L / см H2O и CS = 0,005 л / см H2O. Ввод амплитуды синусоидальной волны равен 2,5, а вдох / мин - 15. Эти входные данные относятся к модели для взрослых.

Мои результаты соответствуют следующей картинке из бумаги:

Circuit Model Diagram for Respiration Проблемы:

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

Например, когда я хочу, чтобы входы в ВП были:

RC = 18,1 см H2Os / L, RP = 19,2 см H2Os / L, CL = 0,008 л / см H2O, CW = 0,02 л / см H2O1 и CS = 0,0018 л / см H2O и число вдохов в минуту 35, я получаю графики, которые волнуются и выглядят следующим образом. Они начинают нормально на секунду, а потом выглядят как ничто.

Error shown in these Graphs, not sinusoidal as desired

Единственный способ, которым я получаю синусоидальные графики, которые выглядят корректно с моими новыми входами, это когда я связываюсь с задержкой транспорта и помещаю ее с большей задержкой 20 секунд. В статье со взрослыми значениями я полагаю, что задержка составляет 1 сек c для этой функции задержки переноса, потому что это привело меня к тем же результатам. Я полагаю, что модель все еще должна работать с новыми дочерними значениями, но это просто похоже на то, что задержка транспорта портится с ней, или это что-то еще? Я не уверен, почему задержка транспорта происходит лично, поскольку я новичок, но я предполагаю, что если я увеличу ее до 20 секунд, чтобы графики стали синусоидальными, модель больше не будет точной.

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

Спасибо.

1 Ответ

1 голос
/ 28 апреля 2020

В общем, модель электрической схемы c довольно проста и всегда должна иметь синусоидальные решения. Поэтому здесь нет странного поведения для некоторых диапазонов параметров.

Однако компьютерное моделирование имеет свои ограничения. Например, синусоидальная кривая, построенная с 50 точками за период, приводит к хорошей, гладкой кривой. Имея всего 5 баллов, требуется много воображения, чтобы распознать этот график как синусоидальную кривую.

И если эти точки используются в качестве входных данных для моделирования, результат будет хорошим для 50 баллов, но странным (и неправильным ) всего за 5 баллов за период.

Поэтому не используйте слишком мало баллов!

Небольшие числа также могут вызвать проблемы. Симуляция вычисляет, сколько воздуха будет течь за время между двумя точками. Если за период существует много точек, время становится очень коротким, и вычисленный объем может быть рассчитан как ровно ноль, поскольку он меньше, чем может содержать тип данных.

Для вашего моделирования я бы изменил представление данных в EXT (расширенное, 64-битное с плавающей запятой) и использование ... может составлять от 100 до 1000 точек за период.

К сожалению, вы не показали свою блок-диаграмму, поэтому мы не можем дать больше советов .


Наконец, мне интересно, какова цель статьи. Я бы сказал: не было решить проблему в первую очередь. Это должно было показать, что LabVIEW можно использовать для симуляции, подобной той, которая решает проблему ...

Проблема может быть решена аналитически, то есть точно, без симуляции, даже без интегралов.

...