- •Занятие 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. Тестирование информационно-измерительной системы
Занятие 13. Обращение свертки. Вычитание аппаратной функции
Цель работы: создание виртуальных приборов свертки и обращения свертки и использование их для вычитания аппаратной функции из экспериментальных спектров.
Экспериментально измеренные спектры часто бывают искажены вследствие наличия аппаратной функции измерительного прибора (например, при большой входной щели оптического спектрометра в получаемом спектре сглаживается тонкая структура и т. д.). Результирующий спектр в таком случае, как правило, представляет собой свертку истинного спектра и аппаратной функции и представляется в виде (см. занятие 6):
,
где f(x) – истинный спектр; a(x) – аппаратная функция. Задача вычитания аппаратной функции заключается в операции обращения свертки при условии, что вид самой аппаратной функции известен.
13.1. Свертка функций
Постройте виртуальный прибор, обеспечивающий свертку двух функций. Для этого используйте subVI Convolution.vi (Analyze >> Signal Processing >> Time Domain).
Выполните свертку функций Гаусса и Лоренца. Функция Гаусса имеет вид (см. занятие 7)
.
Кривая Лоренца описывается следующим выражением:
,
где xm – положение максимума кривой (резонансная частота); – ширина линии на уровне 0.5 от максимума. Этими двумя кривыми и их комбинациями часто описываются различные спектральные линии. Нормировочные множители выбираются таким образом, чтобы соответствующие интегралы по всей области определения обращались в единицу.
Осуществите свертку кривых Гаусса и Лоренца с различными параметрами уширения и резонансной частоты. Расчет функций выполните в одном узле For Loop.
Обратите внимание, что прибор Convolution.vi имеет два алгоритма расчета свертки – в координатном и частотном представлении. Когда выбран алгоритм в частотной реализации (по умолчанию), VI вычисляет свертку, используя быстрое преобразование Фурье.
13.2. Реализация обращения свертки
Разработайте VI для осуществления операции обращения свертки.
Обращением свертки (Deconvolution) называется операция, обратная операции свертки. На практике она реализуется через прямое и обратное преобразования Фурье. Пусть ℱ[f] есть преобразование Фурье функции f, а ℱ[g] – преобразование Фурье функции g. Тогда справедлива следующая теорема о свертке:
ℱ[f*g] = ℱ[f] * ℱ[g],
где ℱ[f*g] – свертка функций f и g.
В соответствии с теоремой о свертке, функцию g можно найти из выражения
g = ℱ–1[ℱ[f*g]/ ℱ[f]],
где ℱ–1 – обратное преобразование Фурье.
Для реализации виртуального прибора обращения свертки введите узел Deconvolution.vi из палитры Analyze >> Signal Processing >> Time Domain или создайте свой собственный прибор с использованием FFT.vi и Inverse FFT.vi, следуя п. 1.
Загрузите с диска в VI данные, имитирующие собой спектр, искаженный аппаратной функцией спектрометра (файл sigapp.dat). Используйте Extract Numbers.vi, который находится в каталоге EXAMPLES >> GENERAL >> STRINGS.LLB (см. занятие 12).
Постройте аппаратную функцию спектрометра. Пусть в нашем случае она представляет собой функцию Гаусса с дисперсией 0.3. Для расчета функции Гаусса можно использовать узел For Node.
Реализуйте вычитание аппаратной функции посредством обращения свертки. Определите оптимальное соотношение количества точек исходного сигнала и аппаратной функции. Запишите полученный спектр на диск.
Составьте отчет по лабораторной работе.