DESIGNING THE SPRINGS OF SMALL ARMS BY METHODS OF THE NONLINEAR PROGRAMMING
V.V. Nikolskiy, I.V. Ivanov, D.V. Kondorov, S.A. Al'bov
For designing revocable and combat springs on criterion of the provision given or maximum energy at restrictions on size is offered use methods of the nonlinear programming.
Key words: springs, nonlinear programming, small arms.
Nikolskiy Vladimir Vitalevich, doctor of technical sciences, docent, professor, ivts. tulguaramhler. ru, Russia, Tula, Tula state university,
Ivanov Igor Vladislavovich. candidate for a master degree, ivts. tulgu@rambler. ru, Russia, Tula, Tula state university,
Kondorov Daniil Vladimirovich, candidate for a master degree, ivts. tulgu a ramhler. ru, Russia, Tula, Tula state university,
Al'bov Sergey Aleksandrovich, candidate for a master degree, ivts. tulgu@,rambler. ru, Russia, Tula, Tula state university
УДК 681.325.36
МНОГОКАНАЛЬНЫЙ ВЫСОКОСКОРОСТНОЙ ЦИФРОВОЙ ФИЛЬТР ВЫСОКИХ ПОРЯДКОВ
В. А. Бархоткин, Н.О. Крыликов, Л. А. Морозов, М.Л. Плавич
Рассматривается многоканальный блок полосовых рекурсивных цифровых фильтров 32-го порядка с частотой дискретизации 48 МГц, выполненный на основе ГРОЛ. Представлены структурные схемы и описание работы устройства и его составных частей.
Ключевые слова: сигналы, фильтрация, цифровой фильтр, ПЛИС, ГРОЛ, ЦАП,
АЦП
При проектировании современных электронно-вычислительных устройств [1], в том числе сложных информационно-управляющих систем [2] применяются, как правило, программируемые логические интегральные схемы (ПЛИС - БРОД).
Большой класс радиолокационных систем создается на основе использования широкополосных, в том числе псевдошумовых зондирующих сигналов, формирование которых может производиться с помощью генераторов псевдослучайной последовательности [3, 4]. При обработке отра-
58
женного от цели сигнала необходимо производить фильтрацию полезной составляющей, при этом для получения приемлемых характеристик полосового фильтра целесообразно при предварительной фильтрации использовать различного рода аналоговые фильтры, а окончательную фильтрационную обработку сигнала выполнять цифровыми методами.
В настоящей статье рассматривается пример создания6-ти канального блока полосовых рекурсивных цифровых фильтров 32-го порядка с частотой дискретизации 48 МГц, реализованного в одной микросхемы FPGA компании Xilinx. Входная и выходная разрядность данных - 16 бит. Для достижения требуемого динамического диапазона разрядность коэффициентов фильтра должна быть не менее 24 бит, поэтому была выбрана 36-битная промежуточная разрядность шины данных внутри каждого фильтра.
Предварительная оценка показала, что для построения цифрового фильтра с помощью набора унифицированных умножителей требуется порядка 300 умножителей разрядности 36x24. По результатам предварительного моделирования получено, что при реализации данной структуры в FPGAкомпании Xilinx на стандартном встроенном блоке DSP48 каждый теоретический умножитель занимает 4 блока. Таким образом, общее количество блоков DSP48, требуемое для выполнения поставленной задачи, составляет порядка 1200.Из числа доступных микросхем FPGA была выбрана микросхема ХС7К355Ткомпании Xilinx семейства Kintex, содержащая 1440 блоков DSP48.
Общая структура устройства
Структурная схема блока цифровых фильтров представлена на рис.1. Основной задачей устройства является цифровая фильтрация данных, поступающих из АЦП каналов предварительной аналоговой фильтрации, буферизация профильтрованных данных через FIFO и передача их че-резпроцессорный интерфейс в центральный процессор изделиядля дальнейшей обработки.Основу блока составляют 6 независимых каналов цифровой фильтрации, представленные на структурной схеме как фильтры 32-го порядка.
Входные сигналы ADS_DATA_1 ... ADS_DATA_6 (группа внешних сигналов №2) разрядностью 16 бит поступают на входы DATA_IN фильтров 32-го порядка.
Управляющие коэффициенты для фильтров 32-го порядка:
- 16 коэффициентов D (DCoef) разрядностью 24 бита;
- 16 коэффициентов B (BCoef) разрядностью 21 бит;
- 16 коэффициентов С (CCoef) разрядностью 18 бит;
- 16 коэффициентов сдвига (SHIFT) разрядностью 4 бита;
- коэффициент умножения NormCoef разрядностью 8 бит;
- коэффициент прореживания Я разрядностью 8 бит. Все коэффициенты являются общими для всех шести каналов цифровой фильтрации.
Рис. 1. Структурная схема блока цифровых фильтров
Выходными сигналами фильтров 32-го порядка являются:
- 16-ти разрядная шина выхода FIFO (FIFO_OUT);
- 4-х разрядная шина состояния FIFO;
- 16-ти разрядная выходная шина данных из блока прореживания.
Управляющие коэффициенты для фильтров хранятся в соответствующих регистрах, запись в которые возможна через процессорный интерфейс или блок последовательного интерфейса SCI.
Процессорный интерфейс представлен на рис. 1 группой внешних сигналов № 1, двунаправленным буфером шины данных BUF1, мультиплексором выходной шины данных MX1, блоком синхронизации процессорного интерфейса, мультиплексором выбора источника данных MX3 для регистров (шина данных или интерфейс SCI) и группой сигналов № 3.
В группу сигналов № 1 входят 32-х разрядная шина данных DATABUS, 16-разрядная шина адреса ADDRESSBUS, строб записи nWR, строб чтения nRD и сигнал выборки nCS.
Блок синхронизации процессорного интерфейса выполняет функции непосредственного управления записью в регистры и чтением из FIFO, а также поддержку доступа к регистрам через интерфейс SCI.
Группа сигналов № 3 включает в себя линии запросов на прерывание nIRQ и прямой доступ к памяти nDMA. Эти сигналы формируются идентичным образом, сравнивая содержимое маски соответствующего регистра (IRQ_MASK_REG или DMA_MASK_REG) с состоянием FIFO фильтров 32-го порядка.
Дополнительными устройствами, включенными в состав блока фильтров, являются блок последовательного синхронного интерфейса SPI и блок формирования квадратурных сигналов. Блок SPI предназначен для управления тремя счетверенными ЦАП усилителей с переменным коэффициентом усиления (VGA) и формирует ряд выходных сигналов (группа сигналов № 4):
- SCLK - сигнал синхронизации;
- SDATA - выход последовательных данных;
- nCS - сигналы выборки.
Входные данные для передачи и адреса доступа указываются в регистре управления SPISPI_DATA_REG.Кроме этого блок формирует флаг готовности к передаче новых данных (сигнал Status).
Блок формирования квадратурных сигналов управляет состоянием группы выходных сигналов № 5 -ADJ00/ADJ90 гальванически развязанного интерфейса конечного устройства. Управление этой частью схемы производится с помощью регистров Q_PERIOD_REG и CTRL_REG. Также с помощью регистра CTRL_REG осуществляется управление сигналом AGC_STB гальванически развязанного интерфейса конечного устройства.
В число дополнительных устройств, кроме перечисленных, входит блок тестовойпамяти (RAM), предназначенной для отладки. На вход тестовой RAM поступают выходные данные из одного из фильтров 32-го порядка через мультиплексор MX2. Выход этого мультиплексора подключен к группе выходных сигналов № 6. Управление тестовойRAM осуществляется преимущественно через интерфейс SCI.
Считывание данных из блока фильтров производится с помощью процессорного интереса. Данные для считывания выбираются с помощью мультиплексора MX1. Таким образом, для считывания доступны выходы FIFO фильтров 32-го порядка, линии состояния FIFO, флаг готовности SPI интерфейса и выход тестовой RAM.
Фильтр 32-го порядка
На рис. 2. представлена структурная схема фильтра 32-го порядка. Основу фильтра составляют 16 включенных последовательно рекурсивных фильтров 2-го порядка.
Входные данные разрядностью 16 бит поступают на вход DATA_IN фильтра и записываются во входной буферный регистр, в котором также производится расширение разрядной сетки до 36 бит. Входные данные занимают младшие 16 бит этой сетки, старшие 20 бит дополняются знаковым битом входных данных.
Каждый фильтр 2-го порядка требует 4 коэффициента: D, B, C и
SHIFT.
Таким образом, для всего фильтра требуется 16 групп коэффициентов, хранящихся в соответствующих банках регистров, как показано на рис. 1.
Выходные данные из последнего фильтра 2-го порядка поступают на знаковый умножитель. Коэффициент умножения формируется из параметра NormCoef разрядностью 8 бит, поступающего из соответствующего регистра (рис. 1). Для обеспечения возможности сделать коэффициент умножения равным 1 и для исключения нулевого коэффициента умножения, к параметру NormCoef прибавляется единица, после чего результат расширяется до знаковой величины общей разрядностью 10 бит.
Результат умножения (46бит) арифметически сдвигается на 10 разрядов вправо, восстанавливая, таким образом, предыдущую разрядную сетку 36 бит и обеспечивая соответствующий коэффициент умножения. Результат предыдущих операций (36 бит) проходит через схему ограничителя, ограничивающую число на шине данных в диапазоне от минус 32768 до 32767, то есть в пределах 16 бит.Полученный таким образом поток данных подается на блок прореживания, пропускающий каждый N-ый отсчет. Данные с частотой прореживания выводятся на внешнюю по отношению к этому блоку шину RDATA_OUT, используемую для вывода тестовой информации на внешний тестовый разъем и для записи информации в
тестовуюRAM (рис. 1).Кроме того, прореженные данные записываются в буферную память FIFO глубиной 1024 16-разрядных слова. Считывание данных из FIFO осуществляется через шину FIFO_OUT. Текущее состояние FIFO (степень его заполненности) отслеживается по 4-х битной шине статуса FIFO_STATE.
Рис. 2. Структурная схема фильтра 32-го порядка
Рекурсивный фильтр 2-го порядка
Структурная схема рекурсивного фильтра 2-го порядка представлена на рис. 3.
© OU /--ч
¿1 lui
>»N
Shift 36
Рис. 3. Структурная схема рекурсивного фильтра 2-го порядка
Рекурсивный цифровой фильтр второго порядка является базовым элементом блока цифровых фильтров. Всего в состав блока входят 6 x 16 = 96 фильтров второго порядка. Фильтр обеспечивает следующую передаточную характеристику:
^^ 1 + DZ- + Z "2 H(Z) = A х-—-— (1)
1 + BZ- +(1 - C )Z ~2
DCoefficient - 24-разрядный параметр, определяющий коэффициент D в формуле (1):
D Coefficient = Int(D ■ 224 )
где Int (x ) - оператор округления до целой части.
BCoefficient - 21-разрядный параметр, определяющий коэффициент B в формуле (1):
B Coefficient = Int(B ■ 224
CCoefficient - 21-разрядный параметр, определяющий коэффициент C в формуле (1).
C Coefficient = Inti<C ■ 224
*
SHIFT - 4-разрядный параметр, определяющий коэффициент A в формуле (1):
.* 1
A
2SHIFT "
Выходом фильтра является шиной DATA_OUT(36 разрядные выходные данные).
В состав фильтра входят следующие функциональные блоки.
1. 36-разрядные регистры задержки на один такт (z 1обозначенные номерами 1, 2, 8 и 9.
2. Блоки арифметического сдвига влево на 24 разряда (3, 4 и 10). Эти блоки производят расширение разрядной шины с 36 бит до 60 бит (включают дробную часть).
3.Блок арифметического сдвига вправо на 24 разряда (7). Этот блок производит уменьшение разрядной шины с 60 бит до 36 бит (убирает дробную часть).
4. Знаковый умножитель 24-разрядного коэффициента D на 36-разрядные данные с 60-разрядным выходом (5).
5.Знаковый умножитель 21-разрядного коэффициента B на 36-разрядные данные с расширением до 60-разрядного результата (12).
6.Знаковый умножитель 18-разрядного коэффициента C на 36-разрядные данные с расширением до 60-разрядного результата (14).
7. Блоки, инвертирующие знак числа (11 и 13).
8. 60-разрядный 6-входовый сумматор (6).
9. Блок арифметического сдвига вправо на количество разрядов, определяемых входным параметром SHIFT (15).
Внутренние вычислительные операции в фильтре производятся с фиксированной запятой: на целую часть отводятся 36 бит и 24 бита - на дробную часть. Таким образом, математические вычисления в блоке осуществляются по 60 разрядной шине. Все числа, за исключением параметра SHIFT - знаковые. Отрицательные числа кодируются в дополнительном коде. Преобразование чисел без дробной части в числа с дробной частью производится либо автоматически в результате операций умножения блоками 2, 12 и 14, либо с помощью блоков арифметического сдвига влево 3, 4
и 10. Обратное преобразование осуществляется с помощью блока арифметического сдвига вправо 7.
Вывод. Представленная структура блока цифровых фильтров реализована в одной микросхеме БРОЛ компании ХШпх ХС7К355Т семейства К1П;ех. При реализации задействовано 1158 встроенных блоков Б8Р48. Технические характеристики устройства представлены в таблице.
Технические характеристики устройства
1 Рабочая частота дискретизации 48.62 МГц
2 Тип цифрового фильтра полосовой, БИХ
3 Тип характеристики эллиптический фильтр
4 Суммарный порядок фильтра 32
5 Полоса пропускания 11.954 МГц -12.146 МГц
6 Неравномерность АХЧ в полосе пропускания 3 дБ
7 Выходная разрядность данных, бит 16
8 Уровень собственных шумов в полосе пропускания цифрового фильтра < -72 дБ
9 Динамический диапазон фильтров для БЕТпо 65536 точкам 122 дБ
Разработанное изделие, в состав которого входит описываемый блок цифровых фильтров, доведено до уровня опытного образца.
Список литературы
1. Серов А.Н. Мультипроцессорное вычислительное устройство и варианты его модернизации // Оборонный комплекс - научно-техническому прогрессу России. № 1. 2013. С. 90-93.
2. Переверзев А.Л. Концептуальная модель и методика проектирования интегрированных информационно-вычислительных систем на основе масштабируемой архитектуры // Оборонный комплекс - научно-техническому прогрессу России. № 1. 2013. С. 83-89.
3. Крыликов Н.О., Плавич М.Л. Разработка многоканального высокочастотного программно-перестраиваемого генератора псевдослучайной последовательности // Известия вузов. Электроника. № 3 (95). 2012. С. 83-84.
4. Крыликов Н.О., Плавич М.Л Высокочастотный программно-перестраиваемый генератор псевдослучайной последовательности // Оборонный комплекс - научно-техническому прогрессу России № 1. 2013. С. 66-69.
5. Xilinx, Inc., "Kintex7-Product-Table"
6. Xilinx, Inc., "7 Series FPGAs Overview", DS180 (v1.13), Advance Product Specification, November 30, 2012.
7. Xilinx, Inc., "Kintex-7 FPGAs Data Sheet: DC and AC Switching Characteristics", DS182 (v2.4), Advance Product Specification, December 12, 2012.
8. Xilinx, Inc., "7 Series DSP48E1 Slice", UG479 (v1.4), User Guide, October 2, 2012.
Бархоткин Вячеслав Александрович, д-р техн. наук, проф., зав. кафедрой, krylikov-no@rambler.ru, Россия, Москва, Зеленоград, Национальный исследовательский университет «МИЭТ»,
Крыликов Николай Олегович, д-р техн. наук, ст. научн. сотр., начальник сектора, krylikov-no@rambler. ru, Россия, Москва, Зеленоград, Национальный исследовательский университет «МИЭТ»,
Морозов Леонид Анатольевич, инженер электроник, leo-morozov@yandex.ru, Россия, Москва, Зеленоград, Национальный исследовательский университет «МИЭТ»,
Плавич Максим Леонидович, инженер электроник, plavich@,hotmail. com, Россия, Москва, Зеленоград, Национальный исследовательский университет «МИЭТ»
MULTICHANNEL FAST HIGH ORDER DIGITAL FILTER N.O. Krylikov, L.A. Morozov, M.L. Plavich
Multichannel recursive 32-order 48 MHz digital filter design based on FPGAhas been considered. Structural circuits and operation of device have been proposed.
Key words: signals, digital filter, FPGA, ADC, DAC
Barkhotkin Vyacheslav Alexandrovich, doctor of technical science, professor, manager of department, krylikov-no@rambler. ru, Russia, Moscow, Zelenograd, National Research University of Electronic Technology,
Krylikov Nikolay Olegovich, doctor of technical science, chief of sector, krylikov-no@rambler.ru, Russia, Moscow, Zelenograd, National Research University of Electronic Technology,
Morozov Leonid Anatolevich, engineer on electronics, leo-morozo v'a, yandex. ru, Russia, Moscow, Zelenograd, National Research University of Electronic Technology,
Plavich Maxim Leonidovich, engineer on electronics, plavich@,hotmail. com, Russia, Moscow, Zelenograd, National Research University of Electronic Technology