Upload
belle
View
44
Download
0
Embed Size (px)
DESCRIPTION
Blind Reconstruction of Sparse Multiband Signals. Performed by:Eli Sorin Zvika Shirazi Supervisor: Michael Yampolsky Mid Presentation Winter 09/10. Mathematical Algorithm. The System. Analog Block. Sampling & Reconstruction device. Sampling Block. h(t). x(t). x(t). h(t). h(t). - PowerPoint PPT Presentation
Citation preview
Blind ReconstructionBlind Reconstructionof Sparse Multiband of Sparse Multiband
SignalsSignalsPerformed by:Performed by: Eli Sorin Eli Sorin
Zvika ShiraziZvika Shirazi
Supervisor: Supervisor: Michael Michael YampolskyYampolsky
Mid PresentationMid PresentationWinter 09/10Winter 09/10
Sampling & Reconstruction device
The SystemThe System
x(t)x(t)
Sampling Block
.
.
.
h(t)
Analog Block
h(t)
h(t)
.
.
.
1( )Np t
1( )p t
( )Np t
MathematicalAlgorithm
The Idea In GeneralThe Idea In General
The The sampling blocksampling block constructs a constructs a matrix Amatrix A that operates on the signal: that operates on the signal: y(t)=Ax(t) y(t)=Ax(t)
The The reconstruction blockreconstruction block - - Reconstructs the Reconstructs the support Ssupport S of x out of A of x out of A
and y.and y. Now, Using Now, Using SS, we invert , we invert AA and and
reconstruct Xreconstruct X.. The algorithm was successfully The algorithm was successfully
simulated in Matlab.simulated in Matlab.
Our MissionOur Mission Implement Implement the reconstruction the reconstruction
algorithm by software (C++) algorithm by software (C++) with hardware orientation.with hardware orientation.
Profiling -Profiling -Analyze Algorithm’s Analyze Algorithm’s subblocks:subblocks:bottlenecks, parallelism, bottlenecks, parallelism,
serialization.serialization. logically massive sub-blocks.logically massive sub-blocks. time-consuming sub-blocks, time-consuming sub-blocks,
latency.latency.
How we accomplished it?
Gave up profiler tools produce irrelevant data, overkill lack relevant data great overhead in tuning the tools
Plant diagnostics code easy adjusted to our needs
What did we look for?
Execution time – rough estimation for hardware latency
Arithmetic operations – adders, multipliers, divisors
The Reconstruction The Reconstruction AlgorithmAlgorithm
Q=∑y[n] ∙ y’[n]
Q=V∙V`
I=As ∙As`
Construct frame V Construct frame V for yfor yCostruct Costruct QQ
DecomposDecompose Qe Q
CTF BlockCTF Block
Reconstruct joint Reconstruct joint supportsupport
V=A∙U
MMV MMV sloverslover
U[supp(ui)]
y V
APseudo Pseudo
InvertInvert
Calculate Calculate ZZAs
`zy
2 parts for the Algorithm
CTF+`As` Pseudo-invertion Not real Time – operate only once
Serial
Calculating ZReal-Time
Clocking
Internal system clock vs. Sample clock System clock - limited by the FPGA
device Typical rates:
FPGA clock - 200-250MHz Sample rate – 50 MHz
Sample rate can be reduced by adding more channels.
But….
But…. Trade Offs
More channels More Logic
Reduced sample Rate Smaller Buffer, Loose
Timing
Contruct Frame Q (CFQ)
Q = ∑y[n] ∙ y`[n] Operates @ sample rate Finite number of samples (about
40...) Relatively light block:
Q Factorization Block (QFB)
Q = V ∙ V` Cholesky factorization – Lower &
Upper Requires Positive-defined Q
Add 1e-06 delta to Diagonal The delta forces precision
How big it is? Not so...
MMV Block
Find the sparsest solution to the system V=AU
NP-hard no polynomial algorithm Several sub-optimal algorithms exist. All - iterations-based limited
Parallelization. We’ve selected M-OMP. How Big?
well.. XXL... !!
Pseudo Invert Block
Inverting is expensive but
worthwhile. How big? Medium-Large…
1H Hs s sA A A
Calculate Z
Operates @Real-Time. Only Multipliers and Additions! Theoretically can be Fully Parallel. How big? Extra Small…
†sZ A y
Summary
Summary
Most heavy Blocks: MMV - by farPseudo Invert – silver medal
Optimization FocusMMV – wait until
Optimization Suggestions
MMV Fastest possible clock Largest device Exploit idle arithmetic units
Pseudo-Invert Can partially operate parallel to CTF,
but… Great resource waste.
Another Conclusion…
Another Conclusion…
Arithmetic elements vs. Channels - - Non-
Linear
Low amount of channels – Low marginal cost when adding a channel.
Large amount of channels – Great marginal cost.
Next step….
Fixed Point
Good Good Luck!Luck!