frft report
TRANSCRIPT
FRACTIONAL FOURIER TRANSFORM AND
ITS APPLICATIONS
Major-Project Report
by
Alex John Koshy B050326EC
Nidhin Chandran A K B050160EC
Subin B B050173EC
Vinay N K B050032EC
Under the guidance of
Dr. G. Abhilash
In Partial Fulfillment of the Requirements
for the Degree of
Bachelor of Technology
DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING
NATIONAL INSTITUTE OF TECHNOLOGY, CALICUT
Kerala, India
April 2009
i
NATIONAL INSTITUTE OF TECHNOLOGY CALICUT
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING
CERTIFICATE
This is to certify that this report titled FRACTIONAL FOURIER TRANS-
FORM AND ITS APPLICATIONS is a bona fide record of the major-project
done by Alex John Koshy (Roll No. B050326EC), Nidhin Chandran A K
(Roll No. B050160EC), Subin B (Roll No. B050173EC) and Vinay N K
(Roll No. B050032EC), in partial fulfillment of the requirements for the award
of Degree of Bachelor of Technology in Electronics and Communication Engineering
from National Institute of Technology, Calicut.
Dr. G. Abhilash Dr. Lillykutty Jacob
(Project Advisor) Professor and Head
Assistant Professor
29 April 2009
NIT Calicut
ii
ACKNOWLEDGEMENT
We would like to thank Dr. G.Abhilash, Assistant Professor, Department of Elec-
tronics and Communication Engineering for his guidance and inspiration in helping
us complete this project. We are also grateful to Dr. Lillykutty Jacob, Professor
and Head, Department of Electronics and Communication Engineering for providing
us with this opportunity to work on our project and also for permitting access to the
required facilities. We would also like to thank the lab staff for their technical support
and providing us assistance. We also thank our batch mates who had supported us
and provided us with greatly appreciated technical and non-technical aid throughout
our project.
Alex John Koshy
Nidhin Chandran A K
Subin B
Vinay N K
iii
Abstract
Signals can be viewed from different perspectives using different transforms. The
Fourier transform which allows us to observe the signal in terms of different fre-
quency components is widely used in signal processing and communication. Frac-
tional Fourier Transform (FrFT) is a generalized Fourier transform which allows us
to take transforms of fractional order also.
Theory of FrFT is developed from Fourier transform. For computation we move from
continuous to discrete domain and theory of Discrete Fractional Fourier Transform
(DFrFT) is discussed. A time efficient algorithm for DFrFT is also discussed. Theory
of designing optimal filter using FrFT is developed from first principles. Optimal
filters are designed for some special cases and their performance is analyzed. Some
applications other than filtering is also discussed.
iv
Contents
Abstract iii
1 Introduction 1
1.1 Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Time-Frequency Plane . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Fractional Fourier Transform 4
2.1 Fractional Fourier Transform from Fourier Transform . . . . . . . . . 4
2.1.1 Orthogonality of Eigenfunctions . . . . . . . . . . . . . . . . . 7
2.1.2 Orthonormality of Eigenfunctions . . . . . . . . . . . . . . . . 8
2.1.3 Completeness of Eigenfunctions . . . . . . . . . . . . . . . . . 9
2.2 Equation for Fractional Fourier Transform . . . . . . . . . . . . . . . 11
3 Discrete Fractional Fourier Transform 13
3.1 Time-Efficient Algorithm for finding FrFT . . . . . . . . . . . . . . . 13
3.2 Implementing Time-Efficient Algorithm in Matlab . . . . . . . . . . . 15
3.2.1 Matlab Code for FrFT . . . . . . . . . . . . . . . . . . . . . . 15
3.2.2 Fractional Fourier Transform of Delta function . . . . . . . . . 17
3.2.3 Fractional Fourier Transform of Sine function . . . . . . . . . 19
3.2.4 Fractional Fourier Transform of rectangular function . . . . . 21
4 Filtering in Fractional Fourier Domain 23
4.1 Filtering in Fractional Fourier Domain . . . . . . . . . . . . . . . . . 23
v
4.2 Optimal Filter Design . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1 Example 1 : Chirp signal contaminated with White Gaussian
Noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.1.1 Observations . . . . . . . . . . . . . . . . . . . . . . 32
4.2.1.2 Matlab Code . . . . . . . . . . . . . . . . . . . . . . 32
4.2.2 Example 2 : Square pulse in Linear FM noise. . . . . . . . . . 34
4.2.2.1 Observation . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.2.2 Matlab Code . . . . . . . . . . . . . . . . . . . . . . 35
4.3 Other Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.1 FrFT for Compression . . . . . . . . . . . . . . . . . . . . . . 40
4.3.2 Multipath Channel Estimation Using FrFT . . . . . . . . . . . 40
4.3.2.1 Matlab Code . . . . . . . . . . . . . . . . . . . . . . 41
4.3.3 FrFT for measuring the acceleration of a moving object in radial
direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 Critical Evaluation and Conclusion 46
5.1 Critical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Bibliography 48
vi
List of Figures
3.1 (a)Delta Function Input (b)FrFT at 22.50 (c)FrFT at 450 . . . . . . . . 17
3.2 (a) FrFT of Delta Function at 67.50 (b)FrFT of Delta Function at 900 18
3.3 (a) Sinusoidal Input, (b) FrFT at 22.50 for Sinusoidal Input (c)FrFT at
450 for Sinusoidal Input . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 (a) FrFT at 67.50 for Sinusoidal Input (b) FrFT at 900 for Sinusoidal
Input (c) Inverse FrFT . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 (a) Rectangular Function Input (b) FrFT at 22.50 for Rectangular Func-
tion Input (c) FrFT at 450 for Rectangular Function Input (d) FrFT at
67.50 for Rectangular Function Input . . . . . . . . . . . . . . . . . . . 21
3.6 (a) FrFT of Rect at 900, (b) FrFT - Magnified view of (a), (c) Inverse
FrFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1 (a) Gaussian Signal (b) Chirp noise . . . . . . . . . . . . . . . . . . . . 24
4.2 (a) Gaussian Signal with chirp noise (b) FrFT of a at 720 (c) Part of
FrFT corresponding to chirp . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 (a) After windowing out FrFT corresponding to chirp (b) Chirp ex-
tracted by inverse FrFT (c) Gaussian extracted by inverse FrFT of (a) 26
4.4 (a) Chirp Signal (b)WGN added to Chirp Signal SNR = -6dB (c) Frac-
tional Fourier Transform of the signal at −82.50s . . . . . . . . . . . . 30
4.5 (a)Optimum Multiplicative Filter (b)Extracted Chirp Signal SNR =
13dB (c) Variation of output noise power with fractional order . . . . . 31
4.6 (a) Square wave + Chirp noise, SNR = -20dB (b) FrFT at −76.50 . . . 35
4.7 (a) Optimal Filter (b) After de-noising, SNR=6 dB (c) Error After De-
modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
vii
4.8 (a) Transmitted chirp signal (b) Received signal-Multi Path, WGN SNR
= -6 dB (c) Signal after FrFT for coefficients 1, 0.8, 0.6 Angle = −800 42
1
Chapter 1
Introduction
1.1 Transforms
Transforms play vital roles in the analysis of signals and systems. Transforms help in
finding out the hidden properties of a signal, which are unrecognizable from the time
domain representation of the signal. The choice of the transform depends on the type
of the signal and the application. Fourier Transform, Laplace Transform, Wavelet
Transform etc are some of the widely used transform in the field of communication,
signal processing and system design. Among these transforms Fourier transform is
most fundamental one.
1.2 Fourier Transform
The relation between output y(t) and input x(t) for a Linear Time Invariant system
is of the formm∑k=0
akdk
dtky(t) =
n∑k=0
bkdk
dtkx(t) (1.1)
We can see that if the input is of the form ejωt, output will follow the form k(ω)ejωt,
where k(ω) is a complex value which is independent of time and depends only on ω.
We consider ejωt as the component corresponding to frequency ω in the signal. In
order to understand how a LTI system works on a particular signal we have to get an
idea about the different frequency components present in the signal. It can be found
2
as ⟨x(t), ejωt
⟩=
1√2π
∫ +∞
−∞x(t)e−jωtdt = X(ω) (1.2)
X(ω) is the Fourier transform of the signal x(t).
We can obtain the signal from its Fourier transform as follows.
x(t) =1√2π
∫ +∞
−∞X(ω)ejωtdω (1.3)
1.3 Time-Frequency Plane
For convenience, we define Fourier transform as,
F [x(t)] =1√2π
∫ +∞
−∞x(τ)e−jτtdτ (1.4)
Consider the following property of Fourier transform.
F [x(t)] = X(t) (1.5)
FF [x(t)] = F2[x(t)] = x(−t) (1.6)
FFF [x(t)] = F3[x(t)] = X(−t) (1.7)
FFFF [x(t)] = F4[x(t)] = x(t) (1.8)
Taking Fourier transform -
• once - gives the representation of signal in the frequency domain.
• twice - gives representation of signal in the time domain with time axis reversed.
• three times - gives the representation of signal in the frequency domain with
frequency axis reversed.
• four times - retains the signal in the time domain itself.
3
This observation can be easily visualized using the idea of time-frequency plane.
Consider a plane with time as horizontal axis. As F2 gives the representation along
inverted time axis which is at an angle of 1800 with the original time axis, F should
give the representation along 900 rotated axis. i.e., Frequency axis is the vertical
axis here. Each time we take the Fourier transform, we get the representation of the
signal along an axis which is at an angle of 900 with the original axis. Now the curious
question is, is it possible to get the Fourier transform for intermediate angles? We
will see the answer in the next chapter.
4
Chapter 2
Fractional Fourier Transform
Fourier transform allows us to rotate the axis of representation of signal in T-F plane
by integral multiples of 900 only. If we can generalize this rotation operation for
intermediate angles also, then we will be able to use it for analyzing a wider class of
signals. Let Fp represent taking Fourier transform p times. We call p as the order of
the Fourier transform operation.
If,
• p = 1, then rotation is by π2
• p = 2, then rotation is by π
i.e., rotation obtained for pth order is p(π2). Fourier transform allows p to take only
integer values. Fourier transform which is generalized so that p can take any fractional
value is called Fractional Fourier Transform (FrFT).
2.1 Fractional Fourier Transform from Fourier Trans-
form
Consider a cascaded structure of LTI systems of identical response H(ω). If the
input is of the form ejωt, output y(t) will be [H(ω)]N ejωt, where N is the number of
systems in cascade. Suppose we are making a strange assumption that, there are only
1.5 systems. Then we may have to write y(t) = [H(ω)]1.5 ejωt. We are not discussing
5
whether such a system is possible or not, but this assumption gives us a clue for
proceeding to Fractional Fourier transform from Fourier transform.[1][7]
Let ϕ(t) be a function that satisfies the relation
F [ϕ(t)] = ρ(t) = γϕ(t) (2.1)
Then,
F2[ϕ(t)] = γ2ϕ(t) (2.2)
Fn[ϕ(t)] = γnϕ(t) (2.3)
We can generalize this relation for fractional orders also, as, for fractional order p,
Fp[ϕ(t)] = γpϕ(t) (2.4)
For any function that satisfies equation 2.1, we can find the FrFT using this method.
Let ϕi(t) be a set of functions such that,
Fp[ϕi(t)] = ρi(t) = γpi ϕi(t) (2.5)
And q(t) is a function of the form
q(t) =∑i
aiϕi(t) (2.6)
Now if we take Fourier Transform,
F [q(t)] = F
[∑i
aiϕi(t)
]=∑i
aiF [ϕi(t)] =∑i
aiγiϕi(t) (2.7)
Generalizing this for order p, we get
Fp[q(t)] = Fp[∑
i
aiϕi(t)
]=∑i
aiFp [ϕi(t)] =∑i
aiγipϕi(t) (2.8)
6
Now our aim is to obtain such a set of functions ϕi(t). It is clear that each ϕi(t) is
an eigenfunction of Fourier transform operator. i.e, ϕi(t) is invariant under Fourier
transform. It is well known that the Gaussian function, e−t2
2 , is a function which is
invariant under Fourier transform.
We define two operators Φ and Ψ such that,
Φ =d
dtand Ψ = t (2.9)
Now,
FΦ[x(t)] = F[d
dt[x(t)]
]= jtF [x(t)] = jΨF [x(t)] (2.10)
Similarly,
FΨ[x(t)] = F [tx(t)] = jd
dt[F [x(t)]] = jΦF [x(t)] (2.11)
On subtracting (2.11) from (2.10), we get
F(Φ−Ψ)[x(t)] = −j(Φ−Ψ)F [x(t)] (2.12)
Suppose that a function ϕ(t) satisfies the relation,
F [ϕ(t)] = ρ(t) = γϕ(t) (2.13)
Then,
F(Φ−Ψ)[ϕ(t)] = −j(Φ−Ψ)F [ϕ(t)] = −j(Φ−Ψ)γϕ(t) = −jγ(Φ−Ψ)[ϕ(t)] (2.14)
i.e., We get a new eigenfunction ϕnew(t) and a new eigenvalue γnew given by,
ϕnew(t) = (Φ−Ψ)[ϕ(t)] (2.15)
γnew = −jγ (2.16)
7
This shows us how to generate a class of eigenfunctions from a single eigenfunction.
Let us start from Gaussian
ϕo(t) = e−t2
2 = et2
2 e−t2
(2.17)
We know,
F [ϕ0(t)] = ϕ0(t) (2.18)
Using the above generating equation, we get,
ϕ1(t) = (Φ−Ψ)[ϕ0(t)] (2.19)
⇒ ϕ1(t) =
(d
dt− t)ϕ0(t) (2.20)
⇒ ϕ1(t) =
(d
dt− t)et2
2 e−t2
(2.21)
⇒ ϕ1(t) = et2
2
(d1
dt1e−t
2
)(2.22)
Similarly we get,
ϕ2(t) = et2
2
(d2
dt2e−t
2
)(2.23)
In general,
ϕn(t) = et2
2
(dn
dtne−t
2
)(2.24)
2.1.1 Orthogonality of Eigenfunctions
Theorem 1 : {ϕi(t)} forms an orthogonal system.
Proof : We denote
ϕn(t) = et2
2dn
dtne−t
2
. (2.25)
The inner product
〈ϕn, ϕm〉 =
∫ ∞−∞
et2 dn
dtne−t
2 dm
dtme−t
2
dt (2.26)
8
can be evaluated using integration by parts, which gives
〈ϕn, ϕm〉 =
[et
2 dn
dtne−t
2 dm−1
dtm−1e−t
2
]∞−∞−∫ ∞−∞
d
dt
[et
2 dn
dtne−t
2
]dm−1
dtm−1e−t
2
dt (2.27)
and hence all the terms under the differential sign contain the factor e−t2. Since for
any k ∈ N, we have
tke−t2 → 0 as t→∞ (2.28)
the first term in equation 2.27 vanishes. Therefore, repeated integration by parts
leads to
〈ϕn, ϕm〉 = 0 for n 6= m (2.29)
2.1.2 Orthonormality of Eigenfunctions
To obtain an orthonormal system we evaluate the norm
‖ϕn‖2 =
∫ ∞−∞
e−t2
[dn
dtne−t
2
]2
dt. (2.30)
Integration by parts n times yields
‖ϕn‖2 = (−1)n∫ ∞−∞
e−t2 dn
dtn
[dn
dtne−t
2
]dt. (2.31)
Since dn
dtne−t
2is a polynomial of degree n, direct differentiation gives,
et2 dn
dtne−t
2
= (−2t)n + .... (2.32)
anddn
dtn
[dn
dtne−t
2
]=
dn
dtn((−2t)n + ....) = (−1)n2nn!. (2.33)
Consequently,
‖ϕn‖2 = 2nn!
∫ ∞−∞
e−t2
dt = 2nn!√π (2.34)
9
Thus the functions
εn(t) =1√
2nn!√πe−t2
2dn
dtne−t
2
(2.35)
form an orthonormal system in L2(R).
2.1.3 Completeness of Eigenfunctions
Theorem 2 : {ϕi(t)} is complete in L2(R).
Proof :
We define a generating function G(z, t) for ϕi(t) as
G(z, t) =∞∑i=0
ϕi(t)zi
i!(2.36)(
d
dt− t)G(z, t) =
∞∑i=0
ϕi+1(t)zi
i!(2.37)
d
dzG(z, t) =
∞∑i=0
ϕi+1(t)zi
i!(2.38)(
d
dt− t)G(z, t) =
d
dzG(z, t) (2.39)
Multiplying the above equation with e−t2/2 on both sides and re-arranging,
d
dt
(e−t2
2 G(z, t))
=d
dz
(e−t2
2 G(z, t))
(2.40)
Let
H(z, t) = e−t2
2 G(z, t) (2.41)
Then,d
dtH(z, t) =
d
dzH(z, t) (2.42)
Let H(z, t) be of the form H(z, t) = g(z)h(t)
d
dtg(z)h(t) =
d
dzg(z)h(t) (2.43)
10
⇒ g′(z)
g(z)=h′(t)
h(t)= k. (2.44)
Where k is a constant.
⇒ g(z) = ekz and h(t) = ekt (2.45)
⇒ H(z, t) = ek(z+t) (2.46)
Notice that, the solution of H(z, t) can be in general of the form
H(z, t) = ek(z+t)n (2.47)
G(z, t) = et2
2 H(z, t) = et2
2 ek(z+t)n (2.48)
For z = 0, G(z, t) = ϕ0(t) = e−t2
2
⇒ k = −1 and n = 2
Final generating function is
G(z, t) = et2
2 e−(z+t)2
(2.49)
Putting z = −12y gives a new generating function,
G̃(y, t) = e−12
(y−t)2
ey2
4 = ey2
4 ϕ0(y − t) (2.50)
Let there exist a function p(t) in L2(R) which is orthogonal to ϕi(t), ∀ i ∈ Z.
〈ϕi(t), p(t)〉 = 0 (2.51)
⟨G̃(y, t), p(t)
⟩= 0 ∀ y ∈ R (2.52)∫ ∞
−∞G̃(y, t)p(t)dt = 0 (2.53)
∫ ∞−∞
ϕ0(y − t)ey2
4 p(t)dt = 0 (2.54)
11∫ ∞−∞
ϕ0(y − t)p(t)dt = 0 (2.55)
p(y) ∗ ϕ0(y) = 0 (2.56)
Taking Fourier transform,
P (ω)ϕ0(ω) = 0 (2.57)
But, ϕ(ω) 6= 0
⇒ p(ω) = 0 (2.58)
⇒ p(y) = 0 (2.59)
i.e., It is not possible to find a non-zero function in L2(R) which is orthogonal to
ϕi(t), ∀ i ∈ Z. That is, {ϕi(t), i ∈ Z} is dense in L2(R).
2.2 Equation for Fractional Fourier Transform
Any signal g(t) in L2(R) can be represented as the linear combination of εn(t).
Mathematically,
g(t) =∞∑n=0
anεn(t) (2.60)
Where,
an = 〈g(t), εn(t)〉 (2.61)
an can be written as
an =
∫ +∞
−∞g(t)εn(t)dt (2.62)
Taking Fourier transform on both sides,
F [g(t)](τ) =∞∑n=0
anF [εn(t)](τ) (2.63)
That gives,
F [g(t)](τ) =∞∑n=0
anγnεn(τ) (2.64)
12
For a fractional order p,
Fp[g(t)](τ) =∞∑n=0
anγpnεn(τ). (2.65)
Substituting for an from equation 2.62 to the above equation,
Fp[g(t)](τ) =∞∑n=0
(∫ +∞
−∞g(t)εn(t)dt
)γpnεn(τ) (2.66)
Interchanging summation and integration,
Fp[g(t)](τ) =
∫ +∞
−∞g(t)
(∞∑n=0
γpnεn(t)εn(τ)
)dt (2.67)
By simplifying the term in the bracket, we get
Fα[g(t)](τ) =
∫ +∞
−∞g(t)
√(1− j cotα)
2πejπ(t2+τ2)
2cotα−jπtτ cscαdt (2.68)
Where α = pπ2, α 6= nΠ, n =0,1,2...
Taking the constant term outside of integration,
Fα[g(t)](τ) =
√(1− j cotα)
2π
∫ +∞
−∞g(t)e
jπ(t2+τ2)2
cotα−jπtτ cscαdt (2.69)
The Equation 2.69 [?] can be used for finding the Fractional Fourier Transform and
Inverse Fractional Fourier transform for any g(t). We obtain the inverse Fractional
Fourier Transform by reversing the sign of α.
13
Chapter 3
Discrete Fractional FourierTransform
We have seen the equation of continuous time FrFT. In order to implement this in a
practical application we have to get a discrete time version of these equations [4][8].
While discretising these equations we are effectively discretising the kernel itself. Once
we obtain the DFrFT equations, we can use them in DSP applications similar to as
that of DFT.
3.1 Time-Efficient Algorithm for finding FrFT
If we rewrite the equation 2.69 using variables x and y for t and τ respectively, the
power term in the exponential can be simplified as follows,
(x2 + y2)
2cotα− xy cscα = −x
2
2tan
α
2+
(x− y)2
2cscα− y2
2tan
α
2(3.1)
The process of finding out the Fractional Fourier transform now consists of three steps
[3].
Step 1 - Multiplication by chirp in time domain
g1(x) =
√(1− j cotα)
2πg(x)e−jπ
x2
2tan α
2 (3.2)
14
Step 2 - Convolution with the chirp
g2(y) =
∫ ∞−∞
g1(x)ejπ(y−x)2
2cscαdx (3.3)
Step 3 - Multiplication with chirp in transformed domain
G(y) = g3(y) = g2(y)e−jπ( y2
2tan α
2) (3.4)
We should be able to calculate the samples of transform G(y), from the samples of
signal g(x). We will assume that the time-domain representation of our signal is
approximately confined to the interval [-∆ t2,∆ t
2] and that its frequency-domain rep-
resentation is confined to the interval [-∆f2,∆f
2]. With this statement, we mean that
a sufficiently large percentage of the signal energy is confined to these intervals. For a
given class of functions, this can be ensured by choosing ∆t and ∆f sufficiently large.
We then define the time-bandwidth product N = ∆t∆f , which is always greater than
unity because of the uncertainty relation.
Let us now introduce the scaling parameter s with the dimension of time and intro-
duce scaled coordinates x = ts
and U = fs. With these new coordinates, the time
and frequency domain representations will be confined to intervals of length ∆( ts) and
∆(fs). Let us choose s =√
( ∆t∆f
) so that the lengths of both intervals are now equal
to the dimensionless quantity√
(∆f∆t
), which we will denote by ∆x. In the newly
defined coordinates, our signal can be represented in both domains with N = ∆x2
samples spaced 1∆x
.
For 0.5 ≤ |p| ≤ 1.5, | tan(α/2)| < 1. The maximum frequency in the chirp will go up
to ∆x; this can be sampled at frequency 2∆x.
For implementation in discrete domain the following are the steps to be followed [3].
15
Step 1:
g1
( m
2∆x
)=
√(1− j cotα)
2πg( m
2∆x
)e−jπ
2tan α
2( m
2∆x)2
, −N ≤ n ≤ N (3.5)
Step 2:
g2
( n
2∆x
)=
∫ ∞−∞
g1
( m
2∆x
)ejπ
(n−m)2
8∆x2 cscαdx, −N ≤ n ≤ N (3.6)
Step 3:
G( n
2∆x
)= g3
( n
2∆x
)= g2
( n
2∆x
)e−jπ
2tan α
2( n
2∆x)2 −N ≤ n ≤ N (3.7)
Prior to the first step, input should be up-sampled (by factor 2) and after third step
result should be down-sampled(by factor 2). For fractional orders |p| < 0.5, take
inverse Fourier transform and use the above algorithm with order 1 + p.
Steps 1 and 3 have computational complexities of order n. Step 2 is a convolution
operation which can be computed with computation complexity of order nlog(n) by
using FFT.
3.2 Implementing Time-Efficient Algorithm in Mat-
lab
The algorithm stated above was implemented in Matlab and Fractional Fourier Trans-
forms of some common signals were found out for different fractional orders. The
Matlab code for fractional Fourier Transform and the transforms of some common
signals at various fractional orders are presented.
3.2.1 Matlab Code for FrFT
function frft2=frft(f,a)
16
N=length(f);
%---------interpolation at the begining-------------
f=interpft(f,2*N);
xaxis=(-N/2:N/2-1);
%...............variables for chirp.....................
alpha = a*pi/2;
talpha2 = tan(alpha/2);
sinalpha=sin(alpha);
%..................defining chirp.......................
chirp = exp(-i/N*pi/4*talpha2*(-N:N-1)’.^2);
%...............multiplying with chirp..................
for p=1:2*N-1
f(p)= f(p)*chirp(p);
end
%................convoluting with chirp.................
c = pi/N/sinalpha/4;
chirp2=exp(i*c*(-(2*N):2*N-1)’.^2);
Frft = conv(chirp2,f);
%............post multiplying with chirp................
Frft = chirp.*Frft(2*N:4*N-1);
%............multipling by the gain term...............
Frft = Frft(1:2*N)*exp(-i*pi*sign(sinalpha)/4
+i*alpha/2)/sqrt(abs(sinalpha))/2/sqrt(N);
%..........down sampling Frft to N terms..............
17
% length(frft)
frft2=Frft(1:2:2*N);
3.2.2 Fractional Fourier Transform of Delta function
Fractional Fourier Transform of Delta function for angles 22.50, 450, 67.50, 900 are as
shown in figure 3.1 and 3.2
.
Figure 3.1: (a)Delta Function Input (b)FrFT at 22.50 (c)FrFT at 450
18
Figure 3.2: (a) FrFT of Delta Function at 67.50 (b)FrFT of Delta Function at 900
19
3.2.3 Fractional Fourier Transform of Sine function
Fractional Fourier Transform of Sinusoidal Signal for angles 22.50, 450, 67.50, 900 are
as shown in figure 3.3 and 3.4.
Figure 3.3: (a) Sinusoidal Input, (b) FrFT at 22.50 for Sinusoidal Input (c)FrFT at450 for Sinusoidal Input
20
Figure 3.4: (a) FrFT at 67.50 for Sinusoidal Input (b) FrFT at 900 for SinusoidalInput (c) Inverse FrFT
21
3.2.4 Fractional Fourier Transform of rectangular function
Fractional Fourier Transform of rectangular pulse for angles 22.50, 450, 67.50, 900 are
as shown in figure 3.5 and 3.6.
Figure 3.5: (a) Rectangular Function Input (b) FrFT at 22.50 for Rectangular Func-tion Input (c) FrFT at 450 for Rectangular Function Input (d) FrFT at 67.50 forRectangular Function Input
22
Figure 3.6: (a) FrFT of Rect at 900, (b) FrFT - Magnified view of (a), (c) InverseFrFT
23
Chapter 4
Filtering in Fractional FourierDomain
Consider the case of two sine waves of different frequencies. They cannot be separated
in time domain using a multiplicative filter as they are completely overlapped in time
domain. But they are easily separable in frequency domain. Similarly, consider two
impulses that are shifted in time. They are inseparable using a multiplicative filter
in frequency domain. But can be separated in time domain. It gives us an intuition
that there should be signals which are separable at some particular fractional domain
but are overlapped in time and frequency domains. Such signals can be filtered using
FrFT.
4.1 Filtering in Fractional Fourier Domain
Our scheme of FrFT filtering is as follows.
1. Analyze the signal and obtain the fractional domain at which signals get sepa-
rated.
2. Take the FrFT of the signal.
3. Remove the interfering noise part using a multiplicative window.
4. Take inverse FrFT
24
The above scheme is applied in the case of Gaussian window contaminated with chirp
noise. Signals after each processing are shown. Notice that there are disturbances at
either side of the processing window because of the finite time duration of the window
we considered. See Fig. 4.1, Fig. 4.2 and Fig. 4.3
Figure 4.1: (a) Gaussian Signal (b) Chirp noise
25
Figure 4.2: (a) Gaussian Signal with chirp noise (b) FrFT of a at 720 (c) Part of FrFTcorresponding to chirp
26
Figure 4.3: (a) After windowing out FrFT corresponding to chirp (b) Chirp extractedby inverse FrFT (c) Gaussian extracted by inverse FrFT of (a)
27
4.2 Optimal Filter Design
Consider a case where signals that we consider are overlapped in all the fractional
domains. In this case we have to choose a window which gives maximum separation
between the signals we consider [9]. Our modified scheme of FrFT filtering will be as
follows.
1. Take the FrFT of the filter in all Fractional domains.
2. Obtain the optimum multiplicative filter in all the fractional domains.
3. Effect filtering in all the fractional domains with corresponding window.
4. Calculate SNR obtained in each order.
5. Select the fractional order that gives highest SNR.
6. Take the inverse FrFT corresponding to that order which maximizes SNR.
It is impractical to consider all the infinitesimally separated fractional orders. So we
discretize the fractional orders and searching is carried out over that set only. A trade
off is possible between processing time and optimality of fractional order. Another
method is to go for a coarse and fine searching.
Let x(t) be the transmitted signal and y(t) be the received signal after the effect of
noise n(t), such that,
y(t) = x(t) + n(t) (4.1)
We use a multiplicative filter g(t), such that we get an estimate of x(t), from y(t).
x̂(t) = g(t).y(t) (4.2)
Our aim is to find out an optimal filter g(t) which minimizes J , where J is,
J = E
[∫ ∞−∞
∣∣(x(t)− g(t).y(t))2∣∣ dt] (4.3)
28
At any instant, Let x be the transmitted value and y be the received value, assuming
channel delay to be zero.
y = x+ n (4.4)
Even if x is a constant value, y will be a set of values because of n. Let x be the
ensemble of x.
i.e., x = [x1, x2, ..., xn]T such that, x1 = x2 = ..... = xn = x = x(t)t=t0
The ensemble of received values,
y = [y1, y2, ..., yn]T (4.5)
Now, x̂, the estimate of x will be,
x̂ = g.y, such that g = g(t)t=t0 .
Our aim is to minimize the norm of j = x-g.y, which happens when j ⊥ y. i.e.,
(x− g.y)T.y = 0
xT.y − g.yT.y = 0
g = (xT.y)/(yT.y) (4.6)
g(t)t=t0 =Rxy
Ryy t=t0
(4.7)
We can generalize the result to fractional domains also as,
ga(ta)ta=ta0=Rxaya
Ryaya ta=ta0
(4.8)
For each a value we find out a J value and we select the value of a which minimizes J .
29
4.2.1 Example 1 : Chirp signal contaminated with White
Gaussian Noise.
Consider the case of a Gaussian pulse contaminated with chirp noise. Gaussian will
remain Gaussian in all the fractional domains, while chirp forms an impulse at a
particular fractional order. Now we can separate the impulse corresponding to the
chirp with a rectangular window. Taking inverse FrFT, we get both signals separated.
See Fig.4.4 and Fig.4.5.
Here input is chirp x(t) and output is y(t).
y(t) = x(t) + n(t) (4.9)
In general,
ya(t) = xa(t) + na(t) (4.10)
We have seen that the optimum filter in fractional domain is of the form
gopt(ta) =Rxy(t1, t2)
Ryy(t1, t2)|t1=t2=ta (4.11)
gopt(ta) =E[xa(ta)y
∗a(ta)]
E[ya(ta)y∗a(ta)](4.12)
White noise will remain white in all the fractional domains.
E[na(ta)] = 0 (4.13)
Expanding ya(ta) , we get
gopt(ta) =[xa(ta)x
∗a(ta)]
[xa(ta)x∗a(ta)] + E[na(ta)n∗a(ta)](4.14)
Where E[na(ta)n∗a(ta)] is the average noise power.
Multiplicative filtering is carried out for different values of a and the one gives maxi-
mum SNR is selected for filtering.
30
Figure 4.4: (a) Chirp Signal (b)WGN added to Chirp Signal SNR = -6dB (c) Frac-tional Fourier Transform of the signal at −82.50s
31
Figure 4.5: (a)Optimum Multiplicative Filter (b)Extracted Chirp Signal SNR = 13dB(c) Variation of output noise power with fractional order
32
4.2.1.1 Observations
• Rectangular window is taken for simplicity. It need not be the window that
maximizes the separation.
• Error is mainly concentrated at the ends of the frame taken. This is because
of finite time width of the DFrFT window and also because of the rectangular
window filtering.
4.2.1.2 Matlab Code
%chirp in wgn.
%white noise remain white in all fractional domains.
clear variables
ch_len = 4096;
ch_k = .0001;
T = -1*ch_len/2+1:ch_len/2
%------------generating chirp------------------------
chirp = zeros(ch_len,1);
for m=1:ch_len
chirp(m) = 1*exp( j*((m-ch_len/2)^2 )*ch_k);
end
plot(T,real(chirp));
plt = 0;
%---------generating wgn---------------------------
pow =4.3;
nos = wgn(ch_len,1,10*log10(pow));
rcv = nos+chirp;
plot(T,real(rcv));
33
plt =0;
%---------calculating SNR--------------------------
snr = 10*log10(sum(chirp .*conj(chirp))/sum(nos.*conj(nos)))
m=1;
for ang = -90:1:-70
rcv_tr = frft(rcv,ang/90); % taking FrFT
plot(T,abs(rcv_tr));
plt = 0;
chirp_tr = frft(chirp,ang/90);
plot(T,abs(chirp_tr));
plt = 0;
rxx = abs(chirp_tr).^2;
plot(T,rxx);
plt=0;
g = rxx ./ (rxx+pow); %multiplicative filter
plot(T,g);
plt = 0;
rcvflt_tr = g .* rcv_tr; %applying filter
plot(T,abs(rcvflt_tr));
plt =0;
rcvflt = frft(rcvflt_tr, -1*ang/90);% taking inverse FrFT
plot(T,real(rcvflt));
plt = 0;
34
err = chirp - rcvflt;
plot(T,abs(err));
plt =0;
snr_flt = 10*log10(sum(chirp .*conj(chirp))/sum(err.*conj(err)))
err_str(m) = sum(err .* conj(err))/ch_len;
m=m+1;
[ang err_str(m-1)]
end
plot(-90:1:-70,err_str);y(t)=x(t)+0.8x(t-200T_s )+0.6x(t-450T_s)
4.2.2 Example 2 : Square pulse in Linear FM noise.
Linear FM noise is basically chirp signals. Linear FM signals can be used as wideband
interference signals. Chirp signal will transform to impulse at a particular fractional
Fourier domain and can be easily separated from message signal [6].
See Fig.4.6 and Fig.4.7
It involves two steps,
• Identifying the proper fractional domain.
• Removing the “peak” portions corresponding to chirp using an optimal multi-
plicative filter.
Proper fractional domain can be identified by carrying out a search on different frac-
tional domains for maximum peaking. A suitable function that gives the amount of
peaking in each fractional domain is
J =
∫|Xa(ta)|h dta, h > 2 (4.15)
35
Now using an optimal multiplicative filter at a fractional order that maximizes J ,
we can filter out the chirp signal from message. Signal is to be taken as frames of
typically about 50% overlap in order to reduce the effect of windowing.
Figure 4.6: (a) Square wave + Chirp noise, SNR = -20dB (b) FrFT at −76.50
4.2.2.1 Observation
Noise after processing is mainly concentrated at the ends of the segment. This is
due to the finite length of the segment considered. As the pulse used is having lower
frequency components, whenever the part of the chirp with low frequency comes,
there is a higher chance of bit error.
4.2.2.2 Matlab Code
%Square pulse in chirp noise
clear variables
sym_len = 10;
%----generating random data sequence----------
data =pn(7,1);
no_sym = length(data);
36
Figure 4.7: (a) Optimal Filter (b) After de-noising, SNR=6 dB (c) Error After De-modulation
37
%-----modulating with square pulse-------------
strt = 1;
for k = 1:no_sym
for m = 1:sym_len
trn(strt+m) = 2*data(k)-1;
end
strt = strt +sym_len;
end
stem(data);
plot(trn);
tot_len = no_sym * sym_len;
chirp = zeros(1,tot_len);
chirp_rate = .0006;
%--------generating chirp-----------------
for k = 1:tot_len+1
chirp(k) = 10*exp(j * (k-1)*(k-1)*chirp_rate);
end
plot(real(chirp));
ch_pow = sum(abs(chirp) .* abs(chirp));
rcv=trn+chirp;
sgn_pow = sum(abs(trn) .* abs(trn));
38
%----------snr calculation before processing-----------
snr = 10 * log10(sgn_pow/ch_pow)
plot(real(rcv));
%--------finding out the optimum angle--------------
for ang = -90:1:90
chirp_fr = frft(chirp, ang/90);
trn_fr = frft(trn, ang/90);
rcv_fr = frft(rcv, ang/90);
j = (sum((abs(rcv_fr)).^3)/tot_len);
plot(abs(chirp_fr));
plot(abs(trn_fr));
plot(abs(rcv_fr));
[ang, j]
end
trn_fr = frft(trn,-76.5/90);
plot(abs(trn_fr));
rcv_fr = frft(rcv,-76.5/90);
plot(abs(rcv_fr));
chirp_frd = frft(chirp,-76.5/90);
plot(abs(chirp_frd));
%-----------calculating the filter window-----------
39
g = (abs( chirp_frd)).^2;
g = ones(length(g),1)./(1+g);
plot(g);
rcv_fr = g.*rcv_fr;
plot(abs(rcv_fr));
rcv_dns = frft(rcv_fr,76.5/90);
plot(real(rcv_dns));
%--------calculating error power---------------
err_pow = sum(abs(rcv_dns-trn’).*abs(rcv_dns-trn’));
SNR1 = 10 * log10(sgn_pow/err_pow)
%------demodulating---------------
strt = 1;
for k = 1:no_sym
acc =0;
for m = 1:sym_len
acc = acc+rcv_dns(strt+m);
end
if(acc>0)
data_rcv(k) =1;
else
data_rcv(k) = 0;
end
strt = strt +sym_len;
40
end
%------------finding bit error--------------
err = abs(data - data_rcv);
stem(err);
4.3 Other Applications
4.3.1 FrFT for Compression
Transforms are widely used for signal compression applications. Consider the case
of a speech data sample. After applying Fourier transform, most of the energy will
be concentrated on very few frequency components. The fraction of energy in other
frequency components will be very small. After a thresholding all such low energy
components will be removed. That is, most of the coefficients will be zero and the
resulting data can be easily compressed.
If we use FrFT instead of Fourier transform, we can search for a fractional order,
which gives highest energy compaction for a given signal. Thus compression can be
optimized. For signals with highly non stationary spectral characteristics, signal has
to be divided into finite length segments and fractional order optimization has to be
applied on each segment.
We observed that for speech and music, Fourier domain gives the best performance
for compression compared to other fractional domains.
4.3.2 Multipath Channel Estimation Using FrFT
Channel characteristics of a static multipath channel can be measured using FrFT. A
chirp signal is transmitted from the transmitter side and received signal is analyzed
41
using FrFT. Chirp signals gives sharp peaking in fractional domains decided by chirp
parameters. Consider the time shift property of FrFT.
Fα [x(t− τ)] (u) = Fα [x(t)] (u− τ cosα)ejτ2
2sinα cosα−juτ sinα (4.16)
If we consider the magnitude,
|Fα [x(t− τ)] (u)| = Fα [x(t)] (u− τ cosα) (4.17)
Received signal will have many chirp pulses, each with different delay and different
gain. Each impulse corresponding to different copies of transmitted chirp signal will
be shifted in fractional domain by τcos(α) where τ is the time shift between the
chirps and α is the fractional angle at which the transmitted chirp gives peaking.
The multipath model used is
y(t) = x(t) + 0.8x(t− 200Ts) + 0.6x(t− 450Ts) (4.18)
4.3.2.1 Matlab Code
%chirp filtering in a multipath channel+wgn
clear variables;
chirp_len = 600;
chirp = zeros(1,chirp_len);
chirp_rate = .0005;
%----generating chirp----------------------------
for k = 1:chirp_len
chirp(k) = exp(j * (k-1)*(k-1)*chirp_rate);
end
42
plot(real(chirp));
plt = 1;
tot_len = 1200;
rcv = zeros(1,tot_len);
%--------generating a multipath model output-----
Figure 4.8: (a) Transmitted chirp signal (b) Received signal-Multi Path, WGN SNR= -6 dB (c) Signal after FrFT for coefficients 1, 0.8, 0.6 Angle = −800
43
for k = 1:chirp_len
rcv(k) = rcv(k) + 1 * chirp(k);
rcv(200+k) = rcv(200+k) + .8 * chirp(k);
rcv(450+k) = rcv(450+k) + .6 * chirp(k);
end
plot(real(rcv));
plt = 1;
rcv_pow = sum(abs(rcv) .* abs(rcv));
%------------generating wgn----------------------
n = wgn(1,tot_len,2.6);
plot(n);
plt =1;
nos_pow = sum(abs(n) .* abs(n));
SNR = 10 * log(rcv_pow / nos_pow)
rcv = rcv + n;
plot(real(rcv));
plt = 1;
%----------search for optimum angle--------------
for ord = -90:1:90
rcv_fr = frft(rcv,ord/90);
plot(abs(rcv_fr));
plt =1;
ord
44
end
rcv_fr = frft(rcv, -80/90);
plot(abs(rcv_fr));
plt=0;
peak = 0;
magn_rcv_fr = abs(rcv_fr);
peak = max(magn_rcv_fr);
threshold = .4* peak;
for k =1:tot_len
if magn_rcv_fr(k) < threshold
magn_rcv_fr(k) = 0;
rcv_fr(k) = 0;
end
end
plot(abs(rcv_fr));
plt=0;
val = 0;
rcv_fr_est = zeros(1,tot_len);
rcv_fr_est(485:495) = rcv_fr(485:495);
plot(abs(rcv_fr_est));
plt = 0;
45
rcv_est = frft(rcv_fr_est, 80/90)’;
plot (real(rcv_est));
plt = 0;
4.3.3 FrFT for measuring the acceleration of a moving object
in radial direction
When illuminated by a constant frequency sinusoid, the reflection from a radially
accelerating object will be a chirp. A search in different fractional domains is carried
out for obtaining the peak. Let αmax be the angle corresponding to maximum peaking
[5].
Transmitted signal
St(t) = ej2πf0t (4.19)
Received signal
Sr(t) = ej2πf0t+j2π
2vλ0t+π 2a
λ0t2+Φ0 (4.20)
The estimation of radial acceleration is
aest = −λ0fs2T
cotαmax (4.21)
46
Chapter 5
Critical Evaluation and Conclusion
5.1 Critical Evaluation
Based on the study and analysis of the simulation results, we conclude that:
1. FrFT gives one more degree of freedom while designing signal processing tools
compared to Fourier transform.
2. Signal analysis in time-frequency plane is easy with the help of FrFT.
3. FrFT is computationally efficient and has the same order of complexity as that
of Fourier transform.
4. FrFT based computations are to be done frame-wise, which will result in errors
due to windowing and finite time duration. It can be reduced to a great extent
by taking frames with 50 percent overlap.
5. Most of the time, optimum order for computation will be unknown, as a result,
a search over a range of fractional orders should be carried out, which is a time
consuming task.
6. FrFT performs excellently if any of the signals that we consider is chirp-like.
7. Signals of non-stationary spectral characteristics can be analyzed using FrFT
with superior performance compared to Fourier transform.
47
8. For speech and music processing, advantage that we get by using FrFT is min-
imal.
9. Signals after FrFT processing will contain complex part, which should be con-
sidered for any further processing.
5.2 Conclusion
We can conclude that FrFT is a more general method for signal processing and sys-
tem design. FrFT based systems can replace the current frequency domain systems.
FrFT can have bigger roles in fields like radar and sonar where chirp signals are very
common. There is large scope of research in FrFT in the fields of spread spectrum
communication, signal watermarking and encryption, cognitive radio and so on. FrFT
can also be used for the design of faster optical signal processing systems.
48
Bibliography
[1] V. Namias, “The Fractional Order Fourier Transform And Its Application To
Quantum Mechanics,” J. Inst. Math. Applicat., Vol. 25, Pp. 241-265, 1980.
[2] A. C. Mcbride and F. H. Kerr, “OnNamias’ Fractional Fourier Transforms,” IMA
J. Appl. Math., Vol. 39, Pp. 159-175, 1987.
[3] Haldun M. Ozaktas, Orhan Ankan, M. Alper Kutay and Gozde Bozdak, “Digi-
tal Computation Of The Fractional Fourier Transform,” IEEE Transactions on
Signal Processing, Vol.44, No.9, September 1996.
[4] Soo-Chang Pei, Min-Hung Yeh and Chien-Cheng Tseng, “Discrete Fractional
Fourier Transform Based On Orthogonal Projections,” IEEE Transactions on
Signal Processing, Vol.47, No.5, May 1999.
[5] Wen-chao Du, Xue-qiang Gao and Guo-hong Wang, “Using Frft To Estimate
Target Radial Acceleration”, Proceedings of the 2007 International Conference
on Wavelet Analysis and Pattern Recognition, Beijing, China, 24 Nov. 2007.
[6] Qi Lin, Tao Ran and Zhou Si-Yong, “Rejection of Linear FM Interference in DSSS
System Based on Fractional Fourier Transform,” Journal of Beijing Institute of
Technology, Vol.14, No.2, 2005.
[7] Luis B. Almeida, “The Fractional Fourier Transform and Time-Frequency Repre-
sentations,” IEEE Transactions on Signal Processing, Vol.42, No.11, November
1994.
49
[8] Haldun M. Ozaktas, Orhan Ankan, M. Alper Kutay and Gozde Bozdaki, “Digital
Computation of the Fractional Fourier Transform,” IEEE Transactions on Signal
Processing, Vol.44, No.9,September 1996.
[9] M. Alper Kutay, Haldun M. Ozaktas, Orhan Arikan and Levent Onural, “Op-
timal Filtering in Fractional Fourier Domains,” IEEE Transactions on Signal
Processing, Vol.45, No.5, May 1997.