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

УДК 53.08

DOI 10.21685/2072-3059-2017-3-5

А. А. Башков

МЕТОД СПЕКТРАЛЬНОГО АНАЛИЗА СИГНАЛОВ ПРИ ПОМОЩИ КУСОЧНО-ПОСТОЯННЫХ ФУНКЦИЙ И ПОДХОД К АППАРАТНОЙ РЕАЛИЗАЦИИ ДАННОГО МЕТОДА

Аннотация.

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

Результаты. Проведено моделирование метода с 16, 32 и 64 кусочно-постоянными отрезками на период. Определено распределение ошибки предлагаемого метода относительно результата дискретного преобразования Фурье. Обнаружена зависимость ошибки метода от анализируемой частоты. Описана реализация основных блоков алгоритма.

Выводы. Сопоставление точностных характеристик метода спектрального анализа сигналов при различном числе кусочно-постоянных областей и дискретного преобразования Фурье позволило сделать вывод о возможности использования анализируемого метода для спектрального анализа сигналов.

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

A. A. Bashkov

A METHOD OF SPECTRAL ANALYSIS OF SIGNALS USING PIECEWISE CONSTANT FUNCTIONS AND AN APPROACH TO HARDWARE IMPLEMENTATION OF THIS METHOD

Abstract.

Background. Methods of spectral analysis of signals with lower computational complexity than the discrete Fourier transform (DFT) are the object of the study. The subject of the study is a method of spectral analysis of signals using piecewise constant functions. The purpose of this work is to compare the results of spectral analysis of harmonic signals using the proposed method and the discrete Fourier transform, and to introduce a hardware implementation method for main blocks of the algorithm.

Results. The method was simulated with 16, 32 and 64 piecewise constant segments for a period. We determined the proposed method's error distribution with respect to the DFT result. The method's error appears to be dependent on the analyzed frequency. The article outlines implementation of the main blocks of the algorithm.

Conclusions. A comparison of the accuracy characteristics of the method for a different number of piecewise constant regions and the discrete Fourier transform led to a conclusion that the method can be used for spectral analysis of signals.

Key words: frequency analysis, discrete Fourier transform, fast Fourier transform, hardware implementation.

Введение

С середины прошлого века ведется работа над совершенствованием алгоритмов спектрального анализа дискретных сигналов [1-13]. В одних алгоритмах значение амплитуды гармонической составляющей дискретного сигнала определяется с помощью тригонометрических функций дискретного преобразования Фурье (ДПФ), в других - с помощью единичной функции, принимающей значения -1 и +1 (функции и преобразование Уолша) [14].

В работе [10] показана принципиальная возможность использования метода ступенчатой аппроксимации тригонометрических функций при спектральном анализе.

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

Рассмотрим работу метода на примере исходного сигнала с равномерной дискретизацией (рис. 1). Количество отсчетов 17.

t >>

1о Ъ 116

Рис. 1. Соответствие между отсчетами исходного сигнала и значениями кусочно-постоянных функций, применяемых при анализе

Поскольку ступеньки имеют одинаковую ширину, имеет смысл сформировать 8 сумм, затем умножать на значения ступенек:

Яе = -х0£о + х^о + Х2+ Х3£>1 + х4£1 + Х5£>1 + х6£>1 н-----х^£о - х^£о,

1т = + хо^1 + х^ + х2£1 + хз^О + х4£о - х5£о - хб£о - • • • + х^з^^ + х^.

Выполним группировку хI, принадлежащих одной области:

х12 = х1 + х2, х34 = х3 + х4 , х151б = х15 + х1б'

Яе = -хо £о + х12£о + х34£1 + х5б£1 +----х151б £о ,

1т = +хо £1 + х12 £1 + х34 £о - х5б £о - ^ + х151б £1.

Сгруппируем суммы с одинаковыми множителями перед вычислением:

Яе =

1т = (хо + х12 + - + х151б )£1 +(х34 - х5б + ...)£о.

Из этого следует, что для вычисления действительной и мнимой части требуется 4 умножения.

Аппаратная реализация

Ниже показаны варианты реализации устройства спектрального анализа для некоторого множества частот (Бо, Б1, Б2, ... , Бп}. Схема, изображенная справа, позволяет проводить анализ с плавающим окном (рис. 2).

