Арифметическое устройство для вычисления быстрого преобразования хартли-фурье
Изобретение относится к области вычислительной техники и может быть использовано в системах быстрой обработки сигналов. Техническим результатом является повышение быстродействия и упрощение. Устройство содержит регистры, умножители и сумматоры. 3 ил.
Изобретение относится к области вычислительной техники и предназначено для построения устройств цифровой обработки сигналов, в частности процессоров для быстрого преобразования Фурье и быстрого преобразования Хартли.
Известно "Устройство для умножения комплексных чисел" (а/с 1297034, G 06 F 7/49, 03.10.85 г.). Это устройство не обеспечивает: а) необходимой простоты аппаратурной реализации; б) необходимого быстродействия из-за сложности управления вычислительным процессом. Наиболее близким к заявляемому техническому решению является принятое за прототип "Арифметическое устройство для выполнения быстрого преобразования Хартли-Фурье" (присвоен патент 2125290, 6 G 06 F 7/14, заявка 96105426/09 (009126) от 20.03.96 г. ), содержащее регистры, коммутаторы, умножители с накопителями. Данное устройство предназначено для построения устройств цифровой обработки сигналов, в частности процессоров для быстрого преобразования Фурье и быстрого преобразования Хартли. Это устройство не обеспечивает: а) необходимой простоты аппаратурной реализации; б) необходимого быстродействия. Сущность изобретения заключается: - в упрощении схемы устройства за счет использования умножителей и сумматоров вместо коммутаторов и умножителей с накопителями; - в существенном увеличении быстродействия работы устройства, достигаемом за счет конвейеризации процесса вычисления базовой операции ("бабочки") алгоритма БПФ или БПХ; - в увеличении быстродействия работы устройства, достигаемом за счет регулярности и простоты управления вычислительным процессом арифметического устройства для выполнения БПФ или БПХ. Для этого в устройство, содержащее пять регистров, введены три регистра, три умножителя, три сумматора. Изобретение будет понятно из следующего описания и приложенных к нему чертежей. На фиг. 1 приведена схема арифметического устройства для выполнения алгоритма БПХ; На фиг. 2 приведена временная диаграмма работы арифметического устройства. В чертежах и тексте приняты следующие обозначения: 1. Первый вход данных. 2. Второй вход данных. 3. Вход управления умножителями. 4. Третий вход данных. 5. Четвертый вход данных. 6. Первый вход управления записью. 7. Первый вход управления сумматором. 8. Пятый вход данных. 9. Вход управления. 10. Шестой вход данных. 11. Второй вход управления записью. 12. Второй вход управления сумматором. 13. Третий вход управления записью. 14. Четвертый вход управления записью. 15. Первый регистр. 16. Второй регистр. 17. Третий регистр. 18. Четвертый регистр. 19. Пятый регистр. 20. Шестой регистр. 21. Первый умножитель. 22. Второй умножитель. 23. Первый сумматор. 24. Второй сумматор. 25. Третий умножитель. 26. Третий сумматор. 27. Седьмой регистр. 28. Восьмой регистр. 29. Первый выход результата. 30. Второй выход результата. В состав арифметического устройства для вычисления быстрого преобразования Хартли-Фурье, выполняющего базовую операцию Хартли-Фурье в конвейере (см. фиг.1), входят восемь регистров, три умножителя, три сумматора. К информационным входам первого регистра 15, второго регистра 16, третьего регистра 17 и четвертого регистра 18 подключены соответственно первый вход данных 1, второй вход данных 2, третий вход данных 4 и четвертый вход данных 5. Входы управления записью регистров 15-18 соединены с первым входом управления записью 6. К информационным входам пятого регистра 19 и шестого регистра 20 подключены соответственно пятый вход данных 8 и шестой вход данных 10. Входы управления записью регистров 19, 20 соединены со вторым входом управления записью 11. Выход первого регистра 15 и выход второго регистра 16 соединены соответственно с первым и вторым информационными входами первого умножителя 21. Выход третьего регистра 17 и выход четвертого регистра 18 соединены соответственно с первым и вторым информационными входами второго умножителя 22. Управляющие входы умножителей 21 и 22 соединены со входом управления умножителями 3. Выход первого умножителя 21 и выход второго умножителя 22 соединены соответственно с первым и вторым информационными входами первого сумматора 23. Управляющий вход сумматора 23 соединен с первым входом управления сумматором 7. Выход первого сумматора 23 соединен с первым информационным входом второго сумматора 24. Выход пятого регистра 19 соединен со вторым информационным входом второго сумматора 24 и с первым информационным входом третьего умножителя 25, второй информационный вход которого соединен с выходом шестого регистра 20. Управляющие входы сумматора 24 и умножителя 25 соединены со входом управления 9. Выход второго сумматора 24 соединен с информационным входом седьмого регистра 27 и с первым информационным входом третьего сумматора 26, второй информационный вход которого соединен с выходом третьего умножителя 25. Управляющий вход сумматора 26 соединен со вторым входом управления сумматором 12. Выход третьего сумматора 26 соединен с информационным входом восьмого регистра 28. Входы управления записью регистров 27, 28 соединены соответственно с третьим входом управления записью 13 и с четвертым входом управления записью 14. Выходы седьмого и восьмого регистров 27, 28 соединены соответственно с первым и вторым выходами результата 29, 30 и являются информационными выходами устройства. Устройство работает следующим образом. Матричный рекуррентный алгоритм БПФ, описанный в а/с 633426, G 06 F 15/332, 13.03.89 г., представляется следующими формулами:
где p, t - размерности матриц A, B, Q, F, G на разных итерациях. р=2m-1; t=2r-m; p*t=2r-1; r=lоg2N, где m - номер итерации, m=1, 2, 3, .. .., r, N = 2r - размерность обрабатываемого массива данных;
матрицы Аp t, Вp t являются половинами массива данных на соответствующей итерации;
матрицы Fp t, Gp t являются половинами массива результатов на соответствующей итерации;
Qp 1 - первый вектор-столбец матрицы весовых коэффициентов Qp t на соответствующей итерации. Операция Вp t * Qp 1 является статическим (поэлементным) произведением матрицы Вp t на вектор-столбец Qp 1. Весовые коэффициенты представляются следующим выражением:
Q(k) = exp(-j2

где k=1, 2, 3, ..., N/2;

Если взять N = 2, то формулы (1) принимают вид:

Формулы (2) представляют собой известное выражение базовой операции БПФ - "бабочки". Арифметическое устройство выполняет "бабочку" БПФ в соответствии с формулами (2). Учтем, что числа A, B, Q, F и G являются комплексными. Обозначим:

где a, b, f, g, q - действительные части комплексных чисел A, B, F, G, Q, а






Предлагаемое арифметическое устройство вычисляет операцию "бабочка" как матричную: вычислением скалярного произведения (3). Можно представить вычислительный процесс по формулам (3) с использованием математического знака суммирования:

где











представляют собой операции скалярного умножения. Алгоритм скалярного произведения позволяет организовать процесс вычисления "бабочки" БПФ в конвейере, т.е. результат "бабочки" будет выдаваться каждый такт (числа f и




Конвейер заполняется за 4 такта, затем результаты вычисления "бабочек" (числа f и



где р=2m-1, t=2r-m, m=1, 2, 3, ..., r;
р, t - размерности матриц

Сp 1 и Sp 1 - первые вектор-столбцы матриц весовых коэффициентов Сp t и Sp t на соответствующей итерации;
r - число итераций;
m - номер итерации;
N - длина исходного массива, N=2r. Операция Вp t*Сp 1 представляет собой поэлементное (статическое) умножение столбцов матрицы Вp t на вектор-столбец Сp 1. Матрица


С(k)=cоs(2



Формулы (6) можно представить в виде скалярного произведения матрицы на вектор-столбец:

где


где



Сумма

представляет собой операцию скалярного умножения. Алгоритм скалярного произведения здесь, как и в случае БПФ, позволяет организовать процесс вычисления "бабочки" БПХ в конвейере, т.е. результат "бабочки" будет выдаваться каждый такт (числа F и G), что существенно увеличивает скорость вычисления всего алгоритма БПХ. Вычисление "бабочки" БПХ выполняется за 4 такта работы умножителей и сумматоров. На третьем такте появляется результат F, а на четвертом - результат G. Конвейер заполняется за 4 такта, затем результаты вычисления каждой последующей "бабочки" (числа F и G) появляются на выходе каждый такт. Как мы видим, формулы для вычисления операции "бабочка" аналогичны







- в существенном увеличении быстродействия работы устройства, достигаемом за счет полной конвейеризации процесса вычисления алгоритма БПФ или БПХ по итерациям (реализуется конвейер по итерациям) и использования в вычислительном процессе арифметического устройства, описанного в п.1;
- в обеспечении естественного порядка следования входной и выходной информации;
- в упрощении схемы, за счет введения идентичных формирователей адресов, выполненных на ПЗУ, в которых закодированы последовательности адресов чисел, необходимых для выполнения БПФ или БПХ по итерациям;
- в увеличении быстродействия работы устройства, достигаемом за счет регулярности и простоты управления вычислительным процессом БПФ или БПХ. Устройство будет понятно из следующего описания и приложенного к нему чертежа. На фиг. 3 приведена схема конвейерного устройства по п.2 для выполнения алгоритма БПХ с использованием конвейера по итерациям. В чертеже и тексте приняты следующие обозначения:
31. Арифметическое устройство по п.1. 32. Информационный вход конвейерного устройства по п.2. 33. Вход тактовой частоты. 34. Первый элемент И. 35. Второй элемент И. 36. Третий элемент И. 37. Первый блок памяти. 38. Формирователь адресов. 39. Блок управления. 40. Выход первого блока памяти. 41. Выход первого формирователя адресов. 42. Выход второго формирователя адресов. 43. Выход третьего формирователя адресов. 44. Первый блок постоянной памяти. 45. Выход первого блока постоянной памяти. 46. Выход первого арифметического устройства по п.1. 47. Второй блок памяти. 48. Выход второго блока памяти. 49. Первый выход блока управления. 50. Второй выход блока управления. 51. Третий выход блока управления. 52. Четвертый выход блока управления. 53. Пятый выход блока управления. 54. Шестой выход блока управления. 55. Седьмой выход блока управления. 56. Восьмой выход блока управления. 57. Девятый выход блока управления. 58. Десятый выход блока управления. 59. Одиннадцатый выход блока управления. ....... ....... ....... 48+6r. 6r-й выход блока управления. 49+6r. 6r+1-й выход блока управления. 50+6r. 6r+2-й выход блока управления. 51+6r. 6r+3-й выход блока управления. 52+6r. Выход r-го арифметического устройства по п.1. 53+6r. r+1-й блок памяти. 54+6r. Выход r+1-гo блока памяти. 55+6r. Девятый регистр. 56+6r. Информационный выход конвейерного устройства по п.2. В состав конвейерного устройства для выполнения быстрого преобразования Хартли-Фурье по п.2. (см. фиг.3) входят г арифметических устройств по п.1, r+1 блоков памяти, г блоков постоянной памяти, 3r формирователей адресов, 3r элементов И, блок управления, регистр. Здесь r=log2N - количество итераций, которые необходимо выполнить для вычисления БПХ или БПФ массива данных произвольной размерности N=2r, r зависит от размерности массива данных N (r=1, 2, 3 ,...). Число ступеней в конвейерном устройстве равно r. К первым входам первого 34, второго 35, третьего 36 элементов И подключен вход тактовой частоты 33, с которым соединены также первые входы элементов И следующих r-1 ступеней конвейерного устройства, а также вход блока управления 39. Первый выход 49, второй выход 50, третий выход 51 блока управления 39 соединены соответственно со вторыми входами первого 34, второго 35, третьего 36 элементов И, к выходам которых подключены соответственно входы первого, второго, третьего формирователей адресов 38. Информационный вход конвейерного устройства 32 подключен к первому входу первого блока памяти 37, второй, третий и четвертый входы которого соединены соответственно с четвертым 52 пятым 53 выходами блока управления 39 и с выходом 41 первого формирователя адресов 38. Выход 40 первого блока памяти 37 соединен с первым входом первого арифметического устройства 31, второй и третий входы которого соединены соответственно с выходом 45 первого блока постоянной памяти 44 и с шестым выходом 54 блока управления 39. Вход первого блока постоянной памяти 44 соединен с выходом 43 третьего формирователя адресов 38. Выход 42 второго формирователя адресов 38 соединен со вторым входом второго блока памяти 47, первый вход которого соединен с выходом 46 первого арифметического устройства 31. Третий и четвертый входы второго блока памяти 47 соединены соответственно с седьмым 55 и восьмым 56 выходами блока управления 39. На этом заканчивается описание 1-й ступени конвейерного устройства. Остальные r-1 ступеней одинаковы. Пятый вход второго блока памяти 47 соединен с выходом четвертого формирователя адресов 38 (на фиг. 3 не показан). Девятый 57, десятый 58 и одиннадцатый 59 выходы блока управления 39 соединены со вторыми входами соответственно четвертого, пятого и шестого элементов И (на фиг.3 не показаны). ................ ................ ................ 6r-й выход 48+6r блока управления 39 соединен с третьим входом r-го арифметического устройства 31, выход 52+6r которого соединен с первым входом r+1-го блока памяти 53+6r. 6r+1-й выход 49+6r и 6r+2-й выход 50+6r блока управления 39 соединены соответственно с третьим и четвертым входами r+1-го блока памяти 53+6r, выход 54+6r которого соединен с информационным входом девятого регистра 55+6r, вход управления записью которого соединен с 6r+3-м выходом 51+6r блока управления 39. Выход 56+6r девятого регистра 55+6r является информационным выходом конвейерного устройства. Формирователь адресов 38 выполнен по а/с 1425667, G 06 F 9/36, 19.02.87 г. Устройство работает следующим образом. Число ступеней в конвейерном устройстве равно r, т.е. равно количеству итераций, которые необходимо выполнить для вычисления БПХ или БПФ массива данных размерности N=2r. Мы рассмотрим конвейерное устройство для вычисления БПХ. Вычисления по итерациям осуществляются согласно матричному рекуррентному алгоритму БПХ (5). Исходная информация в виде массива действительных чисел длиной N= 2r поступает в естественном порядке следования на информационный вход конвейерного устройства 32 и записывается в первую область первого блока памяти 37. Информация поступает с тактом работы конвейера арифметического устройства по п.1. Сигналы записи поступают с выхода 52 блока управления 39. На вход тактовой частоты 33 поступают тактовые импульсы. После того, как в первую область первого блока памяти 37 будет записан весь массив длиной N= 2r, записанная информация из первой области без изменения порядка следования перезаписывается во вторую область первого блока памяти 37, а в первую область блока памяти 37 с информационного входа 32 начинает записываться следующий входной массив длиной N. В это время, над массивом, находящимся во второй области первого блока памяти 37, начинает выполняться 1-я итерация алгоритма БПХ. Коммутация первой и второй областей первого блока памяти 37 осуществляется сигналом с выхода 53 блока управления 39. В качестве блоков памяти 37, 47, ..., 53+6r могут быть использованы микросхемы двухпортовой памяти, позволяющие одновременно записывать и считывать информацию. Рассмотрим работу 1-й ступени конвейерного устройства, т.е. выполнение первой итерации алгоритма БПХ. С выходов 49, 50 и 51 блока управления 39 соответствующие сигналы разрешения поступают на элементы И34, И35 и И36. Тактовые импульсы с выходов элементов И34, И35 и И36 поступают соответственно на входы первого, второго и третьего формирователей адресов 38. Все три формирователя адресов 38 начинают формировать адреса операндов





Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3
Похожие патенты:
Изобретение относится к области вычислительной техники и может быть использовано при анализе случайных сигналов
Изобретение относится к области вычислительной техники и может быть использовано при анализе случайных сигналов
Изобретение относится к вычислительной технике и может быть использовано для преобразования сигналов
Анализатор спектра по функциям уолша // 2160926
Изобретение относится к области обработки информации и может быть использовано в анализаторах речевых сигналов
Изобретение относится к способам обработки цифрового сигнала
Изобретение относится к вычислительной технике и может быть использовано для вычисления скользящего спектра Фурье
Цифровой фильтр // 2123758
Изобретение относится к цифровой обработке сигналов и может быть использовано при реализации преселекторов - полосовых фильтров, выделяющих сигнал в рабочем диапазоне частот, либо пространственных фильтров - формирователей характеристик направленности в фазированных антенных решетках, например в системах связи, а также других системах цифровой обработки сигналов в реальном масштабе времени
Способ оценки загрязнения атмосферы // 2117286
Способ идентификации типов растительности // 2115887
Анализатор функций уолша // 2203504
Изобретение относится к области вычислительной техники и может быть использовано для спектрального анализа сигналов произвольной формы
Изобретение относится к измерительной технике и может быть использовано для измерения неэлектрических величин
Изобретение относится к определению коэффициентов функции
Изобретение относится к информационным технологиям
Цифровое устройство оценки дальности // 2264650
Изобретение относится к цифровой вычислительной технике и может быть использовано в радиолокационных системах (РЛС) в устройствах измерения радиальных скорости и дальности цели
Изобретение относится к вычислительной технике и может быть использовано в устройствах цифровой обработки сигналов, в частности устройствах, выполняющих БПФ массивов произвольной размерности N=2r