Диссертация (1090497), страница 17
Текст из файла (страница 17)
Основныехарактеристики УП и ГП приведены в Приложении 4. ЭВМ совместно свысокочастотным приёмником образует испытательный стенд корреляционнойобработки пассивной системы радиотехнического контроля, который аналогиченстенду (рисунок 4.1).
Стенд позволяет производить приём и обработку сигналоврадиоэфира с двух антенных систем. Структурная схема процесса вычисленияДКФ на базе ЭВМ показана на рисунок 4.12.При совместном использовании УП и ГП в гетерогенной моделивычисления (в модели включены разнотипные операции) ДКФ оптимальнымспособом построения такого процесса является, когда УП используется дляпервичной обработки информации, т.е. в подготовке и формированию данных, акорреляционная обработка и фильтрация осуществляется в ГП.Рисунок 4.12 – Структурная схема вычисления ДКФ на ЭВМПроцесс вычисления ДКФ разбивается на несколько этапов:1) вычисляются КФ для последовательных интервалов времени на ГП;2) формируется матрица КФ в глобальной памяти ГП таким образом, чтоэлементы столбца представляли КФ для одного интервала времени, а элементыстроки составляли значения КФ для разных интервалов, но для одинаковыхзадержек;3) формируется матрица поворачивающих множителей либо на УП, либо на ГП;1214) вычисляется матрица ДКФ на ГП через произведение матриц КФ иповорачивающих множителей.Вычисление ДКФ производилось с параметрами:- сигнал радиоэфира: шумоподобный f=10 МГц;- тактовая частота Ft=65 МГц;- скорость передачи информации по шине: 150 МБ/с;- число отсчётов КФ (по задержке), const_M: Nτ от 16 до 4096;- число отсчётов по доплеровской частоте, const_N: Nd от 16 до 1024;- число кадров накопления, t_run: 7;- диапазон доплеровских частот: Фmax=8 кГц;- максимальное разрешение по доплеровской частоте: δФ≈16 Гц;- дискрет по времени: δt =1/Ft =0,015 мкс;- диапазон задержек: τmax=Nτ/Ft =63 мкс;- общее число отсчётов: NТ=( δФ· δt)-1≈4,16×106, возьмем NТ=4194304;- время накопления: Tχ=NТ /Ft =0,065 с.4.3.2 Алгоритм вычисления ДКФ на основе ГПНа рисунке 4.13 представлен алгоритм вычисления ДКФ.
Согласно этомуалгоритму была разработана программа “FH_CUDA”, написанная на языке Си всреде программирования Visual Studio 2010. При построении трехмерногоизображения и запросе некоторых библиотечных функций применялась средамоделирования Matlab (рисунок 4.6).Основные параметры настройки программы (блок 2) задаются в файленастройки schost.ini:t_run – количество кадров накопления;const_M – количество отсчётов КФ (Nτ);const_N – количество доплеровских частот (Nd);flag Sum – признак накопления (1- накопления, 0 - нет накопления);ampl_max – масштаб отображения графика (максимальное значение).122Призапускепрограммы“FH_CUDA”одновременновызываются,настраиваются и инициализируются программы: Matlab и CUDA (блок 3).
Изплаты АЦП через шину PCI (частотой 66 МГц\32 бит) данные поступают вглобальную память УП (блок 5) (рисунок 4.13), где формируются выборкисигналов (определяемые параметром const_M) (блок 6). Далее через шину PCIExpress 3.0 (пропускной способностью 16 ГБ/c) поступают в глобальную памятьГП, а затем в сам процессор (блок 7), где происходит вычисление корреляции(блок 8).Вычисление КФ [129,130] производится при использовании стандартногоядра БПФ [119,123,124] через спектральное представление входных сигналов [39]с применением готовой библиотеки CUFFT [134] фирмы Nvidia.
Результатвычисления помещается в глобальную память ГП (блок 9). Вычисляютсяпоследовательно КФ до тех пор, пока не получим все N значений КФ (блок 10).Из них формируется матрица ||R|| (блок 12).Также необходимо сформировать значение поворачивающего множителя:Wk,q = e− j 2πkqNd. Этот множитель одинаковый для всех вычислительных “потоков” иразмещается, как константа в памяти. Существуют несколько способов егополучения. При первом способе - множитель рассчитывается отдельно на УП ипересылается в глобальную память ГП для дальнейшего использования, как ибыло, сделано в первом варианте реализации.
Это увеличивает нагрузку на памятьне менее чем в 1,5…2 раза, что приведёт к замедлению процесса вычисления.Второй способ заключается в расчёте множителя непосредственно в программепри её выполнении на ГП. Но вычисление косинуса и синуса производится внесколько раз медленнее, чем сложение и умножение и поэтому вычисляютсянесколько основных коэффициентов и умножаются на себя необходимое числораз для получения высших степеней.1231 Начало2Задание параметровM, N, t_run3Инициализация программMatlab и CUDA45Запись данных в памятьУПДанные из эфираДА6Формирование выборки789Передача данных вГПКорреляцияЗапись данных впамять ГП10НЕТ11Q=Q+1ДАQ=N1213а'Формированиематрицы ||R||14Формированиематрицы ||E||||R||×||E||=||χ||в'Рисунок 4.13 – Алгоритм вычисления ДКФ124а'в'НЕТ18L=L+115Получение ||χ|| инормировка16Получение иотображение графика17ДАt_run=L19КонецРисунок 4.13 (продолжение) – Алгоритм вычисления ДКФМатрица ||R||1ая КФ2ая КФ3ая КФ4ая КФ··········Nая КФКадрМатрица ||E||1ая ДЧ2ая ДЧ3ая ДЧ4ая ДЧ··········Nая ДЧРисунок 4.14 – Матрицы ||R|| и ||E||Из этих значений формируется матрица доплеровских частот ||E|| (блок 13)размерностью Nd (рисунок 4.14) и также пересылается в ГП для дальнейшегоумножения (блок 14).
В результате перемножения двух матриц получаетсяматрица ||χ||, т.е. вычисляется кадр. Процесс перемножения матриц на ГП описанвыше. Далее происходит операция нормировки, вычисление модуля (блок 15).Полученный результат отображается на экране монитора (рисунок 4.15),125освобождается область глобальной памяти УП и ГП, снова начинается приём,обработка и формирование следующего кадра.
Процесс повторяется до тех пор,пока не произойдёт обработка всех кадров, определяемый параметром t_run (блок17).Рисунок 4.15 – Результат вычисления ДКФБыли проведены натурные исследования аппаратной реализации на ПЛИС иГП и только на ГП. Производительность процесса вычисления ДКФ различнымиспособами реализации при фиксированном Nd (N) показана на рисунке 4.16. Нарисунке 4.16 видно, что при увеличении количества точек Nτ (М) времявычисления ДКФ при способе, когда используется реализация на ПЛИС и ГПувеличивается быстрее, по сравнению с обработкой только на ГП.
Этообъясняется тем, что появляются временные затраты на передачу корреляционнойматрицы из ПЛИС в ГП на дальнейшую обработку. Это время увеличивается, приувеличении объёма передаваемого массива. Но с другой стороны при увеличенииобъёма задачи, производительность ГП экспоненциально увеличивается. Такимобразом, первый способ проигрывает второму по скорости обработки, чтозакономерно.GВремя обработки данных Тоб определяется в общем виде: Tоб = ∑ tn ,n =1где G – количество операций (пересылка данных, выполнение операций,обращение к памяти и т.д.); tn – время, затраченное на одну операцию.126Рисунок 4.16 – Сравнительная характеристика времени вычисления при N=256:M – Nτ; N – Nd.На рисунке 4.17 показан трехмерный график зависимости отношения С/Ш(по амплитуде) от различных значений Nτ (М) и Nd (N) при реализации на ГП типаGF114.
Из графика видно, что отношение С/Ш пропорционально зависит отпараметра Nτ и в меньшей степени определяется Nd.Рисунок 4.17 – График зависимости отношения С/Ш от параметра М и NГП типа GF114 может обрабатывать сигнал с полосой около 1 ГГц вреальном времени (Приложение 4). Следовательно, при вычислении КФ на основедвойного БПФ с большим количеством точек Nτ, можно получить большойкоэффициент накопления сигнала: C=TrΔf и большое значение отношение С/Ш,за счёт когерентного накопления: k = 20 lg( N / N ' ) ,127где k – коэффициент улучшения отношения С/Ш (по амплитуде), N/N' –отношение количества точек.Известно, что при каждом удвоении размера БПФ (Nτ) отношение С/Шувеличивается на 3 дБ.
Из проведённых исследований видно, что корреляционнаяобработка на основе ГП и УП является перспективной и обладает большимипотенциальными вычислительными возможностями при относительно небольшихэкономических затратах.4.4 Конструктивная реализация корреляционной обработки на основе ГПАппаратная реализация графической платы на основе ГП для жёсткихусловий эксплуатации выполняется в виде ячейки. Так как ГП имеет большоепотребление и, как следствие, большую мощность рассеивания, возникает рядтехнических сложностей:- для реализации аппаратуры на основе ГП необходим конструктив,который может работать в жёстких условиях эксплуатации и в тоже времяспособен эффективно отвести тепло от составных единиц- ячеек;- необходим специальный источник для электропитания составных единиц,который способен импульсно отдавать большую мощность в нагрузку и иметьнебольшие габариты.В соответствии с принципами системной интеграции в блок ЦОС входятсоставные единицы: модули и ячейки.