Дата зміни інформації:

ВИКОРИСТАННЯ GNU OCTAVE В ОСВІТНЬОМУ ПРОЦЕСІ

ГЕТЬМАН К.Р.

студентка 3 курсу, факультету інфокомунікацій

Науковий керівник: Свид І.В.

кандидат технічних наук, доцент,

завідувач кафедри мікропроцесорних технологій і систем

Харківський національний університет радіоелектроніки

Застосування пакетів прикладних програм математичного моделювання в освітньому процесі технічних університетів – це загально розповсюджена практика. За рахунок впровадження в навчальний процес пакетів прикладних програм студенти мають можливість отримати компетенції та навики широко призначення щодо застосування цих засобів та легко застосувати отриманні знання для виконання типових або подібних задач з суміжних галузей.

На кафедрі мікропроцесорних технологій і систем Харківського національного університету радіоелектроніки викладається дисципліна «Проектування пристроїв на мікроконтролерах і ПЛІC. Моделювання цифрових сигналів засобами MATLAB i VHDL» [1-4]. При проведенні занять за очною формою навчання лабораторний практикум виконувався в лабораторіях кафедри засобами MatLab. З переходом на дистанційну форму навчання постала проблема забезпечення здобувачів вищої освіти доступом до вільно розповсюджуваного пакету прикладних програм, що забезпечить можливість моделювання цифрових сигналів та дослідження задач цифрової обробки сигналів.

Для вирішення завдань, пов’язаних з дослідженням цифрової обробки сигналів, можна використовувати наступні засоби MatLab, GNU Octave, R (programming language), Mathematica, SciPy, Maxima, SMath Studio, Scilab, SageMath та інші.

Для аналізу пакетів прикладних програм основними критеріями відбору було обрано: відповідність та адекватність реалізації задач цифрової обробки сигналів; сумісність з MatLab; вільно поширюєме програмне забезпеченням. За результатами проведеного дослідження та аналізу щодо відповідності лабораторно-практичним задачам цифрової обробки сигналів обрано програмний засіб GNU Octave.

GNU Octave – мова програмування високого рівня. Забезпечує зручний інтерфейс командного рядка для чисельного розв’язування лінійних і нелінійних задач, а також для виконання інших чисельних експериментів з використанням мови, яка переважно сумісна з Matlab. Також може використовуватися як пакетно-орієнтована мова. GNU Octave володіє широкими інструментами для розв’язування звичайних задач чисельної лінійної алгебри, знаходження коренів нелінійних рівнянь, інтегрування звичайних функцій, операцій з поліномами та інтегрування звичайних диференціальних та диференціально-алгебраїчних рівнянь. GNU Octave легко розширюється та налаштовується за допомогою визначених користувачем функцій, написаних власною мовою Octave, або за допомогою динамічно завантажуваних модулів, написаних на C++, C, Fortran чи іншими мовами. GNU Octave також є програмним забезпеченням, яке вільно поширюється. Підтримує багато операційних систем: Linux, BSD, macOS, Microsoft Windows. Може розповсюджуватися відповідно до умов Загальної публічної ліцензії GNU (GPL), опублікованої Фондом вільного програмного забезпечення [5, 6].

При порівнянні GNU Octave та MatLab можна виділити наступні особливості, що наведено у таблиці 1.1 [5].

Таблиця 1.1 – Порівняльний аналіз GNU Octave та MatLab

MatLab GNU Octave
не підтримує операторів автоматичного збільшення та призначення стилю C робить оператори автоматичного збільшення та призначення у стилі C, такі як i ++, ++ i тощо
реагує по-різному на обчислення булевих значень відповідає по-різному на те саме, що і ans = 0
може виконати файл у каталозі, якщо його викликали з командного рядка тільки нова версія може виконати файл у каталозі, якщо його викликали з командного рядка
“!” Синтаксис “Рядок” викликає оболонку з командою STRING не визнає “!” як системний виклик, оскільки він використовується в логічних операціях
дозволено завантажувати порожні файли не дозволяє завантажувати порожні файли
підтримує лише fprintf як команду для друку на екран підтримує і printf, і fprintf як команду для друку на екран
не дозволяє робити пробіл перед оператором транспонування дозволяє пробіл перед оператором транспонування
значення можна призначити як a = b + 1, c = a можна записати як c = a = b + 1
можемо використовувати “~”, а не “!” дозволяє використовувати і ~, і! з булевими значеннями
використовує знак відсотка “%”, щоб почати коментар використовує як хеш-символ #, так і відсоток знак% взаємозамінно
використовує ^ може використовувати ^ або **
використовує блок в кінці може використовувати end або вказати блок з endif
хороший інтерфейс бракує інтерфейсу в попередніх версіях, з версії 4.0 має інтерфейс за замовчуванням

