Клиначёв Николай Васильевич

Измерения ЛАЧХ & ЛФЧХ в моделирующих пакетах

ВВЕДЕНИЕ

Оценка возможностей моделирующих пакетов выявляет бреши в наличии математических или измерительных инструментов исследования систем. Например VisSim, позволяет выполнить различные виды анализа для моделей, но при этом используются только математические методы – корневые и частотные. Другими словами функции анализа доступны только для моделей, состоящих из библиотечных блоков, которым соответствуют, как правило, линейные передаточные функции и не доступны для моделей содержащих нелинейные блоки, логические элементы и модели пользователя, написанные на Си++ или Паскале. Описанное затруднение кардинально может быть преодолено разработкой алгоритмов по сути выполняющих виртуальные измерения. Представляемая библиотека для пакета VisSim частично решает эту задачу. Отметим так же, что если к в контур модели включен реальный объект, возможно измерение его частотной характеристики.


АНАЛИЗАТОР ЧХ систем с НЕмодулированными (АМ, ЧИМ, ШИМ) сигналами

Lfi01 – VisSim

 

ФУНКЦИОНАЛЬНОЕ
БЛОЧНОЕ
ПРЕДСТАВЛЕНИЕ


gif-file, 2KB

Рис.1

ПАРАМЕТРЫ
Динамический диапазон:
  1) при исследовании моделей ограничен типом double
  2) при исследовании объектов (ограничен шумом): +/-80...100 дб
Частотный диапазон:
  1) при исследовании моделей ограничен типом double
  2) ограничен полосой АЦП платы вода/вывода
Диапазон распознавания фазы: -180 < φ < 180
Тип накапливаемых данных: short int, ..., long
Желательный режим накопления данных – асинхронный
Частота накопления данных – может быть << частоты Найквиста
(ни как с ней не связана и не ограничена ей)
Самонастройка на масштаб пилотной линейно нарастающей
последовательности из: 8, 16, ..., 256 дискрет
Инструкций процессора в цикле накопления данных – 10
Объем памяти данных: 1024*sizeof(long)
Инструкций сопроцессора для расчета модуля и фазы в точке – 1024
Размер dll библиотеки – 20 K
Требуемая версия пакета VisSim – старше 3.0

ОБЛАСТЬ ПРИМЕНЕНИЯ
Виртуальные измерения в моделирующих пакетах
Частотные исследования реальных объектов
Возможна адаптация к пакетам: MVS, Simulink, МВТУ, ...

ОБЩЕЕ ОПИСАНИЕ

С помощью записи "addons32=C:\Vissim\user\AzFqRsp.dll" в файле инициализации программы VisSim – WINDOWS\vissim.ini библиотека подключается к меню "Blocks", в котором появляется строка "Measuring divece: FR-analizer". Блок "FR-analizer" далее Анализатор можно воспринимать, как виртуальное представление прибора для измерения частотных характеристик (см. рис.1). Работу Анализатора должен обеспечивать виртуальный прибор – Генератор, который осуществляет синтез возмущающего воздействия заданной частоты и желательно синусоидальной формы. Форму сигнала можно использовать любую – Анализатор реагирует только на первую гармонику сигнала. Автоматический режим измерений осуществляется установкой флага многосессионного моделирования (Auto Restart). В следующей сессии Генератор должен устанавливать следующую частоту в заданном пользователем диапазоне. Особенность Генератора состоит в том, что помимо возмущающего сигнала он должен осуществить синтез пилотной линейно нарастающей последовательности из 8, 16, ... или 256 дискретных значений, на том же периоде. Фаза этого сигнала может быть любой, поскольку "пилотирует" он Анализатор, а последний – двухканальный. Следует так же отметить, что все специализированные генераторы, основанные на принципе прямого цифрового синтеза, содержат сумматор, выход которого может быть использован для пилотирования. Анализатор ни как не связан с понятием "частота", ему передаются лишь выборки полученные при определенном дискретном значении пилотного сигнала (фазы), и по их совокупности он определяет отношение амплитуд и разность фаз первых гармоник входных сигналов. Точность определения логарифмического модуля и фазы пропорциональна времени накопления выборок, и при его существенном значении распознаются сигналы, даже период которых не идентифицируется на фоне не периодического шума при жесткой синхронизации осциллографа. Динамический диапазон Анализатора может существенно сократится при периодических шумах в сигналах (при совпадении периода любой гармоники шума с периодом возмущения). В табл. 1 приведено описание входов / выходов Анализатора.

