Метод увеличения быстродействия цифровых фильтров на основе скользящего дискретного преобразования Фурье

УДК 681.3.06

Метод увеличения быстродействия цифровых фильтров на основе скользящего дискретного преобразования Фурье

Владимир Иванович Воловач, к.т.н., доцент, зав. кафедрой «Информационный и электронный сервис», e-mail: ssunrise@mail.ru

Максим Викторович Шакурский, зав. лабораторией, каф. «Информационный и электронный сервис», e-mail: Shakurskiy@mail.ru

ФГОУ ВПО «Поволжский государственный университет сервиса» (ПГУС), г. Тольятти

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

The authors discuss the operation speed of the digital filters, functioning in real time. The performance of digital filters is increased based on the moving discrete Fourier transformation using the algorithm, which enhances the performance due to the choice of the impulse response and the implementation of the convolution of input signal in real time. The study gives the numerical expressions to calculate the speed.

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

Keywords: digital filtering in real time, Fourier transform, performance of digital filters, temporal convolution algorithm.

В условиях интенсивного развития цифровой обработки сигналов (ЦОС) и микросхем, ориентированных на ЦОС, все большее количество измерительных, телекоммуникационных и прочих систем переводится с аналогового режима работы на цифровой. Это требует развития аппаратных средств ЦОС. Данная статья посвящена одному из основных вопросов ЦОС - цифровой фильтрации (ЦФ) сигналов в реальном времени.

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

K = V/max At,

где K - количество отсчетов сигнала; At - интервал дискретизации; /max - максимальная частота сигнала в полосе пропускания.

Из формулы (І) видно, что при заданной /max для увеличения разрешающей способности фильтра K требуется уменьшать At. Длительность импульсной характеристики определяется выражением

Th = NAt,

где N - количество отсчетов в импульсной характеристике.

Для сохранения АЧХ фильтра требуется сохранить величину Тк неизменной. Таким образом, при уменьшении интервала дискретизации Аґ требуется пропорционально увеличить количество отсчетов импульсной характеристики N. Алгоритм временной свертки подразумевает N операций умножения для обработки каждого отсчета входного сигнала. Таким образом, увеличение разрешающей способности ЦФ в т раз ведет к увеличению числа операций умножения в т2 раз за тот же промежуток времени. При реализации измерительных систем требования к разрешающей способности ЦФ могут достигать значительных значений, что влечет за собой практическую нереализуемость системы [2]. Учитывая это, можно сформулировать задачу разработки алгоритма реализации быстродействующего ЦФ с высокой разрешающей способностью.

Данная задача может быть решена с помощью разработанного алгоритма реализации ЦФ на основе скользящего дискретного преобразования Фурье (ДПФ) с промежуточной обработкой спектра [3]. Общий принцип работы алгоритма выглядит следующим образом. На первом этапе формируется текущая выборка отсчетов входного сигнала, обновляемая на каждом шаге дискретизации. На втором этапе с помощью ДПФ находится дискретный спектр выборки входного сигнала. На третьем этапе производится обработка спектра выбранным способом. На последнем этапе формируется отсчет выходного сигнала.

Наиболее важным является этап обработки спектра. На этом этапе можно исключить часть гармонических составляющих, умножить остав-

Метод увеличения быстродействия цифровых фильтров на основе.

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

Импульсная характеристика фильтра, реализованного с помощью представленного алгоритма, выглядит следующим образом:

сс&{{2лк1 Н)п) при п&0...Н-1,

к

0 при пе N.«3.

Оценим быстродействие разработанного алгоритма. Для этого рассмотрим его работу с помощью преобразования Фурье.

Используем прямое и обратное ДПФ в комплексной форме:

N-1 -2]лпк

К =

хк = —

~к N

N

п=0

ип = Яе

V X* е N ,

V к=0 у

где X - массив отсчетов комплексного спектра текущей выборки сигнала; и - массив отсчетов входного сигнала.

На каждом шаге дискретизации происходит смещение выборки входного сигнала на один отсчет. При этом происходит удаление самого старого отсчета массива и и добавление нового. Преобразование (4) представляет собой векторную сумму на комплексной плоскости. При смещении выборки на один отсчет удаляется первое слагаемое в сумме (4) и добавляется одно новое. Все остальные слагаемые останутся неизменными, изменяются лишь их порядковые номера на единицу, что эквивалентно повороту суммарного вектора на угол -2]лк^. Таким образом, комплексное значение отсчета спектра текущей выборки можно определить на основе комплексного значения отсчета спектра предыдущей выборки:

2 ]жк -2 ]жк

хк = ( -(вхо/N))е N +((х„/Ще

N

лгП—1

где Хк - отсчет комплексного спектра предыдущей выборки; ивх0 - первый отсчет предыдущей выборки, который удаляется в текущей выборке; ивхп - текущий отсчет входного сигнала.

В правой части формулы (6) выражение, заключенное в скобки, обозначает вычитание из предыдущего значения отсчета комплексного спектра первой составляющей суммы (4). Результат поворачивается на угол 2 ]як^, что обусловлено сдвигом порядковых номеров на единицу. После чего происходит добавление нового текущего отсчета входного сигнала.

Раскроем скобки в (6):

2 ]як