З проведеного дослідження можна зробити загальні висновки щодо порівняння GNU Octave та MatLab: в основному використовуються з тією ж метою; основна відмінність – синтаксис; Matlab складається з спеціалізованих наборів інструментів, які не входять до складу Octave; перевага Matlab – велика кількість готових у різних галузях; Octave надає користувачам свободу вибору, яке програмне забезпечення використовувати; Octave під час інтерактивного запуску використовує команди введені у внутрішній буфер, що дозволяє їх відкликати та редагувати.

Проведено експериментальні дослідження щодо виконання лабораторного практикуму [1] у GNU Octave [5]. Скрип-файли лабораторних робіт виконуються у GNU Octave, за винятком внесення деяких змін у синтаксисі вбудованих функцій. Можна зробити висновок, що запропонований засіб GNU Octave, в цілому, відповідає критеріям запропонованим для вибору пакету прикладних програм для виконання лабораторного практикуму. Перевагою GNU Octave є розповсюдження за вільною ліцензією та підтримка різних операційних систем.

Використання GNU Octave в освітньому процесі дозволяє: охопити широке коло навчальних завдань згідно освітніх програм, проводити наукові дослідження; розвивати навички програмування; розширювати компетенції здобувачів вищої освіти щодо застосування різних програмних засобів для досягнення поставлених задач.

Список використаних джерел

  1. Методичні вказівки до лабораторних робіт з дисципліни «Проектування пристроїв на мікроконтролерах і ПЛІС. Моделювання цифрових сигналів засобами Matlab і VHDL» для студентів усіх форм навчання спеціальностей: 125 – «Кібербезпека» (СТЗІ), 151 – «Автоматизація та комп’ютерно-інтегровані технології», 152 – «Метрологія та інформаційно-вимірювальна техніка», 163 – «Біомедічна інженерія», 171 – «Електроніка», 172 – «Телекомунікації та радіотехніка», 173 – «Авіоніка» / [Електронний ресурс] Упоряд.: І.В. Свид, І.І. Обод, О.В. Воргуль, Л.Ф. Сайківська, О.В. Зубков. – Електронне видання. – Харків: ХНУРЕ, 2019. – 75 с. – pdf 1,71 Мb
  2. Методика розробки та впровадження освітньої компоненти щодо проектування пристроїв / В. В. Семенець, І. В. Свид, О. В. Зубков, О. В. Воргуль // Збірник матеріалів ІІ форуму «Автоматизація, електроніка та робототехніка. Стратегії розвитку та інноваційні технології» до 90-річчя ХНУРЕ. Харків, ХНУРЕ. 2020. С. 40–44.
  3. Методичні та технічні аспекти реалізації онлайн лабораторії з проектування пристроїв / В. В. Семенець, І. В. Свид, О. В. Зубков, О. В. Воргуль, Н. В. Бойко, В. С. Чумак. // Збірник матеріалів ІІ форуму «Автоматизація, електроніка та робототехніка. Стратегії розвитку та інноваційні технології» до 90-річчя ХНУРЕ. – Харків, ХНУРЕ, 2020. – С. 45-48.
  4. V. Semenets, I. Svyd, O. Vorgul, V. Chumak, O. Myttseva, N. Boiko. Aspects of Quality Assurance of the Educational Process of Higher Technical Education. // III International Scientific and Practical Conference Theoretical and Applied Aspects of Device Development on Microcontrollers and FPGAs (MC&FPGA), Kharkiv, Ukraine, 2021, pp. 49-51, doi: 10.35598/mcfpga.2021.017.
  5. I. Svyd, O. Vorgul, V. Semenets, O. Zubkov, V. Chumak, N. Boiko. Special Features of the Educational Component “Design of Devices on Microcontrollers and FPGA”. // II International Scientific and Practical Conference Theoretical and Applied Aspects of Device Development on Microcontrollers and FPGAs (MC&FPGA), Kharkiv, Ukraine, 2020, pp. 55-57. doi: 10.35598/mcfpga.2020.017
  6. GNU Octave. [Електронний ресурс]: https://www.gnu.org/
  7. Introduction to GNU Octave. [Електронний ресурс]: http://math.jacobs-university.de/oliver/teaching/iub/resources/octave/octave-intro/