Таблица 1
Имя вывода Функциональное назначение
(int)A Вход канала A Входные сигналы должны принадлежать диапазону целого типа (+/-2^15) и иметь максимальный размах. Входной сигнал с амплитудой меньше единицы после преобразования к целому типу будет нулевым – это вызовет ошибку в Анализаторе. Малая амплитуда сигналов уменьшает разрешающую способность Анализатора
(int)B Вход канала B
Lin Вход для пилотирующего сигнала (линейно нарастающей последовательности)
SYNC Вход, работающий по переднему фронту, который обеспечивает запись данных в Анализатор
RE Вход, работающий по переднему фронту. Инициирует процесс расчета модуля и фазы и появление их значений на выходах "L" и "fi" без сброса накопленной информации (которая пока частично  преобразуется), но продолжать интегрирование (накопление) выборок для повышения точности можно
R[..] Вход, работающий по единичному уровню, который сбрасывает накопленную информацию
Asin, Acos Выходы ортогональных коэффициентов, по значениям которых рассчитываются логарифмический модуль и фаза (могут отсутствовать), обновляются по сигналу RE
Bsin, Bcos
L Выход логарифмического модуля [дб], обновляется по сигналу RE
fi Выход значения фазового сдвига [град.], обновляется по сигналу RE

Блок схема Генератора

Блок схема Генератора

Как видно при снятии частотных характеристик пользователь должен установить в Генераторе диапазон частот (5..150 Гц), количество точек (40) и признак логарифмического шага по частоте (button). На первом графике показан пилотный сигнал G_lin из восьми дискрет для Анализатора. На втором графике – синтезированный возмущающий сигнал

Рис. 2

Подключения Анализатора и Генератора для измерения
АЧХ & ФЧХ каскада дискретного фильтра сигма-дельта АЦП

Подключения Анализатора и Генератора для измерения частотных характеристик

Настройки Генератора в опыте соответствуют показанным на рис. 2. Возмущающее воздействие умножено на 30000 для того, чтоб сигналы поданные на каналы Анализатора находились в диапазоне целого типа (int). Виртуальное время измерения в точке частотной шкалы составляло 3 с, за которое накапливалось по 1000 выборок в канале. Характеристики получены за 40 с на компьютере с процессором Celeron 333

Рис. 3

Для собственной оценки и экспериментов вы можете взять архив (12K). В табл. 2. даны комментарии к его содержанию.

Таблица 2
Файлы архива Комментарии
Diagram1.vsm Рабочий файл пакета VisSim 3.0 (рис. 2 и 3).
AzFqRsp.dll Демонстрационная библиотека Анализатора, в которой ограничена разрешающая способность, но для идеальных условий (для компьютерных моделей) подойдет. Используйте не зашумленные сигналы с малым содержанием гармоник. Берите меньший шаг моделирования.

10.01.2001

 


АНАЛИЗАТОР ЧХ систем с НЕмодулированными (АМ, ЧИМ, ШИМ) сигналами

Lfi02 – VisSim

 

ФУНКЦИОНАЛЬНОЕ
БЛОЧНОЕ
ПРЕДСТАВЛЕНИЕ


gif-file, 2KB

Рис. 4

ПАРАМЕТРЫ
Соответствуют Анализатору Lfi01

ОСОБЕНОСТИ
Упрощения в синхронизации – ЧХ примера
  см. рис. 3 снимается за 6 сек
Визуальный контроль накопленной информации
Задание количества накапливаемых выборок
Наличие сигнала готовности данных (L & fi) – RDY
Автоматическое завершение сессии моделирования

ОБЛАСТЬ ПРИМЕНЕНИЯ
Соответствуют Анализатору Lfi01

Таблица 3
ОПИСАНИЕ ВХОДОВ / ВЫХОДОВ БЛОКА АНАЛИЗАТОРА Lfi02
Имя вывода Функциональное назначение
(int)A Вход канала A Входные сигналы должны принадлежать диапазону целого типа (+/-2^15) и иметь максимальный размах. Входной сигнал с амплитудой меньше единицы после преобразования к целому типу будет нулевым – это вызовет ошибку в Анализаторе. Малая амплитуда сигналов уменьшает разрешающую способность Анализатора
(int)B Вход канала B
Lin Вход для пилотирующего сигнала (линейно нарастающей последовательности)
SYNC Вход, работающий по переднему фронту, который обеспечивает запись данных в Анализатор
A[Lin] Выходы для визуального контроля накопленной информации за цикл измерения в каналах Анализатора. По данным массивам определяется логарифмический модуль и сдвиг фазы, т.е. идентифицируются параметры первых гармоник
B[Lin]
Lin Выход – индекс массивов с накопленной информацией A[Lin] & B[Lin]. По завершению измерения начинает увеличиваться с единичным приращением, но только в том случае, если параметр "Expectation" (ожидание) блока Анализатора не равен нулю см. табл. 4. В противном случае массивы A[Lin] & B[Lin] не выводятся, и скорость съема ЧХ повышается. При обновлении индекса данные на выходах A[Lin] & B[Lin] обновляются. По завершении вывода массивов блок Анализатора вызывает функцию завершающую текущую сессию моделирования (установленное пользователем время завершения моделирования игнорируется и должно быть заведомо больше)
RDY Выход оповещения о готовности данных (L & fi) к выводу на график (предназначен для синхронизации графика)
L Выход логарифмического модуля [дб]. Обновление подтверждается сигналом RDY
fi Выход значения фазового сдвига [град.]. Обновление подтверждается сигналом RDY

