首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

DSP硬件实现的优化(二)—复数乘法中出现共轭时的资源优化

DSP硬件实现的优化(二)—复数乘法中出现共轭时的资源优化

在数字信号处理中,有时候会出现两个复数相乘,而其中一个被乘数为原始输入数的共轭的情况。举个例子:有两个输入信号:
x1 = a+b*i, x2 = c+d*i;

y = x1*conj(x2) = (a+b*i)*(c-d*i) = (a*c + b*d) +(b*c - a*d)*i,其中conj(x2)表示为输入信号x2的共轭。


由于做共轭运算时原始信号x2的d要变成原始d的复数,即
conj(x2) = c-d*i


,因此一般的做法是先把x2中的d进行取反加一(补码规则)。但是这种做法增加了资源,使组合逻辑路径变长,尽管也是一种方法,但是不算较优方法。


推荐一种优化方法:
当出现上述情况时,可做适当变通:
x1' = a*i+b


,即让输入信号x1的实部和虚部互换一下,则变成
x1' * x2 = (a*i+b)*(c+d*i) = (a*c + b*d)*i + (b*c - a*d)


,将此结果的虚部当成实部,实部当成虚部即可 。
继承事业,薪火相传
返回列表