Re A(S, F0)K lm A(S, F0)B.

Re A(S, Fl)» lm A(S, F1)K

Re A(S, F2)». lm A(S, F2)»

Re A(S, Fn)» lm A(S, Fn)»

Рис. 2. Функциональная схема спектрального анализатора

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

Функциональная схема анализатора одной частоты приведена на рис. 3.

Схема анализа одной частоты состоит из трех основных частей: блока суммирования и двух блоков умножения.

Блок сложения выполняет функции суммирования и хранения полученных результатов в группе регистров: Яоо, ... , ЯДп. На вход сумматора 8М подаются текущее значение сигнала и содержимое одного из регистров

ЯвО, ..., Яви (выбор осуществляется управляющим сигналом У2). Результат сложения записывается в один из регистров. Запись в выбранный регистр осуществляется подачей одним из сигналов группы У1 (рис. 4).

Блок суммирования

; I

Блок умножения Блок умножения

ге 1пл

Рис. 3. Функциональная схема анализатора одной частоты

Рис. 4. Функциональная схема блока сложения

Блоки умножения, на которые подаются значения сумм для каждой из анализируемых частот, содержат сумматоры и умножители на константы (определяется параметрами кусочно-постоянной аппроксимации синуса и косинуса) (рис. 5).

Схема присоединения блока умножения к выводам блока сложения для получения действительной и мнимой части при 8-ступенчатой аппроксимации показана в табл. 1. В столбцах - номер входа блока умножения, в ячейках -индекс соответствующей суммы.

Таблица 1

Схема присоединения вычислительного блока

№ входа 0 1 2 3 4 5 6 7

Индекс суммы

RE 0 3 4 7 2 3 5 6

IM 1 6 2 5 0 7 3 4

Рис. 5. Схема реализации блока умножения

Реализация схемы выбора регистра в блоке сложения

Схема управляет выбором используемого регистра при обработке текущего отсчета сигнала, в простейшем виде представляет собой М-разрядный сумматор, К старших разрядов которого являются индексом суммы в массиве (рис. б).

Рис. б. Схема выбора регистра

Величина ^ определяет значение анализируемой частоты. Анализируемая частота определяется по формуле

^ (( ) =

1

dT2 2

K 2

X i =-

1 dT2

M

X i.

где ЭТ - шаг дискретизации сигнала; 1 - индекс частоты (выбирается от 1 до

2К2(М"К) / 2).

Таблица 2

Шаг изменения частоты в зависимости от шага дискретизации сигнала и количества разрядов М

dT, с M dF, Гц

0,001 8 3,906

0,001 10 0,977

0,001 12 0,244

0,001 14 0,061

0,001 16 0,015

Оценка быстродействия

После получения последнего значения требуется сделать следующие действия:

• в блоке сохранения сумм:

1) получить индекс;

2) выполнить суммирование;

• в вычислительном блоке:

3) выполнить сложение, вычитание, умножение;

N

4) выполнить сложения в количестве 1о§2 — .

Учитывая, что индекс можно высчитать предварительно, при параллельной реализации результат вычисления КЕ и 1М можно получить за два сложения, вычитание, умножение и еще одно сложение, т.е. 5 действий вне зависимости от длительности анализируемого сигнала.

Моделирование

Моделирование осуществляется с помощью формулы

A( f) =

J S (t) sin(2f )dt

J S (t )cos(2f )dt

В работе [10] показана возможность замены функций sin x и cos x на их аппроксимации с помощью кусочно-постоянных функций:

A( f) =

J S (t )st (SN ,2%ft )dt

J S (t )st(SN ,2f + % )dt

Функции sin x ставится в соответствие st (SN, x), а cos x -st(SN, x + л / 2), где SN - количество кусочно-постоянных областей на период. Уровень шума определялся по алгоритму:

1. Вычисление разности между эталонным и полученным значениями для каждой частоты d[ j] = |Aex [ j] - Aet [ j]|.

2. Вычисление максимального значения спектра, полученного эталонным методом: max Aet = MAX (Aet [ j ]).

3. Для каждой частоты полученного спектра вычислялось значение:

= d [ j ] = |Aex [ j ]- Aet [ j ] max Aet max Aet

4. Для каждого полученного спектра вычислить максимальное значение

e[ j ]:

err [ j ]= MAX ({e[ j ]}).