Таблица 4
ОПИСАНИЕ ПАРАМЕТРОВ БЛОКА АНАЛИЗАТОРА Lfi02
Имя параметра Функциональное описание [..]
Point Count Определяет количество выборок, накапливаемое в одной точке частотной шкалы. При гармонических сигналах с малым содержанием гармоник может быть мало (4 выборки), но при существенных шумах разрешающая способность может продолжать увеличиваться и при увеличении выборок свыше нескольких тысяч шт.
Expectation При не нулевом значении будут активизироваться в конце измерения очередного модуля и фазы выходы A[Lin] & B[Lin] & Lin см. табл. 3. Значение параметра – это время в миллисекундах, в течении которого можно наблюдать значения массивов A[Lin] & B[Lin] на графике. По истечении этого времени текущая сессия моделирования будет завершена блоком Анализатора автоматически мс

14.01.2001

 


Программируемый задающий ГЕНЕРАТОР, предназначенный для обеспечения функционирования АНАЛИЗАТОРОВ Lfi01 и Lfi02

PGL01 – VisSim

 

ФУНКЦИОНАЛЬНОЕ
БЛОЧНОЕ
ПРЕДСТАВЛЕНИЕ


gif-file, 2KB

Рис. 5

ПАРАМЕТРЫ
Принцип построения генератора – прямой цифровой синтез
Таблица для синтезируемого сигнала: 2048*sizeof(double)
Возможность синтеза периодического сигнала
  произвольной формы – НЕдоступна
Масштабы пилотной линейно нарастающей
  последовательности: 8, 16, ..., 256 дискрет
Инструкций процессора при обращении к блоку – 20
Инструкций сопроцессора при обращении к блоку – 2
Автоматическое завершение моделирования по завершению
  программы синтеза возмущающего сигнала
Требуемая версия пакета VisSim – старше 3.0

ОБЛАСТЬ ПРИМЕНЕНИЯ
Обеспечение функционирования Анализаторов Lfi01 и Lfi02
Исследования в моделирующих пакетах
Возможна адаптация к пакетам: MVS, Simulink, МВТУ, ...

Таблица 5
ОПИСАНИЕ ВХОДОВ / ВЫХОДОВ БЛОКА ГЕНЕРАТОРА PGL01
Имя вывода Функциональное назначение
Cos Выход синтезируемого по таблице задающего косинусоидального сигнала (начальная фаза синусоидального сигнала, как правило, является причиной более длительного переходного процесса в исследуемых системах)
Lin Выход сигнала, который предназначен для "пилотирования" Анализаторов Lfi01 и Lfi02 – линейно нарастающая последовательность (см. рис. 2, левый график). В любом физически реализованном генераторе, построенном на принципе прямого цифрового синтеза этот сигнал имеется и представляет собой совокупность старших выходных разрядов сумматора (от двух до восьми), которые используются для адресации ОЗУ с таблицей кодов для выходного ЦАП-а
OSC Выход программируемой последовательности синхроимпульсов (0 и 1), которые могут быть использованы для синхронизации процесса накопления измерительной информации Анализаторами Lfi01 и Lfi02. Подается на вход SYNC Анализаторов
[Hz] Выход значения частоты синтезируемой последовательности (в текущей сессии моделирования)

