Как стать автором
Обновить
7.73

Matlab *

Математическое моделирование и одноимённый ЯП

Сначала показывать
Порог рейтинга
Уровень сложности

Блеск и нищета модельно ориентированного проектирования по авиационным стандартам DO-331

Время на прочтение14 мин
Количество просмотров4.2K

В предыдущих статьях про модельно-ориентированное проектирование Как не повторить Чернобыль, Электропривод с бесколлекторным двигателем постоянного тока, и Создание достоверной модели, на примере авиационного теплообменника, я показал на примерах, что не все методики модельно-ориентированного проектирования (МОП) одинаково полезны.


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


По моему мнению, моделирование одной только системы управления без создания модели объекта является ущербным. Поэтому, когда вы слушаете рассказы поставщиков моделирующего софта для разработки ПО, необходимо понимать о чем идет речь: о новых передовых методиках разработки систем или о модельно-ориентированном проектировании в понимании авиационного стандарта DO-331.




Нужно помнить, что МОП в авиационных стандартах отражает устаревший и консервативный подход к модельно-ориентированной разработке ПО. И в этом подходе, даже если ваша модель – это только набор UML диаграмм, где собраны требования к ПО, это все равно будет модельно-ориентированное проектирования в терминах DO-331.


Предлагаю перевод статьи «DO-331 Model based development for engineer and manager», публикуемый мной с любезного разрешения автора Vance Hilderman (vance.hilderman@afuzion.com) Vance Hilderman www.afuzion.com


Данный текст позволит сориентироваться в основных положениях стандарта DO-331, терминах и понятиях, которые в нем используются.

Читать дальше →

Автоматическая проверка требований ТЗ в процессе динамического моделирования

Время на прочтение10 мин
Количество просмотров3.9K

Продолжая тему «Какие ваши доказательства?», посмотрим на проблему математического моделирования с другой стороны. После того как мы убедились, что модель соответствует сермяжной правде жизни, можно отвечать на основной вопрос: «а что, собственно, мы тут имеем?». Создавая модель технического объекта, мы, как правило, хотим убедиться, что этот объект будет соответствовать нашим ожиданиям. Для этого и проводятся динамические расчёты процессов и результат сравнивается с требованиями. Это и есть цифровой двойник, виртуальный прототип и прочее. модные шняги, которые на стадии проектирования решают задачу, как сделать так, чтобы мы получили то, что планировали.


Как же нам быстро убедится что наша система это именно то что мы проектируем, полетит ли или поплывет ли, наша конструкция? А если полетит то как высоко? А если поплывет, то как глубоко?


Читать дальше →

Модель параллельных вычислений

Время на прочтение16 мин
Количество просмотров8.4K

1. Введение. Конкурентный корутинизм


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

Стандарт С++ включил в свой состав долгожданную поддержку многопоточности [1]. Но не будем ни восхищаться этим, ни критиковать сей факт, т.к. работа с потоками отягощена таким множеством условий, оговорок и особенностей, что без реальных примеров, выявляющих проблемы многопоточности, обсуждение многопоточного программирования будет не только поспешным, но и достаточно предвзятым. Поэтому далее в основном не о потоках, а об автоматах, имея в виду, конечно, и первые.
Читать дальше →

Через всю географию: навигационные и геодезические задачи на разных языках

Время на прочтение18 мин
Количество просмотров9.5K

Приветствую вас, глубокоуважаемые!


«… истинное место судна хотя и неизвестно, но оно не случайно, оно есть, но неизвестно в какой точке» Алексишин В. Г. и др. Практическое судовождение, 2006. стр. 71
«С двух краев галактики вышли пешеходы...» (С) Сергей Попов (Астрофизик)
В свете новых тенденций стиля арт-нуво я хотел написать о решении геодезических задач на плоской земле. Но пока еще заявление о том, что форма земли удобно аппроксимируется эллипсоидом не является ересью и крамолой, предлагаю всем интересующимся приобщиться к более консервативным моделям.

  • расстояние между двумя географическими точками
  • определение точки по известной, расстоянию до нее и азимутальному углу
  • определение положения точки по измеренным дальностям до известных точек (TOA, TOF)
  • определение положения точки по измеренным временам прихода сигнала (TDOA)

Все это на C#, Rust и Matlab, на сфере и эллипсоидах, с картинками, графиками, исходным кодом — под катом.

