Перейти к содержанию
    

Комлексное умножение

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

(a+bj)(c+dj)=(ac-bd)+j(ad+bc)=A+Bj

, где

A=(ac-bd)
B=(ad+bc)

.

 

Пусть

P1=ac
P2=bd
P3=(a+b)(c+d)

.

 

Тогда

A=P1-P2
B=P3-P2-P1=P3-(P1+P2)

.

 

Итого:

2 действительных умножителя с разрядностью операндов N

1 действительный умножитель с разрядностью операндов N+1

2 сумматора с разрядностью операндов N

2 сумматора с разрядностью операндов 2N. можно уменьшить

1 сумматор с разрядностью операндов 2N+1. можно уменьшить

 

Подробнее здесь.

 

Благодарю за внимание. Всем кулич.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю за внимание. Всем кулич.

 

Конечно, не воскресение христово, но тоже чудо. Люблю этот алгоритм.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Р. Лайонса в его "Цифровой обработке сигналов" тоже описано, русским (переведенным) по белому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Р. Лайонса в его "Цифровой обработке сигналов" тоже описано, русским (переведенным) по белому.

Есть еще одна замечательная книжка - Р. Блейхут, "Быстрые алгоритмы цифровой обработки сигналов".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Р. Лайонса в его "Цифровой обработке сигналов" тоже описано, русским (переведенным) по белому.

 

Понятно, что алгоритм Карацубы известен. Мне он напоминает алгоритм одновременного поиска минимума и максимума и экономии сравнений.

 

https://www.researchgate.net/publication/22..._Its_Complexity

http://www.stepanovpapers.com/IraPohlFest.pdf

 

Такое же чудо - найти что-то новое в казалось бы вдоль и поперек изученной теме.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Xilinx в Complex multiplier ip есть опция как имплиментировать умножение - в лоб или данным способом. И увеличение логики на дополнительных сложениях не будет, т.к. в самом dsp48 есть свободные сумматоры, которые он использует. Но данным способом вроде времянка была чуть хуже.

Изменено пользователем serjj

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делал комплексный умножитель на 36 битов из вещественного умножителя на 36 битов (описан в доке на DSP48) , там оказалось, что выгоднее по числу DSP-блоков реализовать комплексное умножение в лоб по определению.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...