Научная статья на тему 'Исследование свойств оконных функций в приложении к синтезу цифровых фильтров методом окон'

Исследование свойств оконных функций в приложении к синтезу цифровых фильтров методом окон Текст научной статьи по специальности «Медицинские технологии»

CC BY
170
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
оконная функция / цифровой фильтр / синтез фильтров / память / постоянное запоминающее устройство / оперативное запоминающее устройство / программируемая логическая интегральная схема. / window function / digital filter / filter synthesis / memory / read-only memory / random access memory / programmable logic integrated circuit.

Аннотация научной статьи по медицинским технологиям, автор научной работы — Вознесенский Александр Сергеевич, Миненков Дмитрий Владимирович, Гульванский Вячеслав Викторович, Антонов Сергей Андреевич, Каплун Дмитрий Ильич

Рассмотрен метод синтеза цифровых фильтров с помощью наиболее часто используемых оконных функций Хэмминга, Кайзера, Гаусса, Ханна, Блэкмена-Харриса, Наталла, Бомена и Парзена. Исследованы такие показатели, как размер занимаемой памяти каждой оконной функцией, а также скорость синтеза цифрового фильтра в зависимости от его порядка от 1 до 512. Даны рекомендации по использованию оконных функций для синтеза цифровых фильтров при их аппаратной реализации на программно-логических интегральных схемах. Математическое моделирование выполнено в среде MATLAB. Метод синтеза цифровых фильтров с использованием оконных функций позволяет значительно сократить размер занимаемой памяти. Для окон Ханна, Бомена и Парзена и порядка фильтра 512 выигрыш составляет 512*8/4=1024 раз. Работа выполнена при поддержке Министерства науки и высшего образования Российской Федерации «Госзадание» №075-01024-21-02 от 29.09.2021 (проект FSEE-2021-0015).

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

Похожие темы научных работ по медицинским технологиям , автор научной работы — Вознесенский Александр Сергеевич, Миненков Дмитрий Владимирович, Гульванский Вячеслав Викторович, Антонов Сергей Андреевич, Каплун Дмитрий Ильич

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

Study of the properties of window functions in the appendix to the synthesis of digital filters by the window method

The method of synthesizing digital filters using the most commonly used window functions of Hamming, Kaiser, Gauss, Hannah, Blackman-Harris, Natall, Beaumain and Parzen has been considered. Indicators such as the size of the memory occupied by each window function, as well as the rate of synthesis of the digital filter, depending on its order from 1 to 512, have been investigated. Recommendations on the use of window functions for the synthesis of digital filters during their hardware implementation on FPGA are given. Mathematical modeling is performed in the MATLAB environment. The method of synthesizing digital filters using window functions significantly reduces the size of memory occupied. For the Hann, Bohmen, and Parsen windows and filter order 512, the gain is 512 * 8/4 = 1024 times. The work was carried out with the support of the Ministry of Science and Higher Education of the Russian Federation "State Assignment" No. 075-01024-21-02 dated 29.09.2021 (project FSEE-2021-0015).

Текст научной работы на тему «Исследование свойств оконных функций в приложении к синтезу цифровых фильтров методом окон»

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

УДК 519.254 DOI 10.24412/2782-2141-2022-2-62-68

Исследование свойств оконных функций в приложении к синтезу цифровых фильтров методом окон

Вознесенский А.С., Миненков Д.В., Гульванский В.В., Антонов С.А., Каплун Д.И.

Аннотация: Рассмотрен метод синтеза цифровых фильтров с помощью наиболее часто используемых оконных функций Хэмминга, Кайзера, Гаусса, Ханна, Блэкмена-Харриса, Наталла, Бомена и Парзена. Исследованы такие показатели, как размер занимаемой памяти каждой оконной функцией, а также скорость синтеза цифрового фильтра в зависимости от его порядка от 1 до 512. Даны рекомендации по использованию оконных функций для синтеза цифровых фильтров при их аппаратной реализации на программно-логических интегральных схемах. Математическое моделирование выполнено в среде MATLAB. Метод синтеза цифровых фильтров с использованием оконных функций позволяет значительно сократить размер занимаемой памяти. Для окон Ханна, Бомена и Парзена и порядка фильтра 512 выигрыш составляет 512*8/4=1024 раз. Работа выполнена при поддержке Министерства науки и высшего образования Российской Федерации «Госзадание» №075-01024-21-02 от 29.09.2021 (проект FSEE-2021-0015).

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

