Содержание к диссертации
Введение
Глава 1. Современные вычислительные средства в технических системах контроля и диагностики 26
1.1. Программно-аппаратные решения высокопроизводительной обработки сигналов 27
1.2. Вычислительные устройства в системах технического контроля и диагностики 30
1.2.1. Принципы реализации систем технического контроля 30
1.2.2. Простые устройства мониторинга и средства диагностики 32
1.3. Архитектурные особенности современных параллельных компьютеров 35
1.3.1. Классификация параллельных компьютеров 36
1.3.2. Однокристальные мультипроцессоры общего назначения 39
1.3.3. Графические процессоры для массивно-параллельных вычислений 41
1.4. Процессоры цифровой обработки сигналов 44
1.4.1. Процессоры с фиксированной точкой 45
1.4.2. Высокопроизводительные процессоры с фиксированной точкой 49
1.4.3. Процессоры с плавающей точкой 53
1.4.4. Достоинства и ограничения сигнальных процессоров 57
1.5. Микроконтроллеры на базе ARM Cortex 59
1.5.1. Стандартизированная архитектура ARM Cortex 60
1.5.2. Высокопроизводительные решения на ARM Cortex 63
1.5.3. Решения на ARM Cortex для встраиваемых систем 68
1.6. Выводы по главе 71
Глава 2. Алгоритмическое обеспечение частотно временного корреляционного анализа 74
2.1. Задача оценки времени запаздывания 74
2.2. Корреляционный прием сигналов с неизвестными частотой и запаздыванием 77
2.3. Частотно-временная взаимно-корреляционная функция 81
2.3.1. Алгоритм получения частотно-временной взаимной корреляционной функции 81
2.3.2. Усреднение частотно-временной взаимной корреляционной функции во временной области 83
2.4. Приложения частотно-временных взаимных корреляционных функций 84
2.4.1. Корреляция сигналов на разных частотных диапазонах 87
2.4.2. Метод определения частотных границ полезного сигнала 89
2.4.3. Информативность частотно-временной взаимной корреляционной функции 90
2.4.4. Влияние ширины частотного окна на вид частотно-временных корреляционных функций 96
2.5. Частотно-временные автокорреляционные функции 100
2.5.1. Алгоритм получения частотно-временных автокорреляционных функций 100
2.5.2. Метод определения гармонического состава сигнала 102
2.5.3. Метод определения частоты следования периодических импульсов 107
2.6. Выводы по главе 111
Глава 3. Методические основы обеспечения эффективности вычислений частотно-временной корреляционной функции 114
3.1. Многопоточный алгоритм вычисления частотно-временных корреляционных функций 115
3.2. Алгоритмические приёмы повышения эффективности реализации 117
3.2.1. Алгоритм Кули и Тьюки 117
3.2.2. Эффективная реализация операции «бабочка» 121
3.2.3. Алгоритм умножения комплексных чисел 122
3.2.4. Быстрое преобразование Фурье действительных последовательностей 123
3.2.5. Быстрое преобразование Фурье двух действительных последовательностей 125
3.2.6. Обратное быстрое преобразование Фурье 125
3.3. Архитектурно-ориентированные подходы 126
3.3.1. Векторизация вычислительных операций 127
3.3.2. Использование кеш-памяти процессора 128
3.3.3. Эффективность предсказания переходов 128
3.3.4. Возможности оптимизации в современных компиляторах 129
3.4. Оценка эффективности реализации преобразования Фурье 130
3.4.1. Инструменты оценки времени выполнения 130
3.4.2. Однопоточная реализация преобразования Фурье 132
3.4.3. Многопоточная реализация преобразования Фурье 133
3.4.4. Многопоточная реализация преобразования Фурье с адаптивным расчётом степени детализации 136
3.4.5. Оценка программных реализаций 138
3.4.6. Многопоточная реализация преобразования Фурье с обходом рекурсии в ширину 146
3.4.7. Оценка многопоточных реализаций с адаптивным расчётом степени детализации и с обходом рекурсии в ширину 147
3.4.8. Оценка издержек на организацию параллельных вычислений многопоточных реализаций 155 3.4.9. Вычислительные схемы для повышения эффективности вычислений 158
3.4.10. Аппаратно ориентированные реализации преобразования Фурье160
3.4.11. Оценка способов реализации обратного преобразования Фурье 161
3.5. Массивно-параллельные вычисления преобразования Фурье на графических процессорах 163
3.5.1. Инструментальные средства оценки времени вычисления 163
3.5.2. Алгоритм массивно-параллельного вычисления преобразования Фурье 163
3.5.3. Оценка времени вычисления частотно-временных корреляционных функций различными аппаратными средствами 165
3.6. Выводы по главе 167
Глава 4. Графический компонент для построения частотно-временной корреляционной функции 170
4.1. Компьютерная визуализация информации 170
4.2. Средства визуализации в среде разработки CodeGear Delphi 174
4.3. Библиотека Direct3D 176
4.4. Спецификация OpenGL 185
4.4.1. Преимущества OpenGL 185
4.4.2. Объекты OpenGL 187
4.4.3. Программные шейдеры 189
4.5. Программные интерфейсы компонента 192
4.5.1. Вызовы подпрограмм OpenGL 192
4.5.2. Вывод с помощью подсистемы GDI 194
4.6. Интерпретация данных 196
4.6.1. Цветовое кодирование элементов 198
4.6.2. Алгоритм обработки графических данных 199
4.7. Программная реализация компонента 201
4.7.1. Алгоритм визуализации 201
4.7.2. Программная структура компонента 203
4.7.3. Объекты визуализации 206
4.8. Визуализация символьных обозначений 214
4.9. Тестирование прототипа компонента 217
4.10. Прототип геоинформационной системы 219
4.11. Выводы по главе 221
Глава 5. Программно-аппаратная реализация устройств систем контроля и диагностики 223
5.1. Системы обнаружения утечек и их применение 223
5.1.1 Принцип действия системы обнаружения утечек 224
5.1.2. Скорость распространения акустических сигналов 226
5.2. Программно-аппаратное устройство с радиоканалом 227
5.2.1. Аппаратная конфигурация устройства 227
5.2.2. Программное обеспечение устройства 230
5.3. Программно-аппаратное устройство с проводным каналом связи 236
5.3.1. Аппаратная конфигурация устройства 236
5.3.2. Программное обеспечение устройства 237
5.4. Программно-аппаратные устройства на микроконтроллерах ARM Cortex 242
5.4.1. Микроконтроллеры с архитектурой ARM Cortex-M3 242
5.4.2. Реализация на ARM Cortex-M3 243
5.4.3. Микроконтроллеры с архитектурой ARM Cortex-M4 248
5.4.4. Реализация на ARM Cortex-M4 248
5.5. Перспективы развития прибора 260
5.6. Выводы по главе 262
Глава 6. Апробация инструментальных вычислительных средств систем технического контроля 265
6.1. Вычислительные устройства в системах контроля целостности трубопроводов 265
6.1.1. Оценка точности локализации утечек системой контроля 265
6.1.2. Апробация устройства в полевых условиях эксплуатации 268
6.2. Апробация в составе системы контроля технического состояния и режима работы двигателя 274
6.2.1. Обработка сигналов вибрации двигателя 275
6.2.2. Определение набора признаков неисправностей в цилиндропоршневой группе 277
6.2.3. Диагностика неисправности двигателя B20B-Honda 280
6.2.4. Диагностика неисправного цилиндра двигателя K20A-Honda 282
6.2.5. Диагностика неисправного цилиндра двигателя ВАЗ-2101 284
6.3. Выводы по главе 286
Заключение 288
Список источников литературы 298
Приложение А. Копии патентов РФ на изобретение 331
Приложение Б. Копии свидетельств регистрации программ для ЭВМ 337
Приложение В. Копии актов внедрения и справок об использовании результатов работы 349
Приложение Г. Принципиальные схемы созданного устройства вычислительной техники 362
- Процессоры с фиксированной точкой
- Оценка программных реализаций
- Реализация на ARM Cortex-M4
- Апробация устройства в полевых условиях эксплуатации
Процессоры с фиксированной точкой
Процессоры с фиксированной точкой работают на тактовых частотах не более 350 МГц и не отличаются высокой производительностью. Основным элементом в составе их вычислительного ядра выступает блок умножения с накоплением. Несмотря на то, что пропускная способность данного блока не является определяющим показателем производительности ЦСП, тем не менее при сравнении различных устройств данного класса эта величина является ключевым параметром [60].
В настоящее время применение ЦСП с фиксированной точкой ограничено, поскольку специализированные альтернативные решения для встраиваемых систем обладают сопоставимой производительностью при более высокой тактовой частоте [51]. Однако ЦСП имеют меньшее энергопотребление и более низкую стоимость. В связи с этим для случаев, когда скорость вычислений не является значимым параметром, недорогие ЦСП с фиксированной точкой, как правило, являются оптимальным выбором [60].
Далее производится сопоставление архитектурных решений и характеристик линеек ЦСП с фиксированной точкой, представленных на отечественном рынке: Freescale DSP563xx, Freescale DSP5685x, Texas Instruments TMS320C28x, Texas Instruments TMS320C55x.
Процессоры линейки Freescale DSP563xx являются единственными 24-разрядными ЦСП с фиксированной точкой, получившими широкое распространение в сфере создания цифровых аудиосистем с высокой точностью воспроизведения. На рисунке 1.13 показана архитектура Freescale DSP563xx [61].
Наиболее производительные ЦСП с такой архитектурой работают на частоте 275 МГц. Тем не менее при решении задачи воспроизведения звука эти ЦСП обеспечивают сопоставимое качество в сравнении с 32-разрядными ЦСП с плавающей точкой и при этом имеют существенно меньшее энергопотребление [61].
Процессоры линейки Freescale DSP5685x находят свое применение в качестве управляющих элементов в импульсных источниках питания, а также в аппаратуре автомобильной электроники, в частности для управления электроприводами [62, 63]. Представителей данной линейки устройств можно отнести к категории цифровых сигнальных контроллеров (ЦСК), так как они обладают отличительными атрибутами как ЦСП, так и микроконтроллеров [64]. Их архитектура предусматривает наличие периферийных устройств и определяет их применение в различных системах контроля и управления [64].
Процессоры данной линейки работают на частотах до 120 МГц. На рисунке 1.14 представлена архитектура Freescale DSP5685x [65].
Представители линейки TMS320C28x являются 32-разрядными ЦСП с фиксированной точкой и позиционируются производителем как ЦСК. Отличительной особенностью архитектуры таких процессоров является присутствие микросхем с флеш-памятью, а также развитой периферии, ориентированной на решение задач управления [66]. Благодаря высокой для специальных вычислителей разрядности, устройства линейки TMS320C28x используются в приложениях, требующих высокой точности вычислений и обеспечения широкого динамического диапазона преобразования сигналов [67].
Данные ЦСП работают на частотах до 150 МГц, являясь при этом одними из самых быстродействующих решений в своём классе. На рисунке 1.15 приведена архитектура процессора Texas Instruments TMS320C28x [67]. ЦСП с такой архитектурой находят применение в устройствах управления двигателями и в схемах цифровых источников питания [64, 66].
Архитектура Texas Instruments TMS320C55x отличается наличием дополнительного блока умножения с накоплением, что вводит параллелизм и позволяет выполнять до двух инструкций за такт. Максимальная тактовая частота ЦСП данной линейки составляет 160 МГц [68].
Устройства данной линейки находят своё применение в автономных технических системах различного назначения, где определяющее значение имеют объём потребляемой вычислителем электроэнергии и его стоимость.
На рисунке 1.16 представлена архитектура Texas Instruments TMS320C55x [68].
Из представленного обзора видно, что основные линейки ЦСП с фиксированной точкой, несмотря на архитектурные особенности вычислителей, не отличаются высоким быстродействием в силу невысокой тактовой частоты. В то же время последнее положительно сказывается на энергопотреблении и определяет класс решаемых с помощью таких устройств задач.
Оценка программных реализаций
Оценка качества программного решения осуществлена с использованием показателей ускорения выполнения параллельного кода, эффективности использования вычислителя и «накладных расходов» на организацию параллельных вычислений [175]. Обозначенные показатели рассчитывались по формулам: (3.23) где TS – время вычисления в соответствии с последовательным алгоритмом; TP – время вычисления по параллельному алгоритму; p – количество процессоров.
Проведем оценку эффективности реализации параллельных вычислений БПФ1 (раздел 3.4.3) и БПФ2 (раздел 3.4.4). В таблицах 3.8–3.12 приведены численные значений основных показателей эффективности.
На рисунках 3.11-3.15 произведено сравнение показателя «ускорение» для БПФ1 и БПФ2 на различных CPU.
Из анализа полученных результатов (таблицы 3.8–3.12, рисунки 3.11–3.20) следует, что реализация БПФ2 производительнее, чем БПФ1. Отдельно отметим, что показатель «накладные расходы» для БПФ2 в целом меньше, чем для БПФ1. Приведем значения показателя «ускорение» реализации БПФ2 в зависимости от размера выборок, для которых необходимо использовать параллельный способ вычисления (рисунок 3.21).
Опираясь на результаты исследований, можно констатировать, что алгоритмы параллельных вычислений эффективно использовать при размере выборки не менее 128 элементов.
Реализовать параллельные вычисления БПФ можно, используя другой метод – распараллеливание обхода рекурсии в ширину [176]. Отличительной особенностью такого подхода является отсутствие необходимости выполнения предварительного теста для определения наилучших значений показателя степени детализации на выборках переменной длины.
Для вычисления БПФ воспользуемся шаблоном библиотеки Intel TBB. Исследования проведены при варьировании размера исходной выборки N от 4 до 131072 отсчётов. Вычисления БПФ выполнены на процессорах фирмы Intel ( Xeon 5160, Core 2 Q6700, Core i5-750 ) и AMD ( A10-4600M, FX-9590).Численные результаты вычислений сведены в таблицу 3.13.
Реализация на ARM Cortex-M4
Ядро микроконтроллера Cortex-M4 разрабатывалось для систем, сочетающих в себе функции управления и цифровой обработки сигналов (реализованы операции с плавающей запятой на аппаратном уровне). Ранее созданный программный код для Cortex-M3 выполняется на Cortex-M4, поскольку ядра Cortex совместимые снизу вверх. Контроллеры ARM Cortex-M4 имеют те же достоинства, что и ARM Cortex-M3. Основное отличие ядра от ARM Cortex-M3 заключается в дополнительном наборе DSP-инструкций, позволяющих значительно ускорить арифметические операции над данными [256]. Ядро ARM Cortex-M4 имеет производительность до 375 DMips/МГц.
Разработка программы и её отладка осуществлены на микроконтроллере STM32F407VGT6 отладочного комплекса [257]. В состав использованного комплекса входят:
1) микроконтроллер STM32F407VGT6 со следующими характеристиками: тактовая частота ядра 168 МГц, размер программируемой памяти 1 Мб, ОЗУ 192 Кб;
2) дисплей QVGA TFT 2.4" с разрешением 240320 точек;
3) интерфейс последовательной передачи данных RS-232;
4) разрядность аналого-цифрового преобразователя 12-bit (16 каналов).
Общий вид отладочного комплекса представлен на рисунке 5.20.
При разработке прибора были использованы следующие интегрированные в отладочный комплекс устройства:
1) два цифроаналоговых преобразователя;
2) четыре порта ввода/вывода общего назначения GPIO;
3) модуль внешних прерываний, соединенных с векторами прерываний через NVIC;
4) таймер общего назначения;
5) системный таймер Systick;
6) последовательный интерфейс RS-232;
7) FSMC – Flexible Static Memory Controller, 16-ти разрядный интерфейс позволяет подключать микроконтроллер Cortex-M4 с видеопроцессором дисплея;
8) контроллер DMA;
9) модуль JTAG.
Микроконтроллер STM32F407VGT6 имеет корпус вида LQFP100, который содержит 100 выводов, в том числе 80 выводов общего назначения (GPIO) с обозначениями: PA0..PA15; PB0..PB15; PC0..PC15; PD0..PD15; PE0..PE15. В таблице 5.4 приведены используемые выводы и их режимы и функции.
Исходя из особенностей данного микроконтроллера, для реализации вычислений ВКФ были использованы соответствующие выводы и назначены функции.
Входные сигналы поступают на 4-й канал 1-го АЦП (вывод PA4) и на 11-й канал 2-го АЦП (вывод PC1), которые работают одновременно, независимо друг от друга в режиме dual mode обычного непрерывного преобразования. Время преобразования – 15 машинных циклов. С помощью встроенного таймера TIM4 микроконтроллера АЦП настроен на работу с частотой дискретизации 24 кГц. По завершении преобразования каждой выборки 2-х входных сигналов вырабатывается прерывание и захваченное значение помещается в буфер. После заполнения буфера дискретизированными значениями сигнала выполняется БПФ.
Далее представлен фрагмент программного кода функции на языке С++, реализующий преобразование «бабочка» и ориентированный на выполнение процессорами с архитектурой Cortex-M4.
Исходя из полученных результатов и их анализа, можно констатировать, что микроконтроллер Cortex-M4 имеет значительно большую производительность по сравнению с Cortex-M3. Это объясняется аппаратной реализацией функций DSP в ядре. Следовательно, при разработке вычислителя следует использовать микроконтроллер Cortex-M4.
Разработанные и описанные ранее алгоритмы вычисления БПФ использованы для реализации вычисления ВКФ. На рисунках 5.23–5.25 показан пример вычисления ВКФ на отладочном комплексе с микроконтроллером STM32F103VET6.
В результате проведенных экспериментов было установлено, что микроконтроллер ARM Cortex-M3, при размере выборки, не превышающем 2048 временных отсчетов, позволяет производить вычисление ВКФ в режиме реального времени. При размерах выборки 4096 и более микроконтроллер не может выполнять вычисление ВКФ в режиме реального времени, так как не хватает производительности и оперативной памяти.
Аналогичные исследования проведены на микроконтроллере ARM Cortex-M4
Реализованный алгоритм апробирован при тысячекратном вычислении ВКФ. В результате экспериментов установлено, что микропроцессор Cortex-M4 способен проводить вычисление ВКФ в режиме реального времени.
В качестве примера в таблице 5.7 приведены значения времени расчета 1000 ВКФ на микропроцессоре ARM Cortex-M4.
Конечный вариант вычислителя реализован на микроконтроллере Cortex-M4, элементы принципиальной электрической схемы которого приведены в приложении Г. На рисунке 5.31 показан внешний вид созданного прибора.
Последовательность работы созданного прибора выглядит следующим образом:
1. Анализируемые сигналы с датчиков поступают на вход операционных усилителей, где происходит усиление сигнала. С выхода операционных усилителей сигналы поступают на входы АЦП микроконтроллера, которые работают параллельно, независимо друг от друга.
2. Дискретизированные сигналы с выходов АЦП поступаю на обработку в микроконтроллер, где происходит вычисление БПФ и ВКФ.
3. Полученная в результате вычислений ВКФ отображается на экране LCD-дисплея, где также отображается величина задержки и расстояние до предполагаемого места утечки.
Скорость распространения сигнала в трубе задается на лицевой панели прибора с помощью клавиатуры.
Созданный прибор может работать в двух режимах: динамический (в реальном масштабе времени) и статический (анализируемые сигналы накапливаются на SD-карте памяти, после чего происходит расчет ВКФ).
На разработанные приложения получены свидетельства о регистрации ПО [258, 259], копии которых приведены в приложении Б.
Апробация устройства в полевых условиях эксплуатации
Решение задачи определения наличия и местоположения течи в трубопроводе произведено при следующих условиях: труба диаметром 273 мм (толщина стенки 6 мм); расстояние между первичными преобразователями (датчиками) 55 м. На расстоянии около 7 м от первого датчика располагался колодец канализации, являющийся источником сильного шума. После вскрытия грунта было установлено, что утечка представляла собой свищ, направленный вниз, диаметром около 1 см. Действительное расстояние до утечки от первого датчика составило 3 м [261].
Вследствие высокого уровня сигнала, регистрируемого первым датчиком, и низкого уровня сигнала, регистрируемого вторым датчиком, в усилительном тракте сигнал первого канала наводил шум на второй канал. Таким образом, корреляционный пик располагался точно по центру; никаких других пиков, которые могли бы соответствовать реальному положению утечки, не было заметно. ВКФ сигналов представлена на рисунке 6.1 (при вычислении использовалась выборка длительностью 10 секунд с частотой дискретизации 44,1 кГц).
Представленная на рисунке 6.1 ВКФ не информативна; дальнейшее исследование предполагало определение частотных границ сигнала утечки и последующую фильтрацию в данной полосе частот. Для исследования спектра сигнала была выбрана ширина окна БПФ Взаимный амплитудный спектр представлен на рисунке 6.2.
По рисунку 6.2 определён частотный интервал высоких значений амплитуд гармонических составляющих, на котором вероятно присутствие полезного сигнала – от 8 до 21 кГц. Данных сведений недостаточно для настройки полосовых фильтров. Для определения частотного интервала локализации сигнала утечки использована функция когерентности, представленная на рисунке 6.3.
По виду функции когерентности можно сделать предположение о том, что полезный сигнал локализован в полосе частот 18..21 кГц, что может быть использовано для настройки фильтра. Кроме того, из рисунка 6.3 видно, что неслучайные (стационарные) сигналы присутствуют в области низких частот и, возможно, связаны с шумами, присутствующими в каналах усилительного тракта [263]. Наличие неслучайного сигнала в полосе частот 18..21 кГц также подтверждается видом фазовой функции взаимного спектра, представленной на рисунке 6.4. 1,5 2,9 4,4 5,9 7,4 8,8 10,3 11,8 13,2 14,7 16,2 17,6 19,1 20,6 22,1 f, кГц
Вид фазовой функции взаимного спектра сигнала в полосе частот 18..21 кГц представлен на рисунке 6.5. Из рисунка 6.5 видно присутствие интервала, на котором фаза взаимного спектра аппроксимируется пилообразной функцией [264], что свидетельствует о преобладании на данных частотах одной моды сигнала. Фильтрация сигнала в данном диапазоне, позволит сделать пик КФ, связанный с утечкой, наиболее явным [264].
Вид фазовой функции взаимного спектра в полосе частот 20,1–20,4 кГц представлен на рисунке 6.6.
При осуществлении фильтрации в найденном диапазоне частот была получена ВКФ (рисунок 6.7).
На графике ВКФ появился второй пик, соответствующий величине аргумента –34 мс. При скорости звука вдоль трубопровода равной 1450 м/с, находим расстояние от первого датчика до утечки – 2,82 м.
Исследование сигнала утечки также проведено с помощью ЧВ КФ при ширине частотного окна . На рисунке 6.8 приведен вид линий уровня для ЧВ КФ при ширине окна БПФ отсчёта. На рисунках 6.9 и 6.10 приведен вид линий для других значений .
На рисунках 6.8–6.10 видно, что величина оказывает влияние на выраженность пиков, в том числе обусловленных влиянием шумов. Однако частотный диапазон, соответствующий сигналу утечки, может быть наилучшим образом определен по рисунку 6.10.
На рисунке 6.10 отчетливо просматриваются диапазоны частот, на которых присутствует шум. Определив частотные границы, можно задать частоты среза цифровых частотных фильтров и удалить помеху из анализируемого сигнала. Таким образом, по поверхности ЧВ КФ можно определить характер составляющих сигнала в определенных частотных диапазонах, что является несомненным преимуществом перед классической формой представления КФ.
По полученной ЧВ КФ определяем время задержки –33,8 мс. По формуле (5.1), при значении скорости распространения звука вдоль трубопровода равной 1450 м/с, находим расстояние от первого датчика до утечки – 3,02 м. Полученное значение близко к реальному (3 м). Вторая горизонтальная полоса на рисунках 6.8–6.10, параллельная оси частот, предположительно является проявлением электрических наводок во вторичном преобразователе сигналов. Снизить вероятность появления ложных результатов анализа можно за счет использования качественного оборудования с минимальным взаимным проникновением сигналов между каналами.
Таким образом, показано, что использование созданной программно-аппаратной системы контроля позволило выявить наличие сигнала утечки и определить её местоположение без применения функции когерентности и итерационной полосовой фильтрации входных сигналов.
Представленный пример продемонстрировал высокую эффективность применения ЧВ КА при определении положения течей. Достоинством данного метода анализа является возможность определения компонентов анализируемой смеси сигналов без предварительного применения итерационной процедуры фильтрации.
В рассматриваемом примере, несмотря на достаточно большой диаметр водопровода (273 мм), скорость распространения сигнала составила 1450 м/с, что может быть объяснено не характерной для утечек высокой частотой сигнала. В свою очередь, высокое значение частоты сигнала утечки объясняется малым диаметром отверстия и высоким давлением жидкости в трубопроводе.
Результаты исследования применения предложенных в работе методов и созданных инструментальных средств опубликованы в [265–269].