overall project objective:

16
RF Triangulator: RF Triangulator: Indoor/Outdoor Location Indoor/Outdoor Location Finding Finding 18-525 Architecture Proposal 18-525 Architecture Proposal Giovanni Fonseca Giovanni Fonseca David Fu David Fu Amir Ghiti Amir Ghiti Stephen Roos Stephen Roos Design Manager: Myron Kwai Design Manager: Myron Kwai Overall Project Objective: Overall Project Objective: Design a Radio-Frequency indoor/outdoor Design a Radio-Frequency indoor/outdoor navigation system, utilizing the existing navigation system, utilizing the existing wireless infrastructure. wireless infrastructure. Design Stage Objective: Design Stage Objective: Implement functional (behavioral) Verilog Implement functional (behavioral) Verilog description description

Upload: les

Post on 06-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

RF Triangulator: Indoor/Outdoor Location Finding 18-525 Architecture Proposal Giovanni Fonseca David Fu Amir Ghiti Stephen Roos Design Manager: Myron Kwai. Overall Project Objective: Design a Radio-Frequency indoor/outdoor navigation system, utilizing the existing wireless infrastructure. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Overall Project Objective:

RF Triangulator: Indoor/Outdoor RF Triangulator: Indoor/Outdoor Location FindingLocation Finding

18-525 Architecture Proposal18-525 Architecture Proposal Giovanni Fonseca Giovanni Fonseca

David FuDavid FuAmir GhitiAmir Ghiti

Stephen RoosStephen RoosDesign Manager: Myron KwaiDesign Manager: Myron Kwai

Overall Project Objective:Overall Project Objective:Design a Radio-Frequency indoor/outdoor navigation Design a Radio-Frequency indoor/outdoor navigation system, utilizing the existing wireless infrastructure.system, utilizing the existing wireless infrastructure.

Design Stage Objective:Design Stage Objective:Implement functional (behavioral) Verilog Implement functional (behavioral) Verilog

descriptiondescription

Page 2: Overall Project Objective:

New Design ProposalNew Design Proposal

►Using existing 802.11 wireless signals Using existing 802.11 wireless signals it is possible to calculate one’s location it is possible to calculate one’s location without the use of GPS.without the use of GPS.

►The RF Triangulator will use current The RF Triangulator will use current infrastructures to act as an infrastructures to act as an indoor/outdoor local positioning indoor/outdoor local positioning systemsystem

►By acquiring signal data from 3 or By acquiring signal data from 3 or more wireless access points it will be more wireless access points it will be possible to determine one’s possible to determine one’s coordinates to within 1 meter.coordinates to within 1 meter.

Page 3: Overall Project Objective:

Triangulation ProcessTriangulation Process

►Our chip will Our chip will solve for the solve for the simultaneousimultaneous solution of s solution of 3 circle 3 circle equations.equations.

Page 4: Overall Project Objective:

RF Triangulator Applications:RF Triangulator Applications:

►Our chip can be integrated into Our chip can be integrated into handheld computers, watches, or handheld computers, watches, or shopping carts for locations ranging shopping carts for locations ranging from large theme parks to office from large theme parks to office buildings.buildings.

► It will be able to quickly provide your It will be able to quickly provide your current location as well as provide a current location as well as provide a distance and heading to a future distance and heading to a future location for path-finding purposes.location for path-finding purposes.

Page 5: Overall Project Objective:

Current Project Status:Current Project Status:

►Finish debugging the behavioral description Finish debugging the behavioral description of the RF Triangulator chipof the RF Triangulator chip

►Starting preparations for structural VerilogStarting preparations for structural Verilog►Deciding how many arithmetic units we Deciding how many arithmetic units we

need and comparing performance vs. sizeneed and comparing performance vs. size►Optimizing main algorithmsOptimizing main algorithms►Deciding on timing/pipelining Deciding on timing/pipelining

implementationimplementation

Page 6: Overall Project Objective:

Design Decisions:Design Decisions:

►We conceived a completely new and We conceived a completely new and better design than the RF-ID credit better design than the RF-ID credit card.card.

►We decided that the RF-ID credit card We decided that the RF-ID credit card was mostly encryption based and was mostly encryption based and lacked originalitylacked originality

►The 16-bit floating point precision is The 16-bit floating point precision is sufficiently precise for our application.sufficiently precise for our application.

Page 7: Overall Project Objective:

Design Decisions:Design Decisions:►Memory and caching is implemented Memory and caching is implemented

to keep the 3 strongest signals readily to keep the 3 strongest signals readily available for position calculation.available for position calculation.

►An SRAM lookup table stores individual An SRAM lookup table stores individual access point data including: MAC access point data including: MAC address, X and Y coordinated, address, X and Y coordinated, originating signal/noise ratio.originating signal/noise ratio.

►A queue stores 4 more recently A queue stores 4 more recently acquired signals, and allows for acquired signals, and allows for migration between the top 3 signals migration between the top 3 signals and the queue.and the queue.

Page 8: Overall Project Objective:

Functionality:Functionality:

► It has the ability to write new map It has the ability to write new map data into the ~1K SRAM lookup tabledata into the ~1K SRAM lookup table

►After acquiring at least 3 signals it will After acquiring at least 3 signals it will output your current X and Y output your current X and Y coordinatescoordinates

►Has the ability to calculate the Has the ability to calculate the distance and heading (angle) to a distance and heading (angle) to a given location.given location.

Page 9: Overall Project Objective:

Major Functional Major Functional Components:Components:

► Top 3 / Queue moduleTop 3 / Queue moduleGives priority to the top 3 signals based on their Gives priority to the top 3 signals based on their

Signal-to-Noise RatiosSignal-to-Noise Ratios