X* = хп-1е

2 ]як

-

-2 ]як N

иві

,= 2Яе1хп-1е

Обратное ДПФ требуется выполнить только для отсчета n=N. В этом случае (7) принимает следующий вид:

N—1 2 N—1 N—1

ип = 2Хке N = 2Хке2]лк = 2Хк.

к=0 к=0 к=0

Видно, что в разработанном алгоритме отсутствует обратное ДПФ. Выражение для выходного сигнала принимает вид

2]лк 2]лк —2]лк \

— + (( п1Щ))~пП |

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

2 ]лк

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

Хге кп = Хгек

Х1ткп = Хгек

где М1 = —(ивх^N) + ивх NIN;

М2 = -(вх0/N) —ивх N/N (данные величины неизменны в рамках расчета одного отсчета выходного сигнала).

На основании (10) и (11) можно сделать вывод, что для нахождения одного элемента спектра выборки входного сигнала потребуется два скалярных умножения и два скалярных сложения (без учета расчета величин М1 и М2 ). Особенностью алгоритма является то, что это число операций не зависит от количества отсчетов в выборке сигнала (от порядка фильтра).

В общем случае количество математических операций, требующихся для нахождения одного отсчета выходного сигнала, будет равно 6р скалярных умножений и 4р скалярных сложений, где р - количество оставленных алгоритмом гармонических составляющих спектра (без учета расчета величин М1 и М2 ).

Используя свойства преобразования Фурье, можно увеличить быстродействие данного алгоритма. Внесем задержку сигнала на время At/N,

что эквивалентно умножению вектора спектраль-

2 і як

ной функции на величину е н или увеличению порядковых номеров отсчетов в (4) на 1. В этом случае можно получить следующее упрощение:

N -2 іяпк

,

N/2

2 ]л:Ш N /2

N/2

ипе

N

и„ =

N ‘ .

п=1

N/2 2іяпк

N

I Хк е

к=0

Хк АХ!- -(Ивхо/^

N

N

+ (( п/^

N

,

п-1

где Хк - отсчет комплексного спектра предыдущей выборки; ивх0 - первый отсчет предыдущей выборки, который удаляется в текущей выборке; ивхп - текущий отсчет входного сигнала.

В формуле (14), в выражении, заключенном в скобки, происходит вычитание из предыдущего значения отсчета комплексного спектра первой составляющей суммы (12). Результат поворачивается на угол 2 ]як^, что обусловлено сдвигом порядковых номеров на единицу. После чего происходит добавление нового текущего отсчета входного сигнала.

Раскроем скобки в (14):

2 іяк -2 іяк 2 іяк

-(и - /ЛГ)е N е^~

2 іяк

Хк = ХП-1е

вх0

№ )е

+ ив

=

=хп-1е

N

(ивх0ІN ) + ивх п/N.

Хк = хп-1е

и„ =

ивых п = 2Яе

I хп

где X - массив отсчетов комплексного спектра текущей выборки сигнала; и - массив отсчетов входного сигнала.

Преобразование (12) представляет собой векторную сумму на комплексной плоскости. При смещении выборки на один отсчет удаляется первое слагаемое в сумме (12) и добавляется одно новое. Все остальные слагаемые останутся неизменными, изменяются лишь их порядковые номера на единицу, что эквивалентно повороту суммарного вектора на угол -2]як/Ш. Таким образом, комплексное значение отсчета спектра текущей выборки можно определить на основе комплексного значения отсчета спектра предыдущей выборки:

-2 у як \ 2 у як -2 у яШк

= 1 Хк е N =1 Хк е2Я = 1 Хк. (17) к=0 к=0 к=0 Как и ранее, в данном алгоритме отсутствует обратное ДПФ. Выражение для выходного сигнала примет вид

Ґ 2 і як ^