А это, релевантная КДПВ:


Читать дальше →

Автомат — вещь событийная?

Время на прочтение17 мин
Количество просмотров5.9K

1. Введение


Услышав из авторитетных уст, что «автоматы — вещь событийная» [3], понял, что конечные автоматы заклеймили окончательно. Судите сами: в библиотеке Qt реализована событийная модель автоматов [1], в UML — они же [2], смотрим на автоматы пакета расширений Simulink-Stateflow системы MATLAB [4] (далее просто Stateflow) и там о событиях и т.д. и т.д. В таком контексте утверждение д.т.н. А.А. Шалыто трактовать по-другому сложно, т.к. ничего иного уже не может быть, потому что быть не может.

Но, если вспомнить теорию конечных автоматов (ТКА), то в ней о событийных автоматах нет ни слова! Но чтобы противоречить теории нужны веские аргументы. А есть ли основания сомневаться в профессионализме Д. Харелла, как создателя нотации, на которой базирует свои идеи язык UML, пакет Stateflow, которые в свою очередь небезызвестны А.А. Шалыто? Ведь, UML, Stateflow, SWITCH-программирование и иные варианты автоматного программирования существуют и в той или иной мере успешно работают.

Так можно ли снять «клеймо событийности» с модели конечных автоматов, отделив «котлеты от мух»? Т.е. разделить теорию автоматов и вычислительные модели, подобные модели Д.Харела. И считать, что последние, хотя и используют терминологию теории автоматов, представляют, судя по их реализации, развитие модели блок-схем программ.
Читать дальше →

Matlab vs. Julia vs. Python

Время на прочтение9 мин
Количество просмотров15K
Я использовал MATLAB более 25 лет. (А до этого я даже использовал MATRIXx, земля ему пухом.) Это не первый язык, на котором я научился программировать, но это тот язык, с которым я достиг математического совершеннолетия. Знание MATLAB было полезным для моей карьеры.

Тем не менее, невозможно игнорировать рост Python в научных вычислениях. MathWorks должен чувствовать то же самое: они не только добавили возможность вызывать Python напрямую из MATLAB, но и заимствовали некоторые его языковые функции, такие как более агрессивную передачу для компонентов бинарных операторов.

Наступил момент, когда я подверг сомнению мое постоянное использование MATLAB как в исследованиях, так и в преподавании. Тем не менее я столько вложил в материалы, что было трудно найти мотивацию, чтобы научиться чему-то новому.
Читать дальше →

Современный метод измерения импульсной характеристики и нелинейных искажений

Время на прочтение4 мин
Количество просмотров7K
В 2000 году профессор Пармского университета Анджело Фарина предложил оригинальный метод одновременного измерения импульсной характеристики и нелинейных искажений с помощью гармонического сигнала экспоненциально изменяющейся частоты (далее ESS – exponential sine sweep).

Для получения этих характеристик необходимо записать воздействие ESS-сигнала на испытуемое устройство и найти взаимную корреляционную функцию записанного сигнала с исходным ESS-сигналом, но промодулированным по амплитуде (подробнее об этом можно узнать в публикациях А.Фарина).
Читать дальше →

Применение MATLAB/Simulink с аппаратурой производства АО «ИнСис»

Время на прочтение6 мин
Количество просмотров10K
Важной практической задачей является использование Matlab/Simulink с реальной аппаратурой которая позволит принять сигнал из реального мира. Это очень полезно для отладки алгоритмов. В данной работе представлена технология подключения к Simulink устройств АЦП производства АО «ИнСис». Для подключения используется DLL, которая видна в Simulink как компонент sm_adc. Для работы с аппаратурой используется отдельная консольная программа. Связь с DLL производится через разделяемую память. По данной технологии могут быть подключены любые АЦП на любых несущих модулях АО «ИнСис». В работе представлена система из генератора A7_DAC и модуля сбора FMC128E/FM412x500M.

Данная работа демонстрировалась на конференции «Технологии разработки и отладки сложных технических систем» 27-28 марта 2018 года.



Читать дальше →

«Технология» получения уравнений динамики ТАУ. И почему System Identification is sucks, а рулит «честная физика»

