Общий физический практикум Склярова Елена Александровна Сегодня: ________________ 2009 г.

advertisement
Сегодня: ________________ 2009 г.
Общий физический
практикум
Склярова Елена Александровна
Сегодня: ____________________ 2009 г.
Занятие №9
LabVIEW – среда
разработки
виртуальных
приборов
Лабораторная работа №8
(упр.35- упр.39)
Упражнение 35 - Вычисление гармонических искажений
Ваша цель - использовать гармонический анализатор для
вычисления гармонических искажений.
Блок-схема
1. Откройте THD Example VI из
Examples\analysis\measure\measxmpl.llb и просмотрите
блок-схему.
Упражнение 35 - Вычисление гармонических искажений
Передняя панель
Просмотрите переднюю панель. В нижней части вы видите
график спектра мощности нелинейной системы.
В верхнем правом углу - индикаторы массива для частот и
амплитуд основного сигнала и его гармоник.
Упражнение 35 - Вычисление гармонических искажений
3. Измените основную частоту на 1000, # harmonics
на 2 и выполните VI несколько раз.
Каждый раз обращайте внимание на значения в
индикаторах вывода. Почему вы получаете
различные значения при каждом выполнении
VI?
4. Выполните VI с различными выборками окна
управления и наблюдайте пики в спектре
мощности. Которое окно дает самый узкий пик?
Самый широкий? Вы можете объяснять почему?
5. Измените основную частоту на 3000 и выполните
VI. Почему вы получаете ошибку?
6. Когда закончите, закройте VI.
Упражнение 36 - Извлечение синусоидальной волны
Ваша цель - фильтровать выборку данных, которая
состоит из высокочастотного шума и
синусоидального сигнала с помощью фильтра
Баттерворта.
Передняя панель
1. Откройте новый VI и сформируйте лицевой
панель, как показано на следующем слайде.
Упражнение 36 - Извлечение синусоидальной волны
Упражнение 36 - Извлечение синусоидальной волны
Блок-схема
2. Сформируйте блок-схему, как показано ниже.
Упражнение 36 - Извлечение синусоидальной волны
Sine Pattern VI (Functions"Analysis"Signal
Generation) генерирует синусоидальную волну
требуемой частоты.
Uniform White Noise VI (Functions"Analysis"Signal
Generation) генерирует однородный белый шум,
который добавляется к синусоидальному
сигналу.
Butterworth Filter VI (Functions"Analysis"Filters)
фильтрует шум.
Упражнение 36 - Извлечение синусоидальной волны
3. Сохраните VI как Extract the Sine Wave-***.vi в
каталоге LabVIEW\Activity.
4. Перейдите в лицевую панель. Выберите частоту
10 Гц, предельную частоту 25 Гц и порядок
фильтра 5. Выполните VI.
5. Уменьшите порядок фильтра до 4, 3, и 2, и
наблюдайте изменения в отфильтрованном сигнале.
Объясните, что происходит, когда вы понижаете
порядок фильтра.
6. Когда вы закончите, сохраните VI как
Extract the Sine Wave-***.vi в библиотеке Dig.filt.llb.
7. Закройте VI.
Упражнение 37 - Использование эмпирической подгонки
Ваша цель - использовать и сравнить линейную, экспоненциальную
и полиномиальную подгонку, чтобы получить наименьшее
отклонение от экспериментальных точек.
Передняя панель
1. Откройте Regressions Demo VI из библиотеки regressn.llb.
Лицевая панель и блок-схема уже сформированы.
Упражнение 37 - Использование эмпирической подгонки
Блок-схема
Упражнение 37 - Использование эмпирической подгонки
2. Выберите "линейный" в Algorithm Selector и
установите Noise Level приблизительно равным 0.1.
Выполните VI.
3. Поэкспериментируйте с различными значениями
порядка и уровня шума. Как изменяется mse?
4. Измените Algorithm Selector на показательную
функцию, и выполните VI. Поэкспериментируйте с
различными значениями порядка и уровня шума.
5. Измените Algorithm Selector на полиномиальный, и
выполните VI. Поэкспериментируйте с различными
значениями порядка и уровня шума.
Упражнение 37 - Использование эмпирической подгонки
6. При полиномиальном Algorithm Selector измените
порядок на 0 и выполните VI. Затем изменения его
на 1 и выполните VI, объясните ваши наблюдения.
7. В зависимости от ваших наблюдений в пунктах 2, 3,
4, и 5, для которого из алгоритмов (линейный,
экспоненциальный, полиномиальный) влияние
Order наиболее эффективно? Почему?
8. Закройте VI.
Не сохраняйте изменения.
Упражнение 38 - Использование General LS Linear Fit VI
Ваша цель: установить, как подобрать входные параметры
в General LS Linear Fit VI. Цель заключается в выборе
наилучшей подгонки. Например, мы имеем реальный
процесс, который генерирует данные, использующие
связь:
y = 2h0(x) + 3h1(x) + 4h2(x)
(1)
где h0(x) = sin(x2)
h1(x) = cos(x)
h2(x) = 1/(1 +x)
и шум - произвольное значение.
Идеальная формула такова:
y = a0f0(x) + a1f1(x) + a2f2(x) + a3f3(x) + a4f4(x)
где f0(x) = 1.0
f1(x) = sin(x2)
f2(x) = 3cos(x)
f3(x) = 1/(1 + x)
f4(x) = x4
(2)
Упражнение 38 - Использование General LS Linear Fit VI
Упражнение 38 - Использование General LS Linear Fit VI
Формирование Матрицы Наблюдений
Чтобы получить коэффициенты a, Вы должны
обеспечить набор (x [i], y [i]).
Простой способ формировать данную матрицу
состоит в использовании Formula Node, как показано
на следующей блок-схеме.
Упражнение 38 - Использование General LS Linear Fit VI
1. Откройте General LS Fit Example V из библиотеки
Examples\analysis\regressn.llb.
2. Исследуйте блок-схему.
3. Исследуйте переднюю панель.
noise amplitude_ может изменять амплитуду шума,
добавляемого к данных.
NumData _ число точек данных, которые вы хотите
генерировать.
algorithm _ обеспечивает выбор шести различных
алгоритмов, чтобы получить набор коэффициентов.
MSE _ среднее квадратичное отклонение. Чем меньше
MSE, тем лучше подгонка.
Упражнение 38 - Использование General LS Linear Fit VI
Упражнение 38 - Использование General LS Linear Fit VI
4. Выполните VI с прогрессивно большими значениями
шумовой амплитуды. Что случается с
наблюдаемыми данными, которые составляют
график?
5. Для фиксированного значения шумовой амплитуды
выполните VI, выбирая различные алгоритмы из
управления алгоритма. Который алгоритм дает вам
самый низкий MSE?
6. Когда закончите, закройте VI, не сохраняя изменения.
Упражнение 39 – Использование Nonlinear Lev-Mar Fit VI
Ваша цель - создать общий экспоненциальный сигнал
a*exp (b*x) + с + шум и затем использовать Nonlinear
Lev-Mar Fit VI, согласовать данные и получить
коэффициенты подгонки a, b, и с экспоненциального
сигнала.
Передняя панель
1. Откройте функцию Lev-Mar Exponential Fit VI из
библиотеки Examples\analysis\regressn.llb.
Передняя панель показана на рисунке на следующем
слайде.
Упражнение 39 – Использование Nonlinear Lev-Mar Fit VI
Средства управления A, B и C определяют фактические
значения коэффициентов a, b, и с.
Упражнение 39 – Использование Nonlinear Lev-Mar Fit VI
Блок-схема
2. Исследуйте блок-схему.
Упражнение 39 – Использование Nonlinear Lev-Mar Fit VI
3. Из меню Project, выберите Unopened SubVIs"Target Fnc
and Deriv NonLin VI, передняя панель Target Fnc and
Deriv NonLin VI открывается, как показано ниже.
Упражнение 39 – Использование Nonlinear Lev-Mar Fit VI
4. Перейдите в блок-схему.
Упражнение 39 – Использование Nonlinear Lev-Mar Fit VI
5. Закройте переднюю панель и блок-схему.
6. Выполните NonLinear Lev-Mar Exponential Fit VI. Обратите
внимание на значение mse.
7. Увеличьте уровень шума от 0.1 до 0.5. Что происходит с mse
и значениями коэффициента в Best Guess Coef? Почему?
8. Измените уровень шума обратно на 0.1 и Initial Coefficients
на 5.0, -2.0 и 10.0 и выполните VI, обращая внимание на
значения, возвращенные в индикаторах Best Guess Coef и
mse.
9. С уровем шума в 0.1, измените значения Initial Coefficients
на 5.0, 8.0 и 10.0 и выполните VI.
10. Когда закончите, закройте VI, не сохраняя значения.
Покажите итоги
лабораторной работы
преподавателю
До свидания !!!
Download