Patent ID: 6055556
Filing Date: 2000-04-25
Classification: G06F

Abstract:
A method for multiplying a first matrix {A} with I*N complex elements a(i,n)=(Re(a(i,n)), Im(a(i,n))) and a second matrix {B} with N*J complex elements b(n,j)=(Re(b(n,j)), Im(b(n,j))) to a third matrix {C} with I*J complex elements c(i,j)=(Re(c(i,j)), Im(c(i,j))),wherein i=1 to I, j=1 to J, and n=1 to Nwherein, a, b, c are complex numberssaid method comprising the following steps:(i) loading Re(b(n,j)) and Im(b(n,j)) for all n and for all j into a memory array;(ii) loading Re(a(i,n)) and Im(a(i,n)) for one i and for all n into registers of a register array;(iii) simultaneously for all j and for all n providing intermediate resultsf.sub.1 (i,j,n)=Re(a(i,n))*Re(b(n,j)) by first multiplication units,f.sub.2 (i,j,n)=-Im(a(i,n))*Im(b(n,j)) by second multiplication units,f.sub.3 (i,j,n)=Re(a(i,n))*Im(b(n,j)) by third multiplication units,f.sub.4 (i,j,n)=Im(a(i,n))*Re(b(n,j)) by fourth multiplication units;(iv) simultaneously for all j and for all n providing intermediate resultsReSum (i,j,n)=f.sub.1 (i,j,n)+f.sub.2 (i,j,n) by first addersImSum (i,j,n)=f.sub.3 (i,j,n)+f.sub.4 (i,j,n) by second adders;(v) simultaneously for all j accumulating over all n said intermediate resultsReSum (i,j,n) to Re(c(i,j)) by first accumulators andImSum to Im(c(i,j)) by second accumulators while repeating said steps (ii), (iii), and (iv); and(vi) repeating said steps (ii), (iii), (iv) and (v) for all i.