- •Занятие 4. Построение виртуального прибора, реализующего периодический сигнал с шумом
- •4.1. Создание VI – генератора синусоидального сигнала
- •4.2. Исследование биения частот
- •4.3. Исследование влияния шума на периодический сигнал
- •4.4. Запись данных в файл
- •Занятие 5. Ввод и вывод данных
- •5.1. Работа со строковыми переменными
- •5.2. Запись числовых данных
- •5.3. Считывание числовых данных
- •Занятие 6. Реализация прибора свертки функций
- •6.1. Свертка функций
- •6.2. Моделирование виртуального прибора
- •6.3. Исследование работы свертки
- •Занятие 7. Формулы, массивы, циклы. Функция гаусса
- •7.1. Структуры в LabView
- •7.2. Цикл For
- •Шаблон массива
- •Тип элементов
- •Массива не задан
- •7.3. Представление массивов данных
- •7.4. Считывание значений с графика. Узел Property Node
- •Занятие 8. Дифференцирование и интегрирование в labview
- •8.1. Численное дифференцирование
- •8.2. Численное интегрирование
- •Занятие 9. Интерполяция данных
- •9.1. Задание исходного массива
- •9.2. Использование структуры Sequence
- •9.3. Интерполяция полиномом
- •9.4. Интерполяция дробно-рациональной функцией
- •9.5. Сплайн-интерполяция
- •Занятие 10. Быстрое преобразование фурье. Фильтрация шумящих данных
- •10.1. Алгоритм быстрого преобразования Фурье
- •10.2. Фурье-образ шумящего периодического сигнала
- •10.3. Аподизация верхних частот Фурье-разложения
- •10.4. Фильтрация шумящей функции Гаусса
- •Занятие 11. Расчет фракталов. Экранная лупа
- •11.1. Построение фрактальной кривой
- •11.2. Самоподобие фрактала. Экранная лупа
- •Занятие 12. Примеры фильтрации шумящих экспериментальных данных
- •Занятие 13. Обращение свертки. Вычитание аппаратной функции
- •13.1. Свертка функций
- •13.2. Реализация обращения свертки
- •Занятие 14. Моделирование двухстробового интегратора
- •14.1. Принцип двухстробового интегратора
- •14.2. Генерация массива данных нестационарной емкостной спектроскопии
- •14.3. Построение VI, реализующего двухстробовый метод dlts
- •Занятие 15. Встраиваемые платы сбора и обработки информации. Цифровая плата pc-dio-96
- •15.1. Устройства связи с объектом
- •15.2. Конфигурирование платы сбора и обработки информации
- •15.3. Определение области адресов памяти, занимаемой daq-платой
- •15.4. Функциональная схема платы цифрового ввода-вывода pc-dio-96
- •Занятие 16. Пример построения информационно-измерительной системы с использованием технологии виртуальных приборов
- •16.1. Блок-схема установки c-V-измерений
- •16.2. Двоично-десятичная система счисления
- •16.3. Тестирование информационно-измерительной системы
9.3. Интерполяция полиномом
При этом виде интерполяции ищется алгебраический полином степени n – 1
,
проходящий через все имеющиеся узловые точки. На входе PolyInterp.vi действуют массивы X,Y и текущие значения х.
Чтобы получить новый, проинтерполированный массив Xint, Yint, выберите Polynomial Interpolation.vi из палитры Mathematics >> Interp&Extrap и поместите ее внутрь цикла For. Подсоедините исходные массивы X, Y, задайте количество интерполированных значений.
Внимание! В LabVIEW есть два способа ввода массива чисел внутрь цикла For Loop: поэлементно (с индексированием) и всем массивом. В данном случае требуется на каждой итерации цикла иметь весь массив на входе PolyInterp.vi. Для этого нажмите точно на туннеле правую кнопку мыши и выберите Disable Indexing (Запретить индексирование).
Рассчитайте шаг интерполяции х.
В нутри цикла For сформируйте текущий х, связав его со счетчиком цикла i и х. При построении диаграммы сверяйтесь с рис. 9.1. Для убыстрения построения блок-схемы включите автоматический выбор инструмента, щелкнув по прямоугольнику вверху Палитры Инструментов (см. рис. 2.2).
Используя Build Array из палитры Array, обеспечьте вывод на XY Graph двух кривых: исходной функции и проинтерполированной (на входе XY Graph теперь четыре массива, объединенные в два кластера).
Переключитесь на лицевую панель, включите Plot Legend и измените цвет второй кривой графика.
Запустите VI, понаблюдайте результаты интерполяции при разных значениях параметров.
9.4. Интерполяция дробно-рациональной функцией
В этом случае находится дробно-рациональная функция
,
проходящая через все исходные узлы X, Y. Степень полиномов m в числителе и знаменателе равна при четном n и при n нечетном. Использование дробно-рациональной функции позволяет понизить степень интерполяционных полиномов.
Выберите кадр № 1 структуры Sequence. В нем разработайте алгоритм интерполяции с помощью Rational Interpolation.vi. Реализация идентична предыдущему кадру.
На лицевой панели расположите второй XY Graph для анализа результатов интерполяции дробно-рациональной функцией.
9.5. Сплайн-интерполяция
Этот вид интерполяции является наиболее качественным и в настоящее время чаще всего используется при обработке данных эксперимента, хотя в практической реализации он несколько более сложен. В отличие от интерполяции полиномом и дробно-рациональной функцией при сплайн-интерполяции не ищется единая функция для всех узловых точек. Вместо этого строится набор кубических полиномов для каждого элементарного интервала [xi, xi+1], причем искомые полиномы должны удовлетворять условию непрерывности вплоть до вторых производных. Интерполяция данным способом состоит из двух этапов. На первом рассчитывается массив производных (наклонов сплайна) в каждом исходном узле. На втором этапе считаются интерполированные точки. Соответственно, в LabVIEW существует два прибора: Spline Interpolant.vi для нахождения наклонов сплайна и Spline Interp.vi для получения интерполированных значений.
Переместитесь в кадр № 2, поместите в него Spline Interpolant.vi, подсо-едините к нему исходные массивы X и Y. На выходе данного получается одномерный массив Interpolant.
Разместите блок, рассчитывающий интерполированные значения, по аналогии с предыдущими кадрами. Отличие в том, что на вход Spline Interpolation.vi нужно еще подать промежуточный массив вторых производных Interpolant из п. 1.
На лицевой панели расположите третий XY Graph с результатами сплайн-интерполяции.
Сохраните разработанный VI.
Проанализируйте качество и скорость интерполяции тремя перечисленными способами при малом (<20) и большом (>100) количестве исходных узловых точек, а также при разных относительных количествах исходных и проинтерполированных точек.
Составьте отчет по лабораторной работе. Приведите примеры удачной и неудачной интерполяции. Сравните скорость вычисления разными способами. Объясните различия.