Приборы и техника эксперимента, 2020, № 1, стр. 46-51

ИНТЕРПОЛЯТОР ДЛЯ ОПРЕДЕЛЕНИЯ АМПЛИТУДЫ СИГНАЛА В СЧИТЫВАЮЩЕЙ ДЕТЕКТОРНОЙ ЭЛЕКТРОНИКЕ

В. В. Шумихин a*, Д. А. Азаров a, Э. В. Аткин a, И. С. Бульбаков a, П. Ю. Иванов a, Д. Д. Норманов a

a Национальный исследовательский ядерный университет “МИФИ”
115409 Москва, Каширское ш., 31, Россия

* E-mail: vvshumikhin@mephi.ru

Поступила в редакцию 06.09.2019
После доработки 10.09.2019
Принята к публикации 13.09.2019

Полный текст (PDF)

Аннотация

Интерполятор предназначен для определения максимальной амплитуды сигнала в аналоговом канале специализированной считывающей микросхемы. Применение интерполятора позволяет снизить требования к частоте дискретизации аналого-цифрового преобразователя, встроенного в канал микросхемы. Описываются результаты проектирования и апробирования интерполятора в составе программируемой логической интегральной схемы.

ВВЕДЕНИЕ

Типичная структура амплитудного канала считывания содержит зарядочувствительный усилитель для преобразования токового сигнала с детектора в напряжение и его усиления; усилитель-формирователь (у.ф.) для фильтрации сигнала и формирования колоколообразного отклика и аналого-цифровой преобразователь (а.ц.п.). Для определения максимума сигнала в микросхеме считывания с высоким разрешением цифровым пиковым детектором [1] частота дискретизации а.ц.п. должна быть очень высокой. На рис. 1 представлен график максимальной ошибки определения амплитуды сигнала, выраженной в единицах младшего значащего разряда (м.з.р.), в зависимости от частоты дискретизации 10-битного а.ц.п. для сигналов от усилителей-формирователей с различным временем достижения максимума: 100, 200 и 300 нс.

Рис. 1.

Ошибка в определении максимума сигнала в зависимости от частоты дискретизации а.ц.п. При 2-м порядке у.ф. время достижения максимума равно 300 нс (1), 200 нс (3), 100 нс (5), при 4-м порядке у.ф. время достижения максимума равно 300 нс (2), 200 нс (4), 100 нс (6).

Максимальная ошибка вычисления амплитуды сигнала определяется как максимальное отклонение значения функции сигнала в точках tpeakts/2 или tpeak + ts/2 от максимальной амплитуды сигнала, где tpeak – время достижения максимума на выходе усилителя-формирователя, ts – период дискретизации а.ц.п. при амплитуде сигнала, равной полной шкале а.ц.п. Соответственно при уменьшении ts ошибка определения пика также уменьшается, как показано на рис. 1. Для достижения точности <1 м.з.р. частота дискретизации а.ц.п. должна быть выше 50 МГц при времени достижения максимума на выходе усилителя-формирователя не менее 300 нс и 2-м порядке интегрирования. При уменьшении времени достижения максимума или увеличении порядка интегрирования требуемая частота дискретизации а.ц.п. увеличивается.

Высокоскоростной а.ц.п. имеет высокое энергопотребление, что делает его несовместимым с малопотребляющим считывающим каналом. В некоторых известных микросхемах считывания [2] частота дискретизации встроенного а.ц.п. не позволяет определить максимум сигнала в чипе и приводит к необходимости передачи всех отсчетов а.ц.п. во внешнюю систему обработки данных, что требует использования энергозатратных высокоскоростных интерфейсов, дорогостоящих линий связи, а также специализированной элементной базы.

