Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4-16_занятия_LV8_red+.doc
Скачиваний:
38
Добавлен:
13.11.2019
Размер:
803.84 Кб
Скачать

11.2. Самоподобие фрактала. Экранная лупа

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

П о правой кнопке на XY Graph включите Visible Items >> Graph Palette (Палитра графика). Появляются следующие инструменты (рис. 11.2, слева):

1 Cursor Movement Tool (Инструмент перемещения курсора) – перемещает курсор по дисплею.

2 Zoom (Фокус) – позволяет выделить отдельный участок изображения и изменить масштаб его отображения на дисплее.

3 Panning Tool (Инструмент перемещения изображения) – позволяет зацепить график и перемещать его по дисплею.

  1. Выберите инструмент Оператор и щелкните левой кнопкой мыши на инструменте Zoom дисплея. Появится дополнительная палитра масштабирования изображения (справа на рис. 11.2). Изучите различные возможности масштабирования и выделения фрагментов изображения. Увеличивайте масштаб до различения отдельных пикселей фрактальной кривой. Этот предел зависит от количества заданных при расчете итераций. В этом отличие рассчитанного нами численно фрактала от теоретических фракталов, с которыми работают математики.

Аналогично, реальные фракталы, наблюдаемые в природе, могут существовать лишь в ограниченной области размеров, поскольку элементы их структуры не могут быть как бесконечно малыми, так и бесконечно большими.

  1. Составьте отчет по лабораторной работе. Отчет должен содержать: лицевую панель VI с изображением построенного фрактала, блок-диаграмму.

  2. Оцените расстояние между пикселами изображения фрактальной кривой как функцию от числа итераций.

Занятие 12. Примеры фильтрации шумящих экспериментальных данных

Цель работы: получение практических навыков по численной филь-трации различных экспериментальных спектров, их считыванию и записи.

  1. Создайте виртуальный прибор, обеспечивающий фильтрацию готовых экспериментальных данных посредством усечения верхних частот Фурье-разложения. С этой целью необходимо модернизировать виртуальный прибор, разработанный в занятии 10.

Добавьте в блок-схему вместо узла, рассчитывающего функцию, узел ввода данных с диска Read From Spreadsheet File.vi из палитры File I/O (см. занятие 5). Сформируйте функцию аподизации из наклонного и горизонтальных участков. Для их объединения используйте функцию Build Array. Щелкните по входу Build Array правой кнопкой мыши и выберите из всплывающего меню пункт Concatenate Inputs. Как указывалось в предыдущем занятии, эта функция дописывает элементы второго массива после элементов первого, так что общая длина объединенного массива равняется сумме длин исходных массивов.

  1. Загрузите файл экспериментальных данных (exp1.dat), представляющий собой одномерный массив чисел с плавающей запятой, разделенных знаками табуляции (файл типа Spreadsheet). Получите количество точек в экспериментальном спектре (функция Array Size из палитры Array).

Внимание! В этом занятии вам потребуется хранить в оперативной памяти содержимое загружаемых файлов. Ранее мы использовали режим непрерывного запуска. Удобнее применить структуру While Loop, как на рис. 12.1, вынеся узел считывания за пределы While. Теперь после однократного запуска программы данные из считанного файла оказываются доступны для непрерывной обработки. Окончание процедуры обработки достигается выключением кнопки Stop. Данный способ корректнее, чем использование кнопки непрерывного запуска, его целесообразно использовать и в других случаях.

  1. Подберите параметры функции аподизации с целью оптимальной фильтрации экспериментального шума. Сравните исходную и экспериментальную кривые. Поскольку Фурье-трансформанта в LabVIEW представляется в виде симметричной функции, содержащей области положительных и отрицательных частот, а функция аподизации на рис. 10.2 вводится в области малых положительных частот, то, возможно, придется построить ее симметричное отображение в область отрицательных частот или использовать узел Reverse 1D Array (Обратить массив) из палитры Array. (Необходимость использования двусторонней функции аподизации зависит от конкретной реализации FFT.VI в зависимости от версии LabVIEW.)

  2. Если файл с данными эксперимента имеет другой формат представления чисел (файл exp2.dat), отличный от Spreadsheet, рассмотрите два возможных варианта его адаптации:

1) загрузите исходный файл в текстовый редактор (типа Word) и приведите его к типу Spreadsheet с помощью команд Find и Replace;

2 ) введите в блок-схему (с помощью Select a VI) виртуальный прибор Extract Numbers.vi (рис. 12.2), который находится в каталоге EXAMPLES >> GENERAL >> STRINGS.LLB. Этот VI находит все числа в произвольной строке и формирует из них одномерный массив чисел. При этом между числами могут располагаться любые символы. Поскольку исходный файл может иметь произвольный формат данных, замените Read From Spreadsheet File.vi на более тривиальный Read Characters From File.vi и, если необходимо, добавьте элемент конверсии форматов To Double Precision Float из палитры Numeric >> Conversion.

После успешной загрузки данных отфильтруйте шум и сохраните результат в другом файле.

  1. Е сли файл представляет собой два столбца чисел (файл exp3.dat), необходимо использовать функцию Decimate 1D Array (дословно Decimate – “казнить каждого десятого”) из палитры Array. Растягивая ее пиктограмму вниз, получите столько выходов, сколько нужно получить массивов (в данном случае 2), рис. 12.2. Нарисуйте исходный спектр на двухкоординатном графике, используя функцию Bundle. Отфильтруйте данные.

  2. Сохраните виртуальный прибор.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]