260 likes | 554 Views
Sub- Nyquist Sampling Continuous to Finite Module Orthogonal Matching Pursuit Block. Final Presentation – Part A Performed by : Yoni Smolin. Supervisors: Inna Rivkin & Moshe Mishali Winter 2009 – Spring 2010. Sub- Nyquist Digita l System. On every clock cycle, the system solves How ?
E N D
Sub-Nyquist SamplingContinuous to Finite ModuleOrthogonalMatching Pursuit Block FinalPresentation – Part A Performed by : Yoni Smolin • Supervisors: Inna Rivkin & Moshe Mishali • Winter 2009 – Spring 2010
Sub-Nyquist Digital System • On every clock cycle, the system solves • How ? • Expand - computes y from input samples. • CTF - locates non zero elements of z. • DSP - computes their values. 4 Expand X3 CTF DSP Sampled data 12 Support A zsupp zsupp y Sampling matrix Asupp y sparse z
CTF CTF Frame construction Support recovery • The frame matrix - a basis for recovery: Support frame matrix y70H y1H y2H … Q y1 y2 y70
CTF CTF Frame construction Support recovery • Support recovery – applying OMP for Q: Support frame matrix A UQ Q support
OMP – Algorithm (SBR2) Matching Solution Approximation Residual Update
OMP – Adaptation for Hardware Matching
OMP – Adaptation for Hardware Matching Modified Gram Schmidt Residual Update
OMP – Atomic Operations 12 12 12 12 12 1 OMP iteration 101 projections 12 1 M.G.S. iteration update residual 12
Implementation Considerations • CTF must fit in a single Stratix III FPGA. • Number representation: Fixed-point, Q1.16. • Fully parameterized design: N, L, m. • Guiding principle: Achieve best throughput. Implying: • A pipelined datapath. • Parallel execution of vector-matrix multiplications.
CTF Block CTF Frame OMP Merge Amemory
Block Diagram - Datapath keep max support stop ? SUB MAMU
Block Diagram - Datapath keep max support stop ? SUB MAMU 18bit 21bit
Matrix Multiplier (MAMU) Delay Multiplication - 2 cycles Projection - 5 cycles Hardware consumption DSP blocks – 64% 1 2 … 12 1 . . . 36 36 + 1 36 inputs inputs outputs outputs 12 A single column
Inverse Square root • Implementation alternatives: • Remark: Input number must be > .
OMP iteration - Matching Pipelined calculation = 101 cycles keep max support stop ? SUB MAMU
OMP iteration – Gram Schmidt ( i-1 projections ) + normalization keep max support stop ? SUB MAMU
OMP iteration – Update Residual Parllel calculation: stopping cond. & update R keep max support stop ? SUB MAMU
Overflow • In theory, overflow can occur only for: → Solution: Divide R by 2 & recalculate: • Error detection flags: Overflow: MAMU, , SUB, . R R/2 some vector some vector
Synthesis Report Frame OMP * Without debug environment
Logical Simulation – Test Bench • Input text files are generated by Matlab. • Output text files are evaluated in Excel. Rmemory OMP Q.txt supp.txt Amemory A.txt
Logical Simulation – Example Simulation output: • Support: →→→ Iteration: 1st 2nd 3rd 4th 5th→ f 9 64 38 93 z
Logical Simulation – Results FM FM • Problem : recovery< 100%. • Solutions: • Regular mode: CTF can be reinitiated until successful recovery. • Iterative mode: Support merging can help overcome mistaken elements.
Challenges • Swap normal ↔ iterations modes on the fly. • A must be normalized before system startup. • Q’scalculation: • Should be wide to avoid overflow. → transfer only 18 relevant bits to OMP. • Can be accelerated by upsamplingy. • Wide mux (5,184 bits) can pose a latency problem. • Stopping condition varies with input signal’s energy.