Таблица 6
ОПИСАНИЕ ПАРАМЕТРОВ БЛОКА ГЕНЕРАТОРА PGL01
Имя параметра Функциональное описание [..]
1st point Наименьшая частота диапазона снятия ЧХ Гц
End point Наибольшая частота диапазона снятия ЧХ Гц
Step Count Количество точек для снятия ЧХ. Исследования в каждой точке частотной шкалы проводятся в следующей сессии моделирования (нужно установить режим многосессионного моделирования). Когда количество сессий равно этому параметру блок Генератора завершает моделирование шт.
+/- Step f Признак – определяет будет ли измерение ЧХ выполняться с минимальной (0) или максимальной (1) часты. Для большей оперативности следует начинать исследования с максимальной частоты 0/1
Log f Признак – включает постоянное приращение по логарифмической оси частот. Для дискретных систем бывает удобно использовать линейную шкалу частот, для непрерывных – логарифмическую 0/1
Amplitude Амплитуда выходного сигнала Генератора ед.
Delay OSC Постоянная задержка сигнала синхронизации OSC до момента завершения переходного процесса. Это время можно определить по реакции системы на ступенчатое воздействие с
max(OSC per T) Значение параметра определяет максимальное количество синхроимпульсов OSC (выборок) за период возмущения (за период сигнала Cos). Количество синхроимпульсов на периоде должно быть меньше, чем общее количество накапливаемых выборок, определяемое параметром "Point Count" Анализатора Lfi02 и которое не обязательно должно быть кратным. Этот параметр понижает скорость выборок в НЧ диапазоне шт.
min(simStep per OSC) Значение параметра определяет минимальное количество шагов моделирования между синхроимпульсами OSC. Те задает режим накопления выборок Анализатором в ВЧ диапазоне. Можно накапливать менее одной выборки за один период возмущения (главное, чтоб фаза выборок менялась) шт.
Discret Lin Масштаб (амплитуда) линейной нарастающей последовательности "Lin" (см. рис. 2, левый график), которая используется для "пилотирования" Анализаторов. Параметру можно присваивать значения: 3.999, 7.999, 15.999, 31.999, 63.999, 127.999, 255.999 ед.

Для собственной оценки и экспериментов вы можете взять архив (80K). В табл. 7. даны комментарии к его содержанию.

Таблица 7
ДЕМОНСТРАЦИОННЫЕ МАТЕРИАЛЫ,
ПОЯСНЯЮЩИЕ МЕТОДИКУ ПРИМЕННИЯ БИБЛИОТЕКИ AzFqRsp.dll
Файлы архива Комментарии
Lfi021_lin_achx.vsm Выполняется измерение ЛАЧХ & ЛФЧХ модели линейной системы. Для проверки результатов можно воспользоваться стандартными инструментами пакета VisSim и получить те же характеристики
Lfi021_discret_tf.vsm Выполняется измерение АЧХ & ФЧХ модели цифрового фильтра. Пакет VisSim не имеет инструментов для подтверждения результатов
Lfi021_Int_Method.vsm Вам предлагается измерить частотные характеристики звена временного запаздывания из библиотеки блоков пакета и его линеаризованных моделей-аппроксиматоров. Обратите внимание на результаты, при использовании разных методов интегрирования, но учтите – не со всеми методами библиотека работает
Lfi021_Noise.vsm Отметим, что библиотека разрабатывалась для измерения ЧХ реальных объектов. Реальная измерительная информация не может не содержать шумы. В примере демонстрируется работа Анализатора в условиях наличия шумов и смещений нуля во всех измерительных каналах
Lfi021_user_zpid.vsm Инструменты пакета позволили осуществить переход от линейной модели ПИД-регулятора к дискретной. Была с составлена программа для ЦВМ (dll-модель пользователя, файл pid.dll). VisSim позволяет визуально проверить лишь подобие переходных функций обоих ПИД-регуляторов (к dll-моделям пользователя не применимы функции анализа). Библиотека позволяет снять ЛАЧХ & ЛФЧХ полученной программы для ЦВМ. Обратите внимание на различие результатов при разомкнутом и замкнутом контуре системы. Осуществите визуальный контроль сигналов
pid.dll Библиотека рекурсивного цифрового фильтра второго порядка. По умолчанию коэффициенты соответствуют цифровому ПИД-регулятору. Файл используется примером Lfi021_user_zpid.vsm. Имя базовой функции фильтра при подключении к VisSim-у – zPID
pid.dpr Программа рекурсивного цифрового фильтра второго порядка для ЦВМ – текстовый файл на Паскале написанный в среде разработки Borland Delphi 4. При трансляции получается файл pid.dll
AzFqRsp.dll Библиотека для измерения ЧХ систем. Имя базовой функции Анализатора при подключении с помощью блока "userFunction" – Anlz. Имя базовой функции Генератора – Generator. Функционирует библиотека при использовании следующих методов интегрирования: Euler, Trapeziodal, RK2nd, RK4th, Adaptive Bulirsh-Stoer. Работа библиотеки от методов не зависит. При использовании не перечисленных методов – нарушается правильный вызов функций библиотеки

1.02.2001