В данной статье описывается метод определения максимума сигнала, основанный на использовании интерполяции [3]. Интерполяция позволяет найти уравнение кривой, которая проходит через заданный набор точек. Зная уравнение кривой, можно рассчитать значения функции в промежуточных точках в области искомого максимума сигнала. Это позволит найти максимальную амплитуду сигнала с необходимой точностью, снизив требования к частоте дискретизации а.ц.п. Определение максимума сигнала в микросхеме считывания позволяет существенно сократить объем передаваемых данных и соответственно снизить требования к скорости их передачи, а также существенно уменьшить потребляемую мощность встроенных в микросхему высокоскоростных передатчиков.

ВЫБОР АЛГОРИТМА ИНТЕРПОЛЯЦИИ

Для выбора алгоритма интерполяции, оптимального с точки зрения сложности реализации и достижения требуемой точности, были рассмотрены широко используемые алгоритмы интерполяции полиномами Лагранжа и кубическими сплайнами [49]. Для этого были найдены интерполяционные функции выходного сигнала усилителя-формирователя 4-го порядка с временем достижения максимума 200 нс, полученные по четырем, пяти и шести отсчетам (Npts) при частоте дискретизации а.ц.п. 25 МГц (см. рис. 2). На рис. 3 показана ошибка в определении максимальной амплитуды сигнала в зависимости от частоты дискретизации а.ц.п. для функций, восстановленных по алгоритму Лагранжа и кубическими сплайнами. Ошибка уменьшается с ростом частоты дискретизации аналогично зависимости, представленной на рис. 1. Наименьшую ошибку имеет интерполяционная функция, построенная по шести отсчетам по алгоритму Лагранжа.

Рис. 2.

Выходной отклик усилителя-формирователя (1), восстановленный по алгоритму Лагранжа (а) и кубическими сплайнами (б). Число отсчетов Npts равно 4 (2), 5 (3) и 6 (4). Штриховыми линиями показаны границы ошибки 1 м.з.р. для 10-битного разрешения а.ц.п.

Рис. 3.

Ошибка при определении максимальной амплитуды алгоритмом Лагранжа (а) и кубическими сплайнами (б). Число отсчетов Npts равно 4 (1), 5 (2) и 6 (3).

Интерполяционный многочлен Лагранжа – многочлен минимальной степени, принимающий данные значения в данном наборе точек. Для n + 1 пар чисел (x0, y0), (x1, y1), …, (xn, yn), где все xj различны, существует единственный многочлен L(x) степени не выше n, для которого L(xj) = yj. Так как а.ц.п. оцифровывает сигнал с постоянной частотой, то узлы интерполяции распределены равномерно. В этом случае вычисление многочлена Лагранжа существенно упрощается.

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

Для реализации был выбран алгоритм интерполяции полиномами Лагранжа, который имеет меньшую ошибку и проще в реализации по сравнению с интерполяцией кубическими сплайнами.

ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ИНТЕРПОЛЯТОРА

Как показал анализ интерполяционных алгоритмов для получения интерполяционной функции, совпадающей с функцией усилителя-формирователя, необходимо иметь выборку как минимум из 6 отсчетов а.ц.п., три из которых должны быть расположены на фронте сигнала и три на спаде. Это накладывает определенные ограничения на минимальную частоту дискретизации сигнала, которая должна быть не менее 3/tpeak, где tpeak – время достижения максимума на выходе усилителя-формирователя.

Для определения максимума сигнала в интерполяторе рассчитываются значения для нескольких дополнительных точек (Nups), расположенных в окрестности точки с максимальной амплитудой в выборке из 6 точек. Число дополнительных точек Nups определяет коэффициент повышения частоты дискретизации а.ц.п. в (Nups + 1) раза. Этот коэффициент выбирается таким образом, чтобы при повышенной частоте ошибка определения максимума была ниже требуемого уровня. Например, для достижения ошибки 1 м.з.р. при дискретизации сигнала усилителя-формирователя с временем достижения максимума 200 нс и 2-м порядком интегрирования а.ц.п. с частотой 20 МГц требуется увеличить частоту дискретизации в 4 раза (см. рис. 1), т.е. количество промежуточных точек между отсчетами должно быть равно 3.

РЕАЛИЗАЦИЯ ИНТЕРПОЛЯТОРА

