Научная статья на тему 'Оптимизированный алгоритм расчета ошибок сигналов с цифровой модуляцией'

Оптимизированный алгоритм расчета ошибок сигналов с цифровой модуляцией Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
214
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕКТОРНЫЙ АНАЛИЗАТОР СИГНАЛОВ / ВЕКТОР ОШИБКИ / МНОГОПОТОЧНОЕ ПРОГРАММИРОВАНИЕ / ФИЛЬТР ПРИПОДНЯТОГО КОСИНУСА / ДЕКОДИРОВАНИЕ СИГНАЛА / VECTOR SIGNAL ANALYZER / ERROR VECTOR / MULTITHREAD PROGRAMMING / RISED COSINE FILTER / SIGNAL DECODING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Волков Константин Валерьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

OPTIMIZED ALGORITHM FOR ERRORS ESTIMATION OF SIGNALS WITH DIGITAL MODILATION

This article proposes an optimized algorithm for errors estimation of signals with digital modulation. Algorithm is implemented as a kernel for videocard and has acceleration range 4. The results of comparing the performance of the CPU algorithm and GPU algorithm. Increased performance in errors estimation of signals reduces the testing time and production time of digital communications equipment.

Текст научной работы на тему «Оптимизированный алгоритм расчета ошибок сигналов с цифровой модуляцией»

УДК: 004.7+ 621.396.41 ББК: 32.973.2

Волков К.В.

ОПТИМИЗИРОВАННЫЙ АЛГОРИТМ РАСЧЕТА ОШИБОК СИГНАЛОВ С

ЦИФРОВОЙ МОДУЛЯЦИЕЙ

Volkov K.V.

OPTIMIZED ALGORITHM FOR ERRORS ESTIMATION OF SIGNALS WITH

DIGITAL MODILATION

Ключевые слова: векторный анализатор сигналов, вектор ошибки, многопоточное программирование, фильтр приподнятого косинуса, декодирование сигнала.

Keywords: vector signal analyzer, error vector, multithread programming, rised cosine filter, signal decoding.

Аннотация:

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

Abstract:

This article proposes an optimized algorithm for errors estimation of signals with digital modulation. Algorithm is implemented as a kernel for videocard and has acceleration range 4. The results of comparing the performance of the CPU algorithm and GPU algorithm. Increased performance in errors estimation of signals reduces the testing time and production time of digital communications equipment.

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

измерительного оборудования для тестирования цифровых систем связи занимают такие компании как Rohde&Schwarz, Agilent. Этими компаниями выпускаются векторные анализаторы сигналов (ВАС), которые способны рассчитывать ошибки в сигналах с цифровой модуляцией и дают возможность оценить качество цифрового связного оборудования. ВАС разрабатываются в соответствии с концепцией виртуальных

измерительных приборов [1]. Расчетная логика в этих приборах выполняется на ЭВМ, которая является вычислительным блоком [2]. В данной статье предложен

оптимизированный алгоритм, который позволит программному обеспечению для ВАС «НПФ «Микран» превзойти по производительности зарубежные аналоги. Производительность предлагаемого алгоритма увеличена за счет переноса задачи расчета на видеоадаптер и распараллеливания процесса вычисления на большое количество потоков. Для эффективного внедрения алгоритма требуется выполнение двух условий:

1. ВАС «НПФ «Микран» соответствует концепции виртуальных

измерительных приборов;

2. вычислительный блок ВАС оснащен высокопроизводительным видеоадаптером с поддержкой технологии CUDA [3].

Так как в качестве измерительного блока для ВАС применяется анализатор спектра СК4М, который соответствует концепции виртуальных измерительных приборов, то первое условие можно считать выполненным. В качестве вычислительного блока применяются стационарные ЭВМ, в которых установка требуемого видеоадаптера не является дорогим решением. В качестве измерительного блока можно применить портативные ЭВМ со встроенным требуемым видеоадаптером. Ниже приводятся результаты экспериментов по оценке производительности предложенного оптимизированного алгоритма. Эксперименты были проведены на двух вариантах измерительных блоков ВАС: стационарном и портативном.

Описание оптимизированного алгоритма. Графический процессор имеет архитектуру «один поток команд и множество потоков» (SIMT -Single Instruction Multiple Thread), что позволяет выполнять одну операцию над набором однородных данных во множестве независимых потоков. Современные графические процессоры имеют в своем составе несколько сотен независимых потоковых процессоров, каждый из которых может запустить по 1024 потока. Возможность распараллеливания задачи расчета ошибок позволила реализовать алгоритм в параллельной форме, которая эффективно вычисляется на SIMT архитектуре.