Пусть ERR - множество err[i] для всех итераций М. Анализируемый сигнал формировался следующим образом:

5(t) = sin(2/ + ф1) + sin(2/ + Ф2) + - + sin(2^/3Qt + Ф30).

Переменные f\,---, /30 принимали значения 1, 2, ..., 999 Гц, а Ф1,..., Ф30 принимали случайные значения из диапазона [0;2п).

Распределение значений множества ERR при разных способах кусочно-постоянной аппроксимации тригонометрических функций приведено в табл. 3. Количество обработанных сигналов: 131072.

Таблица 3

Распределение значений множества ERR

% ST = 16 ST = 32 ST = 64

1 0 0 0

2 0 0 0

3 6 1350 61351

4 1130 13957 67943

5 3953 72547 1773

6 8465 33802 4

7 30168 8075 0

8 40954 1169 1

9 23547 133 0

10 11726 33 0

11 6393 1 0

12 3193 3 0

13 1075 0 0

14 306 1 0

15 99 0 0

16 26 0 0

17 19 0 0

18 8 1 0

19 3 0 0

20 1 0 0

Предельная ошибка, % 27 17,2 7,6

Распределение частот, на которых обнаруживается максимальная ошибка для = 32, показано на рис. 7.

Рис. 7. Распределение частот с максимальной ошибкой при 32-ступенчатой аппроксимации

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

1000 + 1000 . = 0 15 и{200, 400, 600, 800} Гц 32 16

и последовательность минимумов:

1000 16

i, i = 0...15.

Распределение частот, на которых обнаруживается максимальная ошибка для = 64 приведено на рис. 8.

. 1 . . .1 . , 1 ,., ., 1 1 . , . . . , . 1.1.

I i , , . , , M ,  ,   1    |Г '  ' UlUilLi.vJJl.il J UliLilL. J.J k! L.lki.l.Lb.kUlllilklilL.iiJj 41 Ы., . 1> ,u шштяир IM f " 1 1 Jd.ll UiiJl hi

11

Рис. 8. Распределение частот с максимальной ошибкой при 64-ступенчатой аппроксимации

На графике отчетливо видна последовательность максимумов: {200, 400, 600, 800} Гц и последовательность минимумов:

1000 32

-i , i = 0.31.

80

60

40

20

Заключение

Моделирование показывает возможность использования данного решения для спектрального анализа сигналов.

Величина ошибки зависит от следующих параметров реализации:

- количества кусочно-постоянных областей при реализации синуса и

косинуса;

- размерности операндов;

- множества анализируемых частот.

Библиографический список

1. Харкевич, А. А. Спектры и анализ / А. А. Харкевич. - М. : Физматлит, 1962. -С. 111.

2. Смит, С. Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников (+CD) / Стивен Смит ; пер. с англ. А. Ю. Линовича, С. В. Витязева, И. С. Гусинского. - М. : Додэка-XXI, 2008. - 720 с. - (Схемотехника).

3. Гольденберг, Л. М. Цифровая обработка сигналов. Справочник / Л. М. Голь-денберг, Б. Д. Матюшкин, М. Н. Поляк. - М. : Радио и связь, 1985. - 312 с.

4. Марпл, С. Л. Цифровой спектральный анализ и его приложение/ С. Л. Марпл. -М. : Мир, 1990. - 584 с.

5. Рабинер, П. Теория и применение цифровой обработки сигналов / П. Рабинер, Б. Гоулд. - М. : Мир, 1978. - 848 с.

6. Оппенгейм, А. Цифровая обработка сигналов / А. Оппенгейм, Р. Шафер ; пер. с англ. С. А. Кулешов, С. Ф. Боев. - М. : Техносфера, 2012. - 1048 с.

7. Сергиенко, А. Б. Цифровая обработка сигналов / А. Б. Сергиенко. - СПб. : Питер, 2002. - 608 с.

8. Воробьев, С. Н. Цифровая обработка сигналов : учеб. для студентов учреждений высш. проф. образ. / С. Н. Воробьев. - М. : Академия, 2013. - 320 с.

9. Лайонс, Р. Цифровая обработка сигналов : пер. с англ. / Р. Лайонс. - М. : Бином-Пресс, 2013. - 656 с.