Интерполятор описан на языке Verilog, и апробирован на программируемой логической интегральной схеме (п.л.и.с.). Интерполятор сохраняет данные, поступающие из а.ц.п. в кольцевом буфере на 6 слов, и анализирует последовательность полученных отсчетов. Данные в кольцевом буфере обновляются каждый последующий отсчет а.ц.п. и расчет максимума начинается только после выполнения условия:

$\left\{ \begin{gathered} {\text{PTS}}[0] < {\text{PTS}}[1] < {\text{PTS}}[2] \hfill \\ {\text{PTS}}[2] \geqslant {\text{PTS}}[3] \hfill \\ {\text{PTS}}[3] > {\text{PTS}}[4] > {\text{PTS}}[5], \hfill \\ \end{gathered} \right.$
где PTS[i] – отсчеты а.ц.п. При выполнении заданного условия максимальное значение находится на отрезке от PTS [1] до PTS [3], и расчет промежуточных точек интерполятором проводится только на данном отрезке. На рис. 4 показаны выборки отсчетов а.ц.п. для трех возможных случаев положения пика сигнала усилителя-формирователя с временем достижения максимума 200 нс, 2-м порядке интегрирования и частотой дискретизации а.ц.п. 25 МГц:

Рис. 4.

Выбранные отсчеты а.ц.п.

PTS [2] = PTS [3] – пик сигнала находится на интервале PTS [2]–PTS [3] – рис. 4а;

PTS [2] > PTS [3] – пик сигнала находится на интервале PTS [1]–PTS [2] – рис. 4б;

PTS [2] > PTS [3] – пик сигнала находится на интервале PTS [2]–PTS [3] – рис. 4в.

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

В качестве исходного значения максимума берется значение PTS [1]. Далее в цикле осуществляется последовательный расчет промежуточных точек по Лагранжу и сравнение их значений с максимумом. Если рассчитанное значение в точке больше максимального, то максимуму присваивается текущее рассчитанное значение. Если же значение в точке меньше максимума, то делается вывод о том, что точка находится на спаде кривой и максимум уже найден, и цикл поиска максимума завершается.

Ключевыми особенностями реализации блока интерполятора являются конвейерная обработка данных и оптимизация математических операций. Вещественная математика была сведена к операциям над целыми числами. При этом были пересчитаны весовые коэффициенты полинома Лагранжа для того, чтобы заменить целочисленное деление на сдвиг. Входные и выходные значения – 10-разрядные. Вычисления проводятся над числами разрядности 14 бит. При этом два дополнительных младших бита уменьшают ошибку округления промежуточных результатов, два старших дополнительных бита защищают от переполнения при операциях сложения/вычитания. Вещественные значения весовых коэффициентов так же были переведены в 14-разрядные целые числа.

Конвейеризация [10] характеризуется высокой степенью утилизации используемых вычислительных блоков. При полной загрузке интерполятора в конвейере блок умножения загружен полностью, а сумматор простаивает один такт за время вычисления точки. Ниже представлены стадии работы вычислительного конвейера, где выделен один цикл расчета промежуточной точки, а прочерком обозначен простой в работе вычислительного блока:

MUL0 MUL1 MUL2 MUL3 MUL4 MUL5 MUL0 MUL1 MUL2
ADD4 ADD0 ADD1 ADD2 ADD3 ADD4 ADD0

АПРОБАЦИЯ НА П.Л.И.С.

Апробация Verilog-описания интерполятора проводилась на п.л.и.с. Xilinx Kintex-7. Для имитации работы аналоговой части использовалась 8-канальная плата на базе а.ц.п. LTM9011-14 компании Linear Technology/Analog Devices. Для п.л.и.с. создан проект тестирования работы логической части проекта специализированной и.с. В тестовый проект входит интерфейс к а.ц.п., имитатор отсчетов от а.ц.п., блок формирования тактовых частот со схемой управления и тестируемый цифровой проект. Выходные данные с интерполятора выводились из п.л.и.с. по параллельной 10‑разрядной шине данных.

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

Тест с реальным аналоговым сигналом показал, что все максимумы детектируются корректно, а пропуски или ложные срабатывания отсутствуют. Недостатком данного теста была сложность оценки точности вычислений, так как дополнительную неопределенность в оценке точности вносят погрешности источника аналогового сигнала, аналогового тракта платы а.ц.п. и сам а.ц.п. Для устранения влияния аналоговой части на результаты тестирования интерполятора был использован режим с чтением отсчетов из заранее сформированного массива данных. Массив содержит отсчеты сигналов с известной амплитудой, что позволяет сравнить результат интерполяции с истинным значением максимума. Тестирование проводилось с шаблонами сигналов различной амплитуды и фазы смещения отсчетов относительно максимума сигнала.

Максимальная ошибка в определении пика сигнала в зависимости от амплитуды входного сигнала усилителя-формирователя с временем достижения максимума 200 и 100 нс при 2-м порядке интегрирования и частоте дискретизации а.ц.п. 25 и 30 МГц не превышает 2 м.з.р. для 10‑битного а.ц.п. (см. рис. 5). При определении максимума сигнала пиковым детектором максимальная ошибка составляет 10 и 27 м.з.р. соответственно (см. рис. 6).

Рис. 5.

Зависимость ошибки определения пика от амплитуды входного сигнала: а – 25 МГц, 200 нс, 2-й порядок; б – 30 МГц, 100 нс, 2-й порядок. 1 – интерполятор, 2 – пиковый детектор.

Рис. 6.

Зависимость ошибки определения пика задержки входного сигнала: а – 25 МГц, 200 нс, 2-й порядок; б – 30 МГц, 100 нс, 2-й порядок. 1 – интерполятор, 2 – пиковый детектор.

ЗАКЛЮЧЕНИЕ

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

Список литературы

  1. Atkin E., Bulbakov I., Ivanov P., Ivanov V., Malankin E., Normanov D., Sagdiev I., Samsonov V., Shumikhin V., Shumkin O., Vinogradova S., Voronin A. // JINST. 2016. V. 11. C12069. https://doi.org/10.1088/1748-0221/11/12/C12069

  2. Adolfsson J., Pabon A., Bregant M., Britton C., Brulin G., Carvalho D., Chambert V., Chinellato D., Espagnon B., Hernandez Herrera, Ljubicic T., Mahmood S.M., Mjornmark U., Moraes D., Munhoz M.G. et. al. // JINST. 2017. V. 12. C04008. https://doi.org/10.1088/1748-0221/12/04/C04008

  3. Бахвалов Н.С. Численные методы. М.: Бином, 2011.

  4. Huang C., Chen P., Ma C. // IEEE Transactions on Circuits and Systems for Video Technology. 2012. V. 22. № 10. P. 1512. https://doi.org/10.1109/TCSVT.2012.2202080

  5. Lee D., Cheung R., Luk W., Villasenor J. // IEEE Transactions on Computers. 2008. V. 57. № 5. P. 686. https://doi.org/10.1109/TC.2007.70847

  6. Franck A. // The 2010 International Conference on Green Circuits and Systems. Shanghai, China. 2010. P. 158. https://doi.org/10.1109/ICGCS.2010.5543075

  7. Moses C.J., Selvathi D., Queen G.S.E. // 2017 International Conference on Signal Processing and Communication (ICSPC). Coimbatore, India. 2017. P. 201. https://doi.org/10.1109/CSPC.2017.8305839

  8. Dai Q., Katsaggelos A.K., Yu S., Kang W., Jeon J., Paik J. // The 18th IEEE International Symposium on Consumer Electronics (ISCE 2014). JeJu, South Korea. 2014. P. 1. https://doi.org/10.1109/ISCE.2014.6884434

  9. Li Rui, Lv Qiong // 2012 International Conference on Image Analysis and Signal Processing. Hangzhou, China. 2012. P. 1. https://doi.org/10.1109/IASP.2012.6425043

  10. Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2010.

Дополнительные материалы отсутствуют.