=
U E U
T
Where
U
is discrete HermiteGaussian matrix consists of discrete HermiteGaussian functions as in the fallowingequationand
‘E’
is a diagonal matrix which contains the eigenvalues e

j
0
α
, e

j
1
α
, e

j
2
α
,..... e

j
(
N
2)
α
, e

j
M
α
of DFrFT matrix
F
α
as diagonal elements.The response of an Npoint DFrFT ‘f
α
[n]’, for Ninput samples f[n] with rotation angle
α
can be calculated by f
α
[n]=
F
α
f[n]. i.e. f
α
N×1
=
U
N×N
*(
E
N×N
*(
U
T
N×N
*f
N×1
)).Here * indicates matrix multiplication operation. For the proposed architecture the matrix
E
is replaced with acolumn matrix
C
that contains the Eigen values of DFrFT for given input angle
α
and middle matrixmultiplication is replaced by an array multiplication. Themodified expression is f
α
N×1
=
U
N×N
*(
C
N×1
×(
U
T
N×N
*f
N×1
)),Where‘×’ indicates the array multiplication operation.III.
P
ROPOSAL OF
DF
R
FT
A
RCHITECTURE
The proposed architecture is composed of threelevels. The input data to be process is flow through allthe three serially connected levels as shown in Fig.1.The levelI performs two mathematical operations,one is calculation of eigen values for given input rotationangle and another is calculation of the response of matrix
U
T
for input samples f. these two operations are carriedout by two blocks of levelI named as C and U1. Thislevel passes two computed results that are matrix
C
and
U
T
*f to the levelII, which execute the multiplication of eigen values with the response of U1 block and feeds the product
C
×
U
T
*f to the levelIII. In this level we get therotated input samples f
α
=
U
*
C
×
U
T
*f as an output, by theact of matrix multiplication between levelIII input andHermiteGaussian matrix
U
.If input samples are complex values (f=a+
j
b), wehave to calculate the response of U1 block separately for both real and imaginary parts, so that we need two U1 blocks. Similarly for any type of input samples f, two U2 blocks are required to process LevelIII real andimaginary inputs separately. For this reason in Fig.1 the blocks U1 and U2 are denoted as multiblocks. In Fig. 4the data flow between these blocks is given in detail. Thetime period between two successive input samples f andthe time period between two successive output results f
α
are same. The rest of this section presents the detaildescription of each level of proposed architecture.
LevelI:
In an Npoint DFrFT, this levelI is partitioned intotwo parts. The first part performs the calculation of eigenvalues for given rotation angle (
α
) using a block namedas C in the architecture as shown in Fig.2. This block receives an angle for every N clock cycles and itcomputes corresponding N complex conjugated eigenvalues. The results of block C for given angle
α
are e
j
0
α
,e
j
1
α
, e
j
2
α
,….e
j
(N2)
α
, e
j
M
α
, where
M=N1, for N odd andM=N, for N even.
The architecture for calculation of eigen valuesrequires two clocks, i.e. clock1 (Clk) having thefrequency same as sampling frequency and another clock2 (Clkn) having 1/N
th
of frequency of clock1. Withactive high enable signal, the counter counts in sequence…0, 1, 2,…N2, M, 0, 1, 2... . This counter output isconnected to a multiplier which took rotation angle asanother input through a register ‘
R1’
that receives clock2.The results of multiplier 0,
α
, 2
α
… (N2)
α
, M
α
; M=N1for N odd, M=N for N even are fed to the pipelinedCORDIC (
CO
ordinate
R
otation
DI
gital
C
omputer) byanother register ‘
R2’
.The CORDIC [15] calculates the cosine and sinevalues of its input angles, which are real and imaginary parts of complex conjugated eigen values for givenrotation angle. The real and imaginary parts of computedresults pass to the output real part port and outputimaginary part port respectively through a set of registersas shown in fig.2. The requirement of these registers has been presented at the end of
LevelI
explanation.The block ‘U1’ of second part of levelI multipliesinput values f with the matrix
U
T
. This part consist of amodN counter, ‘N’ number of ROMs with N addresslocations per each ROM, N Multipliers, N accumulators,one N to1 Multiplexer and set of buffers. The data flowin this part is shown in Fig.3. As in block ‘C’ this‘U1’block also operates with two clocks named clock1(clk) and clock2 (clkn). The N rows of the matrix
U
T
arestored in N ROMs. The arrangement of rows of matrix
U
T
in ROM is shown in TableI.(4)
k
≠
N
, for
N
odd
k
≠
N
1, for
N
even
F
α
=u
k
[n]
e
j
α
k
u
T
k
[n]
Σ
N k=0
(5)
U=
u
0
[1] u
1
[1] . . u
N
2
[1] u
M
[1]u
0
[2] u
1
[2] . . u
N
2
[2] u
M
[2]. . . .. . . .. . . .u
0
[
N
] u
1
[
N
] . . u
N
2
[
N
] u
M
[
N
]
hereM=
N
1; for
N
odd
M=
N
; for
N
even
Fig.1: Block diagram of the DFrFTLevelIILevelILevelIIIRotated input ‘f
α
’