1
Time-Domain Serial Acquisition Conclusion Results Implementation Compared to Frequency-Domain Acquisition 9 ASIC vs SDR vs FPGA Background This poster is about an FPGA-based GPS receiver design intended for CubeSat applications. CubeSats are a class of small Nanosatellites weighing approximately 1 kg to 3 kg in mass. Due to the small size and mass of the satellite, there is limited room and power available to the subsystems and payloads. Implemented on a satellite, a GPS receiver can be used for time and location information, but by carefully examining the signal, it can also be used for atmospheric research or satellite attitude determination. The different GNSS systems are constantly evolving by being augmented with new signals. An FPGA is well suited for GPS / GNSS receiver applications as it combines the hardware performance of an ASIC and reconfigurability of software. • 1-bit Oscillator design does not use any memory blocks • 1-bit signal does not need multipliers for mixing signals • Tracking channels can be used for acquisition • Search parameters such as frequency range, step size, and the CA-code generators can be changed through software without re- compiling the hardware design • Small baseline design can fit on an FPGA alongside other designs • Scaleable, performance can be increased by: - Adding more acquisition units - Increasing clock speeds - Multiple sequential acquisitions The correlator module consists of a 1-bit NCO to generate the replica carrier signal and 32 acquisition channels. Each acquisition channel contains a CA-code generator, state machine and accumulators. The parameters of the carrier generator NCO and each acquisition channel, along with the integrator results are stored in a register file accessible by the processor. The code sequence for the CA-code generator of each channel is controlled through software, allowing for each acquisition channel to be assigned to look for different GPS satellites, or to correlate different phases of the CA-code for one GPS satellite. The design currently has 32 acquisition units and searches a frequency range of ±5000 Hz in 500 Hz increments. Using a 16.368 MHz clock took 42 seconds to acquire satellites from 1 ms of data Using a 50 MHz clock, the same process took ap- proximately 13 seconds - 3x performance increase The GPS baseband receiver design discussed in this paper is a feasible design for CubeSats because of its small size, allowing it to be used on a single FPGA along side other designs. What makes the small size possible is the time-domain implementation, which does not use memory bits and utilizes a small amount of DSP units. In future implementations, the design of the acquisition channels can be expanded to be used as tracking channels, allowing for the acquisition channel to be used for acquisition and later tracking without relying on separate hardware for each purpose. 3 GPS Processor Star Tracker Software Radio Integrators 1-bit Oscillator CA-Code Generator Commonly used in consumer GPS receiver are Application Specific Integrated Circuit (ASIC) chips. Commercial GPS ASICS have built in limitations on the operating altitude and velocity due to governmental regulations, preventing ASIC-based GPS receivers from being used in space applications. Software Defined Radio (SDR) GPS receivers, as the name implies, utilize software to implement their processing. A SDR GPS receiver is one alternative to ASICs for use in space, as software can be changed and customized. However, a processor needs to operate at significantly higher clock speeds compared to an ASIC to achieve similar performance. Before a GPS receiver can determine its position, it needs to determine the satellites that are visible in the received signal, this process is called acquisition. During acquisition, two important parameters are determined, the Doppler-shifted carrier frequency and the phase of the Coarse-Acquisition (CA)-code belonging to the visible satellites. This particular design uses the serial-acquisition process, meaning it sequentially goes through each possible Doppler frequency and CA-code phase in the time-domain, to determine the combination that gives the correlation value. An alternative to serial-acquisition process is parallel-acquisition, where the processing is done in the frequency-domain via Fourier and inverse Fourier transforms. The transformations are performed using Fast Fourier Transforms on an FPGA, but they use a large portion of the available logic elements on an FPGA to accomplish this task. The serial-acquisition results in a slower acquisition time, but uses less logic elements, allowing for either a smaller FPGA to be used or additional designs to be implemented on an FPGA. CubeSat satellite Approximately - 2W of power - 1kg in mass - 10 x 10 x 10 cm in size 0 1000 2000 3000 4000 5000 6000 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Thong Thai, Surabhi Guruprasad, Regina Lee, Sunil Bisnath York University 4700 Keele.St Petrie Science Building Toronto, Ontario M3J 1P3 Canada [email protected] [email protected] [email protected] [email protected] FPGAs are similar to ASIC, in that they use hardware to implement the processing logic. Unlike an ASIC, FPGAs consists of many reconfigurable logic elements and interconnections. Their reconfigurability allows for flexibility, similar to software, where different designs can be programmed onto a device. Acquisition Tracking Navigation Data Serial-Search channel 32 Channel Serial- Search 1024-point FFT IP Core Logic Elements 407 14213 673* Registers 139 4936 1508 Memory (M10K blocks) 0 0 6 3 1 5 7 9 0 0 0 1 1 Transform the signal into a 1-bit digital signal Doppler-shifted Carrier signal Coarse Acquisition Code (CA-Code) Try different combinations... Integrate over 1 ms Mix signals together Repeat 20,460 times Determine which combination gives the best result Figure out which satellites are visible in the signal ~19,700 km Frontend Navigation Solution

York University 4700 Keele.St Toronto, Ontario M3J 1P3

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Time-Domain Serial Acquisition

