Научная статья на тему 'Алгоритмы формирования спектрального представления звукового сигнала на основе U-преобразования'

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

CC BY-NC-ND
435
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ / ПРЕОБРАЗОВАНИЕ УОЛША / U-ПРЕОБРАЗОВАНИЕ / DIGITAL SIGNAL PROCESSING / WALSH TRANSFORM / U-TRANSFORM

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

В статье рассматриваются алгоритмы построения многоуровневого (грубо-точного) представления сигнала с помощью фильтров Уолша системы Хармута. Приводятся особенности реализации алгоритмов на ЭВМ. Преимущества предложенных алгоритмов построения разложения: низкая вычислительная сложность и простота реализации.

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

ALGORITHMS OF FORMING SPECTRAL REPRESENTATIONS OF SOUND SIGNAL BASED ON U-TRANSFORM

This article discusses algorithms of multilevel (roughly-accurate) signal representation using filters Walsh system Hartmut. Given the characteristics of the implementation of computer algorithms. Advantages of the proposed algorithms build decomposition: low computational complexity and simplicity of implementation.

Текст научной работы на тему «Алгоритмы формирования спектрального представления звукового сигнала на основе U-преобразования»

АЛГОРИТМЫ ФОРМИРОВАНИЯ СПЕКТРАЛЬНОГО ПРЕДСТАВЛЕНИЯ ЗВУКОВОГО СИГНАЛА НА ОСНОВЕ U-ПРЕОБРАЗОВАНИЯ

В.Е. Гай,

кандидат технических наук, доцент кафедры вычислительных систем и технологий Нижегородского технического университета им. Р.Е. Алексеева

E-mail: vasiliy.gai@gmail.com

Адрес: г. Нижний Новгород, ул. К. Минина, д. 2 4

В статье рассматриваются алгоритмы построения многоуровневого (грубо-точного) представления сигнала с помощью фильтров Уолша системы Хармута. Приводятся особенности реализации алгоритмов на ЭВМ. Преимущества предложенных алгоритмов построения разложения: низкая вычислительная сложность и простота реализации.

Ключевые слова: цифровая обработка сигналов, преобразование Уолша, ^-преобразование.

1. Введение

Под аналоговым сигналом понимается одномерная функция Щ) , где t — временная координата. Под дискретным сигналом понимается одномерный набор отсчётов / = {(пТ)} полученный выборкой значений непрерывного сигнала ¥, взятых периодически с интервалом Т, п = 0,1,... [1].

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

В настоящей работе рассматриваются вопросы построения многоуровневого (грубо-точного) пред-

ставления сигнала с помощью фильтров Уолша системы Хармута [2, 3]. Необходимо отметить, что существует также и точно-грубая концепция формирования разложения сигнала, которая, реализуется, например, в вейвлет-преобразовании.

2. Классическое преобразование Уолша

2.1. Непрерывное преобразование

Непрерывные функции Уолша являются кусочно-постоянными знакопеременными функциями с интервалами определения £=[—0,5; 0,5] или £=[0;

1]. Интервал определения функций Уолша можно представить совокупностью Ы= 2п, п = 1, 2, ... равных подынтервалов, на каждом из которых функции Уолша принимают значения ±1 [4].

Записанные совместно и пронумерованные функции Уолша образуют базисную систему

[WALa(z)},a=0,1,2,... (а — номер функции Уолша), в которой возможно разложение произвольного сигнала в ряд Фурье-Уолша.

В практике спектральной обработки сигналов часто применяются три системы фильтров Уолша: Пэли, Адамара и Хармута. Каждую из этих систем можно построить и аналитически описать кусочнопостоянными функциями Радамахера rk (z), интервал определения которых равен интервалу определения функций Уолша:

r0 (z) = 1 ,rk (z) = sign[sin2kjtz), к= 1,2,

. ( ) Г+1, x > О,

где sign (x) = \

