Professional Documents
Culture Documents
net/publication/228686389
CITATIONS READS
3 1,938
4 authors, including:
Javier Arribas
CTTC Catalan Telecommunications Technology Centre
41 PUBLICATIONS 364 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Carles Fernández-Prades on 21 May 2014.
2.1. Radio Frequency signal model xRF (t) = < {g(ψ, θ)αd(t)} + n(t), (6)
Considering the signals coming from M satellites, the received sig- where
nal can be written as • xRF (t) ∈ RN ×1 is the received signal vector,
M
X −1 n • g(ψ, θ) ∈ CN ×1 is the spatial signature vector related to ar-
xRF (t) = αi (t)< ej(2πfc (t−τm (t))+φm ) ray geometry and Directions Of Arrival (DOAs),
m=0 • ψ and θ are the elevation and azimuth angles of the satellite,
× sT,m (t − τm (t)) + n(t) (1) • α is the signal amplitude,
• d(t) = ej(2πfc (t−τ (t))+φ) sT (t − τ (t)), d(t) ∈ C, and
where <{·} denotes the real part of the complex–valued quantity in • n(t) ∈ RN ×1 represents additive noise and all other disturb-
the brackets, fc is the carrier frequency, {αm , τm (t), φm } are the ing terms.
amplitude, delay and carrier phase of the signal coming from the
In this model, the narrowband array assumption has been made.
mth satellite, n(t) is additive white Gaussian noise plus other un-
This assumption considers that the time required for the signal to
desired terms (such as multipath or interferences), and sT,m (t) is
propagate along the array is much smaller than inverse of its band-
the Direct–Sequence Spread–Spectrum (DS-SS) complex baseband
width. So, a phase shift can be used to describe the propagation from
signal transmitted by the mth satellite. Amplitudes αm and the ini-
one antenna to another. Current navigation signals are reported to be
tial carrier phases φm are modeled as piecewise constants, that is,
emitted with a bandwidth of ∼ 20 MHz (see Table 1), which inverse
we consider them constants during the observation window but we
is 50 ns or 15 m in spatial terms. The array is expected to be much
allow changes from window to window. We explicitly allow time–
smaller, since the carrier wavelength is on the order of 10 cm, so the
varying delays τm (t). In order to compute the position, the receiver
assumption seems reasonable. However, it must be pointed out that
should estimate the pseudoranges (directly related to time delay of
this signal model becomes invalid for large arrays.
the line–of–sight paths, τm (t)) and pseudorange rate (related to the
evolution of the carrier phase).
When xRF (t) is received in an N –element antenna array, each 2.2. Intermediate Frequency signal model
antenna receives a different replica of this signal, with a different When these signals impinge the antenna array, they pass through
delay depending on the array geometry and the direction of arrival. Radio Frequency (RF) front–ends (one per antenna, see Figure 2),
Considering a local coordinate system (for example east–north–up usually composed of a Low Noise Amplifier (LNA) and a down-
or [e, n, u] system with origin in a reference point, usually the phase conversion stage to an Intermediate Frequency (IF). Modeling the
center of the whole array), we can express the delay between ar- LNAs with their complex baseband impulse response hLN A (t), as-
ray elements ∆tmn , where subindex m refers to a given source and suming that all the N front-ends share a local oscillator with fre-
subindex n refers to a given antenna, as the dot product of the wave quency fLO and carrier phase φLO , and defining fIF = fc − fLO
vector km (with modulus 2π λc
and direction pointing to the signal and ϕ = φ − φLO , the signal at the output of the front–ends can be
source, defined by its azimuth θm and elevation ψm ) and the posi- modeled as
tion of the antenna center of phase, rc :
∆tmn = km rn = (2) xIF (t) = < {g(ψ, θ)ar(t)} + η(t) (7)
2π where
= [cos(θm ) cos(ψm ), sin(θm ) cos(θm ), sin(ψm )] · • r(t) = sR (t − τ (t)) ej(2πfIF t−2πfc τ (t)+ϕ) ,
λc
· [rec , rnc , ruc ]T • a is the amplitude of the received signal after the LNA and
the downconversion stage,
Since a natural choice for a GNSS receiver architecture is the
• sR,m (t) = sT,m (t) ∗ hLN A (t) is the filtered complex base-
parallelization of the synchronization process of each in–view satel-
band signal received from the satellite, where ∗ stands for the
lite, we can particularize the signal model for a single satellite. As-
convolution operator, and
suming and array with N antenna elements in an arbitrary geometry,
the relative phase at each antenna can be expressed as • η(t) is the filtered and down–converted noise term n(t).
Front-End Clock line Complex BUS Single Ch. BUS
Front-End
Front-End
50 Msps
Downconverter
Downconverter
Downconverter
and
8 Ch. and Spatial Ethernet
Front-End and
Decimating Filter FIFO 1 FIFO 2
A/D Decimating Filter Filter Output
Decimating Filter
x8
Front-End
BB 25 Msps
Beamforming
Real-Time
Front-End
Logic
Weights
Beamforming
Front-End Clock RS232
CPU
Manager Level Converter PC
MicroBlaze
Front-End
FPGA
DEVELOPED PROTOTYPE
L.O
CH #1
Front-End SERIAL TO PARALLEL
CH #2
Front-End SERIAL TO PARALLEL
CH #3
Front-End SERIAL TO PARALLEL
CH #4
Front-End SERIAL TO PARALLEL OUTPUT Downconverter
ADS5273 FIFO and
CH #5
Front-End SERIAL TO PARALLEL 12x8 bits Decimating Filter
CH #6
Front-End SERIAL TO PARALLEL
CH #7
Front-End L L SERIAL TO PARALLEL
S V V
M D D CH #8
Front-End A S S
SERIAL TO PARALLEL
WR RD
CLOCK
SAMPLE CLOCK IN SAMPLE CLOCK IN MANAGER
FPGA
100 MHz
wH g = 1
SELECT
2b
25 Msps subject to (13)
"000000000000" A
OUT
12 b
FIR FILTER
19 b
DECIMATE
19 b where X = [xD [n] · · · xD [n + K − 1]] ∈ CN ×K is called the spa-
MULT -1 B
MUX tiotemporal data matrix, K is the number of samples in a spreading
C
1
XXH is the estimation of the data autocorrela-
"000000000000"
D
RESOURCES SUMMARY FOR 8 CHANNELS:
code, and R̂XX = K
SELECT - 32 MULTIPLEXERS (12 bits x 4 inputs).
tion matrix. Applying the Lagrange multipliers method, the MVDR
2b
- 16 FIR (6 coef x 6 bits) FILTERS.
- 1 BINARY COUNTER (2 bits)
beamweight results in
VALUE
BINARY
SAMPLE CLOCK
COUNTER
−1
ŵM V DR = R̂−1 H −1
50 MHz
XX g g R̂XX g . (14)
tion message. This strategy is known as Minimum Variance Dis- namely, (i) recursive computation of R̂XX with a further direct in-
tortionless Response (MVDR) beamforming, and can be stated as version and (ii) recursive computation of R̂−1XX .
6.2.1. Recursive R̂XX computation and inversion 6.3. Beamformer module
The computation of R̂XX admits the following equivalent expres- The beamformer module collects the baseband snapshot vectors
sion: defined as xD [n] and enroutes them into two different processing
K
1 X blocks: a FIFO memory (implemented with [21]) to be processed
R̂XX = xD [i]xHD [i] , (20) by the spatial filter block, and into the beamforming real–time logic
K i=1
block. The spatial filter block reads the snapshots from the FIFO and
which constructs recursively the matrix as snapshots are recorded. multiplies them by the complex weights coming from the embedded
Afterwards, a matrix inversion algorithm can be used to obtain R̂−1
XX . soft processor. The resulting products are added together to form the
spatially–filtered output signal:
6.2.2. Recursive computation of the inverse
y[n] = wH xD [n], (23)
The inverse of R̂XX can be obtained recursively without requiring
any matrix inversion at all, thus reducing the computational load. performed in the block labeled as “Spatial Filter” in Figure 1, where
For each received snapshot, k = {1, . . . , K}, we realize that the the complex weights resolution is set to 8 + 8 bits and the output of
recursive formula in (20) can be written as the multipliers is set to 16 + 16 bits. Thus, the final complex sample
stream resolution is 16 + 16 bits.
k
(k) 1X The block in charge of streaming the data to the PC reads the
R̂XX = xD [i]xH
D [i] (21)
k i=1 samples coming from the spatial filter and groups them to form a
custom Gigabit Ethernet frame.
k−1
1X 1
= xD [i]xH
D [i] + xD [k]xH
D [k]
k i=1 k
6.4. Ethernet signal transmission
k − 1 (k−1) 1
= R̂XX + xD [k]xH
D [k] .
k k The spatially–filtered signal coming from the spatial filter block is
sent in real–time to the PC by means of a dedicated Gigabit Ethernet
If we invert both sides in (21) and apply the Sherman-Morrison for- bus [30]. A special type of frame has been designed to minimize
mula [29], we obtain the overhead imposed by network protocols, and the corresponding
−1 driver has been implemented with the Xilinx LogiCORE IP Virtex-5
(k) k (k−1) −1
R̂XX = R̂XX + (22) FPGA Embedded Tri-Mode Ethernet MAC Wrapper core [31].
k−1
−1 −1 At the PC, device drivers make network cards to generate an
(k−1) (k−1)
k R̂XX xD [k]xH D [k] R̂XX interrupt whenever the card needs attention (e.g. for informing the
− −1 . operating system that there is an incoming packet to handle). In
(k − 1)2
1 (k−1)
1 + k−1 xH
D [k] R̂ XX xD [k] case of high traffic rate, the operating system spends most of its time
handling interrupts, leaving little time for other tasks. This problem
Notice that the inverse calculation in (22) does not require any is referred to as interrupt livelock [32], and it could provoke packet
(0)
−1 losses than will be seen as signal glitches, or phase discontinuities,
inversion. At the first iteration (k = 1), we can set R̂XX =I that can affect the GNSS software receiver performance. In order
and let the algorithm to converge. to avoid so, we have adopted the strategy proposed in [33, 34], that
implies a Linux kernel patching and recompilation, as a solution for
6.2.3. Tradeoff analysis of the implementations signal capturing at the PC.
Further work will be related to the implementation of the VITA-
In general, the implementation of digital beamforming algorithms 49 radio transport standard [35] on the Ethernet packets. This stan-
can be shared by the FPGA circuitry logic and an embedded micro- dard defines the packetized transport of time domain digital samples
processor. On the one hand, certain parts of the algorithm demand of RF, IF, or baseband signals, along with any necessary metadata,
high processing rates. This is the case for instance of the compu- across a digital link, constituting a useful building block to support
tation of the autocorrelation matrix. Thus, the implementation of data streaming for Software Defined Radio.
such process should be implemented by the programmable logic of
the FPGA device, at the expenses of increasing the area of the de-
sign. On the other hand, calculation of array weights involves ma- 7. EXPERIMENTAL RESULTS AND CONCLUSIONS
trix inversion and other operations, which should be carried out by
floating–point enabled devices in order to provide accurate design Since the set of coherent RF front–ends is still not available to the
values. Therefore, the computation of required matrices is imple- authors of this work, the prototype has been tested by injecting tones
mented in the FPGA logic and fed to the digital beamforming algo- at their IF inputs and checking coherence among channels and fur-
rithm, which is programmed in an embedded processor. ther validated using a Agilent E4438C ESG vector signal genera-
Specifically, the method proposed in 6.2.1 should resort to the tor [36] equipped with GPS Personality [37], which is able to sim-
FPGA logic in order to implement (20) and leave the inversion of ulate multi-satellite, synchronized GPS signals containing accurate
R̂XX to the processor. On the other hand, the alternative in 6.2.2 navigation messages, allowing a GPS receiver to acquire a location
is conceived to provide R̂−1
XX before entering the processor domain. fix. These results are shown in Figure 6, using the software pro-
Indeed, the approach choice is left as a design issue, which basi- cessor provided by [6]. Experimental results show the feasibility of
cally depends on the critical resources to safe: operating frequency the Xilinx Virtex-5 FPGA and the MicroBlaze embedded software
or FPGA’s area, respectively. processor for GNSS array processing.
Coordinates variations in UTM system
50 E
[14] Science Applications International Corporation, Interface Specification
N
U
IS-GPS-705. Navstar GPS Space Segment/User Segment L5 Interfaces,
El Segundo, CA, September 12, 2009.
Variations (m)
Positions in UTM system (3D plot) Time [s] Sky plot (mean PDOP: 3.0727) observations and analysis of Compass MEO satellite signals,” Inside
0
30 Measurements
Mean Position 330
0
15
30
30 GNSS, vol. 2, no. 4, pp. 39–43, May/June 2007.
20 Lat: 19°49′8.0467′′
Lng: −155°59′16.9156′′ 45 13
10
0
Hgt: +18.8 300
2 60
25
23 60 [17] G. Xingxin Gao, A. Chen, S. Lo, D. De Lorenzo, and P. Enge, “GNSS
over China: The Compass MEO satellite codes,” Inside GNSS, vol. 2,
North (m)
−10 75
27
−20
270 4 90 90 no. 5, pp. 36–43, July/August 2007.
−30
8
−40
240 120
[18] G. Xingxin Gao, A. Chen, S. Lo, D. De Lorenzo, T. Walter, and P. Enge,
−50
−60
“Compass-M1 broadcast codes and their application to acquisition and
−70
−40 −20 0 20 40 60 80
210
180
150
tracking,” in Proc. of ION National Technical Meeting, San Diego, CA,
East (m) Jan. 2008.
[19] Pong P. Chu, RTL Hardware Design Using VHDL. Coding for Effi-
Fig. 6. Position fixes obtained with a GPS software receiver ciency, Portability, and Scalability, John Wiley & Sons, Inc., Hoboken,
NJ, 2006.
[20] M. Crews and Y. Yong, “Practical design for transferring signals be-
8. REFERENCES tween clock domains: a simple circuit addresses the errors and limita-
tions of asynchronous design,” EDN, pp. 65–71, February 2003.
[1] G. Seco, J. A. Fernández-Rubio, and C. Fernández-Prades, “ML esti-
mator and Hybrid Beamformer for multipath and interference mitiga- [21] Xilinx Inc., FIFO Generator v5.1, DS317 Product Specification, April
tion in GNSS receivers,” IEEE Transactions on Signal Processing, vol. 2009, http://www.xilinx.com/ipcenter.
53, no. 3, pp. 1194–1208, March 2005. [22] Xilinx Inc., ML505/ML506/ML507 Evaluation Platform User Guide,
[2] NAVSYS Corporation, “High gain advanced GPS receiver. white pa- Nov. 2008, UG347 (v3.1).
per,” Sept. 2002. [23] Xilinx Inc., Virtex-5 FPGA User Guide, June 2009, UG190 (v5.0).
[3] C. Dick, F. Harris, M. Pajic, and D. Vuletic, “Real-time QRD–based [24] Xilinx Inc., “ISE foundation web page,” Sept. 2009,
beamforming on an FPGA platform,” in Proceedings of the Fortieth http://www.xilinx.com/ise/.
Asilomar Conference on Signals, Systems and Computers, ACSSC’06.,
Pacific Grove, CA, Nov. 2006, pp. 1200–1204. [25] Texas Instruments, Dallas, TX, ADS5273 Datasheet, Feb. 2004.
[4] J. Liu, B. Weaver, Y. Zakharov, and G. White, “An FPGA-based MVDR [26] Electrical Characteristics of Low Voltage Differential Signaling
beamformer using dichotomous coordinate descent iterations,” in Pro- (LVDS) Interface Circuits, Feb. 2001, ANSI/TIA/EIA-644-A Standard.
ceedings of the IEEE International Conference on Communications, [27] D. Bernal, P. Closas, and J. A. Fernández-Rubio, “Digital I&Q De-
ICC’07, Glasgow, Scotland, June 2007, pp. 2551–2556. modulation in array processing: Theory and Implementation,” in Proc.
[5] N. Lodha, N. Rai, A. Krishnamurthy, and H. Venkataraman, “Effi- XVI European Signal Processing Conference, EUSIPCO, Lausanne,
cient implementation of QRD-RLS algorithm using hardware-software Switzerland, August 2008.
co-design,” in Proceedings of the IEEE International Parallel & Dis- [28] Xilinx Inc., FIR Compiler v4.0, DS534 Product Specification, June
tributed Processing Symposium, IPDPS’09, Rome, Italy, May 2009. 2008, http://www.xilinx.com/ipcenter.
[6] K. Borre, D. M. Akos, N. Bertelsen, P. Rinder, and S. H. Jensen, A [29] G. H. Golub and C. F. van Loan, Matrix Computations, The John
Software–Defined GPS and Galileo Receiver. A Single–Frequency Ap- Hopkins University Press, 3 edition, 1996.
proach, Applied and Numerical Harmonic Analysis. Birkhäuser, 2007.
[30] M. Norris, Gigabit Ethernet Technology and Applications, Artech
[7] G. W. Heckler, “GPS–SDR,” Webpage, accessed 13 Nov. 2009, Source House Publishers, Norwood, MA, 2003.
code downloadable from http://github.com/gps-sdr/gps-sdr.
[31] Xilinx Inc., Virtex-5 FPGA Embedded Tri-Mode Ethernet
[8] A. Brown and N. Gerein, “Implementation of a digital beamformer in MAC Wrapper v1.6, DS550 Product Specification, April 2009,
an FPGA using distributed arithmetic,” in Proceedings of ION GPS’01, http://www.xilinx.com/ipcenter.
Salt Lake City, Sept. 2001.
[32] J. Mogul and K. Ramakrisnan, “Eliminating receive livelock in an
[9] T.W. Nuteson, J.S. Clark, D.S. Haque, and G.S. Mitchell, “Digital interrupt–driven kernel,” in Proceedings of the USENIX 1996 Annual
beamforming and calibration for smart antennas using real-time FPGA Technical Conference, San Diego, CA, Jan. 1996.
processing,” in IEEE MTT-S International Microwave Symposium Di-
gest, 2002, vol. 1, pp. 307–310. [33] L. Deri, “Improving passive packet capture: Beyond device polling,”
in Proceedings of the 4th International System Administration and
[10] M. Gay and I. Phillips, “Real–time adaptive beamforming: FPGA im- Network Engineering Conference, SANE’04, Amsterdam, The Nether-
plementation using QR decomposition,” Journal of Electronic Defense, lands, Sept. 2004.
Sept. 2005.
[34] ntop.org, PF RING User Guide. Linux High Speed Packet Capture, Jan
[11] C. Dick, F. Harris, M. Pajic, and D. Vuletic, “Implementing a real-time 2008, Version 1.1.
beamformer on an FPGA platform,” Xcell journal, pp. 36–40, Second
Quarter 2007. [35] VITA Standards Organization (VSO), VITA Radio Transport (VRT)
Standard, VITA-49.0, October 2007, Draft 0.21.
[12] Science Applications International Corporation, Interface Specifica-
tion IS-GPS-800. Navstar GPS Space Segment/User Segment L1C In- [36] Agilent Technologies, Agilent E4438C ESG Vector Signal Generator
terfaces, El Segundo, CA, March 31, 2008. Data Sheet, Dec. 2006.
[13] ARINC Engineering Services LLC, Interface Specification IS-GPS- [37] Agilent Technologies, Agilent GPS Personality for the E4438C ESG
200 Revision D. Navstar GPS Space Segment/Navigation User Inter- Vector Signal Generator Option 409. Product Overview, Oct. 2007.
faces, El Segundo, CA, March 7, 2006.