
- •Занятие 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. Интерполяция данных
Пусть у вас имеется массив экспериментальных данных, заданный таблицей X, Y. Задача по интерполяции возникает всегда, когда вы сталкиваетесь с необходимостью получить значения функции Y в промежутках между узловыми точками xi. Например, значения yi измерены с неравномерным шагом по х, а нужно получить функцию Y на равномерной сетке для последующей математической обработки. Интерполировать функцию – значит вписать другую гладкую функцию, проходящую через все узловые точки. Существует несколько различных алгоритмов интерполяции.
В LabVIEW имеется три виртуальных прибора, реализующих интерполяцию: PolyInterp.vi (полиномиальная интерполяция), RatInterp.vi (интерполяция дробно-рациональной функцией) и Spline Interpolant.vi & Spline Interp.vi (сплайн-интерполяция).
Цель работы: проинтерполировать функцию, заданную таблично, с использованием разных алгоритмов интерполяции и сравнить полученные результаты.
9.1. Задание исходного массива
О
ткройте новый виртуальный прибор. Задайте исходный массив значений X,Y. В качестве интерполируемой функции будем использовать функцию
. Найдите ее в палитре Mathematics >> Elementary >> Trigonometric и поместите на блок-диаграмму.
На вход узла
необходимо подать массив Х. Его удобно сформировать с помощью Ramp Pattern.vi (палитра Signal Processing >> Signal Generation), который формирует массив n линейно нарастающих значений с шагом
, где x0 и xn–1 – начальное и конечное значения. Задайте небольшое количество точек и диапазон х: –20…20.
Поместите на лицевой панели XY Graph. Выведите на него график функции, как это делалось в занятии 7. Щелкните на легенде XY Graph и выберите тип графика с узловыми точками. В Properties настройте удобный вид представления XY Graph.
9.2. Использование структуры Sequence
Нам предстоит интерполировать исходный массив тремя различными способами. Чтобы компактно разместить программу на блок-диаграмме, воспользуйтесь структурой Sequence (Последовательность), которая реализуется как набор нумерованных кадров. Каждый тип интерполяции будет содержаться в отдельном кадре.
Расположите структуру Stacked Sequence на свободном месте блок-диаграммы. Добавьте еще два кадра при нажатой на рамке кадра правой кнопке (Add Frame After). Как и в случае использования других структур, данные передаются в Sequence и выводятся из нее посредством туннелей. Данные из входного туннеля доступны во всех кадрах. В то же время выходной туннель может иметь только один источник (в любом кадре). Любой кадр можно поместить под любым номером (с помощью Make This Frame…) или совсем удалить (Delete This Frame).
Замечание. В занятии 1 указывалось, что в LabVIEW реализована идеология многозадачности, т. е. обычно существует несколько параллельных потоков данных и несколько узлов блок-диаграммы могут выполняться одновременно. Иногда это может приводить к нарушению алгоритма программы. Посредством структуры Sequence в LabVIEW обеспечивается определенная последовательность выполнения программы (так называемый поток управления). Например, в экспериментальной измерительной установке нужно сначала дождаться получения данных с датчика, а потом обработать их.