[-1, x < 0.

В настоящей работе рассматриваются только функции Уолша системы Хармута. Функции Уолша в этой системе располагаются в порядке увеличения числа знакоперемен на интервале определения. Систему Хармута аналитически можно записать в виде:

j(“*)

к=] к-\

WALa (г) = Ц[гк (*)]Ы = («*>,

а=^ак2к-\ (ак) = ак®ак+1, ак= 0;1,

к=1

где ® — операция поразрядного суммирования по модулю два.

Ряд Фурье-Уолша одномерного сигнала х(0, t е [0;Т) имеет вид:

р{*)= X ° ^“1 , где спектр Уолша:

а=0 \Т)

2.2. Дискретное преобразование

Дискретное преобразование Уолша основано на дискретных функциях Уолша и выполняется над решетчатым сигналом f, определённым на конечном числе N равноотстоящих точек. При этом число отсчётов сигнала N (размерность выборки сигнала) должно быть двоично-рациональным, т.е. N = 2п,п = 1,2,....

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

ются. Полная система базисных функций (СБФ) Уолша должна содержать также N функций.

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

Дискретные функции Уолша удобно обозначать как {ЛЬа (/ N) .Здесь I определяет номер точки дискретного интервала определения.

Дискретный сигнал /, определённый на [0; N можно разложить в дискретный ряд Уолша:

/( ЬХ N).

где спектральные коэффициенты:

с.= N |/()«ж.( N).

Далее, для краткости, вместо понятия «система базисных функций» будет использоваться понятие «набор фильтров».

3. [-преобразование

В [2, 3] рассматривается модификация классического преобразования Уолша для обработки изображений (^-преобразование). ^-преобразование заключается в формировании многоуровневого (грубо-точного) представления сигнала с помощью фильтров Уолша системы Хармута, причём:

1) для построения каждого уровня разложения используется фильтры одинаковой длины, которые масштабируются до размера анализируемого участка сигнала;

2) сначала фильтры применяются ко всему сигналу, затем — к его частям;

3) части, на которые разбивается сигнал, должны иметь минимальное число общих отсчётов.

Настоящая работа посвящена разработке алгоритмов, предназначенных для формирования ^-преобразования одномерного сигнала.

Введём следующие обозначения:

1) и — оператор и-преобразования, применяемый к дискретному сигналу;

2) D — результат разложения сигнала: D = U(f),

D = }, где D.. — у-ый спектр, находящийся на г-ом

уровне разложения, і є[0;3 -1], 3 — количество уровней разложения, і є[0;Мі -1], М. — количество элементов на г-ом уровне разложения;

3) G — набор фильтров Уолша системы Хармута,

используемых для построения разложения:

О Ош} ,где Ж — количество используемых

фильтров, Оі (і) — у-ый отсчёт г-го фильтра;

4) Иі = НМ } —множество сегментов, полученных из исходного сигнала f с шагом L на г-ом уровне разложения, Н.. — у-ый сегмент сигнала на г-ом уровне разложения, Иі (к) — к-ый отсчёт сегмента;

5) Ь. — длина анализируемого сегмента сигнала на г-ом уровне разложения.

В настоящей работе рассматриваются три алгоритма построения разложения одномерного сигнала:

1) алгоритм формирования К-ичного дерева разложения сигнала (параметры алгоритма: / — количество уровней разложения, К — количество сегментов на г уровне, на которые разбивается сигнал на (г — 1)-ом уровне), в вершине дерева расположено разложение исходного сигнала, М=К—1;

2) алгоритм построения разложения сигнала на одном уровне с использованием сегмента произвольной длины (параметры алгоритма: L — длина сегмента);

3) алгоритм построения разложения сигнала на одном уровне, при формировании которого сигнал разбивается на заданное количество сегментов(параметры алгоритма: М — количество сегментов, на которые разбивается сигнал).

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

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

3.1. Генерация многоуровневого представления сигнала

Алгоритм состоит из двух этапов:

1) формирование представление сигнала f в виде дерева Н, вершина дерева (нулевой уровень) — исходный сигнал /, на г-ом уровне дерева находится К сегментов, каждый из которых представляет собой результат разбиения на К частей сигнала (или

его сегмента) находящегося на (i-1)-ом уровне;

2) вычисление разложения сигнала D с помощью фильтров Уолша системы Хармута по полученному дереву H.

Рассмотрим каждый из шагов алгоритма подробнее:

1.1) формирование разложения исходного сигнала (вершины дерева):

1.1.1) i = 0 , Hп = f (t), Li =| f |, где | f | - количество отсчётов в сигнале f;

1.1.2) зная длину анализируемого сегмента L , сформируем набор фильтров G. , длина каждого из которых (С.) равна L. и вычисляется следующим образом:

с. = w [ / w],

где [•] — операция округления дробного числа в меньшую сторону.

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

Примечания:

1. на нулевом уровне сегмент H01 дополняется нулями, при этом, при генерации первого уровня разложения добавленные нули из сегмента должны быть удалены;

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

Выполним генерацию набора фильтров Gt на основе G:

Gi = GENр (О..),

где GENP (•) — оператор, который выполняет повтор P раз каждого отсчёта фильтра G. (P = Ct / W).

Например, пусть G0 = [1 1 1 1]

G1 =[-1 -1 1 1], G2 =[-1 1 1 -1],

G3 = [1 -1 1 -1] и P = 2 , тогда G0 =[11111111], g; = [-1 -1 -1 -11111], g2 = [-1 -i i i i i -i -i], g; = [i i -i -i i i -i -i].

1.2) формирование разложения исходного сигнала:

1.2.1) к=1; г—1;

1.2.2) У] е [1;М--1 ]:

{,...,Н Л+К_,} = 01У (Я,._1,]), к = к + К ;

где Б1¥ (•) — оператор деления сигнала на Участей.

Оператор Б1У выполняет следующие действия:

а) определяет координаты сегментов и выделяет сегменты из сигнала;

б) дополняет сегменты отсчётами так, чтобы длина сегмента была кратна длине фильтра, используемого при построении разложения.

1.2.3) генерация набора фильтров О] для сегмента длиной Ь. ;

1.2.4) I = I +1;

Шаги 1.2.1 — 1.2.4 должны выполняться до тех пор, пока не будут сгенерированы N уровней дерева разложения и соответствующие им фильтры.

Минимальный набор фильтров, который может использоваться для построения разложения включает четыре элемента. В связи с этим, построение дерева разложения сигнала должно быть остановлено, если значение С. станет равным четырём.

2) Вычисление спектрального представления каждого сегмента полученного дерева Н:

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

1 ц -

(п) = у- • Х Н ] (к) • Оп (к), п е [0; W -1].

у к=0

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

Примечания:

1. амплитуда анализируемого сигнала для выполнения операции восстановления должна быть нормирована к отрезку [0;1]. Данная операция должна быть выполнена до построения разложения сигнала;

2. при построении разложения набор фильтров генерируется для каждого уровня разложения, вследствие чего снижается скорость построения разложения;

3. полученное разложение избыточно из-за перекрытий сегментов на одном уровне. В результате, один и тот же отсчёт исходного сигнала может входить в два сегмента одновременно (С^1 •WJ > |/1);

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

5. выше предложен вариант дополнения сегмента отсчётами из следующего сегмента, в качестве аль-

тернативы, можно использовать отсчёты не только из следующего, но и одновременно из предыдущего и следующего сегментов.

6. части сигнала не будут пересекаться, только в том случае, если длина анализируемого участка сигнала кратна количеству коэффициентов фильтра.

3.2. Формирование представления сигнала на одном уровне (заданная длина сегмента)

Алгоритм состоит из следующих шагов:

1. Формирование набора фильтров О с учётом длины анализируемого сегмента L (см. шаг 1.2 предыдущего алгоритма);