10. Bashkov, A. Investigating the possibility of using piecewise constant functions in spectral analysis of signals / A. Bashkov, D. Silnov // International Journal of Applied Engineering Research. Research India Publication. - 2015. - № 10. - P. 44211-44213.

11. Lyubomudrov, A. On some problems and approach to solution thereof upon computing in residue number system / A. Lyubomudrov, A. Bashkov // Journal of Theoretical and Applied Information Technology. Asian Research Publishing Network. - 2016. -№ 86. - P. 377-381.

12. Любомудров, А. А. Усовершенствованный метод спектрального анализа акустических сигналов для ограниченного диапазона частот / А. А. Любомудров, А. А. Башков // Естественные и технические науки. - 2011. - № 1 (51). - С. 240241.

13. Любомудров, А. А. Увеличение точности метода спектрального анализа / А. А. Любомудров, А. А. Башков // Вестник РУДН. - 2011. - № 1. - С. 118-120.

14. Корн, Г. Справочник по математике для научных работников и инженеров / Г. Корн, Т. Корн. - М. : Наука, 1971. - С. 697.

References

1. Kharkevich A. A. Spektry i analiz [Spectra and analysis]. Moscow: Fizmatlit, 1962, p. 111.

2. Smit S. Tsifrovaya obrabotka signalov. Prakticheskoe rukovodstvo dlya inzhenerov i nauchnykh rabotnikov (+CD) [Digital signal processing. Practical guide for engineers

and researchers (+CD)]. Transl. from English by A. Yu. Linovich, S. V. Vityazev, I. S. Gusinskiy. Moscow: Dodeka-XXI, 2008, 720 p.

3. Gol'denberg L. M., Matyushkin B. D., Polyak M. N. Tsifrovaya obrabotka signalov. Spravochnik [Digital signal processing. Reference book]. Moscow: Radio i svyaz', 1985, 312 p.

4. Marpl S. L. Tsifrovoy spektral'nyy analiz i ego prilozhenie [Digital spectral analysis and its application]. Moscow: Mir, 1990, 584 p.

5. Rabiner P., Gould B. Teoriya i primenenie tsifrovoy obrabotki signalov [The theory and application of digital signal processing]. Moscow: Mir, 1978, 848 p.

6. Oppengeym A., Shafer R. Tsifrovaya obrabotka signalov [Digital signal processing]. Transl. from English by S. A. Kuleshov, S. F. Boev. Moscow: Tekhnosfera, 2012, 1048 p.

7. Sergienko A. B. Tsifrovaya obrabotka signalov [Digital signal processing]. Saint-Petersburg: Piter, 2002, 608 p.

8. Vorob'ev S. N. Tsifrovaya obrabotka signalov: ucheb. dlya studentov uchrezhdeniy vyssh. prof. obraz [Digital signal processing: textbook for university students]. Moscow: Akademiya, 2013, 320 p.

9. Layons R. Tsifrovaya obrabotka signalov: per. s angl. [Digital signal processing: translation from English]. Moscow: Binom-Press, 2013, 656 p.

10. Bashkov A., Silnov D. International Journal of Applied Engineering Research. Research India Publication. 2015, no. 10, pp. 44211-44213.

11. Lyubomudrov A., Bashkov A. Journal of Theoretical and Applied Information Technology. Asian Research Publishing Network. 2016, no. 86, pp. 377-381.

12. Lyubomudrov A. A., Bashkov A. A. Estestvennye i tekhnicheskie nauki [Natural and engineering sciences]. 2011, no. 1 (51), pp. 240-241.

13. Lyubomudrov A. A., Bashkov A. A. Vestnik RUDN [Bulletin of RUDN]. 2011, no. 1, pp. 118-120.

14. Korn G., Korn T. Spravochnik po matematike dlya nauchnykh rabotnikov i inzhenerov [Mathematics reference book for researchers and engineers]. Moscow: Nauka, 1971, p. 697.

Башков Алексей Александрович ведущий инженер,

Научно-производственное предприятие «Гамма»

E-mail: a-a-bashkov@yandex.ru

Bashkov Aleksey Aleksandrovich Lead engineer, Research and Production Enterprise "Gamma"

УДК 53.08 Башков, А. А.

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

А. А. Башков // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2017. - № 3 (43). - С. 60-69. Б01 10.21685/2072-30592017-3-5