Время на прочтение6 мин
Количество просмотров9.8K
При обсуждении предыдущей статьи про модельно-ориентированное проектирование возник резонный вопрос: если мы используем данные эксперимента, а можно ли поступить еще проще, засунуть данные в System Identification и получить модель объекта, не заморачиваясь с физикой вообще? Не изучая всякие многоэтажные формулы Навье-Стокса, Бернулли и прочих Штангель циркулей с Рабиновичами? Испытали объект – получили результат.

image

Мы же представляли модель ракеты ФАУ2 в виде одной передаточной функции, можно посмотреть здесь… И, вроде, все работало. Зачем же нам нужно сначала изучать математический анализ и дифференциальные исчисления, когда есть волшебная кнопка, получающая модель из испытаний?
Читать дальше →

Играемся с комплексными числами

Время на прочтение3 мин
Количество просмотров13K
Привет!

Очередной очерк. На этот раз поиграемся с комплексными числами, с формулами и их визуализацией.


Читать дальше →

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Время на прочтение39 мин
Количество просмотров426K
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



Встретимся «внутри»!
Читать дальше →

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib

Время на прочтение10 мин
Количество просмотров22K
Привет!

Тут мы опишем работу некоторого поля а затем сделаем пару красивых фичей (тут все ОЧЕНЬ просто).



Что будет в этой статье.

Общий случай:

  1. Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy)
  2. Опишем материальную точку и поле взаимодействия

Частный случай (на основе общего):

  1. Сделаем визуализацию векторного поля напряженности электромагнитного поля (первая и третья картинки)
  2. Сделаем визуализацию движения частиц в электромагнитном поле

Встретимся под катом!
Читать дальше →

Модельно ориентированное проектирование. Создание достоверной модели, на примере авиационного теплообменника

Время на прочтение12 мин
Количество просмотров11K
«Если на клетке слона прочтёшь надпись «буйвол», не верь глазам своим» Козьма Прутков

В предыдущей статье о модельно-ориентированном проектировании было показано, зачем нужна модель объекта, и доказано, что без этой модели объекта про model based design можно говорить только как о маркетинговой пурге, бессмысленной и беспощадной. Но при появлении модели объекта у грамотных инженеров всегда возникает резонный вопрос: какие есть доказательства, что математическая модель объекта соответствует реальном объекту.




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

Читать дальше →

Ближайшие события

«Манифест начинающих программистов из смежных специальностей» или как я дошел до жизни такой

Время на прочтение6 мин
Количество просмотров14K

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


Да, я понимаю, что мой опыт — это только мой опыт, однако он, мне кажется, хорошо попадает в общую тенденцию. Более того, опыт, описанный ниже, больше относится к сфере научной деятельности, однако чем чёрт не шутит — может пригодится и вне.



Источник: https://xkcd.com/664/


В общем, всем настоящим студентам от бывшего студента посвящается!


Ожидания


Когда в 2014 году я заканчивал бакалавриат по специальности "Инфокоммуникационные технологии и системы связи" я почти ничего не знал о мире программирования. Да, у меня, как и у многих, был на первом курсе предмет "Информатика" — но, господи, это же было на первом курсе! Прошла целая вечность!


В общем и целом, ничего особенно отличного от бакалавриата я не ждал, и поступая на магистерскую программу "Communication and Signal Processing" Германо-Российского Института Новых Технологий.


А зря...

Читать дальше →

Исследование системы магнитной левитации с модальным управлением

Время на прочтение5 мин
Количество просмотров9.6K

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


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


image

Наиболее значимое применение, пожалуй, нашлось в поездах с системой левитации на сверхпроводниках. И это обусловлено такими преимуществами, как большая надёжность (из-за отсутствия трения), относительно низкое энергопотребление, способность развить большую скорость.


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


Если коротко, то магнитная левитация – это устойчивое положение объекта на определенном расстоянии в гравитационном поле, когда, как правило, ускорение свободного падения компенсируется ускорением объекта, которое создаётся магнитным полем. При этом возникает подъёмная сила.


Магнитная левитация реализуется с помощью диамагнетиков, систем вихревых токов и сверхпроводников, а также с помощью сервомеханизмов.


В текущем материале (под катом) будет рассмотрено модальное управление для линеаризованной системы магнитной левитации, а также реализация модального управления для нелинейной модели системы.

Читать дальше →

Почти самый простой MIMO канал с замираниями (модель Кронекера прилагается)

Время на прочтение15 мин
Количество просмотров15K