2. Выборка из сигнала / очередного сегмента Н 1;

3. Сравнение длины фильтра С и длины сегмента L (их размеры могут быть различны вследствие применения операции округления на предыдущем шаге):

3.1 если длина сегмента меньше длины фильтра, то сегмент дополняется отсчётами;

3.2 если длина сегмента больше длины фильтра, сегмент обрезается до длины фильтра.

4. Формирование спектрального представления сегмента Н :

1 У+Е-1

(п) = Т+~Е ■ Х Н} (к) Оп (к),

У + Е к=0

п е[0^ -1], Е = С - У ;

5. Шаги 3 — 4 повторяются до тех пор, пока не будут обработаны все сегменты сигнала /

Примечания:

1. При тестировании алгоритма оказалось, что число добавляемых (удаляемых) отсчётов не превышает половины длины фильтра из набора G;

2. Если используется методика дополнения сегмента следующими отсчётами, то для последнего сегмента не существует отсчётов, которыми его можно дополнить, в этом случае координата начала сегмента в сигнале смещается назад на количество отсчётов, которые надо добавить к сегменту;

3. В предлагаемом алгоритме, также как и в предыдущем, можно использовать обе методики расширения сегмента отсчётами;

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

Один из вариантов алгоритма формирования раз-

ложения сигнала на одном уровне состоит в разбиении сигнала на заданное число сегментов и вычислении [-преобразования каждого из сегментов. Реализация этого алгоритма описана в шагах 1.2.1-1.2.4 пункта 2.1.

3.3. Обратное [-преобразование

Обратное [-преобразование записывается следующим образом:

= U- Щ,

где S — сигнал, полученный после выполнения обратного преобразования, U-1 — оператор обратного преобразования. Вычислить обратное преобразование можно следующим образом:

W-1

)=! ^ (k )•G (k).

к = 0

Примечания:

1. При выполнении обратного преобразования используется набор фильтров G , а не G ;

2. Вне зависимости от уровня разложения с помощью обратного преобразования вычисляется Ж коэффициентов, следовательно, для точного восстановления сигнала необходимо выполнение условия L 1 = W ;

3. Если при выполнении обратного преобразования Li ф W , то сигнал, являющийся результатом преобразования, будет представлять собой «огрублённую» версию исходного сигнала, диапазон амплитуд исходного и полученного сигналов будет отличаться: у «огрублённого» сигнала максимальное значение амплитуды будет меньше, чем у исходного;

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

5. Если при выполнении обратного преобразования L , ф W , то размер сигнала, полученного в результате обратного преобразования будет меньше размера исходного сигнала, для того чтобы получить сигнал по длине равный исходному, можно применить интерполяцию;

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

4. Исследование способов дополнения сегментов

В каждом из разработанных алгоритмов рассматривались две возможные методики дополнения сегментов до нужного размера:

♦ дополнение нулями;

♦ дополнение отсчётами, относящимися к следующему сегменту.

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

На рис. 1 приведены два разложения сигнала (см. рис. 1.а) на четвёртом уровне (длина сегмента — 24 отсчёта). Первое разложение построено с расширением сегментов до нужного размера нулями (см. рис. 1.6), второе — следующими отсчётами сигнала (см. рис. 1.в).

Если сравнить первые спектры обоих разложений на четвёртом уровне, то в разложении на рис. 1.в

а) исходный сигнал

11.97:1.77 : 0.30: -0.69 10.11:-2.18: -0.35: 0.80 12.89:2.96 : 0.26: -1.19 13.17:-2.57 : 0.08: 1.12

2 _ _ _

0

1 1 1 5 5 5

0 ш——- 0 ■ 0 ш——-

—1—1—1— -5 —1—1—1— -5 —1—1—1— -5 —1—1—1—

11.20:1.72 : -0.16: -0.62 10.84:-2.20: -0.04: 0.70 12.23:2.98 : -0.09: -1.25 13.65:-2.40 : 0.26: 1.06

2

0

I 2 3 I 2 3 I 2 3

б) дополнение следующими отсчётами

