INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
1
A Reconfigurable Architecture for the FFT Operator in a SoftWare
Radio Context
Ali AL GHOUWAYEL - Yves LOUËT IETR – Supélec, Campus de Rennes
Équipe SCEE
Séminaire de recherche TAMCIC ENST Bretagne
Jeudi 8 Juin 2006
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio (SWR) Technology Channel coding in the SWR context
Arithmetic elements
FFT: a Common and reconfigurable Operator Summary and outlook
Outline
Outline Outline
Outline
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Outline Outline Outline Outline
The SoftWare Radio (SWR) Technology Channel coding in the SWR context
Arithmetic elements
FFT: a Common and reconfigurable Operator Summary and outlook
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio The SoftWare Radio The SoftWare Radio
The SoftWare Radio TechnologyTechnologyTechnology (1/4)Technology (1/4)(1/4)(1/4)
Principal motivations :
The SWR aims to :
To
Provide a reprogrammable or reconfigurable radios. In other words, to get a communication system able to support several communications standards.
Replace the analog radio systems by digital ones and emphasizes digital signal processing
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio The SoftWare Radio The SoftWare Radio
The SoftWare Radio TechnologyTechnologyTechnology (2/4)Technology (2/4)(2/4)(2/4)
An important technique:
The parameterizationThe parameterization aims to:
Decrease the runtime of the software reconfiguration Optimize the sharing between the software and the
hardware of the execution platform
This essential part of SWR is based on two approaches:
The Common Function (CF) approach The Common Operator (CO) approach
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio The SoftWare Radio The SoftWare Radio
The SoftWare Radio TechnologyTechnologyTechnology (3/4)Technology (3/4)(3/4)(3/4)
Our study is focused on the CO approach:
FFT (Fast Fourier Transform) is the concerned operator [2]
[1] A. Rhiemeier, ’’Benefits and Limits of Parameterized Channel Coding for Software-Radio’’, 2ndKarlsrhue Workshop on Software Radios, Germany, March 2002.
[2] J. Palicot, C. Roland, ’’FFT: a basic Function for a reconfigurable Receiver’’, ICT’2003, February 2003, Papeete, Tahiti
The CF approach can be regarded as:
The trick’s of research of the function that is used by a predefined set
of standards and therefore, establish the generic one.
Example: Channel coding function [1]
The CO approach, can be regarded as:
For a given level of granularity, the research of the operator that is used by the maximum number of functions
Examples: FFT [2], MulDiv [3]
The CF and the CO
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio The SoftWare Radio The SoftWare Radio
The SoftWare Radio TechnologyTechnologyTechnology (4/4)Technology (4/4)(4/4)(4/4)
Channel Coding in Frequency domain with the FFT
The several operations already performed with FFT operator are:
Filtering Function
Channel estimation and Equalizer Despreading and Rake
Multicarrier (de)modulation Channelization
Our problematic
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Outline Outline Outline Outline
The SoftWare Radio (SWR) Technology Channel coding in the SWR context
Arithmetic elements
FFT: a Common and reconfigurable Operator Summary and outlook
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (1/9)context (1/9)(1/9)(1/9)
Our channel coding study is restricted on the cyclic codes: The Reed-Solomon (RS) code
Two ways to perform the RS coding:
1. In Time domain
2. In Frequency domain Encoding in time domain:
g1
b0
g2
b0 b0
gn-k-1
Code word Switch
b0
Information sequence
) ) (
( ) ) (
( M x
x g
x M x X
C
k n
+
=
− C(x) : code word
M(x): information sequence
g(x): generator polynomial g(x)=(x−α j0)(x−α j0+1)...(x−α j0+2t−1)
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (2/9)context (2/9)(2/9)(2/9)
M0 M1 … Mk-2 Mk-1
Pad obligatory symbols
M0 M1…Mj0-1 0 0…0Mj0+2t-1 Mn-1 C(f) IFFT
A nonsystematic code word
{
t 2
Encoding in frequency domain: The encoding process consists to constrain certain spectral component to zero and load the information symbols into convenient component, the inverse Fourier transform
produces the code word.
c(n)=c0 c1 …cn-1
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
•
Decoding process in time and frequency domainCode word
Decoding process
Decoding in time domain
Decoding in
frequency domain
FFT
Berlekamp-
Massey algorithm Chien-Search Forney algorithm Berlekamp-
Massey algorithm in time domain Error correction
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (3/9)context (3/9)(3/9)(3/9)
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
In the SWR context, the objectif of this study is to use the FFT operator to perform the channel coding
(Encoding/Decoding), then:
1- The Frequency channel coding will be treated
2- The FFT operator should be reconfigured in a such way to support the computations over the Galois Field (GF)
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (4/9)context (4/9)(4/9)(4/9)
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (5/9)context (5/9)(5/9)(5/9)
Decoding in frequency domain
:Let us consider a received word r(x), in frequency domain the decoding process consists to:
1. Compute R(f)=FFT(r(x))
2. Solve the linear recursion by Berlekamp-Massey algorithm :
R(f)=[R0 R1 … Rj0…RJ0+2t-1 …Rn-1], t : power correcting code
and is the error locator polynomial 3. Find the root of by the « Chien Search »
4. Compute the error value : Forney algorithm
t t
k S
S
t j
j k j
k 1,...,2
1
∑
=
− = +
Λ
−
=
0−1
= +
j j
j R
S Λ(x)
) (x Λ
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCodingCoding thethethethe in SWR in SWR in SWR in SWR contextcontextcontextcontext (6/9)(6/9)(6/9)(6/9)
Phase 3
Syndrome computation
Phase 1
Chien search
Forney algorithm Berlekamp
algorithm
Phase 2
N cycles 8t cycles + 2t cycles N cycles + 3 cycles
n computatio
x x), ( ) ( Λ' Γ
The idea is to perform the two most long-time stage
(Syndrome computation and Chien Search) for RS codes with FFT.
The different stages of RS decoding in the frequency domain can be gathered in three main phases as following :
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (7/9)context (7/9)(7/9)(7/9)
[4] A. Al Ghouwayel, Yves Louët, J. Palicot, ’’A Reconfigurable Architecture for the FFT operator in a Software Radio Context’’, IEEE International Symposium on Circuits and Systems (ISCAS' 2006), Island of
Phase 3
Syndrome Computation
with FFT
Phase 1
Chien Search with FFT
Forney algorithm Berlekamp
algorithm
Phase 2
Log N cycles 8t cycles + 2t cycles Log N cycles+ 3 cycles n
computatio x x), ( ) ( Λ' Γ
Phase 3
Syndrome computation
Phase 1
Chien search
Forney algorithm Berlekamp
algorithm
Phase 2
N cycles 8t cycles + 2t cycles N cycles + 3 cycles
n computatio
x x), ( ) ( Λ' Γ
With FFT
Runing-time gain with FFT [4]:
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCodingCoding in in in thein thethe SWR the SWR SWR contextSWR contextcontext (7/9)context (7/9)(7/9)(7/9)
Our Objective : Use the same FFT architecture for RS channel coding and classical operations,
To be able to use the most effecient FFT algorithm, it is necessary to have the following caracteristics:
1. The Transform length is an even number 2. The properties of symetry
( : The primitive element of Galois Field (GF), N: transform block length )
k k N
k N k
N α α and α α
α = = =−
+ +2
, 1
Channel Channel Channel
Channel CodingCodingCodingCoding in in in thein thethe SWR the SWR SWR contextSWR contextcontext (8/9)context (8/9)(8/9)(8/9)
α
We need to find the RS codes wich adapted with the FFT
But : The classical RS codes do not correspond to the FFT architecture
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Channel Channel Channel
Channel CodingCodingCoding in Coding in in thein thethe SWR the SWR SWR contextSWR contextcontext (9/9)context (9/9)(9/9)(9/9)
The candidate codes are the RS codes defined over GF(Ft),
RS codes defined over GF(Ft) :
is the Fermat number,
F0, F1, F2, F3, F4 are the only Fermat prime numbers,
The encoding and decoding principles are the same ones as that of codes defined over GF(2n)
The arithmetic operations in this field are modulo (Ft) operations
This code was the recommended coding scheme for use on spacecraft-to- ground telemetry channels that has the compatibility with operational
requirements of the European Space Agency (ESA) [6].
1 22 +
= t Ft
[6] M.R. Best, H. F. A Roefs, « Technical assistance telemetry channel coding investigation »,
Contract no. 4184/79/NL/HP, Final report 1981. National Aerospace Laboratory, Amesterdam, The Netherlands.
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Bit Error Rate (BER) of RS(16,12) defined over GF(17) :
Performances of RS code Performances of RS code Performances of RS code
Performances of RS code defineddefineddefineddefined over
over over
over GF(FGF(FGF(FGF(Ftttt))))
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Time and frequency domain decoding
Frequential processing
Reduced runing time: n(t+1)clock cycles
Complex Hardware*
Temporal processing
longer runing-time: n2clock cycles
Easily designed Hardware
Performances comparison
* Additional point: The FFT is often already implemented in many standards by the mean of the OFDM modulation (DVB-T, ADSL, …), then, the computations of RS coding in frequency domain do not increase the Hardware complexity.
This remark justifies the advantage of the common operator approach
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Towards FNT (Fermat Number Transform)As previously mentionned, the idea is to reconfigure the complex FFT in a such way to obtain an FFT over GF(Ft) called FNT. To do this, it is necessary to reconfigure the arithmetic operator (adder, multiplier).
Once the modulo (Ft) operators are reconfigured, we can define the reconfigurable Butterfly, and consequently
The global architecture of the reconfigurable FFT operator will be defined.
Practical realization
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
First or intuitive idea : Compute the FFT and
then reduce the result mod(Ft)
Second idea :
Reconfigure the FFT architecture
in such way to perform the arithmetic operation mod (Ft) [5].
As previously mentionned, the idea is to reconfigure the complex FFT in a such way to perform the modulo (Ft) computation :
Two ways to perform the FFT over GF(Ft) :
Practical realization
[5] A. Al Ghouwayel, Yves Louët, J. Palicot, ’’A Reconfigurable Butterfly Architecture for Fourier and
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio (SWR) Technology Channel Coding in the SWR context
Arithmetic elements
FFT: a Common and reconfigurable Operator Summary and outlook
Outline
Outline Outline
Outline
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Complex Butterfly:
Butterfly contains:
1 complex addition 1 complex subtraction
1 complex, constant multiply
Arithmetic elements (1/4)
u= a + j b v= c + j d
x= u+ vWNr y= u- WNr v
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Our proposed Modulo (F
t) Multiplier [5] :
Arithmetic elements (2/4)
[5] A. Al Ghouwayel, Yves Louët, J. Palicot, ’’A Reconfigurable Butterfly Architecture for Fourier and
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Beuchat modulo (F
t) Adders [6] :
n bits
n+1 bits
n+1 bits
x y
n+1 bits
(b)
n bits
n+1 bits
x y
n+1 bits
n+1 bits 2n
1 0
(a)
Most significantbit
[6] Jean-Luc Beuchat, ’’Some Modular Adders and Multipliers for Field Programmable Gate Arrays’’,
Arithmetic elements (3/4)
(x+y+1)mod (2n +1)
(x+y+1)mod (2n +1)
x+y +1 (not x+y)
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Our proposed Modulo (F
t) operators [5]
n+1 bits (x+y)mod (2n +1)
x y
n+1 bits
2n
1 0
n bits
n bits
1 1 ,...,
0 n+
s
2 1 ,...,
0 n+
s
Arithmetic elements (4/4)
[5] A. Al Ghouwayel, Yves Louët, J. Palicot, ’’A Reconfigurable Butterfly Architecture for Fourier and n bits
n+1 bits (x-y)mod (2n +1)
x y
n+1 bits
2n
1 0
1
1 ,...,
0 n+
s
Modulo (Ft) Adder Modulo (Ft) Subtracter
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio (SWR) Technology Channel Coding in SWR context
Arithmetic elements
FFT: a Common and reconfigurable Operator Summary and outlook
Outline
Outline Outline
Outline
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
s0 s4 s2
s6 s1 s5
s3 s7
0
w2
0
w2 0
w2
0
w2
0
w4
1
w4
0
w4
1
w4
0
w8
1
w8
2
w8
3
w8
S0 S1 S2 S3 S4
S5 S6 S7
kn N kn+N /2
FFT : a Common and reconfigurable Operator (1/4)
The FFT operator over the complex field:
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
s0 s1
s2 s3 s4 s5
s6 s7
α0
α0
α0
α0
α0
α2
α0
α2
α0
α1
α2
α3
S0 S1 S2 S3 S4
S5 S6 S7
k k N
k N
k
N α α α α
α = = = −
+ + 2
, 1
number Fermat
F F
N = = 22t + 1, :
FFT : a Common and reconfigurable Operator (2/4)
The FFT operator over the Galois field:
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The architecture of the Butterfly over GF(Ft):
FFT : a Common and reconfigurable
Operator (3/4)
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
FFT : a Common and reconfigurable Operator (4/4)
The architecture of the FNT operator
Architecture simulated by Software
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
The SoftWare Radio (SWR) Technology Channel Coding in the SWR context
Arithmetic elements
FFT : a Common and reconfigurable Operator Summary and outlook
Outline
Outline Outline
Outline
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Summary and outlook
SWR
Parametrization: CO approach CF approach
Channel coding : Frequency domain Time domain
CO approach: FFT
Frequency domain Channel coding with the Common Operator FFT
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Summary and outlook
We have getting out a subclass of RS code (RS over GF(Ft))
Demonstration of the efficient use of the FFT in encoding and decoding process
Definition of the structure of FFT over GF(Ft) Definition of the reconfigurable Butterfly
Designed of a reconfigurable operator that operates over two different field (C and GF)
Current work: Implementation of this operator with FPGAs to study the performances in term of slice and delay
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
Thank you for your attention !
Questions ?
INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES
36
Coordonnées Coordonnées Coordonnées Coordonnées
Ali AL GHOUWAYEL
IETR / Supélec, Campus de Rennes SCEE Team
[email protected] +33 2.99.84.45.38