Application Note: Reduce ‘Real-World’ Drive Testing Times Using Receiver NMEA Data

Testing a GNSS receiver’s response to dynamic motion and real GNSS signals can be a slow and expensive exercise. Moreover, the usefulness of such a ‘real-world’ test is limited by the impossibility of repeating it under identical conditions.
Download the Application Note and discover the how Spirent RF simulators can use NMEA data to dramatically reduce the time and cost associated with ‘real-world’ drive testing. Topics include:
- Capturing NMEA data with a GNSS receiver
- Converting NMEA data to simulated motion
- The benefits of representative testing vs. exact ‘real -world’ replication
Simply enter a few details opposite to receive the Application Note—and happy reading!
About Spirent
Spirent has been the global leader in GNSS testing for near 30 years. Spirent delivers navigation and positioning test equipment and services to governmental agencies, major manufacturers, integrators, test facilities and space agencies worldwide.

Using Receiver NMEA Data
In a Simulator Test Scenario
APPLICATION NOTE
Spirent
Communications PLC
Paignton, Devon, TQ4 7QR, England
Webnull nulltpnullnullnullnullpirentnullomnullositioning
Telnull null4 nullnull nullnullnull
nullanull null4 nullnull nullnullnull
Copnullignull nullnullnull Spirentnull
nulll Rignulls Reservednull
nulll onulltnull compannullnames andnullr brand
names andnullr product names renullrred to
in tnulls document, in particular, tnull name
nullpirentnulland its logo device, are eitnullr
registered trademarnull or trademarnull onull
Spirent plc and its subsidiaries, pending
registration in accordance nulltnullrelevant
national lanullnullnulll otnullr registered
trademarnull or trademarnull are tnull propertnull
onulltnullir respective onullersnull
Tnull innullrmation contained in tnulls
document is subnullct to cnullnge nulltnullut
notice and does not represent
a commitment on tnull part onullSpirentnull
Tnull innullrmation in tnulls document is
believed to be accurate and reliablenull
null ever, Spirent assumes no responsibilitnull
or liabilitnullnullr annullerrors or inaccuracies
tnullt manullappear in tnull documentnull
Page 2SPIRENT Application Note
Contents
nulludience 4
Introduction null
RnullSimulation null
Tnullical nullS Simulators null
nullEnull Data 7
Conclusions null
Page 3SPIRENT Application Note
Audience
Tnulls nullpplication nullote is nullr users onullSpirent
simulators nullo are designing, developing,
integrating and testing nullSS receivers or
snulltems, and need to ensure tnullir products
nullll pernullrm in tnull intended applicationnull
Spirent recommends nullou nullve a basic
understanding onullsatellite navigation
principles and Rnullsimulation as a test
metnulld and tnull use onullSpirentnulls Simnullnull
and SimPLEnullnullsimulator control sonullnullrenull
See renullrence nulland null
Page 4SPIRENT Application Note
Introduction
Tnullre is a steadnullgronullnullin tnull use
onullnullSS in nenulland enullsting marnulltsnull
Consenullentlnull, tnullre is an increasing
reliance on nullSS tecnullolognullnull
Witnulltnulls in mind, it is important
nullr designers, manunullcturers and
consumers onulltnullse products to
understand nullat to enullect nullom sucnull
snulltemsnullTnulls includes nullrmulating an
understanding onulltnull limitations and
problems onullnullSS tecnullologiesnull
Tnulls application note enulllains nullnulltnull use
onulla nullSS simulator can drasticallnullreduce
test times associated nulltnullpernullrming
nullealnullorldnull drive testingnullTanullng a receiver
into tnull open, subnullcting it to dnullamic
motion nullile navigating nullom real nullSS
signals, recording tnull nullEnull data and
analnulling tnull results tanulls time, but
continual repeating onulltnulls process tanulls
signinullantlnulllonger, and in almost all cases
places a large burden on tnull associated
pronullct time and budgetnull
In addition to tnulls, test conditions on
subsenullent renulluns can never be nullitnullullnull
repeated and onullen provides data onull
little use to tnull design optimisation and
iteration processnull
null test metnulldolognullis described tnullt tanulls
a nulle onullrecorded receiver nullEnull data and
converts it into a motion tranullctornullnulle
allonullng a renullun onulltnull original navigation
senullence to be made, nullicnullcan tnulln
be repeated enullctlnull, time and againnull
It also snullnull nullnullsatellite visibilitnull
nullom tnull nullEnullnulls nullnullmessage can be
used to control ponuller onulltnull simulated
satellites, so replicating tnull signal
obscuration enullerienced bnulltnull
receiver nullen it logged tnull datanull
Page 5SPIRENT Application Note
nulligure null RnullSimulation nulllonull
RF nullinullnulltion
null RnullConstellation Simulator reproduces
tnull environment onulla nullSS receiver on
a dnullamic platnullrm bnullmodelling tnull
venullcle and satellite motion, signal
cnullracteristics, atmospnullric and otnullr
enullnullcts, so tnullt tnull receiver nullll actuallnull
navigate, in tnull lab, according to tnull
parameters onulltnull test scenarionull
nullnullits vernullnature, simulation is
a representation onulltnull real nullrldnull
Simulation cannot reproduce tnull nullll
ricnulless onullreal nullrld conditionsnull
null common misconception is tnull need to
enullctlnullreplicate real nullrld conditions nullr
a nullSS test to be validnullnullonullever,
application onullrepresentative enullnullcts
via simulation is proven nullver some null
nullears onulltestingnullto enullercise receivers
and adenullatelnullidentinull tnullir limitations
allonullng nullr design centring and
optimisationnullnullore importantlnull, it gives
complete repeatabilitnull, control and enullct
nullonulledge nulldonull to bit level nullonulltnull
signal stimulating tnull receivernull
Tnulls is not possible nullen using real nullSS
signals nullr test purposesnullWe snulluld loonull
upon simulator testing as representing
tnull real nullrld, ratnullr tnulln replicating itnull
Continued, successnulll deplonullent
onullreceiver designs in mannullapplications
proves tnullt tnull simulators being used
nullr tnullir development and verinullation
are accurate in tnullir implementation
onulltnull nullSS environmentnull
nulligure nullsnullnull tnull concept onullsimulation
nullsing a nullSnullnull simulatornull
Tnullicanullnullnullnullinullnulltors
nulll tnull test metnulldologies discussed in
tnulls nullpplication nullote can be pernullrmed
using annullonulltnull multinullnullnnel simulators
in Spirentnulls range tnullt are controlled bnull
Spirentnulls Simnullnull or SimPLEnullnullsonullnullrenull
nullor nullrtnullr innullrmation on Spirentnulls range
onullSimulators, contact nullour local Spirent
representative, or visit nullnullnullpirentnullomnull
positioningnull
Page nullSPIRENT Application Note
NMEA Data
Tnull nullational nullarine Electronics nullsociation
is a nonnullronull null organisation tnullt nulls
developed a specinullation called nullEnullnullnull
tnullt denulles tnull internullce betnulleen various
pieces onullmarine electronic enullipmentnull
Tnull standard permits marine electronics
to send innullrmation to computers and
to otnullr marine enullipmentnullnullS receiver
communication is also denulled in tnulls
specinullation and over time nulls been
adopted as tnull standard communication
protocol nullr all commercial nullS receivers,
not nullst ones used in tnull marine sectornull
nullnder tnull nullEnullnullnull standard,
all cnullracters used are printable nullCII
tenull nulllus carriage return and line nullednull
nullEnullnullnull data is sent at 4nullnullbaudnull
Tnull data is transmitted in tnull nullrm onull
nullsentencesnull Eacnullsentence starts nulltnull
a nullnull a tnull letter nulltalnullr IDnull a tnulleenulletter
nullsentence IDnull nullllonulled bnulla number onull
data nulllds separated bnullcommas,
and terminated bnullan optional cnullcnullum,
and a carriage returnnulline nullednullRenullrence
nullgives tnull nullll specinullation onullnullEnull
message nullrmats nullr nullSnull
Canulluring and using NMEA
in a sinullnulltor scenarionull
Simnullnull gives nullou tnull abilitnullto construct
a motion tranullctornullnullr nullour simulated
venullcle using a suite onullcommands tnullt are
entered into a nulle in a senullential mannernull
Tnullse commands are tnulln enullecuted nullen
tnull scenario is run, and tnull simulator
dnullamicallnullcnullnges tnull Rnullsignal to
represent tnulls motion nulln addition to tnull
modelled satellite motionnull Tnulls provides
a ponullernulll metnulld onullstimulating tnull
receiver under test in a dnullamic nullnullnull
Tnull receiver nullll navigate in tnull same nullnull
as inullit nullere pnullsicallnullmovingnullTnull dnullamic
pernullrmance onulltnull simulator is sucnulltnullt
motion can be generated nullr annullsituation
nullom a subnullillimetre movement to vernull
nullgnulldnullamicsnull
Tnullre manullnullnullever be situations nullere
nullou mignull nullnt to subnullct nullour receiver to
motion tnullt represents a realnullinull tranullctornullnull
Tnulls could be a nullurnenullalong a real road,
railnullnullline, nullgnull patnull snullpping lane or
nullrest nulllnullng trailnullSucnullnullealnull tranullctories
are necessarnullin situations nullr enullmple,
nullere tnull receiver being tested is reporting
its position on an electronic map, and so
its navigated tranullctornullmust nullmatcnullnull tnull
map databasenullWitnullrecorded nullEnull data,
and a simulator nullou can test a receiver
under tnullse conditionsnull
Page nullSPIRENT Application Note
Canulluring NMEA data
nullost commercial nullSS receivers nullve
tnull abilitnullto record to a nulle, or output
nullEnull data describing tnullir navigation
statenullnullsing tnullse nullatures nullou can log tnull
motion tnullt tnull receiver undernullent and use
tnulls innullrmation to create a motion nulle tnullt
can be replanulled in a simulator scenarionull
Wnulln recording tnull data, it is important to
ensure tnullt tnull receiver antenna is located
in a position nullere it nulls as good a vienull
onulltnull snull as possiblenullTnulls nullll ensure
tnull receivernulls navigation is as accurate
as is possible, given its local operating
environmentnullnullor enullmple, inullnullou are using
an innullar receiver nulltnullan enullernal antenna
option, it is alnullnull better to use an
enullernal antenna mounted on tnull roonull
onulltnull venullclenullInulltnull option enullsts, nullou
snulluld also set tnull nullEnull message rate
o tnull nullstest availablenullnullormallnullnull
second, but some receivers nullve a nullgnullr
ratenull Section 4nullnull discusses some otnullr
considerations regarding tnull nullalitnullonulltnull
captured nullEnull datanull
nullinullENnulls NMEA data to nulltion
conversion utinulltnull
Tnulls utilitnullis designed to enable nullou
to tanull logged nullEnull data and use tnull
Pnull and satellite visibilitnullinnullrmation
contained nulltnulln it to renullreate motion
and signal ponuller variations in a simulator
scenarionullTnull utilitnullenullsts as part onulltnull
standard Simnullnull sonullnullre pacnullgenull
It can be accessed under tnull nullTools null
nulleneral nulltilitiesnull menunull nullternativelnull, it
enullsts as a tool nulltnulln SimPRnullESS, nullicnull
is a compiled nullTLnull standalone data
processing application, also supplied as
standard nulltnullSimnullnullnullSimPRnullESS is
accessed via tnull nullToolsnull menu in Simnullnullnull
nulligure nullsnullnull tnull nullEnull to nullotion
conversion utilitnullnullndonullnull
Tnull utilitnullconverts nullour receivernulls logged
nulle onullnullEnull nullnull messages into a motion
nulle nullnullmtnullnullr replanullin SimnullnullnullTnull
motion nulle contains motion commands at
nullnullms intervalsnull
nullso, tnull utilitnullcan generate a command
nulle tnullt Simnullnull nullll use to control
satellite visibilitnulland receiver ponuller levelnull
It uses satellite innullrmation nullom nullEnull nullnull
messages to replicate tnull satellite visibilitnullnull
nulligure null nullEnull to nullotion Conversion nulltilitnull
Page null
SPIRENT Application Note
Tnull utilitnullis easnullto use bnullpernullrming
tnull nullllonullng stepsnull
null Enter tnull patnullonulltnull current scenario
in tnull nullirectornullnull entrnullbonull
null Select tnull location onullnullour recorded
nullEnull data nullenull
null Specinull tnull desired location nullr tnull
converted output nulle nullt is normallnulltnull
scenario nulllder, but does not nullve to benull
null Inullsatellite visibilitnullcontrol is renullired,
ticnulltnull nullnablednull bonulland specinull tnull
location nullr tnull generated nullcommandnull nullenull
null Clicnulltnull nullunnull button, tnull utilitnull
processes tnull data, giving progress
innullrmation displanulled to tnull rignull onull
tnull nullunnull buttonnull
null Wnulln done, nullou can close tnull utilitnullnull
In Simnullnull, nullou can nonullselect and
enable tnull nulles nullou nullve nullst converted
and tnullnullnullll tnulln be used in tnull scenarionull
Tnull steps are snullnull belonullnullRenullrence null
gives detail on nullnullto use Simnullnullnull
Motion Finull
nullnulln tnull main nullI page onullSimnullnull, in
tnull scenario tree, under nullenullcle nullnullotion,
rignullnulllicnullon tnull nullser nullotion nullilenull and
clicnullnullselectnull Tnulls brings up tnull nullelect
nulle dialognull nullndonullnullInullnullou opted to save
tnull converted nulle in tnull current scenario
directornull, tnulln it nullll appear at tnull top
onulltnull list under nulliles available nullom tnull
current scenarionull
nullClicnullon tnull nulle, and clicnullnullelectnull
nullTnull name onulltnull nulle nullou selected nullnullnull
nullmotionnullmtnull nonullappears in tnull scenario
tree and nullll be used nullen tnull scenario
runsnullSee nulligure null
Tnull scenario is nonullsetnullp to run nulltnull
motion data nullom tnull converted nullEnull nulle
and nulltnulla user actions nulle tnullt nullll cnullnge
satellite ponuller levels according to tnull
satellite visibilitnulltnullt nulls enullerienced bnull
tnull receiver nullicnulllogged tnull nullEnull datanull
Tnull nullal action nullou need to tanull is to
ensure tnullt tnull satellite constellation
being used bnulltnull simulator matcnulls
tnull one visible to tnull receiver nullen
it recorded tnull nullEnull
Inulltnulls is not done, tnulln tnull user action nulle
commanding ponuller cnullnges to satellites
nullll be meaningless, as it nullll be calling
nullr cnullnges to satellites tnullt manullnot
be presentnullnullnullonlnullmotion is used, not
satellite visibilitnull, tnulls step is not renullirednull
Simnullnull allonull nullou to load a nullnull or
SEnullnullrmatted almanac nullicnullreplaces tnull
internal onenullnullS nullnull and SEnullalmanacs
nullr past dates are available via tnull nullnited
States Coast nulluard nullavigation Centre atnull
nullnullnullavcennullscgnullovnullpsnulllmanacsnulltm
nulligure null Simnullnull Scenario nullile Tree
Page nullSPIRENT Application Note
To load an almanac tnullt corresponds
to tnull date on nullicnullnullou recorded
nullour nullEnull datanull
null Doublenulllicnulltnull nullignal Sources nullenull
under nullPS Constellationnull in tnull scenario
nulle treenullTnulls brings up tnull Signal
Sources nulle nullndonullnull
null nullnder nullotionnull in tnull list on tnull lenull,
clicnullon nullrbitsnull tnulls brings up tnull orbital
data nullr Snullnull
null nullt tnull bottom onulltnull nullndonullis a nulload
nullnullnull and nulload SEnull buttonnullClicnullon
tnull desired button, and enter tnull patnull
nullr tnull almanac nulle nullou nullve donullloaded
nullom tnull nullebsitenull
nullClicnullnullnull
null Clicnullnull in tnull Signal Sources nulle
nullndonulland enter a name nullnullnullnullnulleenull
nullnullnulland clicnullnull
nulligure 4 snullnull tnull nullrbits page in tnull
Signal Sources nullilenull
nullou nonullneed to set tnull start date and
time onulltnull scenario to matcnulltnull date
and time tnullt tnull nullEnull data nulls recordednull
To do tnullsnull
null Doublenulllicnullnulltart Timenull at tnull top onull
tnull scenario nulle treenullTnull nulltart time and
durationnull nullndonullpops up, as snullnull in
nulligure null
null Enter tnull date and time in tnull
appropriate nullldsnullClicnullnullnull
Wnulln tnull scenario is started, tnull
simulator nullll be simulating signals nullom a
constellation tnullt matcnulls tnull one seen bnull
tnull receiver nullen it undernullent tnull motion
recorded as in tnull nullEnull datanull
Including annullobscuration onullponuller level
cnullnges enullerienced bnulltnull receiver due to
enullernal obstructionsnull
nulligure 4 Signal Sources nullrbits Page
nulligure null Start Date, Time nullDuration Windonull
Page nullSPIRENT Application Note
Points to note nulltnullrecorded
NMEA Accuracnull
Tnull accuracnullonulltnull nullal motion data
used in tnull Simnullnull scenario ultimatelnull
depends on tnull accuracnullonulltnull Pnull
solution calculated bnulltnull receiver nullen
it recorded tnull original nullEnull datanullTnull
nullEnull to motion conversion utilitnullnullitnullullnull
converts tnull data it is given nullincluding
annullinnullrent errorsnullTnulls is important
nullen testing devices nulltnullnullsnapnullonulloadnull
algoritnullsnull
Data nulltnulllarge position errors manull,
nullen run in a test scenario cause problems
nullr a receiver tnullt is supposed to be
navigating along a specinull route, but is
receiving a signal tnullt manulls it navigate
along a dinullnullrent, erroneous tranullctornullnull
Sometimes tnulls is benenullial, as tnull error
can be deliberatelnullused to test tnull abilitnull
onulltnull receivernulls map sonullnullre to remain
snapped to tnull route nullile enulleriencing
poor navigation accuracnullnullIn annullcase, tnull
accuracnullonulltnull nullEnull must be understood,
and inullnecessarnull, annullerroneous lines onull
data deleted or correctednull
Renullication onullreanullnullnull situations
Renullreating tnull actual tranullctornulland
satellite visibilitnullmanullnulllp to renullreate
a realnullinull scenario nullor enullmple, one
in nullicnulla receiver enullerienced some
problems navigatingnull but it is important
to note tnullt being able to renullroduce
tnull tranullctornulland satellite obscuration
is onlnulla partial representationnullTnull signal
environment nullultipatnull atmospnullre
and so onnullis not recorded in tnull nullEnull
datanullTnullrenullre, it is not sanull to assume
tnull problem can be replicated using tnulls
metnulld alonenullTnulls is anotnullr enullmple
onullnullnullattempting enullct replication onullreal
conditions must be done nulltnullcautionnull
Representation is vernullonullen better tnulln
replication nullr test purposes, as it allonull
control and repeatabilitnullonullenullnullcts to meet
test obnullctivesnull
Page nullSPIRENT Application Note
Concnullsions
We nullve seen tnullt it manull, in some
instances, be desirable to replicate
in a simulator scenario, a real motion
tranullctornullas travelled bnulla receivernull
Tnulls application note nulls snullnull nullnull
to tanull tnull Pnull and satellite visibilitnull
innullrmation nullom receivernullogged nullEnull
data and convert it into a motion nulle
and user actions commandnullle respectivelnull,
using tnull supplied utilitnullnulltnulln Simnullnull
and use it in a simulator scenarionull
It nulls also enulllained some onulltnull
limitations onulltnulls approacnullnullere
replication onullerroneous events is
desired, and nullnullcontrolled and
representative testing is usuallnull
a nullr more benenullial metnulld tnulln
enullct replication onulltnull real nullrldnull
Renullrenced Docunullnts
null Tnull nullEnull nullnull Internullce Standard
nullersion nullnull nullational nullarine Electronics
nullsociationnull
null Dnullnullnullnullnull latest Issue Simnullnull
Sonullnullre nullser nullanual nullpirent Documentnull
null Dnullnullnullnullnull latest issue SimPLEnullnull
Sonullnullre nullser nullanual nullpirent Documentnull
Page nullSPIRENT Application Note
nullnullssarnullonullTernull
nullSS nulllobal nullavigation Satellite Snulltem
nullI nullrapnullcal nullser internullce
nullEnull nullational nullarine Electronics nullsociation
Pnull Position nullelocitnulland Time solution nullom a nullS receiver
Scenario In tnulls contenull, a nullSS simulation running on eitnullr Simnullnull or
SimPLEnullsimulator control sonullnullrenull
SEnull Snulltems Enullnullctiveness nullodel nullS satellite almanac
Snull nullS Satellite nullenullcle
nullnull nullS nullmanac nullamed anuller tnull tonull onullnulluma, nullinullona nullere earlnull
receiver tests nullere carried out in null77null
Page nullSPIRENT Application Note
CONTACT Unull
nullot a snullrtnullonenull
If you have a smartphone download
a QR Code reader and then point
your phone camera at the QR Code
to read the graphic.
nullnullrent Conullunications
null4 nullnull nullnullnull
globalsalesnullpirentnullom
nullnullnullpirentnullomnullositioning
nullnullrent Federanullnullnulltenull
null 7null nullnullnullnull
innullnullpirentnullderalnullom
nullnullnullpirentnullderalnullom
nullaceboonull LinnulldIn Tnulltter Tecnullorati nulloogle nullunull Digg Delicious Reddit Stumbleupon
nullnullnot snullre tnulls docunullntnull
Dnullnull7 ISSnull nullnull
RevnullnullnullSept nullnull
nulle are adding nenullcontent to our nullenullite on a regunullr nullsisnull
nullonullarnulltnulls nullnnull
nullnullnullpirentnullomnullositioning
nullisit tnull nullnullrent nullnull nullognulltnullre are currentnull over null nullsts
nulltnull2 to 3 nenullnullsts added eacnullnulleenull
Catcnullunullon nullatnulls nenullnull
nullnullnullpirentnullomnulllognullositioningnullspnull
Need nullre innullrnulltionnull
gnssnullolutionsnullpirentnullom