Решение «Альфа-прибор» для измерения скорости железнодорожных составов
Постановка задачи
Необходимо было создать радар для железной дороги с диапазоном измеряемых скоростей поездов 0,25–300 км/ч, с расстояния около 5 м и установкой под углом 30° к пути. Поскольку радар стоит под углом, радиальная составляющая скорости будет меньше на cos(30°) и составлять от 0,2165 до 259,8 км/ч. При скорости 300 км/ч поезд проходит 83,3 м/с, или 8,3 см/мс; за 22,5 мс поезд проедет примерно 1,87 м. Дополнительно требовалось измерять расстояние, чтобы определить момент прохождения поезда и количество вагонов в составе, поэтому было принято решение о работе радара как в доплеровском (CW), так и в ЛЧМ (FMCW) режимах.
В итоге выбор пал на приемопередатчик TRX_120_001 [3] компании Silicon Radar. Он имеет встроенные антенны, обеспечивает быструю перестройку ЛЧМ-сигнала в полосе 5 ГГц и позволяет получить узкий луч порядка 3–5° за счет недорогой пластиковой линзы. Хотя некоторые микросхемы из партии и могут обеспечивать перестройку до 7,5 ГГц, в среднем этот параметр составляет 6,5 ГГц при гарантированных 5,5 ГГц. Кроме того, ГУН имеет температурный дрейф порядка –15 МГц/°C, соответственно, при включении необходимо проводить калибровку крайних точек по частоте либо корректировать их в зависимости от температуры.
Разрешение по расстоянию по оси радара при этом составляет 3 см согласно формуле (1):
r = c/(2 × BW), (1)
где r — разрешение по расстоянию, м; c — скорость света, 3×108 м/с; BW — полоса модуляции сигнала ЛЧМ, Гц.
Заметим, что теоретически разрешение не зависит от времени свипа и ограничивается лишь достижимой на практике скоростью формирования качественного ЛЧМ-сигнала.
Определим максимальную дальность такого радара по формуле:
Rmax = r × (N/2 – 1), (2)
где Rmax — максимальное расстояние, м; r — разрешение по расстоянию, м; N — число отсчетов АЦП (БПФ).
При 1024 точках данных максимальная дальность радара при такой перестройке по отсчетам спектра составит 511×3 см = 15,33 м. Определим теперь необходимую полосу пропускания усилителя ПЧ по формулам (3):
Fmin = 1/T,
Fmax = (N/2 – 1)/T, (3)
где Fmin — минимальная частота ПЧ, Гц; Fmax — максимальная частота ПЧ, Гц; T — длительность свипа, с; N — число отсчетов (БПФ).
Для времени свипа (22,5 мс) полоса усилителя ПЧ будет составлять 44,4–22711,1 Гц. Здесь необходимо отметить, что оцифровка частоты Fmax производится лишь по двум точкам, что дает хорошие результаты только в идеальном случае, то есть при сильном сигнале и отсутствии шумов.
В допплеровском же режиме разрешение по скорости по оси радара будет зависеть от длительности оцифровки и определяться по формуле:
v = c/(2 × F × T), (4)
где v — разрешение по радиальной скорости, м/c; c — скорость света, 3×108 м/с; F — несущая частота, Гц; T — длительность оцифровки, с.
Длительность оцифровки, по сути, обратно пропорциональна частоте минимального доплеровского сдвига. Подставив в формулу (4) F = 122 ГГц, T = 22,5 мс, получим 0,0546 м/с, или 0,197 км/ч.
Вычислим максимальную определяемую скорость для такого радара по формуле:
Vmax = v × (N/2 – 1), (5)
где Vmax — максимальная определяемая скорость, м/c; v — разрешение по скорости, м/c; N — число отсчетов АЦП (БПФ).
Для 4096 точек получим максимальную определяемую скорость 111,85 м/с, или 402,68 км/ч. Полоса усилителя ПЧ при этом по формулам (3) составит 44,4–90977,7 Гц соответственно. Аналогично, максимальная скорость Vmax определяется лишь по двум точкам оцифровки.
О блок-схеме радара
Радар выполнен по блок-схеме, показанной на рис. 2. Печатная плата радара представлена на рис. 3, ее размеры 90×90 мм, потребление 100 мА по 12 В. Ядром устройства является микроконтроллер STM32F429 из семейства Cortex-M4 с производительностью 225 DMIPS при тактовой частоте 180 МГц.
В его состав входят три 2,4 MSPS 12‑битных АЦП, а также FPU для ускорения цифровой обработки сигналов. Есть версии с различным объемом Flash-памяти: 512 кбайт, а также 1 и 2 Mбайт, что позволяет оптимизировать проект по стоимости, в зависимости от размера кода. Он управляет параметрами ЛЧМ-сигнала по шине SPI, далее выполняет оцифровку сигналов, математическую обработку и затем отправляет полученные данные о параметрах проходящего поезда по сети Ethernet или интерфейсу RS‑232 клиентскому приложению. В качестве Ethernet PHY использована микросхема KSZ8081‑RNA, а в качестве драйвера RS232 — микросхема ADM3101EACPZ.
Существует несколько способов для организации электропитания радарного датчика. Классический вариант — от внешнего источника питания 12 В. Другим и наиболее перспективным вариантом подачи питания на радарный датчик считается технология PoE (Power over Ethernet — питание по Ethernet-кабелю), которая обеспечивает подачу напряжения питания по кабелю Ethernet, с использованием одной или двух пар проводников. В качестве стабилизатора PoE применена микросхема SI3402‑C.
Для управления частотой приемопередатчика TRX_120_001 используется микросхема ФАПЧ ADF4159. Как правило, ГУН имеет нелинейность в несколько процентов на среднем участке и до 10–20% на краях диапазона перестройки. Поэтому даже использование линейного сигнала управления для ГУН не позволяет получить линейный свип по частоте. Это приводит к размыванию отклика от стационарного объекта и ухудшению точности по расстоянию. Применение же микросхемы ФАПЧ позволяет получить линейный свип по частоте и, как следствие, высокую точность. Микросхема позволяет не только установить необходимую частоту радара для доплеровского режима, но и автоматически сформировать треугольный свип для режима ЛЧМ. Напряжение на ГУН при треугольном свипе, сформированном с помощью ФАПЧ, показано на рис. 4.
Управление частотой TRX_120_001, блок-схема которого представлена на рис. 5, осуществляется по входам Vt0–Vt3, соединенным вместе в широкополосном режиме перестройки. Частота ГУН приемопередатчика, поделенная на 32, через дифференциальные выходы divp, divn поступает на микросхему ФАПЧ, которая через программируемые делители сравнивает ее с частотой опорного генератора 80 МГц. Поскольку частота ГУН затем умножается на 2, выходная частота приемопередатчика в 64 раза больше частоты с ее выхода делителя.
Опорный генератор является важным компонентом системы, так как его температурная стабильность определяет и стабильность выходной частоты. Современные бюджетные генераторы, например GTXO‑251T фирмы Golledge [4] (замена GTXO‑71T), обеспечивают стабильность порядка ±1 ppm в индустриальном диапазоне температур –40…+85 °C.
Уровень фазовых шумов на выходе радара оценим по спектру сигнала после делителя на частоте 1906 МГц (122 ГГц/64 = 1906,25 МГц) на рис. 6, которые с учетом полосы фильтра анализатора спектра RBW = 30 кГц составляют порядка –64 дБн/Гц на отстройке 100 кГц. Шумы на соответствующей выходной частоте 122 ГГц рассчитаем по формуле (6), они будут на 36 дБ хуже и составят –28 дБн/Гц. Спектр получен на отладке EvalKit SiRad Easy [5] с помощью анализатора спектра ZLV6 компании Rhode&Schwarz.
PNrf = PNdiv – 20×log (N), (6)
где PNrf — фазовые шумы на выходе приемопередатчика, PNdiv — фазовые шумы на выходе делителя, N — коэффициент деления, равный отношению частот Frf/Fdiv.
В документации на ADF4159 [6] указан нормализованный шум фазового детектора этой микросхемы, а также формула для расчета влияния таких шумов на выходную частоту (7):
PNrf = PNdet + 10×log (Fdet) + 20×log (Frf/Fdet), (7)
где PNrf — фазовые шумы на выходе приемопередатчика, PNdiv — фазовые шумы детектора (–217 дБн/Гц в дробном режиме), Frf — частота на выходе приемопередатчика, Fdet — частота фазового детектора (сравнения).
Подставив в формулу (7) значения Fdet = 80 МГц, Frf = 122 ГГц, получим величину –74 дБн/Гц. На практике же качество выходного спектра в полосе работы ФАПЧ определяется в основном шумами опорного кварцевого генератора, а влияние фазовых шумов детектора ADF4159 можно считать незначительным.
Приемопередатчик TRX_120_001 имеет дифференциальные выходы I/Q, что значительно уменьшает влияние помех по питанию. Поэтому для усилителя ПЧ использована стандартная схема вычитателя на бюджетном ОУ AD8656, который обладает следующими параметрами: коэффициент шума 4 нВ/√Гц & 1 кГц; полоса пропускания 28 МГц; работа при однополярном питании 3,3 В; RRO-выход. При этом дифференциальный сигнал преобразуется в одиночный, который затем подается на АЦП в составе микроконтроллера. Итого потребуется всего два ОУ, по одному на I‑ и Q‑каналы. Дополнительно используется буфер для формирования средней точки для АЦП (V/2).
Требования к усилителю ПЧ
Для доплеровского режима частота ПЧ зависит лишь от скорости объекта и не зависит от расстояния, а значит, и амплитуды принимаемого сигнала. Поэтому для усилителя ПЧ желательна ровная характеристика во всей полосе рабочих частот, расчет которых был приведен ранее в формулах (3). Для ЛЧМ чем выше частота ПЧ, тем дальше расстояние до объекта и слабее сигнал. Следовательно, на более высоких частотах предпочтительно большее усиление. Кроме того, как правило, на выходе ПЧ присутствует паразитная модуляция, связанная с двумя факторами: нелинейностью амплитудной характеристики ГУН и паразитным просачиванием сигнала с выхода передатчика на вход. Последний фактор имеет большее значение в данном случае, поскольку, хотя приемопередатчик TRX_120_001 и оснащен раздельными антеннами на прием и передачу, они расположены в одном корпусе, и изоляция между ними невелика. Поэтому нижние частоты тут необходимо обрезать, иначе усилитель ПЧ будет входить в насыщение и радар перестанет работать. Пример схемы такого усилителя, его АЧХ при Gv = 100 и устойчивость показаны на рис 7.
Необходимо иметь в виду, что заявленные производителем шумы ОУ обычно достигаются лишь при малых значениях резисторов в обратной связи. На рис. 8 показаны результаты моделирования шумов ОУ AD8656 в программе LT SPICE, схема включения ОУ здесь упрощена. Спектральная плотность шумов на частоте 10 кГц составляет 316 нВ/√Гц. Если же номиналы резисторов R1 = 100 Ом, R2 = 10 кОм увеличить в 10 раз, плотность шумов увеличится до 500 нВ/√Гц, то есть на 58%. Если же увеличить в 100 раз, до 10 кОм и 1 МОм, то плотность шумов увеличится до 1325 нВ/√Гц, или на 419% по сравнению с первоначальным значением. Уменьшение номиналов резисторов приводит к необходимости повышения емкостей ФВЧ и ФНЧ (см. C1, C2 на рис. 7), что не всегда желательно, поскольку увеличивает габариты и стоимость усилителя. К тому же увеличивается ток в цепи обратной связи ОУ.
Такая спектральная плотность при полосе пропускания усилителя 30 кГц даст нам шумовую дорожку с действующим значением 54,7 мкВ, или примерно 154 мкВ пик-пик на выходе нашего усилителя с G=40 дБ. Для сравнения, один разряд 12‑битного АЦП при размахе входного сигнала 3 В равен 3000 мВ/4095 = 732 мкВ > 154 мкВ, что вполне приемлемо. Однако уже при G = 60 дБ шумовая дорожка ОУ будет составлять уже 1540 мкВ пик-пик, то есть два разряда АЦП.
Для оцифровки одного дифференциального сигнала можно использовать пару АЦП. Это позволит получить динамический диапазон разностного сигнала в 2 раза больше. При этом можно применить схему с прямым включением, показанную на рис. 7. Тогда для усиления I/Q-каналов потребуется 4 ОУ. К тому же можно будет измерять постоянную составляющую на выходах I/Q детектора приемопередатчика, что полезно в некоторых случаях.
Когда для обработки сигнала используется преобразование Фурье, предполагается, что частоты выше Fmax в формуле (3) не попадают на вход АЦП. Глядя на его АЧХ, мы видим, что у нас это не так — затухание на спаде характеристики усилителя ПЧ составляет лишь 20 дБ/декада.
Для доплеровского радара данное обстоятельство несущественно, поскольку появление частот выше Fmax на входе АЦП указывает на присутствие объекта со скоростью выше Vmax в формуле (5), что маловероятно.
Для ЛЧМ-радара это означает наличие объекта за пределами максимальной дальности — Rmax в формуле (5), что на практике бывает довольно часто. Ввиду стробоскопического эффекта, он будет виден в спектре сигнала как находящийся вблизи. То есть ЛЧМ-радар показывает нам ложный объект. Изменение параметров свипа — длительности и частоты оцифровки — приведет к смещению ложного объекта по расстоянию.
Также ложный объект может возникнуть в результате переотражения сигнала между радаром и настоящим объектом. Гармонику можно идентифицировать по ее кратному смещению в случае перемещения радара или изменения параметров свипа.
Один из способов решения этой проблемы — установка ФНЧ высокого порядка, например LTC1064–7, между усилителем ПЧ и АЦП. Другой способ — использование радара на расстояниях, в 4–5 раз меньших, чем Rmax.
Формирование ЛЧМ-сигнала
Ввиду аппаратных ограничений микросхемы ФАПЧ проведем уточняющий расчет параметров ЛЧМ. Компания Analog Devices бесплатно предоставляет программу ADF4158/9/69 PLL Software, позволяющую получить точные реализуемые параметры, а также значения регистров микросхемы ФАПЧ, которые затем программируются по шине SPI и обеспечивают заданный режим работы микросхемы.
На вкладке Main Controls этой программы задаются основные параметры ФАПЧ, например VCO output frequency — 1875 МГц. Эта частота ввиду встроенного в TRX_120_001 делителя на 64 соответствует выходной частоте: 64 × 1875 МГц = 120 ГГц. PFD frequency — частота фазового детектора — установлена как 80 МГц. При делителе R = 1 эта частота соответствует входной частоте задающего кварцевого генератора. Еще один критичный параметр, Phase Detector Polarity — полярность фазового детектора — указана как положительная. Если этот параметр установлен неверно, ФАПЧ не сможет произвести захват.
На рис. 9 показана вкладка Ramps and Shift-Keying, на которой заданы параметры автоматического свипа вверх. Так, задано число шагов — Up Ramp Steps — 889799, длительность одного шага — Time per Step — 0,025 мкс и соответствующая длительность всего свипа Time per Ramp — 22 245 мс. Также тут можно увидеть величину шага по частоте Fdev per Step: 0,085831 кГц и ширину свипа ФАПЧ целиком: Total ramp — 76 372,060776 кГц. Умножив его на 64, получим точное значение свипа по выходу микросхемы: 4 887 811,889664 МГц.
Тем не менее из-за задержек сигнала, а также ограничений АЦП тот свип, который мы можем оцифровать, всегда будет несколько меньше полученных выше значений. При частоте АЦП 46392 Гц 1024 точку мы получим за 22,0512 мс. Микросхема ФАПЧ позволяет начать свип по внешнему сигналу, что очень удобно для синхронизации с АЦП.
Цифровая обработка
Для обработки оцифрованных сигналов по каналам I/Q применялись функции DSP из библиотеки CMSIS для ARM-процессоров с ядром Cortex-M4. Для их использования в среде разработки микроконтроллера необходимо включить FPU.
В нашем случае это Embedded Workbench IDE — Arm 8.30.1 от компании IAR Systems [7]. В опциях проекта: General Options → Target указываем наличие FPU: VFPv4 single precision. Далее, во вкладке General Options → Library Options проставляем галочки Use CMSIS и DSP library. Также нам необходимо уведомить о наличии FPU компилятор, для этого во вкладке C/C++ Compiler → Preprocessor добавляем директиву __FPU_PRESENT=1, а также ARM_MATH_CM4, которая определяет, библиотеку для какого ядра следует использовать.
Вначале следует убедиться, что при оцифровке данных АЦП не входило в ограничение. Это можно сделать с помощью функций нахождения максимума и минимума для массива входных данных Data:
arm_min_f32(Data, Size, MinValue, Index); arm_max_f32(Data, Size, MaxValue, Index). //нахождение минимума и максимума в массиве.
Затем полученные значения сравниваются с пороговыми для АЦП. При наличии ограничения в данных выполнять дальше преобразование Фурье бессмысленно, поскольку спектр будет сильно искажен. Комплексное БПФ позволяет нам получить комплексный спектр сигнала и осуществляется следующим кодом:
status = arm_cfft_radix4_init_f32(&S_CFFT, fftSize, ifftFlag, doBitReverse); //инициализируем структуру S_CFFT. Если все в порядке, //функция должна вернуть значение status = ARM_MATH_SUCCESS.
Комплексное БПФ по основанию 4 поддерживает размер данных fftSize, кратный 4. А именно: 16, 64, 256, 1024, 4096. Вызов этой функции с любым другим значением даст ошибку инициализации. В библиотеке также имеется функция БПФ по основанию 2: arm_cfft_radix4_f32. Она поддерживает больший набор размера входных данных, в том числе 512 и 2048, но выполняется примерно в 1,5 раза медленнее.
arm_cfft_radix4_f32 (&S_CFFT, Data); //вызов функции комплексного БПФ.
Массив входных данных Data имеет удвоенный размер: 2×fftSize, поскольку содержит чередующиеся отсчеты АЦП с каналов I/Q. В него же помещаются выходные данные рассчитанного комплексного спектра в виде чередующихся вещественной Re [i] и мнимой Im[i] частей. Они имеют формат с плавающей запятой: f32, что отмечено в названиях функций. Микроконтроллер STM32F429 на частоте 180 МГц выполняет БПФ на 1024 точки меньше чем за 1 мс. Перспективными по отношению производительность/стоимость являются также микроконтроллеры компании Nuvoton [8].
Комплексные числа также можно представить в виде векторов, с магнитудой и фазой. Магнитуда вектора вычисляется как среднеквадратичное значение из Re[i], Im[i] частей и гораздо более информативна для нас. Магнитуды векторов можно рассчитать с помощью функции:
arm_cmplx_mag_f32 (Data, Output, fftSize); //расчет магнитуды векторов.
Как известно, спектр вещественного сигнала имеет зеркальные отсчеты. А именно:
F [i] = F [N – i],
где F[i] — спектральный отсчет; i — номер отсчета, от 1 до (N/2) – 1; N — число отсчетов в спектре.
Отсчеты F[0], F[N/2] непарные. Первый представляет постоянную составляющую сигнала; второй — максимальную частоту, определяемую по этому спектру.
Комплексный спектр от квадратурных сигналов I/Q в доплеровском режиме имеет замечательное свойство, а именно спектр магнитуд будет несимметричен. В теории отклика в одной из частей не должно быть совсем, но на практике это не так из-за дисбаланса амплитуд и фаз фазового детектора. По тому, в какой части спектра, левой или правой, отклик больше, можно определить направление движения объекта — к радару или от него.
При неподвижном объекте ЛЧМ-радар также можно рассматривать как доплеровский, в котором движение объекта имитируется перестройкой частоты. Поэтому данный эффект там тоже будет присутствовать.
Экспериментальные данные
Радар был испытан на железной дороге при прохождении товарного состава на небольшой скорости. Данные, представленные на рис. 10, были построены в GNU Octave. На верхнем графике показан спектр сигнала при перестройке ЛЧМ-сигнала вверх, на среднем — при перестройке его вниз, а на нижнем — спектр в доплеровском режиме. Хорошо видно, что отражения от движущегося поезда на первых двух графиках смещены друг относительно друга.
При перестройке частоты вверх, при отражении от неподвижного объекта, на вход приемника приходит частота меньше излучаемой, что эквивалентно доплеровскому сдвигу при удалении объекта. Так как радар установлен навстречу движущемуся поезду, результирующая ПЧ будет меньше за счет реального доплеровского сдвига. Ее можно определить по упрощенной формуле (8). Левая часть формулы определяет сдвиг частоты за счет доплеровского эффекта, а правая — за счет свипирования ГУН.
Fif = 2 × F0 × Vt/c – 2 × R × BW/(с × T) = (2/c) × (F0 × vt – R × BW/T), (8)
Fif = 2 × F0 × Vt/c + 2 × R × BW/(с × T) = (2/c) × (F0 × vt + R × BW/T), (9)
Vt < R × BW/(T × F0), (10)
где Fif — частота ПЧ, Гц; F0 — средняя частота ЛЧМ-сигнала, Гц; Vt — радиальная скорость поезда, м/с; c — скорость света, 3×108 м/с; R — расстояние до поезда, м; BW — полоса модуляции сигнала ЛЧМ, Гц; T — длительность свипа, с.
В нашем случае скорость поезда невелика, и доплеровская составляющая меньше составляющей от перестройки ГУН. И пока выполняется неравенство (10), с увеличением скорости поезда сигнал в левой части спектра будет смещаться влево. Тем не менее после прохождения нуля выражение (8) поменяет знак, и далее с увеличением скорости поезда сигнал будет уже смещаться вправо. Для входных данных: R = 5 м, BW = 5 ГГц, T = 22,5 мс, F0 = 122 ГГц скорость поезда должна быть меньше 9,1 м/с, или 32,8 км/ч. Одним из методов преодоления этого эффекта, согласно неравенству (10), является уменьшение длительности перестройки Т. Приемопередатчики компании Silicon Radar позволяют получить линейную перестройку шириной 5 ГГц всего за 1 мс.
При перестройке частоты вниз все происходит наоборот: движущийся навстречу поезд увеличивает частоту ПЧ, которая уже будет определяться по формуле (9). Здесь следует отметить, что максимальная частота ПЧ от движущегося поезда существенно выше, чем от стационарного объекта, что необходимо учесть при проектировании аппаратной части радара.
Доплеровский спектр, показанный на нижнем графике, сильно несимметричен, сигнал в левой части спектра почти отсутствует, что говорит о хорошем качестве аппаратной части радара.
Заключение
В компании «Альфа-Прибор» в рамках ОКР проведен полный цикл разработки инновационного радарного датчика на основе приемопередатчика TRX_120_001 компании Silicon Radar. Радарный датчик предназначен для измерения параметров проходящих поездов как на высоких скоростях, так и до полной остановки состава. Технологии 122‑ГГц радаров могут стать массовыми в связи с уменьшением стоимости компонентов и требований к применяемым материалам при разработке и производстве изделий, в первую очередь это достигается благодаря использованию интегрированных в микросхемы антенн (TRX_120_001) и антенн на кристалле (TRA_120_002).
Разработанный вариант применения радарного датчика подтверждает, что такие радары могут быть успешно использованы во всех тех случаях, когда человек нуждается в высокой точности измерения положения или параметров перемещения отдаленных контролируемых объектов, находящихся на относительно небольших расстояниях. Такие радары могут иметь достаточно большой рынок как в России, так и за рубежом. Еще большие перспективы кроются в интегрировании радарных датчиков в системы автоматизации, диагностики и безопасности любого вида транспорта.
- Компания «Альфа-Прибор».
- Горбатов К. Знакомство с компанией Silicon Radar // Компоненты и технологии. 2017. № 5.
- Спецификация на приемопередатчик TRX_120_001.
- Резонаторы и кварцевые генераторы Golledge.
- Отладочный комплект Evalkit SiRad Easy.
- Спецификация на ФАПЧ ADF4159.
- IAR Systems.
- Микроконтроллеры Cortex-M4 Nuvoton.