Предложенный оптимизированный алгоритм представляет собой последовательность параллельных итераций, выполняющихся на графическом процессоре. Блоковая диаграмма алгоритма ВАС представлена на рис. 1.

Память для Квадратурная Фильтрация Блок сравнения

хранения —► демодуляция —► огибаюшей

отсчетов

АЦП

Декодирование Формирование

идеальных

—► квадратур

• Расчет ошибок !

Рисунок 1 - Структурная схема алгоритма расчета ошибок в программном обеспечении ВАС После оцифровки сигнал в виде набора отсчетов накапливается в памяти, формируя тем самым временную запись. После окончания сбора данных начинается обработка сигнала: разложение на квадратурные составляющие и фильтрация огибающей. С выхода фильтра огибающей квадратурные составляющие принятого сигнала поступают на декодирование для извлечения битовой последовательности. Принятая битовая последовательность используется блоком расчета ошибок для формирования идеальных квадратурных сигналов. На рис. 1 выделены две основные составляющие алгоритма расчета ошибок: формирование идеального ^ сигнала и фильтрация; сравнение принятого сигнала с идеальным сигналом. Рассмотрим эти составляющие алгоритма подробнее.

Формирование идеального сигнала происходит в соответствии с выбранной М -ной цифровой модуляцией [4]. Цифровой сигнал представляет собой набор символьных положений на двумерной комплексной плоскости, которые характеризуются модулем и фазой несущего сигнала (иными словами - уровнем квадратурных составляющих сигнала). Для формирования идеального сигнала используется ядро видеоадаптера, которое параллельно заполняет независимые элементы массивов I и Q. Например, для формирования сигнала со схемой модуляции QPSK применяются соотношения:

І і =2-cod 1 1 <N ^ 1 1 -і;

Q і =2-cod + 1 1 -і

(2)

где cod - массив кодовой последовательности, Ts - количество отсчетов на символ.

Независимость элементов массива позволяет добиться максимальной производительности при запуске вычислений в одномерной сетке с блоками по 512 потоков видеоадаптера. Алгоритм имеет механизмы защиты: от выхода за рамки массива; от использования массивов до того как они полностью заполнены. Первый механизм производит расчет количества блоков по 512 потоков, достаточных для расчета массива. При этом ядро не использует потоки с глобальным индексом, превосходящим размерность массива. Второй механизм использует заградительный барьер cudaThreadSynchronize(), который останавливает программу до момента завершения работы всех потоков. Так как реальные цифровые связные системы используют квадратурные сигналы, прошедшие через фильтр с характеристикой приподнятого косинуса [4], то формируемый идеальный сигнал необходимо фильтровать с помощью фильтра приподнятого косинуса с параметрами, идентичными фильтру передатчика. Для формирования коэффициентов фильтра приподнятого косинуса с размером окна Lg и коэффициентом сглаживания а

используется дополнительное ядро видеоадаптера, которое параллельно рассчитывает независимые элементы массива по соотношениям:

Кг (t) = cos

я • ос •

Т •Т

1d 1s

sin

ж ■

Т ■Т

1d 1s

П ■

т ■т

1d 1s

K2(t) = 1-

f л 2 2 Л

4-а -t

>т< 2 rp 2

V 1d

h(t)

(3)

(4)

(5)

-L

где

< t <

L

.7'

время дискретизации.

Алгоритм фильтрации представляет собой параллельный вариант свертки элементов входного массива X и коэффициентов фильтра с характеристикой приподнятого косинуса. Множество потоков производит операцию умножения с накоплением (MAC Multiplier/Accumulator) над элементами массива X и массива RC (коэффициентов фильтра приподнятого косинуса). Элементы массивов извлекаются со смещением step, зависящим от индекса потока. В алгоритме повторно используются одни и те же данные из массивов X и RC, что позволяет применить кэширование текстурной памяти и снизить затраты времени на обращение к глобальной памяти. Соотношение для расчета элемента выходного массива:

Lg I sym

o/N //• sym. . .

S(i)= 2_, "С/ • sym + step H---------)-x i- j • sym + step

(6)

j=о

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