Классический цифровой фильтр можно представить следующим разностным уравнением [1]:

N-1 M-1

y(n) = £ brx(n - 0 aky(n - к). (1)

i=0 к=1

где n - номер отсчёта, x(n) - воздействие на систему, y(n) - реакция системы, N - число элементов системы, M - число рекурсивных элементов системы, ak, bt - параметры системы (коэффициенты).

Как видно из выражения (1), цифровой фильтр может быть полностью описан своими коэффициентами. На данный момент существуют различные методы аппаратной и программной реализации цифровых фильтров. При этом цифровой фильтр, реализованный на аппаратной платформе, работает значительно быстрее, чем фильтр, выполненный программным способом. В свою очередь, аппаратная реализация цифровых фильтров использует два вида платформ - цифровые процессоры обработки сигналов (ЦПОС) и программируемые логические интегральные схемы (ПЛИС) [2]. В данной статье будет рассматриваться реализация цифровых фильтров на ПЛИС.

Исходя из формулы (1), отсчёты входного сигнала умножают на коэффициенты фильтра. Поскольку фильтр однозначно определяется своими коэффициентами, для хранения фильтра в памяти ПЛИС достаточно хранить его коэффициенты. При этом порядок фильтра может быть большим, и коэффициенты будут занимать большой объём памяти при использовании фильтра. Для примера, если предположить, что один коэффициент имеет тип данных float и занимает 8 байт, то для фильтра 8-го порядка понадобится 64 байта, что для ПЛИС является достаточно большим объёмом. Также стоит учесть, что ПЛИС, помимо оперативного запоминающего устройства (ОЗУ), обладает постоянным запоминающим устройством (ПЗУ), где хранятся коэффициенты фильтра (и другая информация), когда они не используются, а также, если количество доступной оперативной памяти (ОЗУ) не хватает для хранения всех коэффициентов. Тем не менее, размер ПЗУ также ограничен, и помимо коэффициентов цифровых фильтров должен хранить множество другой информации, используемой при работе ПЛИС [2].

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

Для примера, рассмотрим фильтр нижних частот (ФНЧ). Его идеальная ИХ выглядит следующим образом:

, ч sin (®cn)

ho (n) = V c ; (2)

nn

где юс - частота среза ФНЧ.

При этом ИХ реального ФНЧ выражается через оконную функцию следующим образом [1]:

h(n) = w(n)h(n), 0 < n < N, (3)

где w(n) - оконная функция, h0 - идеальная ИХ, N - длина окна.

Далее, подставляя функцию выбранного окна, можно получить выражение для искомого фильтра. В предположении, что мы выбрали окно Хэмминга, которое имеет следующую формулу:

( 2жп Л

W(n) = 0.54 - 0.46 cos 2— , 0 < n < N, (4)

получим выражение для ИХ ФНЧ:

( (2Пп

h(n) = (0.54- 0.46cos(— "" v~c"', 0 < n < N, (5)

Как видно из полученной формулы ИХ ФНЧ (5), требуется хранить в памяти ПЛИС 3 значения: 0.54 (float, 8 байт), 0.46 (foat, 8 байт), N (int, 4 байта). Для этих трёх значений требуется всего 20 байт. Если предположить, что размер окна составлял бы 10 (N = 10), то для хранения в памяти его коэффициентов понадобилось бы 10 значений коэффициентов, на что потребовалось бы 80 байт памяти (учитывая, что коэффициенты имеют тип float, который занимает 8 байтов памяти). Недостаток данного метода состоит в том, что синтез фильтра с помощью оконных функций занимает больше времени, чем непосредственное использование коэффициентов фильтра. Таким образом, требуется подобрать такую оконную функцию для синтеза, чтобы она требовала минимум памяти, и при этом синтез фильтра на её основе происходил достаточно быстро.

Далее будут рассмотрены восемь наиболее часто используемых оконных функций [3-8], рассмотрены их свойства и характеристики, такие как требуемая память и скорость синтеза фильтра (НЧ) на их основе.

Окно Хэмминга. Коэффициент подавления лепестков: 0.04 %.

w(n) = 0.54 - 0.46cos(j, 0 < n < N (6)

Расчёт необходимой памяти при использовании окна Хэмминга приведен в табл. 1.

Таблица 1 - Расчёт необходимой памяти при использовании окна Хэмминга

Тип Значение Комментарий

float 0.54 Постоянный коэффициент

float 0.46 Постоянный коэффициент

int N Размерность окна

Итого: 20 байт

Окно Кайзера. Коэффициент подавления лепестков: 0.09 %.

w(n) =

ш

0 < n < N

(7)

где /0 - функция Бесселя первого рода нулевого порядка, в - коэффициент подавления лепестков.

Расчёт необходимой памяти при использовании окна Кайзера приведен в табл. 2. Таблица 2 - Расчёт необходимой памяти при использовании окна Кайзера

Тип Значение Комментарий

float в Коэффициент подавления лепестков

Итого: 8 байт

Окно Гаусса. Коэффициент подавления лепестков: 0.01 %.

w(n) = e

'2 ; = e 2с2

a

1 • 0 = (L -1)

/о' /2a'

.(L -1

<n <

(L -1

2'

(8)

Расчёт необходимой памяти при использовании окна Гаусса приведен в табл. 3. Таблица 3 - Расчёт необходимой памяти при использовании окна Гаусса

2

n

Тип Значение Комментарий

float а Ширина окна

int N Размерность окна

Итого: 12 байт

Окно Ханна. Коэффициент подавления лепестков: 0.05 %.

w(n) = 0.5

(

1 - cos

2nn

0 < n < N.

(9)

Расчёт необходимой памяти при использовании окна Ханна приведен в табл. 4. Таблица 4 - Расчёт необходимой памяти при использовании окна Ханна

Тип Значение Комментарий

Ш N Размерность окна

Итого: 4 байта

Окно Блэкмена-Харриса. Коэффициент подавления лепестков: 0.00 %.

, ч f2nn Л f4nnЛ f6nn

w(n) = a0 - a cos I-1 + a2 cos I-I- ^ cos | -

N

\ N

\ N

0 < n < N-1;

(10)

an = 0.35875; a = 0.48829; a, = 0.14128; a, = 0.01168.

Расчёт необходимой памяти при использовании окна Блэкмена-Харриса показан в табл. 5.

Таблица 5 - Расчёт необходимой памяти при использовании окна Блэкмена-Харриса

Тип Значение Комментарий

int N Размерность окна

float a0 Первый коэффициент

float a Второй коэффициент

float a2 Третий коэффициент

float a3 Четвёртый коэффициент

Итого: 36 байт

Окно Наталла. Коэффициент подавления лепестков: 0.00 %.

w(n) = а0 - a cos

2nn

N

+ a2 cos

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

' 4nn Л

V N ,

- a3 cos

V N ,

0 < n < N -1;

(11)

а0 =0.3635819; а = 0.4891775; а2 = 0.1365995; а3 =0.0106411. Расчёт необходимой памяти при использовании окна Наталла приведен в табл. 6.

Таблица 6 - Расчёт необходимой памяти при использовании окна Наталла

Тип Значение Комментарий

int N Размерность окна

float a0 Первый коэффициент

float a Второй коэффициент

float a2 Третий коэффициент

float a3 Четвёртый коэффициент

Итого: 36 байт

Окно Бомена. Коэффициент подавления лепестков: 0.00 %.

н<х) = (1-1 х\)е08(я| х\) + -sm(л\ х\); -1 < х < 1. (12)

П

Расчёт необходимой памяти при использовании окна Бомена показан в табл. 7. Таблица 7 - Расчёт необходимой памяти при использовании окна Бомена

Тип Значение Комментарий

int N Размерность окна

Итого: 4 байта

Окно Парзена. Коэффициент подавления лепестков: 0.00 %.

w(n) =

1 - 6

С I I V

n

N/ V /2 ;

+ 6

с I I V n

N

; 0 < n <

N-1

2;

• _(N -1

f

2

у

< n <

(N -1

2

(13)

1-

n

N - 1 , I N -1 -< \n\ <-

Ы/

V /2;

Расчёт необходимой памяти при использовании окна Парзена приведен в табл. 8.

Таблица 8 - Расчёт необходимой памяти при использовании окна Парзена

4

Тип Значение Комментарий

int N Размерность окна

Итого: 4 байта

Для наглядности, размеры занимаемой памяти каждым окном показаны на рис. 1. Как видно из рис. 1, наименьшее количество памяти требуют окна Ханна, Бомена, Парзена (по 4 байта).

Далее, на рис. 2, показаны скорости синтеза фильтров для каждой оконной функции, в зависимости от порядка синтезируемого фильтра. Моделирование было выполнено на ПК со следующей конфигурацией: ОС Win 10 64-бит, ЦП Intel Core i7 Skylake 4.0 ГГц, ОЗУ DDR4

Kingston HyperXFury 64 Гб 2.4 ГГц, видеокарта NVIDIA GeForce GTX 1080 1.7 ГГц DDR5 8 Гб 10ГГц, CUDA шейдеры 2560, MATLAB R2022b 64-бит.

окно парзена

окно Бомена

окно натаяла

окно Блэкмена-харриса

окно Ханна

окно гаусса

окно кайзера

Окно хэмминга

4 4

12

8

20

0 5 10 15 20 25 30 35 40

Рис. 1. Объём памяти, занимаемый оконными функциями (в байтах)

0.04

0.0В5

0.03

5Й ОI

U 0.025

я m си

£ 0.02

s

и

О. QQ

0.01

0.005

0

0 100 200 300 400 500 600

N - порядок фильтра

Рис. 2. Скорость синтеза цифровых фильтров порядков: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 с помощью оконных функций

Как видно из представленных графиков, для использования метода синтеза цифровых фильтров с помощью оконных функций рекомендуется использование оконных функций Ханна, Бомена и Парзена, так как они требуют наименьшее количество памяти для хранения их параметров (4 байта), и при этом не проигрывают по скорости синтеза фильтров остальным оконным функциям [3-8].

скорость синтеза фильтров на основе различных оконных функции

—Окно Хэмминга

—Окно кайзера

Окно гаусса

—Окно ханна

Окно Блэкмена-харриса

Окно натаяла

—Окно Бомена

—Окно Парзена

Заключение

В статье проанализировано восемь наиболее часто используемых оконных функций при синтезе фильтров. В результате анализа получены такие характеристики, как объём занимаемой памяти каждой оконной функции, а также, на примере синтеза фильтра низких частот, время синтеза фильтра на основе данных оконных функций, в зависимости от порядка фильтра. В результате исследований выбраны три наилучших оконных функции -Ханна, Бомена и Парзена, которые требуют наименьшего количества памяти для хранения параметров (по 4 байта каждая), а скорость синтеза фильтров с их помощью показывает значения не хуже, чем остальные исследованные окна.

Литература

1. Сергиенко, А.Б. Цифровая обработка сигналов, 3-е изд.: Учебное пособие - СПб.: БХВ -Петербург, 2011 - 768 с.

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

2. Каплун, Д.И. Применение метода симметрирования АЧХ при синтезе нерекурсивных цифровых фильтров. Д.И. Каплун, Т.В. Меркучева // Научно-технические ведомости СПб ГПУ. Информатика. Телекоммуникации. Управление. 2009. №2. С.104-110.

3. Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979, Algorithm 5.2.

4. Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999.

5. Hansen, Eric W. Fourier Transforms: Principles and Applications. New York: John Wiley & Sons, 2014.

6. Nuttall, Albert H. "Some Windows with Very Good Sidelobe Behavior." IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-29, February 1981, pp. 84-91.

7. Harris, Fredric J. "On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform." Proceedings of the IEEE®. Vol. 66, January 1978, pp. 51-83.

8. Kaiser, James F. "Nonrecursive Digital Filter Design Using the I0-Sinh Window Function." Proceedings of the 1974 IEEE® International Symposium on Circuits and Systems. April, 1974, pp.20-23.

References

1. Sergienko, A.B. Cifrovaya obrabotka signalov [Digital Signal Processing] 3rd ed.: Textbook. St. Petersburg: BHV - Petersburg, 2011. 768 p. (in Russian).

2. Kaplun, D.I. Primenenie metoda simmetrirovaniya ACHKH pri sinteze nerekursivnyh cifrovyh fil'trov. [Application of the method of frequency response balancing in the synthesis of non-recursive digital filters]. DI Kaplun, T.V. Merkucheva. Scientific and technical statements of St. Petersburg GPU. Informatics. Telecommunications. Management. 2009. №2. Pp.104-110 (in Russian).

3. Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979, Algorithm 5.2.

4. Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999.

5. Hansen, Eric W. Fourier Transforms: Principles and Applications. New York: John Wiley & Sons, 2014.

6. Nuttall, Albert H. "Some Windows with Very Good Sidelobe Behavior." IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-29, February 1981, pp. 84-91.

7. Harris, Fredric J. "On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform." Proceedings of the IEEE®. Vol. 66, January 1978, pp. 51-83.

8. Kaiser, James F. "Nonrecursive Digital Filter Design Using the I0-Sinh Window Function." Proceedings of the 1974 IEEE® International Symposium on Circuits and Systems. April, 1974, pp.20-23.

Статья поступила 29 июня 2022 г.

Информация об авторах

Вознесенский Александр Сергеевич - Младший научный сотрудник каф. АПУ СПбГЭТУ "ЛЭТИ". Тел.: +7 812 346-44-87. E-mail: asvoznesenskiy@etu.ru .

Миненков Дмитрий Владимирович - Младший научный сотрудник лаборатории ФОИС СПбГЭТУ "ЛЭТИ". Тел.: +7 812 346-44-87. E-mail: dvminenkov@etu.ru .

Гульванский Вячеслав Викторович - Старший научный сотрудник лаборатории МИС СПбГЭТУ "ЛЭТИ". Тел.: +7 812 346-44-87. E-mail: vvgulvanskii@etu.ru.

Антонов Сергей Андреевич - Младший научный сотрудник лаборатории ФОИС СПбГЭТУ "ЛЭТИ". Тел.: +7 812 346-44-87. E-mail: sergeyantonov461@gmail.com.

Каплун Дмитрий Ильич - Доцент каф. АПУ СПбГЭТУ "ЛЭТИ". Тел.: +7 812 346-44-87. Email: dikaplun@etu.ru.

Адрес: 197022, Россия, Санкт-Петербург, ул. Профессора Попова, дом 5, литера Ф.

Study of the properties of window functions in the appendix to the synthesis of digital filters by the

window method

Voznesensky A.S., Minenkov D.V., Gulvansky V.V., Antonov S.A., Kaplun D.I.

Annotation. The method of synthesizing digital filters using the most commonly used window functions of Hamming, Kaiser, Gauss, Hannah, Blackman-Harris, Natall, Beaumain and Parzen has been considered. Indicators such as the size of the memory occupied by each window function, as well as the rate of synthesis of the digital filter, depending on its order from 1 to 512, have been investigated. Recommendations on the use of window functions for the synthesis of digital filters during their hardware implementation on FPGA are given. Mathematical modeling is performed in the MATLAB environment. The method of synthesizing digital filters using window functions significantly reduces the size of memory occupied. For the Hann, Bohmen, and Parsen windows and filter order 512, the gain is 512 * 8/4 = 1024 times. The work was carried out with the support of the Ministry of Science and Higher Education of the Russian Federation "State Assignment"No. 075-01024-21 -02 dated 29.09.2021 (project FSEE-2021-0015).

Keywords: window function, digital filter, filter synthesis, memory, read-only memory, random access memory, programmable logic integrated circuit.

Information about the author

Alexander Sergeevich Voznesensky - Junior researcher, Department of Automation and Control Processes, Saint Petersburg Electrotechnical University "LETI". Tel.: +7 812 346-44-87. E-mail: asvoznesenskiy@etu.ru .

Dmitrii Vladimirovich Minenkov - Junior researcher, fundamentals of intelligent systems lab, Saint Petersburg Electrotechnical University "LETI". Tel.: +7 812 346-44-87. E-mail: dvminenkov@etu.ru

Viacheslav Viktorovich Gulvanskii - Senior researcher, mobile intellectual systems lab, Saint Petersburg Electrotechnical University "LETI". Tel.: +7 812 346-44-87. E-mail: vvgulvanskii@etu.ru.

Sergey Andreevich Antonov - Junior researcher, fundamentals of intelligent systems lab, Saint Petersburg Electrotechnical University "LETI".

Dmitrii Ilich Kaplun - Associate professor (Department of Automation and Control Processes) Saint Petersburg Electrotechnical University "LETI". Tel.: +7 812 346-44-87. E-mail: dikaplun@etu.ru.

Address: 197022, Russia, St. Petersburg, st. Professor Popov, house 5, letter F.

Для цитирования: Вознесенский А.С., Миненков Д.В., Гульванский В.В., Антонов С.А., Каплун Д.И. Исследование свойств оконных функций в приложении к синтезу цифровых фильтров методом окон // Техника средств связи. 2022. № 2 (158). С. 62-68. DOI 10.24412/2782-2141-2022-262-68.

For citation: Voznesensky A.S., Minenkov D.V., Gulvansky V.V., Antonov S.A., Kaplun D.I. Study of the properties of window functions in the appendix to the synthesis of digital filters by the window method. Means of Communication Equipment. 2022. No. 2 (158). Pp. 62-68. DOI 10.24412/2782-2141-2022-262-68 (in Russian).

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