Изобретение относится к вычислительной технике, предназначено для скользящего ортогонального преобразования сигналов, которое может представлять собой прямое и обратное, комплексное и действительное спектральное преобразование (преобразование Фурье, косинусное преобразование, синусное преобразование и т.д.).
При анализе продолжительных участков сигнала, длина которых значительно превышает размер окна преобразования, используется процедура вычисления скользящего спектра, состоящая в многократном выполнении преобразования (например, быстрого преобразования Фурье БПФ) для различных положений окна преобразования относительно исходного сигнала. Как правило, эти окна перекрываются между собой, причем степень перекрытия может быть очень значительной - 75% и выше. В некоторых задачах используется шаг перемещения окна преобразования, равный 1. В этом случае достигается почти полное перекрытие. Использование алгоритмов БПФ в таких случаях является малоэффективным. Вычислительная сложность расчета всех коэффициентов преобразования для участка сигнала длины М,N-точечного БПФ и степени перекрытия δ составляет порядка
операций. При высокой степени перекрытия δ, близкой к 1 и больших значениях М количество необходимых операций, а следовательно, и время вычисления очень велико.
Известно много способов вычисления преобразования Фурье и его важного частного случая для приложений обработки сигналов - косинусного преобразования, синусного преобразования и многих других, использующих разложение по ортогональным базисным функциям. Один из самых распространенных способов вычислений подобного рода - быстрое преобразование Фурье БПФ (патент США N 3851162, кл. 6 G 06 F 15/34, 1974). Этот способ и устройство, его реализующее, основаны на последовательном применении БПФ для различных положений окна преобразования. Недостатками этого изобретения являются его низкое быстродействие, неэффективное использование ресурсов, ориентация на аналоговую реализацию, серьезные ограничения на размер спектрального окна анализа, низкая спектральная разрешающая способность, невозможность применения предложенного в этом изобретении способа и устройства для иных спектральных преобразований, отличных от комплексного преобразования Фурье.
Известно устройство скользящего спектрального преобразования сигналов (авторское свидетельство СССР N1363240, кл. 4 G 06 F 15/332, 1986), в состав которого входят информационный блок, два блока памяти, мультиплексор, арифметический блок, блок памяти коэффициентов, три регистра, вычитатель, сумматор и блок управления, недостатками которого являются чрезвычайно узкая направленность, невозможность осуществления обратного преобразования, ориентация исключительно на комплексный спектр, несмотря на то, что значения входного сигнала являются действительными числами, что приводит к неэффективному использованию вычислительных ресурсов, кроме того это устройство имеет всего один арифметический блок, последовательно вычисляющий значения спектральных коэффициентов, что приводит к заметному снижению быстродействия устройства.
Задачей предлагаемого изобретения является сокращение вычислительных затрат, повышение быстродействия и расширение функциональных возможностей использования преобразования для обработки различных вариантов спектров сигналов (преобразование Фурье, косинусное преобразование, синусное преобразование и т.д.).
В предлагаемом устройстве, реализующем способ скользящего ортогонального преобразования сигналов, использующий значения спектральных коэффициентов преобразования, полученные на предыдущих шагах расчета, поставленная цель достигается применением элементарных расчетных блоков, количество которых равно количеству спектральных коэффициентов преобразования, вместо одного в прототипе, для одновременного вычисления требуемого количества спектральных коэффициентов, введением нескольких разновидностей элементарных расчетных блоков, матрицы предопределенных расчетных коэффициентов, входного и результирующего сдвигового запоминающего устройства, типа FIFO и введением блока нормировочного коэффициента преобразования для осуществления как прямых, так и обратных преобразований.
Изобретение проиллюстрировано на примере наиболее часто используемого ортогонального преобразования - косинусного преобразования.
Предлагаемое устройство реализует способ вычислений, в котором использована высокая степень перекрытия окон анализа δ. Основная идея изобретения состоит в отказе от применения БПФ для расчета коэффициентов преобразования на каждом шаге. Вместо этого используется другой алгоритм, состоящий в том, что переход от коэффициентов одного окна преобразования к коэффициентам другого окна преобразования можно осуществить за порядка (1 - δ) N операций, но при этом для косинусного преобразования нужно знать значения коэффициентов для двух последних окон преобразования. Таким образом, общая вычислительная сложность такого алгоритма со ставит всего порядка М-N операций, что при больших M (порядка сотен тысяч) и близких к 1 значениях δ дает значительное ускорение процесса обработки.
Введем следующие обозначения: n - шаг перемещения окна преобразования, f - исходный сигнал. f ∈ FM, где FM - заданное евклидово векторное пространство размерности М такое, что Gm - подпространства FM и где m - порядковый номер подпространства. В пространстве FM задано скалярное произведение (f,g)M по системе ортогональных функций gk =(gk0, gk1,..., gkM) ∈ FM, образующих в FM нормированный базис, где k = 0, 1,..., N-1 - порядковый номер вектора базиса, N - размер окна преобразования, f, g ∈ FM - векторы пространства FM. Способ, реализуемый предлагаемым устройством, позволяет вычислить коэффициенты ak m = (fm,gk)N, где fm = (fm, fm+1, . .., fm+N-1). Способ состоит в том, что вычисление скалярного произведения (fm, gk)N можно осуществить по следующей общей формуле, справедливой для любого ортогонального преобразования с любым, даже переменным, размером окна преобразования N=N(m) и любым шагом перемещения этого окна n=n(m)
ak m+n = A(ak m, (fm, gk)n, (fm+N, gk)n),
где A - функция оконного перехода. Эта формула связывает очередные значения коэффициентов ak m+n со значениями этих коэффициентов ak m, полученных для предыдущих положений окна преобразования. Использование этой формулы позволяет значительно сократить вычислительные затраты. Конкретный вид функции оконного перехода A зависит от того, какое именно преобразование выполняется. Для действительного косинусного преобразования функция оконного перехода имеет вид
ak m+1 = 2ak mcos( π k/N) - ak m-1 + ((fm+N - fm+N-1)(-1)k-(fm-fm-1))cos( π k/2N),
где k= 0, 1,..., N-1 - порядковый номер вектора базиса, N- размер окна преобразования, m - порядковый номер подпространства, ak m - коэффициенты преобразования, f - исходный сигнал. Для комплексного преобразования Фурье функция оконного перехода может иметь вид
где k = 0, 1,..., N-1 - порядковый номер вектора базиса, N - размер окна преобразования, m - порядковый номер подпространства, ak m - коэффициенты преобразования, f - исходный сигнал.
Предлагаемое устройство реализует описанный способ преобразования (фиг. 1 - фиг. 4) для случая косинусного преобразования.
На фиг. 1 показана общая агрегированная схема вычислителя, изображающая особенности движения потоков входных данных, управления типом осуществляемого преобразования (прямое, обратное) и структуру выходных данных. На фиг. 2 изображена структурная схема соединения арифметических блоков для случая косинусного преобразования. На фиг. 3 изображена таблица коэффициентов матрицы предопределенных расчетных коэффициентов для случая косинусного преобразования. На фиг. 4 изображена схема элементарного вычислительного блока для случая косинусного преобразования. На фиг. 5 приведена таблица результатов сравнительных испытаний различных известных способов вычисления комплексного преобразования Фурье и описанного выше способа.
Общая агрегированная схема вычислителя (фиг.1) изображает особенности движения потоков входных данных, управление типом осуществляемого преобразования (прямое, обратное) и структуру выходных данных. Схема содержит информационный вход 1, блок значений исходного сигнала 2, представляющий собой буфер FIFO, блоки 3-10, в количестве N+n+1 для косинусного преобразования, где n - шаг перемещения окна преобразования, блок нормировочных коэффициентов преобразования 11, магистрали данных 12 и 13, основной вычислительный блок 14, выходы 15, 16, и 17 (количество которых равно количеству спектральных коэффициентов, значения которых требуется получить - от 1 до N).
Схема блока 14 (фиг.2) для случая косинусного преобразования содержит матрицу предопределенных расчетных коэффициентов 18, элементарные расчетные блоки 19, 20, 21, 22, 23, количество которых равно количеству спектральных коэффициентов, выходы 24, 25, 26, 27, 28, магистраль данных 29, сумматоры 30 и 31, входы 32, 33, 34, 35.
Схема элементарного вычислительного блока 19, 20, 21, 22, 23 (фиг.4) содержит умножитель 36, сумматор 37, умножитель 38, сумматор 39, умножитель 40, буфер FIFO 41 из двух ячеек памяти 42 и 43.
Выборки fi входного сигнала последовательно поступают на информационный вход 1, затем передаются на вход (блок 3) блока значений исходного сигнала 2, представляющего собой буфер FIFO (блоки 3 - 10), сдвигая имеющееся там значение в блок 4 и т.д. Для косинусного преобразования количество блоков 3, 4, 5, 6, 7, 8, 9, 10 равно N+n+1. По магистрали 13 данные с входных блоков 3, 4, и т.д., количество которых равно n+1 для косинусного преобразования, поступают в блок 14, где производится определение требуемых спектральных коэффициентов. Аналогичным образом по магистрали 12 данные с выходных блоков 10, 9, и т.д., количество которых равно n+1 для косинусного преобразования, поступают в блок 14. Значением на выходе блока 11, поступающим в блок 14, определяется прямое или обратное преобразование будет выполняться блоком 14. Для косинусного преобразования значение на выходе блока 11 равно 1 для прямого и 2/N для обратного преобразования. С выходов 15, 16, 17 блока 14 снимаются мгновенные значения спектральных коэффициентов, соответствующих текущему положению окна анализа. Количество выходов 15, 16, 17 блока 14 равно количеству спектральных коэффициентов, подлежащих определению - от 1 до N. Значения на этих выходах формируются в результате параллельной работы арифметических блоков 19, 20, 21, 22, 23 для косинусного преобразования, количество которых равно количеству спектральных коэффициентов, подлежащих определению. Результаты работы этих блоков по магистралям 24, 25, 26, 27, 28 поступают на выходы 15, 16, 17 блока 14.
Блок 14 в случае косинусного преобразования функционирует следующим образом (фиг. 2). С матрицы предопределенных расчетных коэффициентов 18 соответствующие значения (d, e, f) коэффициентов поступают на соответствующие входы (d, e, f) элементарных расчетных блоков 19, 20, 21, 22, 23. На входы а блоков 19, 20, 21, 22, 23 по магистрали данных 29, соединенной с блоком 11 поступает значение нормировочного коэффициента преобразования. Выходы сумматоров 30 и 31 соединены со входами с и b блоков 19, 20, 21, 22, 23 соответственно. На входы 32, 33 сумматора 30 поступают данные с магистрали 13. Для частного случая косинусного преобразования с шагом перемещения окна преобразования, равного 1, на вход 32 со знаком "+" поступает значение с блока 3 - первого в цепочке из N+2 ячеек памяти 3, 4, 5, 6, 7, 8, 9, 10 буфера FIFO 2, а на вход 33 со знаком "-" поступает значение с блока 4. На входы 34, 35 сумматора 31 поступают данные с магистрали 12. Для рассматриваемого частного случая косинусного преобразования с шагом перемещения окна преобразования, равного 1, на вход 34 со знаком "+" поступает значение с блока 10 - последнего в цепочке из N+2 ячеек памяти 3, 4, 5, 6, 7, 8, 9, 10 буфера FIFO 2, а на вход 35 со знаком "-" поступает значение с блока 9. На фиг. 3 изображена таблица коэффициентов матрицы 18, первая колонка которой содержит последовательные номера вычислительных каскадов (блоки 19, 20, 21, 22, 23), соответствующие порядковым номерам спектральных коэффициентов (от 0 до N-1). Вторая, третья и четвертая колонки таблицы содержат значения коэффициентов, поступающие на соответствующие входы e, f, d каждого вычислительного блока 19, 20, 21, 22, 23. Схема каждого из этих блоков показана на фиг. 4. На умножитель 36 поступают значения со входов c и d. Результат с выхода умножителя 36 поступает со знаком "+" на сумматор 37, в котором это значение суммируется со значением, поступающим со входа b со знаком "+". Результат суммирования поступает на вход умножителя 38, где он умножается на значения со входов a и e. Полученное произведение с выхода умножителя 38 поступает со знаком "+" на вход сумматора 39. На этот же сумматор со знаком "+" поступает произведение с выхода умножителя 40, который перемножает значения, имеющиеся на входе f и входе буфера FIFO 41, состоящего из двух ячеек памяти 42 (вход) и 43 (выход). Также на сумматор 39 со знаком "-" поступает значение из выходной ячейки 43 буфера 41. Результат суммирования с блока 39 поступает на вход 42 буфера 41, а также на выход g рассматриваемого вычислительного блока.
Способ вычислений, использованный в предложенном устройстве, был реализован практически в виде компьютерной программы. По сравнению с прототипами эта схема вычислений позволила провести сравнительные расчеты, которые могут служить доказательством работоспособности изобретения и его более высокого быстродействия. Таблица результатов этих расчетов приведена на фиг. 5. В качестве анализируемого сигнала была использована первая секунда звучания известного клипа Алана Парсонса "I Am Mirror", записанная с частотой дискретизации 44100 Гц. Значком Δ в этой таблице обозначено абсолютное среднеквадратичное отклонение спектральных коэффициентов, полученных разными способами, для всего проанализированного участка исходного сигнала.
Изобретение может быть использовано в анализаторах спектра, работающих в реальном масштабе времени, в звуковых процессорах, при цифровой обработке сигналов, компрессии аудиосигналов, контроле технологических процессов и т. д.
название | год | авторы | номер документа |
---|---|---|---|
ДИАГРАММО-ФОРМИРУЮЩЕЕ УСТРОЙСТВО ДЛЯ МНОГОЛУЧЕВОГО ПРИЕМА УЛЬТРАЗВУКОВЫХ СИГНАЛОВ | 2012 |
|
RU2487668C1 |
СПОСОБ КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 1995 |
|
RU2093968C1 |
НЕЙРОПРОЦЕССОР, УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ НАСЫЩЕНИЯ, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И СУММАТОР | 1998 |
|
RU2131145C1 |
Анализатор спектра | 1986 |
|
SU1365094A1 |
СПОСОБ ЦИФРОВОЙ РЕКУРСИВНОЙ ПОЛОСОВОЙ ФИЛЬТРАЦИИ И ЦИФРОВОЙ ФИЛЬТР ДЛЯ РЕАЛИЗАЦИИ ЭТОГО СПОСОБА | 2011 |
|
RU2460130C1 |
РЕКОНФИГУРИРУЕМЫЙ ВЫЧИСЛИТЕЛЬ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ СВЕРХБОЛЬШОЙ ДЛИНЫ ПРЕОБРАЗОВАНИЯ | 2020 |
|
RU2730174C1 |
ОБНАРУЖИТЕЛЬ РАДИОЛОКАЦИОННЫХ СИГНАЛОВ | 2006 |
|
RU2323452C1 |
АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ХАРТЛИ-ФУРЬЕ | 1999 |
|
RU2190874C2 |
Цифровой анализатор спектра | 1985 |
|
SU1256044A1 |
Устройство дискретного преобразования Фурье | 2017 |
|
RU2647701C1 |
Изобретение относится к вычислительной технике и может быть использовано для преобразования сигналов. Техническим результатом является повышение быстродействия. Устройство содержит входной блок памяти, выполненный в виде буфера FIFO, и основной вычислительный блок, содержащий блок памяти коэффициентов, сумматоры, арифметические блоки, каждый из которых состоит из умножителей, сумматоров и буфер FIFO. 4 з.п. ф-лы, 5 ил.
где ak m+1 - очередные значения спектральных коэффициентов;
ak m, ak m-1 - значения спектральных коэффициентов, полученные для предыдущих положений окна преобразования;
m - индекс выборки fm входного сигнала, поступившей в первую входную ячейку входного блока памяти.
Устройство для вычисления скользящего спектра | 1986 |
|
SU1363240A1 |
SU 3851162 A, 26.11.1974 | |||
RU 94008963 A1, 20.10.1995 | |||
Устройство для цифровой фильтрации на основе дискретного преобразования Фурье | 1990 |
|
SU1795475A1 |
US 3714566 A, 30.01.1973 | |||
Прибор, замыкающий сигнальную цепь при повышении температуры | 1918 |
|
SU99A1 |
Авторы
Даты
2001-12-20—Публикация
1999-10-28—Подача