Conclusion

Results

Implementation

Compared to Frequency-Domain Acquisition

9

ASIC vs SDR vs FPGA

BackgroundThis poster is about an FPGA-based GPS receiver design intended for CubeSat applications. CubeSats are a class of small Nanosatellites weighing approximately 1 kg to 3 kg in mass. Due to the small size and mass of the satellite, there is limited room and power available to the subsystems and payloads.

Implemented on a satellite, a GPS receiver can be used for time and location information, but by carefully examining the signal, it can also be used for atmospheric research or satellite attitude determination. The different GNSS systems are constantly evolving by being augmented with new signals. An FPGA is well suited for GPS / GNSS receiver applications as it combines the hardware performance of an ASIC and reconfigurability of software.

• 1-bit Oscillator design does not use any memory blocks• 1-bit signal does not need multipliers for mixing signals• Tracking channels can be used for acquisition• Search parameters such as frequency range, step size, and the CA-code generators can be changed through software without re-compiling the hardware design• Small baseline design can fit on an FPGA alongside other designs• Scaleable, performance can be increased by: - Adding more acquisition units - Increasing clock speeds - Multiple sequential acquisitions

The correlator module consists of a 1-bit NCO to generate the replica carrier signal and 32 acquisition channels. Each acquisition channel contains a CA-code generator, state machine and accumulators. The parameters of the carrier generator NCO and each acquisition channel, along with the integrator results are stored in a register file accessible by the processor. The code sequence for the CA-code generator of each channel is controlled through software, allowing for each acquisition channel to be assigned to look for different GPS satellites, or to correlate different phases of the CA-code for one GPS satellite.

The design currently has 32 acquisition units and searches a frequency range of ±5000 Hz in 500 Hz increments. Using a 16.368 MHz clock took 42 seconds to acquire satellites from 1 ms of data

Using a 50 MHz clock, the same process took ap-proximately 13 seconds - 3x performance increase

The GPS baseband receiver design discussed in this paper is a feasible design for CubeSats because of its small size, allowing it to be used on a single FPGA along side other designs. What makes the small size possible is the time-domain implementation, which does not use memory bits and utilizes a small amount of DSP units.

In future implementations, the design of the acquisition channels can be expanded to be used as tracking channels, allowing for the acquisition channel to be used for acquisition and later tracking without relying on separate hardware for each purpose.

3

GPS Processor

StarTracker

SoftwareRadio

Integrators1-bit Oscillator

CA-CodeGenerator

Commonly used in consumer GPS receiver are Application Specific Integrated Circuit (ASIC) chips. Commercial GPS ASICS have built in limitations on the operating altitude and velocity due to governmental regulations, preventing ASIC-based GPS receivers from being used in space applications.

Software Defined Radio (SDR) GPS receivers, as the name implies, utilize software to implement their processing. A SDR GPS receiver is one alternative to ASICs for use in space, as software can be changed and customized. However, a processor needs to operate at significantly higher clock speeds compared to an ASIC to achieve similar performance.

Before a GPS receiver can determine its position, it needs to determine the satellites that are visible in the received signal, this process is called acquisition. During acquisition, two important parameters are determined, the Doppler-shifted carrier frequency and the phase of the Coarse-Acquisition (CA)-code belonging to the visible satellites.

This particular design uses the serial-acquisition process, meaning it sequentially goes through each possible Doppler frequency and CA-code phase in the time-domain, to determine the combination that gives the correlation value.

An alternative to serial-acquisition process is parallel-acquisition, where the processing is done in the frequency-domain via Fourier and inverse Fourier transforms. The transformations are performed using Fast Fourier Transforms on an FPGA, but they use a large portion of the available logic elements on an FPGA to accomplish this task. The serial-acquisition results in a slower acquisition time, but uses less logic elements, allowing for either a smaller FPGA to be used or additional designs to be implemented on an FPGA.

CubeSat satelliteApproximately

- 2W of power- 1kg in mass- 10 x 10 x 10 cm in size

0

1000

2000

3000

4000

5000

6000

3231302928272625242322212019181716151413121110987654321

Thong Thai, Surabhi Guruprasad, Regina Lee, Sunil Bisnath

York University4700 Keele.StPetrie Science BuildingToronto, Ontario M3J 1P3Canada

[email protected] [email protected] [email protected] [email protected]

FPGAs are similar to ASIC, in that they use hardware to implement the processing logic. Unlike an ASIC, FPGAs consists of many reconfigurable logic elements and interconnections. Their reconfigurability allows for flexibility, similar to software, where different designs can be programmed onto a device.

Acquisition

Tracking

Navigation Data

Serial-Search channel 32 Channel Serial-Search

1024-point FFT IP Core

Logic Elements 407 14213 673*

Registers 139 4936 1508

Memory (M10K blocks) 0 0 6

31 5 7 9

00 0

1 1

Transform the signal into a 1-bit digital signal

Doppler-shifted Carrier signal

Coarse Acquisition Code (CA-Code)

Try different combinations...

Integrate over 1 msMix signals together

Repeat 20,460 times

Determine whichcombination gives the

best result

Figure out which satellites are visible in the signal

~19,700 km

Frontend NavigationSolution