м 1 1 5 5 5

0 ш——- 0 ■ — 0 и —"

1 1 1 -5 —і—і—і— -5 —і—і—і— -5 —і—і—і—

).82:0.62: 1.45: 0.46 9.51:-2.78: 0.25: 1.41 11.50:1.57:1.64:0.20 12.42:-3.32: 0.83: 1.87

" 2,--------------------1 5

&сз

).02:0.54: 1.02: 0.57 10.21:-2.83: 0.58: 1.32 10.85:1.60: 1.29: 0.13 12.89:-3.16: 1.02: 1.82

5|-----------------------1 5

||_

1 2 3 0.85:1.60: 1.29: 0.13

ЕЕ

1 2 3 ^ 1 2 3 " 1 2 3 " 1

в) дополнение нулями Рис. 1. Исследование методик дополнения отсчётов

1 2 3

1 2 3

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

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

Таким образом, при построении разложения сигнала (в не зависимости от используемого алгоритма) будет использоваться дополнение сегмента только следующими отсчётами.

5. Заключение

В работе предлагаются два алгоритма построения [-представления одномерного сигнала с помощью фильтров Уолша. Рассматриваются специфические задачи, связанные с построением разложения сигнала.

К достоинствам предложенного разложения можно отнести:

♦ простоту реализации: при вычислении разложения используются только операции сложения и сравнения;

♦ скорость работы: по сравнению с преобразованием Фурье преобразование Уолша выполняется быстрее, так как в нём выполняется работа с действительными, а не с комплексными числами;

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

Разработанные алгоритмы использовались автором при решении различных задач обработки сигналов, связанных с исследованием речевых сигналов в [5-10].

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

Литература

1. Рабинер Л.Р., Шафер Р.В. Цифровая обработка речевых сигналов: Пер. с англ. / Под ред. М.В.Назарова и Ю.Н.Прохорова. — М.: Радио и связь, 1981.

2. Утробин В.А. Информационные модели системы зрительного восприятия для задач компьютерной обработки изображений. — Н. Новгород: НГТУ, 2001.

3. Утробин В.А. Компьютерная обработка изображений. Принятие решений в пространстве эталонов. — Н. Новгород: НГТУ, 2004.

4. Смирнов Ю.М. Проектирование специализированных информационно-вычислительных систем. — М.: Высшая школа, 1984.

5. Гай В.Е. Алгоритм выделения особенностей в речевом сигнале // Информационные системы и технологии: материалы международной научно-технической конференции (г. Нижний Новгород, 23 апреля 2010 г.). — Нижний Новгород, 2010. — С. 361.

6. Гай В.Е. Алгоритм классификации сигналов в системе речевого управления мобильным роботом // Современные проблемы информатизации в анализе и синтезе технологических и программнотелекоммуникационных систем: Сб. трудов. — Вып. 16. — Воронеж, 2011. — С. 316-318.

7. Гай В.Е. Алгоритм сегментации речевого сигнала // Нейрокомпьютеры и их применение: Тезисы докладов Всероссийской конференции. — Москва: 2011. — С. 31.

8. Гай В.Е. Алгоритм классификации сигналов // Труды Нижегородского государственного технического университет им. Р.Е. Алексеева. — 2011. — № 1 (86). — С. 29-34.

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

9. Гай В.Е. Алгоритм оценки степени искажения сигнала // Информационные системы и технологии: Материалы международной научно-технической конференции (г. Нижний Новгород, 22 апреля 2011 г.). — Нижний Новгород, 2011. — С. 394.

10.Гай В.Е. Исследование влияния шума на речевой сигнал // Вестник Нижегородского университета им. Н.И. Лобачевского. — 2011. — № 2 (1). — С. 197-200.

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