Всем доброго времени суток!


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


Более того, в сегодняшней статье мы слегка коснемся вопросов пространственной корреляции MIMO каналов, которые традиционно разбираются в рамках курса профессора Хаардта "Mobile communications" (CSP), и поэтому, я думаю, такая публикация тем более не будет лишней. И, отмечу сразу, круг вопросов не ограничивается применением только в мобильной связи.


В общем, всех интересующихся тематикой беспроводной связи приглашаю к прочтению, и поехали!



Colin Slater "Fading memories". Да, сводить всё к одной теме — это, наверное, перебор, однако какой-то такой метафорой, я думаю, можно представить, что именно получает приемник после всевозможных воздействий на изначальный, информационный сигнал...

Читать дальше →

Модельно ориентированное проектирование. Электропривод с бесколлекторным двигателем постоянного тока

Время на прочтение5 мин
Количество просмотров15K
В предыдущей статье про модельно ориентированное проектирование было показано, что не все методики одинаково полезны. И объясняется как делать правильно, что бы не было потом мучительно больно. Но в конце статье был поставлен вопрос, провокационный как Шарон Стоун на допросе у следователей: модельно ориентированное проектирование это конечно хорошо, но как доказать, что модель соответствует объекту? Какие ваши доказательства?


Общий ответ на данный вопрос еще готовится, но про частный зато реальный и свежий пример могу привести прямо сейчас. Оказался тут у меня в руках, как всегда случайно, текст от ведущего специалиста нашей страны по электроприводу Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. вместе с его любезным согласием на публикацию. Данный текст еще готовится к публикации в специализированных издания, но читатели хабра увидят его первые.

Далее под катом
Калачев Ю. Н., Ланцев В.Ю., Окулов Е.В.
Электропривод с бесколлекторным двигателем постоянного тока
(практика применения моделирования и кодогенерации в АО «Аэроэлектромаш»)

Читать дальше →

Оптимальная линейная фильтрация: от метода градиентного спуска до адаптивных фильтров

Время на прочтение10 мин
Количество просмотров23K

Развивая тему конспектов по магистерской специальности "Communication and Signal Processing" (TU Ilmenau), продолжить хотелось бы одной из основных тем курса "Adaptive and Array Signal Processing". А именно основами адаптивной фильтрации.


Для кого в первую очередь была написана эта статья:

1) для студенческой братии родной специальности;
2) для преподавателей, которые готовят практические семинары, но ещё не определились с инструментарием — ниже будут примеры на python и Matlab/Octave;
3) для всех, кто интересуется темой фильтрации.


Что можно найти под катом:

1) сведения из теории, которые я постарался оформить максимально сжато, но, как мне кажется, информативно;
2) примеры применения фильтров: в частности, в рамках эквалайзера для антенной решетки;
3) ссылки на базисную литературу и открытые библиотеки (на python), которые могут быть полезны для исследований.


В общем, добро пожаловать и давайте разбирать всё по пунктам.


Читать дальше →

Курс лекций «Основы цифровой обработки сигналов»

Время на прочтение12 мин
Количество просмотров215K
Всем привет!

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

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


Читать дальше →

Об исследовании нестационарных процессов

Время на прочтение3 мин
Количество просмотров4.5K
Общеизвестно, что большинство временных рядов, с которыми приходится иметь дело исследователю, являются нестационарными, и их анализ ощутимо сложнее, чем изучение стационарных процессов. Поскольку интерес к вейвлетам, похоже, пошел на убыль, полезно обсудить некоторые иные «нестационарные» инструменты, пригодные, в первую очередь, для оценки мгновенных частот, а также для оценки мгновенных спектров.

В первую очередь есть смысл вспомнить об «аналитическом сигнале». Ниже «An-моделью» именуются как раз нахождение мгновенных импеданса и мощности тестового сигнала после достройки его мнимой частью (сдвинутой по фазе на π/2).

Но не всегда есть возможность возиться с преобразованием Гилберта. Ранее уже упоминалось об авторегрессионном способе спектрального оценивания, пригодном для работы с короткими последовательностями. Под «AR-моделью» здесь будет подразумеваться исследование коротких (из 5 сэмплов) перекрывающихся фрагментов исходного сигнала с целью определения коэффициентов авторегрессии 2-го порядка, нахождение по ним «полюсов» модели и т.д.

image
Читать дальше →