► Lookup Table ModuleLookup Table Module

Hard coded data of MAC addresses, x and y Hard coded data of MAC addresses, x and y coordinates as well as Signal-to-Noise Ratios (SNR).coordinates as well as Signal-to-Noise Ratios (SNR).

► Calc ModuleCalc Module

Given the coordinates of 3 Access Points and their Given the coordinates of 3 Access Points and their distance, it will calculate the current position.distance, it will calculate the current position.

Page 10: Overall Project Objective:

MapData

Top 3Queue

Calc

Waypoint- heading- directions

Pre-Normalization/Denormalization

Addition /subtraction

Multiplication /division

Post-normalization /Denormalization

Trig(arctan)

FPU

Page 11: Overall Project Objective:

SA1

SA2

SA3 +

SA4MUX

ROW A

Top 3 module

SHR2

+

SB1

SB2

SB3 +

SB4MUX

ROW B

SHR2

+

SC1

SC2

SC3 +

SC4MUX

ROW C

SHR2

+

Queue Queue Queue

Page 12: Overall Project Objective:

Major Functional Major Functional Components:Components:

►Floating-point unit (FPU)Floating-point unit (FPU) Performs the addition, subtraction, Performs the addition, subtraction,

multiplication and division of floating-multiplication and division of floating-point numbers.point numbers.

►Waypoint CalculatorWaypoint Calculator Calculates distance and angle to Calculates distance and angle to

requested destinationrequested destination Relies on a trig lookup tableRelies on a trig lookup table

Page 13: Overall Project Objective:

Underlying Assumptions:Underlying Assumptions:

►Map data will be available for the Map data will be available for the current location.current location.

►An RF antenna with A/D converter will An RF antenna with A/D converter will provide a signal with data from provide a signal with data from wireless access points.wireless access points.

►Access points will broadcast their MAC Access points will broadcast their MAC address.address.

►The user will not be moving quickly The user will not be moving quickly and/or moving out of map range.and/or moving out of map range.

Page 14: Overall Project Objective:

Underlying Assumptions:Underlying Assumptions:

►The available signal quality will allow The available signal quality will allow for good distance approximation.for good distance approximation.

►The power and location of the sending The power and location of the sending signal is included in the map data.signal is included in the map data.

►No more than 16 bits of floating point No more than 16 bits of floating point precision are necessary for our precision are necessary for our calculations.calculations.

Page 15: Overall Project Objective:

Calc Module: Triangulation Calc Module: Triangulation FormulaFormula

assign sqrt = q;assign sqrt = q; assign Xr1 = (-b+sqrt)/(2*a);assign Xr1 = (-b+sqrt)/(2*a); assign Xr2 = (-b-sqrt)/(2*a);assign Xr2 = (-b-sqrt)/(2*a);

assign Yr1 = A - B*Xr1;assign Yr1 = A - B*Xr1; assign Yr2 = A - B*Xr2;assign Yr2 = A - B*Xr2;

assign result1 = (Xr1-rxC)*(Xr1-rxC)+(Yr1-assign result1 = (Xr1-rxC)*(Xr1-rxC)+(Yr1-ryC)*(Yr1-ryC)-dC;ryC)*(Yr1-ryC)-dC; assign result2 = (Xr2-rxC)*(Xr2-rxC)+(Yr2-assign result2 = (Xr2-rxC)*(Xr2-rxC)+(Yr2-ryC)*(Yr2-ryC)-dC;ryC)*(Yr2-ryC)-dC; if(result1 < 0) assign result1 = -result1;if(result1 < 0) assign result1 = -result1; if(result2 < 0) assign result2 = -result2;if(result2 < 0) assign result2 = -result2; if(result1 < result2)if(result1 < result2) beginbegin

assign xPos = $realtobits(Xr1);assign xPos = $realtobits(Xr1);assign yPos = $realtobits(Yr1);assign yPos = $realtobits(Yr1);

endend else beginelse begin assign xPos = $realtobits(Xr2);assign xPos = $realtobits(Xr2); assign yPos = $realtobits(Yr2);assign yPos = $realtobits(Yr2); endend

assign dA = rsnoA/rsniA;assign dA = rsnoA/rsniA; assign dB = rsnoB/rsniB;assign dB = rsnoB/rsniB; assign dC = rsnoC/rsniC;assign dC = rsnoC/rsniC;

assign A = (dA-dB+rxB*rxB-assign A = (dA-dB+rxB*rxB-rxA*rxA)/(2*(ryB-ryA))+rxA*rxA)/(2*(ryB-ryA))+(ryB+ryA)/2;(ryB+ryA)/2;

assign B = (rxB-rxA)/(ryB-ryA);assign B = (rxB-rxA)/(ryB-ryA); assign a = a+B*B;assign a = a+B*B; assign b = 2*(ryA*B-rxA-A*B);assign b = 2*(ryA*B-rxA-A*B); assign c = rxA*rxA+ryA*ryA+A*A-assign c = rxA*rxA+ryA*ryA+A*A-

2*ryA*A-dA;2*ryA*A-dA;

assign delta = b*b-4*a*c;assign delta = b*b-4*a*c;

//square root function//square root function q = 0;q = 0; y = 2;y = 2; for(i=0;i<14;i=i+1)for(i=0;i<14;i=i+1) beginbegin q = delta/y;q = delta/y; y = (y+q)/2;y = (y+q)/2; endend

Page 16: Overall Project Objective:

Questions/ConcernsQuestions/Concerns

►Transistor Count – Highly dependant Transistor Count – Highly dependant on how many transistors we need for on how many transistors we need for floating point calculationsfloating point calculations

►Speed – Will take >50 cycles to Speed – Will take >50 cycles to achieve a position calculation.achieve a position calculation.