Сравнение идеального и принятого сигналов. Измерительная техника оценивает качество модуляции по комплексной амплитуде вектора ошибки (Е"УМ) [2,5]. Расчет ошибки ведется постоянно по всей временной записи, а результаты отображаются пользователю как среднее значение ошибки на рассматриваемом участке сигнала, так и в виде характеристики изменения ошибки во времени. Таким образом, в блоке сравнения реализуется расчет EVM по соотношениям:

ЕУМ\ ./ = 1т<в ./ -1г4 ./ , (7)

ЕУМд ./ =Отеш ./ -ОгеГ ./ , (8)

ЕШ ] } -1« ■> )2+(й~. } ~<2ы } )2 <9>

Расчет производится на видеоадаптере блоками по 512 потоков. После расчета временной зависимости вектора ошибки рассчитывается среднее значение в виде отношения результата функции cublasDasum() к общему количеству элементов вектора ошибки. По завершению алгоритма получены временные зависимости комплексного вектора ошибки и среднее значение ошибки.

Описание эксперимента по оценке производительности предложенного оптимизированного алгоритма. Для оценки быстродействия предложенного алгоритма был проведен эксперимент, в котором использовались вычислительные блоки ВАС с параметрами, приведенными в таблице 1. Результаты эксперимента представлены на рис. 2.

Таблица 1 - Параметры вычислительных блоков ВАС

Портативный вычислительный блок Стационарный вычислительный блок

Процессор Intel Core i3 - 380M, 2530 МГц Intel Core i3 - 540, 3060 МГц

ОЗУ 3ГБ 2ГБ

Видеоадаптер GT415M, 1 мультипроцессор GT240, 12 мультипроцессоров

Рисунок 2 - Зависимость времени расчета от размера измеряемого сигнала

Из зависимостей, представленных на рис. 2, видно, что выигрыш по времени от применения предложенного алгоритма составляет 4 раза на стационарном компьютере и 2 раза на портативном компьютере. Это объясняется тем, что архитектура портативного компьютера менее производительна, нежели архитектура стационарного компьютера, как по параметрам центрального процессора, так по параметрам графического процессора. Большую роль в задаче расчета ошибок имеет размер кэш памяти, так как размеры массивов достигают миллионов отсчетов. Мобильная версия процессора имеет меньший объем кэш памяти и меньшую тактовую частоту, что привело к потере производительности на 25% по сравнению с центральным процессором стационарного измерительного блока. Потеря производительности на графическом процессоре обусловлена сокращенным количеством потоковых процессоров в мобильной версии графического процессора.

Предложенный оптимизированный алгоритм расчета ошибок сигналов с цифровой модуляцией позволяет увеличить производительность процесса тестирования цифрового связного оборудования в 4 раза и может быть успешно реализован в разрабатываемом «НПФ «Микран» векторном анализаторе сигналов. Это позволит программному обеспечению для векторного анализатора сигналов «НПФ «Микран» превзойти по производительности зарубежные аналоги.

Работа выполнена при поддержке Министерства образования и науки РФ в соответствии с договором 13.G25.31.0011 от 07.09.2010 и договором 74/10 от 15.07.2010 г. в порядке реализации постановления 218 Правительства РФ.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Волков К.В. Виртуальный векторный анализатор сигналов на базе технологии CUDA // Доклады Том. Гос. Ун-та систем управления и радиоэлектроники. - 2011. - № 1 (23). - С. 164-167.

2. Волков К.В. Алгоритм тестирования цифрового связного оборудования / Волков К.В., Мелихов С.В. // Доклады Том. Гос. Ун-та систем управления и радиоэлектроники . -2011. - № 2 (24). - С. 85-89.

3. Боресков А.В. Основы работы с технологией CUDA/ А.В. Боресков, А.А. Харламов. - М.: Издательский дом «ДМК-Пресс», 2010. - 232 с.

4. Скляр Бернард. Цифровая связь. Теоретические основы и практическое применение, 2-е издание./ Пер. с англ. - М.: Издательский дом «Вильямс», 2003. - 1104 с.

5. Agilent 89600 Vector Signal Analysis Software [Электронный ресурс]. - Режим доступа: http://cp.literature.agilent.com/litweb/pdf/5989-1786EN.pdf, свободный (дата обращения: 13.04.2012).

i Надоели баннеры? Вы всегда можете отключить рекламу.