# 0.2 Fast fourier aliasing-based sparse transform

 Page 1 / 1
A brief description of the FFAST algorithm.

## Fast fourier aliasing-based sparse transform

Fast Fourier Aliasing-based Sparse Transform (FFAST) is a sparse FFT algorithm developed by Sameer Pawar and Kannan Ramchandran in May 2013 [link] . We present a formulation of the algorithm that is specialized for our digital multitone scheme.

FFAST consists of three modules: the downsampling module, the FFT module, and the peeling module. See [link] for a diagram of this architecture.

## Front end

The downsampling module consists of three stages. In each stage $i$ , the signal and a delayed version are both downsampled by a sampling coefficient, ${n}_{i}\in {\mathbb{Z}}_{+}$ . This introduces aliasing in the frequency domain, which will be a key component in the peeling module. It is necessary that the sampling coefficients ${n}_{i}$ are coprime factors of the singal length $N$ ; that is, ${n}_{0}\phantom{\rule{0.166667em}{0ex}}{n}_{1}\phantom{\rule{0.166667em}{0ex}}{n}_{2}=N$ where ${n}_{0}$ , ${n}_{1}$ , ${n}_{2}$ , are all relatively prime.

These smaller subsignals are passed to the FFT module, which computes the DFT of each subsignal. Any FFT algorithm may be used in this stage with the condition that it works for a general signal length $N$ . The DFTs of the subsignals at stage $i$ are then paired together. We denote such a pair as ${\stackrel{\to }{y}}_{l}^{\phantom{\rule{0.166667em}{0ex}}i}=\left({x}_{i}\left[l\right],{\stackrel{˜}{x}}_{i}\left[l\right]\right)$ , where ${x}_{i}\left[l\right]$ and ${\stackrel{˜}{x}}_{i}\left[l\right]$ are the ${l}_{th}$ values of the DFT of the normal and delayed subsignals of stage $i$ , respectively.

## Back end

The peeling module takes these smaller DFT pairs and backsolves a bipartite graph to obtain the DFT coefficients of the original signal. To understand the structure of this graph, recall that the aliasing caused by downsampling “mixes" frequency domain components. More precisely, the coefficients of the smaller DFTs are a linear combination of the original DFT coefficients. Consider a graph with two types of vertices: the smaller DFT pair coefficients ${\stackrel{\to }{y}}_{l}^{\phantom{\rule{0.166667em}{0ex}}i}$ and original DFT coefficients $X\left[p\right]$ . If an original DFT coefficient contributes to the value of a smaller DFT coefficient, an edge is placed between the two vertices. It is easy to see that this is a bipartite graph because the vertex set can be partitioned into smaller DFT coefficients and original DFT coefficients.

We denote a smaller DFT coefficient vertex as a zero-ton if no nodes are connected to it, a singleton if exactly one node is connected to it, and a multi-ton if it is neither a zero-ton nor a singleton.

If a vertex ${\stackrel{\to }{y}}_{l}^{\phantom{\rule{0.166667em}{0ex}}i}=\left({x}_{i}\left[l\right],{\stackrel{˜}{x}}_{i}\left[l\right]\right)$ is a pair of zeros, then it is a zero-ton. Otherwise, to determine whether a vertex is a zero-ton, a singleton, or a multi-ton, the algorithm uses a “Ratio Test"  [link] . Recall that a circular shift in the time domain is a multiplication by a complex exponential in the frequency domain so that we may use the values in ${\stackrel{\to }{y}}_{l}^{\phantom{\rule{0.166667em}{0ex}}i}$ to determine whether the vertex is a singleton. To perform this ratio test we may check if the quantity

$q=\frac{N}{2\pi }\left(\angle ,\frac{{\stackrel{˜}{x}}_{i}\left[l\right]}{{x}_{i}\left[l\right]}\right)$

is an integer. If $q$ is an integer, then the vertex in question is a singleton and thus, $X\left[q\right]={x}_{i}\left[l\right]$ ; otherwise, the vertex in question is a multi-ton.

We now describe the process of backsolving this bipartite graph to get the DFT coefficients of the original signal. If a vertex is a zero-ton, we may remove it from the graph because it provides no relevant information. If a vertex is a singleton, we have obtained a DFT coefficient $X\left[q\right]$ . By the “mixing” process of aliasing, we know which smaller DFT pairs ${\stackrel{\to }{y}}_{l}^{\phantom{\rule{0.166667em}{0ex}}i}$ that $X\left[q\right]$ contributes to. With this information, we may subtract $X\left[q\right]$ from these smaller DFT pairs, thus removing edges from the graph. We repeat these steps until all edges are removed from the graph and $X\left[q\right]$ is known completely. This process is known as peeling and is reminiscent of decoding Low Density Parity Check codes.

## Convergence conditions

In general, FFAST is a robust algorithm that can handle noise, many signal lengths $N$ , and sparsity factors $k$ , where $k$ is the number of nonzero DFT coefficients. We presented a specific noiseless version of the algorithm that requires the sparsity constraint $k<{N}^{1/3}$ . As previously mentioned, FFAST also requires that the subsampling coefficients are coprime factors of $N$ . With these conditions, FFAST is guaranteed to converge to a solution almost surely.

How we are making nano material?
what is a peer
What is meant by 'nano scale'?
What is STMs full form?
LITNING
scanning tunneling microscope
Sahil
what is Nano technology ?
write examples of Nano molecule?
Bob
The nanotechnology is as new science, to scale nanometric
brayan
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Damian
Is there any normative that regulates the use of silver nanoparticles?
what king of growth are you checking .?
Renato
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
why we need to study biomolecules, molecular biology in nanotechnology?
?
Kyle
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
why?
what school?
Kyle
biomolecules are e building blocks of every organics and inorganic materials.
Joe
anyone know any internet site where one can find nanotechnology papers?
research.net
kanaga
sciencedirect big data base
Ernesto
Introduction about quantum dots in nanotechnology
what does nano mean?
nano basically means 10^(-9). nanometer is a unit to measure length.
Bharti
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
absolutely yes
Daniel
how to know photocatalytic properties of tio2 nanoparticles...what to do now
it is a goid question and i want to know the answer as well
Maciej
Abigail
for teaching engĺish at school how nano technology help us
Anassong
How can I make nanorobot?
Lily
Do somebody tell me a best nano engineering book for beginners?
there is no specific books for beginners but there is book called principle of nanotechnology
NANO
how can I make nanorobot?
Lily
what is fullerene does it is used to make bukky balls
are you nano engineer ?
s.
fullerene is a bucky ball aka Carbon 60 molecule. It was name by the architect Fuller. He design the geodesic dome. it resembles a soccer ball.
Tarell
what is the actual application of fullerenes nowadays?
Damian
That is a great question Damian. best way to answer that question is to Google it. there are hundreds of applications for buck minister fullerenes, from medical to aerospace. you can also find plenty of research papers that will give you great detail on the potential applications of fullerenes.
Tarell
what is the Synthesis, properties,and applications of carbon nano chemistry
Mostly, they use nano carbon for electronics and for materials to be strengthened.
Virgil
is Bucky paper clear?
CYNTHIA
carbon nanotubes has various application in fuel cells membrane, current research on cancer drug,and in electronics MEMS and NEMS etc
NANO
Got questions? Join the online conversation and get instant answers!