ХГ1е N -(вх0/Щ + ивхп

V к

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

2 і як

поворота е м может быть определено предварительно. Обозначим действительную часть каждого из векторов поворота как Яе, а мнимую как Ят. Найдем действительную и мнимую составляющую элементов спектра:

Хтек = Х"екЯтек - Хкпк:^тк + С,

Х1т к = Х^т к + Хш Яте к.

Представим результирующую формулу для нахождения отсчета комплексного спектра в следующем виде:

2 у як

+ С,

где С = ивх0/N + ивхп/Ш является постоянной для любой составляющей спектра выборки сигнала.

Обратное ДПФ требуется выполнить только для отсчета п=Ш. В этом случае (13) принимает вид

На основании (19) и (20) можно сделать вывод, что для нахождения одного элемента спектра выборки входного сигнала потребуется 4 скалярных умножения и 3 скалярных сложения. Особенностью алгоритма является то, что это число операций не зависит от числа отсчетов в выборке сигнала (длины импульсной характеристики).

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

СР = Ривхо/Ш + Ри вх п

/Ш = р/Ш (и

вх0 ^ ивхп ).

В общем случае число математических операций, требующихся для нахождения одного отсчета выходного сигнала, будет равно 4 р +1 скалярных умножений и 2 р + 2 скалярных сложений, где р - число оставленных алгоритмом гармонических составляющих спектра.

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

ЛИТЕРАТУРА

1. Сергиенко А. Б. Цифровая обработка сигналов. СПб.: Питер, 2005.

2. Иванов В. В., Шакурский В. К. Генераторные, фазовые и частотные преобразователи и модуляторы. М.: Радио и связь. 2003.

3. Труды Российского научно-технического общества радиотехники, электроники и связи имени А.С. Попова. Сер. Цифровая обработка сигналов и ее применение. 2010. Вып. Х11-1.

Поступила 10.06.2010 г.

Разработка программного обеспечения для имитационного моделирования системы.

УДК 681.3.07

Разработка программного обеспечения для имитационного моделирования системы широкополосного доступа WiMAX в среде MATLAB Simulink

Олег Иванович Шелухин, д.т.н., проф., e-mail: sheluhin@mail.ru

ФГОУ ВПО «Российский государственный университет туризма и сервиса» (РГУТиС), Москва Юрий Алексеевич Иванов, аспирант, e-mail: yurasic@bk.ru Чувашский государственный университет, г.Чебоксары

Константин Андреевич Ненахов, аспирант, e-mail: holod-iinna@yandex.ru, РГУТиС, Москва Андрей Владимирович Арсеньев, аспирант, e-mail: a.arseniev@mrsnet.ru, РГУТиС, Москва

Приведено описание программного обеспечения в среде Matlab Simulink для имитационного моделирования системы передачи WiMAX; изложены основные положения стандарта IEEE 802.16 WiMAX, необходимые при разработке программного обеспечения; представлено подробное описание процесса разработки модели блоков системы передачи данных стандарта WiMAX; рассмотрена работа функциональных блоков и интерфейсов, предоставляемых программной средой Matlab.

The authors describe the software in the Matlab Simulink environment for simulation of WiMAX transmission system. The article discusses the aspects of the IEEE 802.16 WiMAX standard, which are used in the software development, and explains the modeling process for the data transfer blocks in the WiMAX standard. The authors examine the functional blocks and interfaces provided by Matlab environment.

Ключевые слова: Matlab Simulink, WiMAX, кодирование Рида-Соломона, имитационное моделирование, перемеже-ние, модуляция, замирания, быстрое преобразование Фурье.

Keywords: Matlab Simulink, WiMAX, Reed-Solomon coding, simulation, interleaving, modulation, fading, fast Fourier transform.

Постановка задачи

Телекоммуникационная технология WiMAX (от англ. Worldwide Interoperability for Microwave Access) разработана с целью предоставления универсальной беспроводной связи на больших расстояниях для широкого спектра устройств. Данная технология определена стандартом IEEE 802.16 и представляет собой технологию беспроводного широкополосного доступа, рассчитанную на внедрение в городских распределенных (региональных) беспроводных сетях (WirelessMAN). Стандарт является альтернативой кабельным сетям, создавая конкуренцию стандартам связи третьего поколения и выступая в качестве возможной транспортной сети для Wi-Fi точек.

Стандарт IEEE 802.16 описывает принципы построения сетей регионального масштаба в частотном диапазоне 2 - 11 ГГц, для которого не требуется наличие прямой видимости между приемником и передатчиком. Точнее, он описывает радиоинтерфейс, основанный на общем протоколе доступа к каналу (MAC), с которым могут использоваться различные спецификации физического уровня (PHY), определяемые в зависимости от диапазона частот и организационных (законода-

тельных) ограничений, установленных, в частности, законодательством России.

Стандарт IEEE 802.16 определяет три различных физических уровня, которые могут использоваться вместе с уровнем MAC для обеспечения надежной непрерывной связи:

1) уровень одной несущей;

2) схема быстрого преобразования Фурье (БПФ, FFT) с 256 точками OFDM;

3) схема БПФ с 2048 точками OFDMA.

Режим работы на одной несущей позволяет

работать как в условиях прямой видимости, так и вне нее. Основным преимуществом WiMAX является возможность работы с сигналом на основе технологии OFDM (от англ. Orthogonal Frequency Division Multiplexing - ортогонального частотного мультиплексирования) с 256 поднесущими и режимом OFDMA (от англ. Orthogonal Frequency Division Multiple Access) - технологией многостанционного доступа с ортогональным частотным разделением каналов с 2048 поднесущими одновременно и несколькими абонентами в режиме OFDM. Таким образом, при стандартном числе поднесущих 256 обеспечивается одновременная работа восьми абонентов. В стандарте использует-