Tightly coupled INS/GPS system using particle filter D0928- system architecture and math functions...
-
Upload
randolf-shepherd -
Category
Documents
-
view
221 -
download
8
Transcript of Tightly coupled INS/GPS system using particle filter D0928- system architecture and math functions...
Tightly coupled INS/GPS system using particle filter
D0928- system architecture and math
functions
Part A - Final presentation
Students: Royzman Danny Peleg Nati
Supervisor: Fiksman Evgeni
•Math functions▫Overview
▫Trigonometric ▫Exp{-x}▫SQRT
▫Implementation▫Performance
•Infrastructure – Phase1▫Main difficulties▫Block diagram▫Controllers diagram
•Gantt Chart
Agenda
Math functions - Overview
sine & Cosine
exp
sqrt
Particle propagationRevaluation
GPS update + Neff
Dk computation
Reweight
Math functions - guidelines
The following guidelines were defined for function
implementation:
• I/O format : signed fixed point.
• Maximum flexibility.
• Low FPGA resource usage.
• Reasonable accuracy.
Math functions – OverviewInitial proposal
Initially proposed implementation based on CORDIC
algorithm
• Iterative algorithm.
• I/O format : variable width signed fixed point.
• Low HW requirements.
• Easily adjustable and easily implementable .
• Allows a generic unified core, for all the functions needed.
• Rough accuracy estimation is one bit for each iteration.
Math functions – OverviewCORDIC R&D
FunctionIssues
TrigonometricPre and post processing units
needed to cover ±Π
ExponentialVery large convergence zone
needed, impractical for CORDIC use
Square rootVery large IO format needed,
impractical for CORDIC use
• See project book for more details
Math functions – OverviewAlgorithm adjustments
FunctionAlgorithm
Trigonometric CORDIC algorithm
Exponential“Invariants” method
Square root“A non-restoring square root “
algorithm
Math functions – ImplementationTrigonometric functions
• Variable-width variable-pipeline CORDIC algorithm.
▫ Sine, Cosine functions implemented in single unit.
▫ Pre & Post processing units added for broader input coverage.
▫ Pipe core contains datapath and control stages.
▫ Pipe core combined from variable (2,4..16) amount of single stages,
separated by a register.
▫ Default values: (HW cost/accuracy trade off).
Stages total amount : 32 units.
Input/output width :32 bit.
IO format 1.2.29 input, 1.0.31 output
Math functions – ImplementationTrigonometric functions
Pre-Processing
unitPipe Core
Post-Processing
unit
Default values LUT
Input
Sine
Cosine
Math functions – ImplementationTrigonometric functions
Single pipe stage
http://en.wikibooks.org/wiki/Digital_Circuits/CORDIC
Math functions – ImplementationTrigonometric functions
Pre processing unit
Math functions – ImplementationTrigonometric functions
Post processing unit
Math functions – ImplementationExponential function
• “Invariants” method will be used
▫ 17 single stages.
▫ Executing a 4-stages pipe flow.
▫ 5 unique “integer” stages.
▫ 6 unique “fractal” stages, repeated twice for better coverage.
▫ Pipe core contains datapath and control stages.
▫ IO format 0.5.27 input, 0.0.32 output.
Math functions – ImplementationExponential function
Single stage
Math functions – ImplementationSquare root function
• “A non-restoring square root” algorithm will be used
▫ Fully combinatorial implementation
▫ 48 unique iterations, can be pipelined.
▫ IO format 0.32.64 input, 0.16.32 output.
Math functions – ImplementationSquare root function
Schematic
Math functions – Performance
PerformanceResource usage
Pipe
size
Clock(MHz)Mean
accuracy(%)
Comb.ALUDedicated logic registers
Trig block2÷1625.85÷159.640.0000064148÷3585196÷1381
Exp block467.050.311706167
SQRT block07.070.0033932144
Infrastructure
Infrastructure mile stone - GPS Phase I is done
• Infrastructure – Phase1▫Main difficulties▫Block diagram▫Controllers diagram
InfrastructureMain difficulties
•Integration problems between frames.
•Hardware adjustments for debug .
•Long compilation time.
InfrastructurePhase1 - block diagram
Taken from Gadi&Eran’s D1418_BOOK
InfrastructurePhase1 - connectivity
InfrastructurePhase1 - connectivity
InfrastructurePhase1 - connectivity
InfrastructurePhase1 - controllers diagram
Main controller1 F.S.M
InfrastructurePhase1 - controllers diagram
Local controller2 F.S.M
InfrastructurePhase1 - controllers diagram
Main controller3 F.S.M
InfrastructurePhase1 - controllers diagram
Main controller4 F.S.M
InfrastructurePhase1 - From Debug
InfrastructurePhase1 - From Debug +100 cycles
InfrastructureGantt Chart
ינוארדצמברנובמבר
21285121926291623
Phase2Phase2Phase2Phase3Phase3Phase3Phase4Phase4Phase4Phase4
Q&A
Backup
CORDICאלגוריתם :סיבוב וקטור – התמרה כללית
( , )x y
( , )x y
( ', ')x y
CORDICאלגוריתם
CORDICאלגוריתם הצובר הזוויתי:
CORDICאלגוריתם
שני מצבי עבודה :• Rotation by Volder .1מצב סיבוב –
2.Vectoring מצב וקטורי –
CORDICאלגוריתם בסה"כ עבור מצב
סיבוב :
CORDICאלגוריתם
CORDICאלגוריתם
Regular single stagesAdditional single stages
Proposed HW implementationHyperbolic functions Pre Process Unit
Mathematical actions required, compared to regular single stage
• X. Hu, R. Huber, S. Bass, “Expanding the Range ofConvergence of the CORDIC Algorithm”, IEEETransactions on Computers. Vol. 40, Nº 1, pp. 13-21, Jan.1991.• Daniel R. Llamocca-Obregón,Carla P. Agurto-Ríos; A FIXED-POINT IMPLEMENTATION OF THE EXPANDED HYPERBOLICCORDIC ALGORITHM
http://www.iberchip.org/iberchip2006/ponencias/106.pdf
Back
Proposed HW implementationHyperbolic functions Pre Process Unit
C simulation results, acquired by running D0228 (Neta & Moti)
project code.
• Maximum Exponential input : 375.704604
• Minimum Exponential input : 0.12665
• Average Exponential input : 14.15504
•Convergence zone expansion:
•Total values checked : >1000000 (One million)Back
Negative stagesValues covered
0(default)1%
563%
1087%