GPS-INSRESAMPLING VERIFICATION
Final PresentationAnnual project (Part B)
Winter semester 2009תש"ע ((
Students: Oren Hyatt, Alex DutovSupervisor: Mony Orbach
Abstract A GPS system isn’t fast enough, to meet updating requirements of
high speed systems. The algorithm using GPS/INS system, coupled with an integrated particles filter, for error estimation, was developed by Prof. Yaakov Oshman and Mark Koifman, from the Aeronautics faculty of the Technion.
Part A of this project, deals with the implementation the resampling and regularization units, the algorithm uses. Those parts, were defined as a possible “bottle neck”, in terms of time constraints.
In this part (part B), the resampling was brought and verified using the Generic environment.
Project’s goal Learning the complete system protocol
and using it to work with Generic. Resampling’s verification using Generic
Environment. Time requirements checking. HW resources requirements checking.
Resampling
Format’s Notation:X.YY.ZZZ ~ sign ; number ; fraction*see part A for more info
W[0.0.28] Index_out[0.16.0]Reject insignificant particles.
Duplicate remained particles, with respect to their relative weight.*
Generic Generic Program is a testbench for GPS-
INS system. Provides input vectors and stores the
results in .BIN file. Allows to test all parts of the algorithm in
different points of time. Uses the same protocol for all parts of
the algorithm.
Generic InterfaceFPGA selection(We work with FPGA #3)Time point selectionWeights input from .BIN/Indexes output to .BIN
Number of Indexes in Output
Control buttons Propogate 30K weights
Testing environment IC1 – vhd that was
created by ProcWizard for Frame1 and its .bdf file is used by Generic Program.
Frame1 – System main controler.
Generic – a testbench unit.
Resampling – our unit.
IC1Frame1
GenericResampling
Resampling main controler
Test results (Generic vs Matlab)T=201
Number of indexes misplaced: 829
Test results (HW vs Matlab)T=1001
Number of indexes misplaced: 786
Test results (HW vs Matlab)T=2001
Number of indexes misplaced: 247
Test results (HW vs Matlab)T=3101
Number of indexes misplaced: 1127
T=4301
Number of indexes misplaced: 935
Results Analysis Only the time points provided by Generic
were tested. Generic test results are very close to the
matlab test. There is an error in indexes caused by
rounding (see next slide).
Error source There is a step in algorithm which adds
(1/30K) to the random number. Matlab precision is better than Generic, so there is a misfit in some indexes.
Generic: Matlab: Error = It’s the only error source, next slide will
demonstrate it.
271 4474 2 0.0000333338975906372070312530K
1 3.3333333333333333333333333333333e-530K
105.6425730387369791666666666666667 10
Error source demonstrationT=201
Same value in Matlab and GenericDifferent value in Matlab and Generic
Number of indexes misplaced: 829 Number of indexes misplaced: 0
Timing and Resources
HW resources (including the new controller)Hardware Resources usage
Comb.ALU Dedicated logic regs.
Total regs.
Total block memory bits
DSP 18bits
718 271 271 2,097,152 4
Summary of the unit:
Timing (including the new controller)Speed
fmax(timing sim.)
N /fmax
17.89[Mhz] 1.677[msec]
Summary of the unit:
HW resources (without the new controller)
Summary of the unit:Table 2: resampling characteristics
Hardware Resources usageComb.ALU Dedicated
logic regs.Total regs.
Total block memory bits
DSP 18bits
524 146 146 2,097,152 4
Timing (without the new controller)Speed
fmax(timing sim.)
N /fmax
187[Mhz] 161[Usec]
Problems and Solutions There was no written manual about
Generic. Trial and error solution.
Generic has several bugs (see Generic document). Some were found by Ayal (D1127). Some were found by us (and again, trial
and error apprauch). Some code passes Quartus simulation
but didn’t work on board. Several code confuguration were tried until
it worked.
Summary All the input vectors were successfully
tested. Error source were found (no HW bug, but
accuracy difference between Generic and Matlab).
HW resources slightly increased (we still can manage it).
Because of a new controller and the Generic protocol frequency has been reduced (10 times), but it still meet real-time requirement.
Questions
The END