unavco teqc tutorial
DESCRIPTION
teqcTRANSCRIPT
-
June6,2014
TeqcTutorialBasicsofTeqcUseandTeqcProducts
-
Teqc Tutorial: Basics of Teqc Use and Teqc Products
by Lou Estey and Stuart Wier
June 6, 2014
Cover illustration: UNAVCO
Teqc is developed and supported by UNAVCO, and funded by NSF and NASA.
Copyright 2012, 2013, 2014 UNAVCO Inc.
UNAVCO6350 Nautilus Drive
Boulder, Colorado U.S.A.www.unavco.org
-
TeqcTutorial 1
TableofContents1Introduction..............................................................................................................................................3
1.1IntroductiontoTeqcandtheTutorial...............................................................................................31.2TopicsinthisTeqcTutorial..............................................................................................................4
2InstallingTeqc........................................................................................................................................5
3QuickStart..............................................................................................................................................73.1CommonTeqcCommands...............................................................................................................7
3.1.1Metadata....................................................................................................................................73.1.2QualityChecking.......................................................................................................................73.1.3DecimatingData........................................................................................................................93.1.4Splicing....................................................................................................................................103.1.5Translation...............................................................................................................................103.1.6TimebinningwithtbinOption...............................................................................................113.1.7Usingrealtimeinputdatastreams..........................................................................................13
4WorkingwithTeqc................................................................................................................................154.1RunningTeqc.................................................................................................................................154.2RunningTeqconWindows............................................................................................................154.3TheTeqcCommandLine...............................................................................................................154.4Options...........................................................................................................................................164.5InputandOutput,Files,andRedirection.......................................................................................17
5GettingStartedwithTeqcTranslation...................................................................................................195.1Basictranslationcommandline.....................................................................................................195.2Teqcinputfileformatspecificationandautoidentification.........................................................205.3Typicaltranslationoptionsandarguments...................................................................................215.4RINEXnavigationmessageandmeteorologicalfiles..................................................................235.5Translationexamples....................................................................................................................245.6Commonfailuresintranslation......................................................................................................26
6GettingStartedwithTeqcEditing.........................................................................................................27
7GettingStartedwithTeqcQC................................................................................................................297.1QCcommands................................................................................................................................297.2InterpretingQCresults...................................................................................................................33
TheQCScreenOutput:theASCIITimePlotandtheShortSummary...........................................33TheQCSummaryReport.................................................................................................................38TheQCFullReport..........................................................................................................................42TheQCPlotFiles.............................................................................................................................42AzimuthandElevationPlotFiles..................................................................................................43
-
TeqcTutorial 2
IonosphericDelayPlotFiles.........................................................................................................44MPPlotFiles.................................................................................................................................45SN1,SN2,andSN5PlotFiles.......................................................................................................45
8FindingHelp..........................................................................................................................................47TheUNAVCOTeqcEmailForum.......................................................................................................47EmailtoUNAVCOteqcstaff...............................................................................................................47
AppendixA:TeqcTranslationReceiverTypesandFormats....................................................................48AppendixB:TeqcQCASCIITimePlotSymbolsandtheSymbolHierarchy.........................................50AppendixC:TeqcQCFullReportDescription........................................................................................51AppendixD:SomeFrequentlyAskedQuestions......................................................................................56AppendixECOMPACTandCOMPACT2FileFormats..........................................................................58
-
TeqcTutorial 3
1Introduction
1.1IntroductiontoTeqcandtheTutorialTeqcisacomprehensivetoolkitforsolvingmanyproblemswhenpreprocessingGNSSdata:
translation:readGNSSnativereceiverfilesandtranslatethedatatootherformats
editing:metadataextraction,editing,and/orcorrectionofRINEXheadermetadataorBINEXmetadatarecords;aswellascutting/splicingofRINEXfilesorBINEXfiles
qualitycheckingofGPSand/orGLONASSdata(nativebinary,BINEX,orRINEXobservationfiles,withorwithoutnavigationfileswithephemerides)
Thethreefunctionsfromwhichteqcgetsitsname,translation,editing,andqualitychecking,canbeperformedseparately,inpairs,oralltogetherinasinglerun.
Thistutorialisintendedtohelpyoulearntouseteqc,byshowingexamplesofteqcuseincommonsituations. Thistutorialdescribesbasicteqcprocessingandteqcoutput,emphasizingthebasicteqccommands, with complete details about the products generated. New teqc users should, at theminimum,reviewsections1through4,andothersectionswhichdescribetheparticularprocessingyouneed.ManypracticalandcommonusesofteqcaredescribedbythisTutorial.
Youcanuseteqcto
translate(convert)certainnativebinaryformats(e.g.,Trimble*.dat)toRINEXobsand/ornavfiles
checkaRINEXfileorfilesforcompliancewiththeRINEXversion2specification;forexample,missingnonoptionalheaderfieldsareidentified.
modify(edit)anyexistingRINEXheaderfieldsinaRINEXfileandoutputtheresultingeditedRINEXfile.
qualitycheckavalidRINEXobsfileorfiles,butwithoutaRINEXnavfileorbinaryephemerides(thisisqclite;teqchasnosatellitepositioninformation).
qualitycheckavalidRINEXobsfileorfilesusingephemeridesdatainavalidRINEXnavfileorfiles(thisisqcfull;teqchassatellitepositioninformation).
window,cut(specifyasubwindowoftime),orsplicetwoormoreRINEXfiles. createanewRINEXfilewithalongersampleinterval,sayfrom1secondto30seconds.
Thesemodesofoperationworkaloneor inconcertwithoneanother. Teqcusesacommandlineinterface,speedingexecutionofroutineorrepeatedprocessing,allowinguseofteqcinscripts,andavoidingtherepetitivemenuclickingrequiredbyagraphicaluserinterface.
ThemostcommondataformatusedwithteqcisRINEX.ShortnamesforthethreebasickindsofRINEXformatsareusedthroughoutthisdocument:obsfileforaRINEXobservationdatafile,navfileforaRINEXnavigationmessagefile,andmetfileforaRINEXmeteorologicaldatafile.TeqccurrentlyhandlesRINEXversionsthroughversion2.11.Thecapabilitiesof teqc extendbeyondusingRINEXfiles,asyouwillseeinthistutorial.
-
TeqcTutorial 4
Teqcdoesnotdoprecisepointpositioningandteqcshouldnotbeusedtofindpreciseantennapositions.Teqccomputesanapproximateantennapositiontoaiditsqccalculations,buthighprecisionpositionsarenotneededforteqcqc.Teqc'sapproximateantennapositionisonlyusedtodeterminetheskypositionsofsatellitesasseenbythereceiver.Theteqcantennapositionmaybeinerrorby10metersormore.Thiserrorisacceptableforteqc'sneeds;anantennapositionerrorof10metersdoesnotsignificantlychangethedirectiontosatellitesasseenfromthereceiver. Teqcdoesnotuse theantennapositionintheRINEXfileheaderforteqccomputations,ifoneispresent.
TeqcisprovidedatnocostbyUNAVCO,asexecutablebinariesforall commonprocessors.Toinstallteqcyoudownloadonefile. Youdonotdownloador'build'anyotherfilesorsoftware. Teqcexecutablefilesforall platformsshouldgiveidenticalresults inall cases. UNAVCOprovidesusersupportforteqc.
Teqcispronounced "tek"or "tech,"' likethefirst syllableof thewordtechnology,at leastbytheUNAVCOstaff.Teqcisalowercaseword,aswhenteqcisusedonacommandline,notcapitalizedlikeaconventionalacronym.
1.2TopicsinthisTeqcTutorialTheinstallationprocedureisdescribedinsection2.
Section3providesaquickstart,withcommonteqccommands.
Section4showssomebasicsaboutworkingwithteqc.Thisdescribestheteqccommandlineinterface,teqc'soptionsorprocessingchoicesandcontrols,andredirectionofinputandoutput.
Section5introducesuseofteqctodecodenativereceiverfilesandtranslatethedatatoRINEX2.11format.
Section6isanintroductionto"editing"withteqc,includinghowtomodifyteqc'sprocessing.
Section7isanintroductiontousingteqcforqualitycheckingGNSSinformationfromreceivers.
Section8showswheretofindhelpaboutteqc.
AppendixAliststeqctranslationreceivertypeoptionsanddataformattypenames(seesection5).
AppendixBlistssymbolsusedintheteqcqcASCIItimeplot(relatedtosection7).
AppendixCdescribestheteqcqcfullreport(relatedtosection7).
AppendixDhassomefrequentlyaskedquestionsaboutteqc.
-
TeqcTutorial 5
2InstallingTeqcTeqcissuppliedbyUNAVCOasreadytorunexecutablefilesforseveraloperatingsystemsand
processors.Youdonotneedtofindordownloadanyotherfilesorsoftware,changeorcreatesystemconfigurationvalues,buildsoftware,orrunaninstallerprogram.Justdownloadoneteqcfileandrunit.
On the UNAVCO teqc web site (www.unavco.org/software/dataprocessing/teqc/teqc.html), lookunder'Executables'.Youwillseealistoflinkstodownloadcompressedfilesofteqcexecutablesforanumberofoperatingsystems,includingvarietiesofWindows,Mac,Linux,andSolaris.Downloadtheexecutableforyoursystembyclinkingonitslink.Savethefileinthefolderordirectorywhereyouwanttokeeptheteqcexecutable.
OnWindowsVista,youmayhavetroublerunningteqc if youput theteqcexecutablefile in theC:\ProgramsFilesfolderduetofilepermissionproblems,souseoneofyourpersonalfolderstoholdteqconVista.
Unpackthedownloadedfile. ForWindows,thedownloadedteqcfilesarezipfilesandyouuseaWindows Zip utility such as Winzip, as from www.infozip.org. For Mac, Linux, and Solaris, thedownloadedteqctarfilecanbeunzippedanduntarredwithonetarcommandsuchas:
& tar xzf teqc_Lx86_32d.tar.Z(Inthistutorial,commandsareinaboldmonospacefontlikeabove,with&representingyourcommandlineprompt.)
Thezinxzfdoesgunzipbeforethetarextraction(tar xf)ofthefile.Ifyoursystemdoesnotprovidetarwiththezgunzipoption,firstrun & gunzip teqc_Lx86_32d.tar.Zandthenrun
& tar xf teqc_Lx86_32d.tarUnpackingthedownloadedfileshouldmakeonenewfilenamedteqc,whichistheteqcexecutable
foryoursystem.Itwillbebetween1and2megabytesinsize.
SometimestheteqcfileisnotsettobeexecutableafterbeingdownloadedonUNIXbasedoperatingsystems.AUNIXbasedcommandtosetteqctobeexecutableforallusersis
& chmod 755 teqcOnMac,Linux,orUNIX,ithelpstoputteqcinyourshell'sPATHvariable.Thenyoucanusetheone
wordcommandteqctorunteqcinanydirectorysuchasPATH=$PATH:/home/user1/teqc/bininaloginfilesuchas.bashrc.OryoumaycreateanaliaswithaLinuxcommandsuchas
& alias teqc='/home/wier/teqc/official-teqc/teqc'Usethecurrentversion
Thecommandteqc +versionshowstheversion(dateofcreation)ofyourteqcprogram.Pleaseusethecurrentversionofteqc.Itwillhavenewfeatures,andfixesforrecentlydiscoveredproblems.UNAVCOdoesnotsupplyorsupportolderversions. Seetheteqcwebsitehomepage,executablessection,forthedateofthelatestversion.Youcansaveanolderversionasaprecautionifyouwish.
-
TeqcTutorial 6
-
TeqcTutorial 7
3QuickStart
3.1CommonTeqcCommands
Thissectiondemonstratessomecommonteqccommands.Trythesewithyourdatafiles.Theinputfilenameintheseexamples,oftenareceiverfileoraRINEXobsfile, iscalled inputfile. Intheexamplesnofilepathsareshownsothedatafilesareinthecurrentworkingdirectory(folder),butyoucanusefullfilepathsinyourcommands.CommandsyntaxfortheseexamplesisLinuxbash.
OnWindows,sinceteqcisacommandlinetool,itmustberunfromaterminal.TeqcexecutablesforWindowsarenamedteqc.exe. TeqcisnotaMSWindowsGUI;teqcisacommandlineprogram.Clickingonteqc.exewillonlyresultinawindowpoppingupforafractionofasecond.YoumustuseaDOSemulationwindowandrunteqc.exeonthecommandline. InWindowsXP,theterminalistheCommandPromptapplication.Forexample,onMS2000orXP,clickonStart,andthenRun,andintheRunwindowtypecmd,andclickonOKtobringupaDOSemulationwindowwhereyoucanentercommandlines.OnWindows7youcanreachthecommandpromptlinebypressingtheShiftkeyandarightclickoverafolder.Anewoptionappearsinamenu,"Openterminalwindow."Runteqcintheterminalwindow.
3.1.1Metadata
Toseemetadatainaninputfile,eitherRINEXorarawnativereceiverfile:
& teqc +meta inputfileThisreturnsa20somelinemetadatasummaryabouttheinputfile.ThisteqccommandworksforeitherRINEXfilesorfornativereceiveroutputfiles,automaticallyrecognizedbyteqc;seesection5.
TogetasummaryofhowmanyobservationsareinaRINEXfile:
& teqc -O.sum . inputfile
whichshowswhichSVsaretracked,thetypesofobservations(suchasL1andL2),andacountoftheobservablesforeachtypeforeachSV.Besuretoincludethesingle. period.
3.1.2QualityChecking
Todoqualitychecking(qc)ofaRINEXobservationinputfile,outputtheqcresultstothescreen,andtowritethe"qcplot"filesandthe"qcreport"file:
& teqc +qc inputfileinputfileisaRINEXobsfile.TeqcwillalsofindanduseanyRINEXnavfilescorrespondingtotheinputobsfilewhichareinthesamedirectoryasthe inputfile.Thiscreatesoutputtoscreen,andanewfile,withnewfileextensionendinginS,suchasinputfile.10S Thefileinputfile.10S is
-
TeqcTutorial 8
the'qcreportfile.'
ToexcludeallGLONASSobsfromthequalitycheck,use:
& teqc +qc -R inputfile > new_obs_without_glonassUsethe'R'optiontoremoveGLONASSwhiledoingtranslation,qcoperations,orevensomeotherfilteringofaRINEXfile.Similarlyuse'S'toremoveSBAS,'G'toremoveGPS,'E'toremoveGalileo,'C'toremoveBeidou/Compass,and'J'toremoveQZSS.Thesecanbeusedindividuallyoratthesametime.Justdon'tuseallsixatthesametime,i.e.'GRSECJ',asthiswillremovethedatafromallpossibleconstellations.
Tomakesurethatsucceeded,do:
& teqc -O.sum . new_obs_without_glonass
IfyougetasummarywithonlyGPSSVs,youshouldbeOK.Donotomitthe"."period.
ToexcludeobservationsfromspecificsatellitesbyPRN(GPSPRNs1,15,and22inthiscase):
& teqc +qc -G1,15,22 inputfile
IncludeacommabetweentheGPSnumbers.
ToexcludeobsfromarangeofSVIDs,R1throughR15use,andalsothesingleSVG14:
& teqc +qc -R1-15 -G14 inputfile
Doteqcqc,butdonotuseanyGPSnavfiledata:
& teqc +qc -no_orbit G inputfileDoteqcqc,butdonotuseanyGLONASSnavfiledata:
& teqc +qc -no_orbit R inputfileTheqcreportfile,withafilenameendinginSlikeinputfile.12S,ismade.
Do+qcqtodoteqcqcbutcreatingnoqcreportfile.Thisisqcquick:
& teqc +qcq inputfileDofullqcandsendstandardoutput(normallyseenonscreen)toafile''outfile":
& teqc +qc inputfile > outfile
Dofullqcwithoutseeingorsavingerrormessages(whichalsootherwiseappearonthescreen):
-
TeqcTutorial 9
& teqc +qc inputfile 2> /dev/null
Thesymbols>and2>areLinuxandUNIXoutputredirectioncommands,sendingcommandoutput(stdoutandstderr)toafile,orto'null.'ForoutputredirectiononWindows,seesection4.5.
Doqcquick(+qcq)withnoerrormessagesshownorsaved,andsendthenormalqcscreenoutputtooutfile.Noqcreportfileismade:
& teqc +qcq inputfile > outfile 2> /dev/nullDoqcq,andappendateqcQCsymboltable(+sym)totheoutput:
& teqc +qcq +sym inputfile 2> /dev/null > outfile Doqcq,andalsoaddanystandarderroroutputtothesingleoutputfile:
& teqc +qcq +sym inputfile > outfile 2>&1
3.1.3DecimatingData
To'decimate'(subsample)observationsinaRINEXobsfile,whoseoriginalsamplingintervalisgreaterthan1second,useoption-O.dec .Forexampletodecimateto60secondsinterval,andsavetheresultsinthenewfileBCH164dec.12o:
& teqc -O.dec 60 BCH164.12o > BCH164_decim60s.12oWhentheoriginalsampleintervalis1secondorless,youmustalsoincludetheoption-O.inttodefinetheoriginalsamplingintervalinseconds(inmostcases).Forexample,todecimate10Hz(0.1secondinterval)datato60seconds:
& teqc -O.int 0.1 -O.dec 60 MKW164.12o > MKW164_decim60s.12o
Sotodecimatedatato30seconddata:
wheretheoriginalsamplingintervalis>1second,youjustneedusethe'-O.dec'option,sotodecimateto30secondoutputdata,use'-O.dec 30'.
iftheoriginalsamplingis
-
TeqcTutorial 10
Includingthethe'-O.int'optiondoesn'thurtineithercase.
3.1.4Splicing
TospliceseveralRINEXnavfilesfromonesitetogetherintoonenavfileWRHM234.11g: & teqc WRHM234[A-W].11g > WRHM234.11g
oryoucando:
& teqc WRHM234*.11g > WRHM234.11g
3.1.5Translation
Thecommandteqcwithoutanyoptions,onlyaninputfilename,doesteqctranslation.Theinputfilemustbeatypewhichteqcrecognizesautomatically;seesection5below.
Thenormaloutput(tothescreen)fromteqctranslationisintheRINEX2.11format.Inthenextexamplecommand,theoutputisredirectedtothefiletmp.o.
TotranslaterawreceiverdatatoaRINEXobsfilenamedtmp.o: & teqc inputfile > tmp.o
TotranslaterawreceiverdataininputfiletoaRINEXobsfilenamedtmp.o,andtranslatethenavdataintheinputtoRINEXandputthenavdatainfiletmp.n: & teqc +nav tmp.n inputfile > tmp.o
Againtheobsoutputisredirectedtothefiletmp.o.Thecommandoption+navnamesanewnavfile tmp.ntobemade.Theinputfilemustbeakindwhichteqctranslationrecognizesautomatically.
Anotherwaytodothesamethingusestheteqccommandoption+obsnamingtheoutputobsfile: & teqc +nav tmp.n +obs tmp.o inputfile Totranslaterawreceiverdata,aTrimble.datfile,toRINEXmetdata:
& teqc -tr d +met 79990360.DAT Youcantellteqctheformatoftheinputfiletotranslate,usingoptionslike-tr d.Seedetailsinsection5below.
-
TeqcTutorial 11
3.1.6TimebinningwithtbinOption
YoucanusetheteqctbinoptiontomakedailyRINEXmetfilesfromfile79990360.DAT:
& teqc -tr d -tbin 1d outputfile +met + 79990360.DAT
Youcanreplaceoutputfileafterthe1dwithanystring;thiswillbeatthebeginningofRINEXfiles'namescreatedwiththe-tbinoption.Thebare+signafter+metmeansmakeasequenceofmetfilesfor1daytimebinsmadewith -tbin 1d.
Formakingdaily(1d)observationandnavigationRINEXfilesfromarawreceiverfile(whenthereceiverfiletypeisatypeautomaticallyrecognizedbyteqc):
& teqc +obs + +nav +,+ -tbin 1d outputfile inputfile
Thenewfileisoutputfile.Formakingonehour(1h)longobservationandnavigationfiles:
& teqc +obs + +nav +,+ -tbin 1h outputfile inputfileThe+nav +,+makestwonavfiles,oneforGPSandoneforGLONASS,bothfilenamesbeginningwithprefix outputfile.The -tbincommandoptionanditsarguments,-tbin 1d outputfile,makedaylengthfilesfromoneinputfile.Iftheinputfileisseveraldayslong,severaloutputobsandnavfileswillbemade,oneofeachforeachday.
Abare"+ "signafter+obsorafter+navmeanstomakeasequenceofobsandnavfileswhichmatchthe1daytimebinsmadewith -tbin 1d.Theoption+nav +,+meansmakeseparateGPSandGLONASSnavfilesforthetimebins.Thetbinoutputrepresentstherootnameforallthenewfilesmade.Youcanmakehourlyfilesbyusing-tbin 1hinplaceof-tbin 1d.
TomakedailyRINEXmetfilesfromaRINEXfile89670360.DAT:
& teqc -tr d -tbin 1d outputfile +met + 89670360.DAT
Thenewfilenamebeginswithprefixoutputfile.YoucanreplaceoutputfilewithanynameforthebeginningoftheRINEXfilenamescreatedwiththe'tbin'option.
FormakingdailytimebinnedobservationandnavigationRINEXfilesfrommanyreceiverfiles,youcaninputalistoffiles:
& teqc +obs + +nav +,+ -tbin 1d tbinoutput input1 input2 input3
Thelistisseparatedwithspaces.
OnaLINUXtypeoperatingsystemyoucanusefilenameexpressionstostandinforalistoffile
-
TeqcTutorial 12
names:
& teqc +obs + +nav +,+ -tbin 1d tbinoutput SITE*.12oor
& teqc +obs + +nav +,+ -tbin 1d tbinoutput SITE[0-120]0.12oor
& teqc +obs + +nav +,+ -tbin 1d tbinoutput STA9120[A-X].12oNotethat-tbincansubdivideand/orcombineseveralinputfiles.Iftheinputfilesarelessthanadaylongtheywillbecombinedintooneormoredailyfilesasneeded.Iftheinputfilesaremorethanadaylong,thedatawillberecombinedintoseveraldailyfiles.Ifsomeinputfilesarelessthanadaylong,andsomemorethanadaylong,theyallwillberecombinedintoseveraldailyfilesasneeded.
Todecimatehighratedatato30secondintervals,andmakedailyfiles:
& teqc -O.dec 30 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles
ToalsosettheantennatypeasTRM59800.00intheRINEXfiles'headers(teqc"editing"output):
& teqc -O.at TRM59800.00 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles
Makethedailyfiles,butexcludingGLONASS(R),GALILEO(E),andSBAS(S),butleavingallGPS(G):
& teqc -R -E -S +obs + +nav +,+ -tbin 1d tbinoutput inputfilesThiscreatesfileswithnoobservabledatafromGLONASS,GALILEO,andSBAS,andnoephemeridesfromnavdataofthosesystems.ThisprocessingisusefulincaseyouaredoingGAMITprocessingorothermethodswhichdonotasyetuseGLONASS,GALILEO,andSBAS.
Similarly,butexcludingobservationsfromspecificsatellitesbyPRN(GPSPRN1and15inthiscase):
& teqc -G1,15 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles
ToignoreallSVSfromG1throughG15use:
& teqc -G1-15 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles
EditingaRINEXfileheaderitem:tosettheantennatypetoTRM59800.00intheRINEXheader,andalsototbintodailyfiles:
& teqc -O.at TRM59800.00 +obs + +nav +,+ -tbin 1d outputfile inputfiles
-
TeqcTutorial 13
3.1.7Usingrealtimeinputdatastreams
OnaLinuxsystem,whenyouhaveaNetRSreceiverwithaBINEXrealtimedatastreamsetup,goingtoIP69.44.87.177onport9999,tocatchtheBINEXstreamusingtheLinuxnetcat(nc)utility,pipeittoteqc,andoutputtherawmetandtiltdatatostdout:
& nc 69.44.87.177 9999 | teqc -binex +eds
TocatchtheBINEXstream,pipeittoteqc,andoutputtheobsdata(withnometdata)toRINEXfiletestRSfile,withthiscommand:
& nc 69.44.87.177 9999 | teqc -binex +obs testRSfile
TocatchtheBINEXstream,pipeittoteqc,andoutputthemetdatatoafile:
& nc 69.44.87.177 9999 | teqc -binex +met temp.metTocatchtheBINEXstream,pipeittoteqc,bintheobsandmetdataintofilesof5minutetimecoverage,andoutputtheRINEXresultstofilesbeginningwithMKW: & nc 69.44.87.177 9999 | teqc -binex +obs + +met + -tbin 5m MKW
TocatchtheBINEXstream,andoutputreceiverstatetostdout(thescreen)fromaBINEXstream:
& nc 69.44.87.177 9999 | teqc -binex +rx_state
TocatchaTrimbleRT17streamonport9927,pipeittoteqc,andoutputthemetdatatothefiletest.met:
& nc 69.44.87.177 9927 | teqc -tr s +met test.met
andatthesametime,inanotherwindow,do
& tail -f test.mettoseethemetfileinrealtimeasitiscreated,whichisespeciallyvaluabletochecknewmetinstallationsinthefield.
HereisasimpleLinuxkshscriptwhichdoesteqcqconallavailablefiles,thoseendingin.11ointhelocaldirectory,andusingacombinedGPSnavigation(brdc)datafile:
#!/bin/kshfor file in *.13o do echo $file teqc -O.int 1 -nav brdc0280.13n +qc -mp_win 900
-
TeqcTutorial 14
-ion_jump 8 -iod_jump 3e38 $file done# end of script
Whenqc'inghighratedatausersshouldmodifytheslipdetectionparameterswiththeseteqcoptionsandexamplevalues:
5Hz:-mp_win 4500 -ion_jump 8 -iod_jump 3e381Hz:-mp_win 900 -ion_jump 8 -iod_jump 3e38
-
TeqcTutorial 15
4WorkingwithTeqc
4.1RunningTeqcTeqcprovidesmanyprocessingchoices,eachperformingaspecifictaskandhavingdefinedinputs
andoutputs. Teqc is acommand lineprogram(following theUNIXshell model). Command lineoperation allows several processing options in one command, speeds execution of routine andrepetitiveprocessing,allowsuseofteqcinscripts,andavoidstherepetitivemenuclickingrequiredbyagraphicaluserinterface.
Oneteqccommandcanhaveoneormoreprocessingsteps.Asanexample,withasingleteqccommandyoucantranslateaTrimblebinarystreamtoRINEXobsandnavfiles,haveemptyheaderfieldsintheobsfile(suchasthemonumentname)filledin,anddoqc(qualitychecking).
Eachprocessingchoiceiscontrolledbyspecificoptions,whicharewordsinthecommandline.Theexamples in this tutorial providean introduction tocommonoptions. Theexample command linesappearinafixed width font.Theseexamplescanbeusedwithsuitableinputfilesandwithfewornootherchanges.
Fortheremainderofthisdocument,itwillbeassumedthattheuserisusingaUNIXlikeoperatingsystemandisfamiliarwithbasicUNIXlikecommands.Examplecommandlinesinthistutorialareforthebashshell,theBourneshell(sh),ortheKornshell(ksh). Commandsinthecshshell,andotheroperatingsystems(e.g.DOS),areusuallythesameorsimilar.
4.2RunningTeqconWindows
Sinceteqcisacommandlinetool,itmustberunfromaterminal. InWindows,theterminalistheCommandPromptor'cmd'application.OnWindowsXP,clickonStart,andthenclickRun,andintheRunwindow's"Open"entryboxtypecmd,andthenclickonOKtobringupaDOSemulationwindowwhereyoucanentercommandlines. OnWindows7youcanreachthecommandpromptlinebypressingtheShiftkeywitharightclickoverafolder.Anewoptionappearsinamenu,"Openterminalwindow."
Try to run teqc with just teqc on the command line. If Windows returns "teqcisnotrecognizedasaninternalorexternalcommand,operableprogram,orbatchfile" thenrenamethefile teqc to teqc.exe, anduse teqc.exe fortheteqccommandwhenrunningteqc.Thistutorialusesteqcfortheteqccommandexamples,notteqc.exe.WindowsdoesnotprovidetheLinuxandUNIX>outputredirectionoption.ForWindowsfileredirection,seesection4.5.
4.3TheTeqcCommandLine
Atypicalteqccommandis
& teqc +qcq jplv3000.12owhichdoesteqcqualitycheckingofaRINEXobsfilefromstationJPLVonday300of2012.Outputistothescreen.Teqcnevermodifies(overwrites)inputfiles.Useoutputredirection,Section4.5,tosee
-
TeqcTutorial 16
howtocreatenewfiles.
Thetypicalsyntaxforteqcis:
& teqc {option} [the option's argument or value, if any] inputfileOneormoreoptionsmayappearafterteqc;eachmayhaveanargumentorvalue.Optionsusually
beginwiththe+orcharacter.Optionsmaybefollowedwitharguments(values),informationusedbytheoption.
The filenameornames listedat theendof thecommandline arethetargetsor input dataforprocessingbyteqc.Otherfilenamesmaybepresent,earlierinthecommandline.Anyfileslistedrightafter theoptions, and not the last itemat theendof thecommand line, areacommandoptionargumentandoftenarenottheprimaryinputforprocessing.
Youcanusecompletefilepathsforallfilesinateqccommand(includingteqcitself),suchas
& /aps/gnss/software/teqc +qc /data/gnss/2012/jplv/jplv3000.12oshowingwherefilesarelocated,usingthepathsyntaxforyourOS.CompletepathnamesarenotnecessarywhenteqcisfoundintheLinuxPATH,orifafilenamedinthecommandislocated,orcanbelocated,inthecurrentworkingdirectory.
Thereareafewteqccommandswithnoinputdatasourcefileslistedinthecommand.Whenrunwithoutoptionsorinput
& teqcreturnsteqc'svalueforthecurrentGPSweek,basedonyourlocalCPU'sclocksetting.HowgoodthisvalueisofcoursedependsontheCPU'stimebeingsetcorrectly.
Thecommand
& teqc +versionreturnstheteqcbuilddate(teqcversion),andtheoperatingsystemthiscopyofteqcwasbuiltfor.
The+helpoption & teqc +helpshowsmorethan300linesaboutteqcoptions.Oneshouldgetinthehabitofrunning`teqc+help`togetalistingofteqc'scommandoptions.
Sometimes,especiallywithnewfeatures(e.g.,newtranslators)astheyarebeingaddedanddebugged,youmaybeinundatedwithwarningmessagesgoingtostderr.Mostofthesecanusuallybesuppressedbyincludingthewarnoption: & teqc -warn {restofcommand}.
4.4Options
Teqc'soptions,usedafterteqcinthecommandline,controlwhatprocessingoccursandhowprocessingoccurs.InthefirstcommandinSection4.2theoptionis+qcqwhichdoesqualitycheckingofanobsfile.Youcanlearnoptionnamesinthistutorial,withthecommand teqc +help.Thereareitemsinthecommandlinewhichaidormodifyoptions;thesearecalledoptionarguments.
-
TeqcTutorial 17
Datafilenamesmaybeargumentsforoptions;forexample,thenameofafilewhereyouwantsomeoftheresultsoftheprocessingtobewritten.
Youcanlistmostofteqc'soptionswithteqc +help.OptionsusedforreadingvariousfileformatsandfortranslationtoRINEX,aredescribedinsection5here.OptionsforeditingRINEXheaderswithteqcaredescribedinsection6.
Someoptionsareforparticularkindsofteqcprocessing,andsomehaveamoregeneralpurpose.OptionsaredescribedthroughoutthisTutorial.
Inafewcases,anextralettermaybebeaddedtotheendofanoption,whichmodifiestheoptionprocessingandwhichmaybethoughtofasanotherkindofoptionargument (oranewoption). Forexamplethesecondqinthecommoncommandteqc+qcq modifiestheresultsfrom teqc+qc.Optionnamesusuallybeginwith+or-.Manyoptionshaveboth+andforms,andthetwoforms
producedifferentresults.Whenyoulearnaboutanoption,the+or isalsoindicatedaspartoftheoptionname.Forexamplethelistfromteqc +helpshowsoptionsbeginningwith+and . Forafewoptions,bothand+dothesamething.Andafewoptionsbeginwith++.The ,+,or++ispartofthecompleteoptionname. Youdoneedtoworryabouta"meaning"foror+;justusetheoptionnamewhichdoeswhatyouneed.
(Thereisamnemonicgoverningtheeffectoftheor+precedingeachoption:
leading+:outputsomething(besidesstdoutand/orstderr),orturnonsomeoption.
leading:inputsomething(besidesstdinoratargetfilelist),orturnoffsomeoption.)
4.5InputandOutput,Files,andRedirection
Teqcsendsprocessingresults(stdoutinUNIXterminology)anderrormessages(stderrinLinux)tothescreen,unlessotherwisedirected.Youcanredirectthoseteqcoutputstreamstofiles;thatishowtosaveteqcresultsinfiles.
Stdoutisthe"standardoutput"stream,thenormalresultsfromteqc.Stderr("standarderror")isaseparate stream, reporting problems that may occur any time teqc encounters something whileprocessingafile(oranyinput)thatitdoesn'tlikeorunderstand. Normally(withoutredirection)bothstdoutandstderrstreamsgotothescreen,mixedtogether.
Linux"csh"shellandWindows(DOS)donotseparatestdoutandstderr.WithcshorDOS(oranyshell), use teqc's options +out, ++out, +err and ++err to redirect teqcstdout and/or stderr tospecificfiles.
Examples
Redirectionofstandardoutput,stdout,toafileout.txt:
onbash,sh,orkshLinuxshells:teqc{restofcommand}> out.txt
oronanyshell:teqc +out out.txt{restofcommand}
"stderr"stillgoestothescreen.
-
TeqcTutorial 18
Redirectionofstandarderroroutput,stderr,toafileerr.txt:
onbash,sh,orkshLinuxshells:teqc{restofcommand}2> err.txt
orfromanyshell:teqc +err err.txt {restofcommand}
"Stdout"goestothescreen.
Redirectbothstdoutandstderrtoonefilenamedcombine.txt:onbash,sh,orkshLinuxshells:
teqc {restofcommand}> combine.txt 2>&1 oronanyshell:
teqc +out combine.txt +err combine.txt{restofcommand}
Notethatstdoutgoestofilecombine.txt,and2>&1means"sendstderrtothesameplaceasstdout."
Toappendtoanexistingfileofresults,onLinuxorUNIXuse>>inplaceof>inalltheredirectionexamples,oruse++outor++errinplaceof+out or+err.Generallyteqcisrunwithinputdatafromafile.Afilenameattheendoftheteqccommand
indicatesthetarget(input)filetobeprocessed.Afilenamebeforetheendoftheteqccommandisnotinput.
OnLinuxandotherUNIXbasedtypesystemsthetargetinput,insteadofafilename,mayberedirectedstandardinput(stdin)usingthe
-
TeqcTutorial 19
5GettingStartedwithTeqcTranslationTeqc can translate many receivers' native binary data to RINEX (2.11), including both GNSS
observation files andRINEXnavigation message files. TheGNSSdata can includesignals fromtrackingGPS,GLONASS,Galileo/GIOVE,SBAS,Beidou2/Compass,andQZSS.Inaddition,teqccantranslatethemeteorologicaldataofmanymetpackformatswhenthemetpack isattachedtotheGNSSreceiverandthereceiverisqueryingthemetpackformetobservations.SuchmetdatacanbetranslatedbyteqcintoameteorologicalRINEXfile.
5.1Basictranslationcommandline
ThebasictranslationcommandlinetoconvertnativebinarydatafiletoRINEXobservationformatissimple:
& teqc raw_input_filename
whichsendstheRINEXtranslation(ifsuccessful)tostdoutwhereitwillshowuponyourscreen.Notinthiscaseteqchasnocommandoption.
Typically,youwillwanttocapturetheoutputasafile;redirecttheoutputtoafilewithanameofyourchoice:
& teqc raw_input_filename > RINEX_observation_filename
That'sit!
Butforthistooccursuccessfully,severalthingsmustoccur.First,thebinaryformatoftherawfilebeingreadbyteqcmustbeoneofthemanyformatsthatteqcisabletodecode;foracompletelistofformatsthatteqcreads,seeAppendixA.Second,teqcmustbeabletoidentifytheformatbeingread;moreaboutthisinthenextsubsectionofthetutorial.Third,theremustbesomeGNSSdatainthebinaryfiletoactuallyconverttotheRINEXobservation,inarecordthatteqcunderstands.Andfourth,theGNSSdatarecordsofthebinaryfilecan'tbecorruptedinanyway.Ifalltheseconditionsaremet,teqcwillfindadefaultsetofobservables(dependingontheformatandotherfactors)tobeusedintheRINEX.Attheendofthissection,we'lltakeacloserlookatthesefourrequirementsanddiscusscommonfailuresituations.
Themoregeneralteqccommandlinesyntax(likejustabouteveryteqctask)is:
& teqc {options} binary_input_filename1 { binary_input_filename_2 { ... } }
where(unlessyouareusingthe-tbin option)allthebinaryinputfilesarereadinorderandoutputtogetherintheresultantRINEX.Theinputfilenamesareseparatedbyspaces.
-
TeqcTutorial 20
5.2Teqcinputfileformatspecificationandautoidentification
Oneof theoptions that canbespecified is to tell teqc theexpected format of the input file. Forexample,normalTrimbledatathat teqccanreadcaneitherbe inTrimble'sRT17structurewithafilenamesuffixof.dat orinTrimble'sRT27structurewithafilenamesuffixof.tgd.Eitherofthesecanbespecifiedusingtheoption-tr d,forexample:
& teqc-tr d cn40201210010000a.tgd
Forallmanufacturerformats,thereisanoptiontospecifyboththethereceivermanufacturetype(e.g.-trforTrimble),andthereceiver'sbinaryformattype(e.g.dforTrimble's.dator.tgd)
Forthesefivelargemanufacturers,youneedthefollowingreceiver/formatcombinationsforthisoption:
-tr d TrimbleRT17/RT27downloadin.dat/.tgdformat-jav jps JavadJPSformat-top tps TopconTPSformat-lei mdb LeicaMDBformat-sep sbf SeptentrioBinaryFormat(SBF)
SeeAppendixAforafulllistingoftheseoptions,forothermanufacturers(e.g.Ashtech,Navcom,Ublox)andforolderformatsthatthemanufacturerusedorstilluses(e.g.TrimbleRT17/RT27streamformat,orLeicaLB2).
However,inmanycasesyouwillprobablynotneedtospecifytheformatinthiswaybecauseteqccanoften autoidentify the format by reading a small part of the beginning of the file. Try aTrimble.dat/.tgdfile.Thecommands
& teqc -tr d cn40201210010000a.tgd & teqc cn40201210010000a.tgd
shouldyieldthesameresult.Inthefirstcommand,youareexplicitlyspecifyingthereceiverandformatwith-tr d;inthesecondcommand,teqcisautoidentifyingtheformattype.
Similarly,thereareasmallnumberofformatswhicharenotspecifictoanymanufacturer,andhereyouspecifyonlytheformattype:
-binexBINEXformat-rtigsrealtimeIGSformat-socJPL'sSOCformat
Sometimes,however,thebeginningofthefileisnotstructuredthewayteqcexpectsittobeandthenyoumustspecifytheeitherthecorrectreceiverandformatorformatoption.Becauseofthispossibility,whendevelopingautomateddatahandlingusingteqc,itisalwaysbesttospecifytheexpectedformatforeachdatafile.
Aboutwhentoincludean'optional'translationformatoptionsuchas-lei mdb,ortheequivalentfor
-
TeqcTutorial 21
someotherformat,ortorelyonteqc'sautomaticformatrecognition,myadviceistoalwaysincludeitwhenrunningbatchsoftware,sothatyouarenotrelyingonteqc'sautoidentificationincasethestartofthefileiscorruptedornotquitewhatthecodeisexpecting.ButusuallywhenI'musingteqcmanually,Ileavethisoff(unlessthefilehappenstobeoneofthefewformatsforwhichthereisnoreliableautoidentification):youwillgetsignificantcluesiftheautoidentificationisnotworking,suchasmessagesaboutsomeotherformatthanwhatyouthinkyouhave,andthenyoucanedityourcommandandincludetheformatoptionifneeded.
5.3Typicaltranslationoptionsandarguments
IfyouwanttheobservationsfromseveralfilesallputinoneRINEXfile,justlistthetwo(ormore)filesattheendofthecommandinsteadofjusttheoneinputfile.Theonlycaveat:makesureyourlistingistimeordered:thefirstfileshouldbefirstintime,thesecondfileshouldbesecondintime,andsoon.Thelistoffilenamesisseparatedbyspaces,notcommas.
Besidestheformatspecificationoption,therearetypicaloptionsthatareoftenusedwhencreatingRINEX.Theseare:
-weekspecifythestartingGPSweek(e.g.weekof6Jan2013is1722,orspecifythedaythedatastartsas::;e.g.-week 1722and-week 2013:01:06areidentical-stspecifythedateandtimeinGPStimethatyouwantteqctostartoutputtingepochs(i.e.noepochsshouldprecedethisdateandtime) -especifythedateandtimeinGPStimeatwhichyouwantteqctostopoutputtingepochs(i.e.noepochsshouldsucceedthisdateandtime)
-GelimateallGPSSVsanddata*-RelimateallGLONASSSVsanddata*-EelimateallGalileo/GPSSVsanddata*-SelimateallSBASSVsanddata*-CelimateallBeidou2/CompassSVsanddata*-JelimateallQZSSSVsanddata*
+C2includeRINEX'C2'intheoutputandincludeanyassociateddatathatisfound,e.g.codepseudorangefromGPSorQZSSL2C**
+L5includeRINEX'L5','C5',and'S5'intheoutputandincludeanyassociateddatathatisfound,e.g.fromGPSorQZSSL5,orGalileo/GIOVEE5a**
+L6includeRINEX'L6','C6',and'S6'intheoutputandincludeanyassociateddata,e.g.fromGalileo/GIOVEE6**
+L7includeRINEX'L7','C7',and'S7'intheoutputandincludeanyassociateddata,e.g.fromGalileo/GIOVEE5b**
+L8includeRINEX'L8','C8',and'S8'intheoutputandincludeanyassociateddata,e.g.fromGalileo/GIOVEE5a+b**
-
TeqcTutorial 22
Thereisalsoanentiresetof'O.'metadataeditingoptionsforaRINEXobservationfile,mostlyfortheheaderfieldsandsomeforthedataportion.Rumteqc +helptoseealistofOoptions.Someareworthmentioning:
-O.obsexplicitlylisttheobservablesdesiredandthedesiredorder(note:donotusethisoptionwith+C2,+L5,+L6,+L7,or+L8.
-O.decgivethedesireddecimationintervalinseconds(note:iftheoriginaldatasamplingintervalis
-
TeqcTutorial 23
| L1-SAIF 1575.42 C8 L8 D8 S8 | | L2C 1227.60 C2 L2 D2 S2 | | L5 I/Q 1176.45 C5 L5 D5 S5 | | LEX S/L 1278.75 C6 L6 D6 S6 | +---------------------------------------------------------------------------+
5.4RINEXnavigationmessageandmeteorologicalfiles
Asyouhaveseen,thedefaultbehaviorofteqcduringtranslationistotaketheinputandconvertittoaRINEXobservationfileatoutput,andthisoutputissenttotheshell'sstdout(standardoutput)whichgoestothescreenorcanberedirectedtoafile:
& teqc raw_input_filename > RINEX_observation_filename
ToalsocapturetheGNSSnavigationmessagesormeteorologicaldatainRINEXassumingthatthenecessaryinformationtocreatetheseisintheinput.Thecommandisonlyslightlymorecomplicated:
& teqc+nav nav_filename(s) +met met_filename raw_input_filename > RINEX_obs_filename
InRINEX2.xx,thevariousconstellations(GPS,GLONASS,andsoon)allhavetheirownindividualfileformats.ThustheteqcoptionandargumentfortheRINEXnavigationfilenameshasastructurelike:
+nav GPS[,GLONASS[,SBAS[,Galileo[,-,QZSS]]]]
whereyoumustspecifyafilenameora'-'toskipanamefromlefttoright.Thereforetheoption
+nav tmp.gps
wouldcreateafiletmp.gpswithGPSnavigationmessages,and
+nav tmp.gps,tmp.glo
wouldcreateafiletmp.gpswithGPSnavigationmessagesandafiletmp.glowithGLONASSnavigationmessages.Thus
+nav -,tmp.glo
wouldcreateafiletmp.glowithGLONASSnavigationmessages,butnoGPSfile,andsoon.(Note:in'+nav GPS[,GLONASS[,SBAS[,Galileo[,-,QZSS]]]]'thefifthfieldis'-'asaplaceholderforaBeidou2/Compass navigation filename, following the December 2012 publication of a Beidou2/Compass ICD which defines the decoding of its broadcast navigation messages.) (Note:Galileo/GIOVEnavigationRINEXisoutputis2.12format,andQZSSnavigationRINEXisoutputinaJAXAproposedextensionof2.13format.)
Also,bycommandoptionsymmetry,youcanusethe +obs tohaveteqcexplicitlywritetheRINEXobservationfile,sothefulltranslationcommandwithoutshellredirectionis:
-
TeqcTutorial 24
& teqc{other options} +obs RINEX_obs_filename +nav nav_filename(s) +met met_RINEX_filename raw_input_filename
Theorderoftheoptions +obs, +nav,and/or +met andwhetherusingone,two,orthreeofthemisunimportant,butallthatareusedmustprecedetheinputfilename(s)andtheinputfilename(s)mustcomeattheendoftheteqccommandline(exceptforstdoutredirection,ifany).Also,theconstellationfilteringoptionsdiscussedabovealsoeffecttheresultsofwhatsatellitesarereportedintheRINEXnavigationfiles.Thus,say,using-RandrequestingaGLONASSRINEXnavigationfilewillresultinazerolengthfile.
Ifyouspecifyfilenameswithoptions+obs,+nav,and/or+met,andteqcisunabletofindandtranslatethepertinentinformationforanyoption,thenyouwillbeleftwithanzerolengthfile,i.e.afilewithnocontents.And,comingfullcircle,ifyoueliminate+obs,+nav,+metandallotheroptions:
& teqc binary_input_filename
thenyouarebacktoteqcautoidentifyingtheinputformattypeandtryingtoconvertitintoRINEXobservationfileformatandsendingthattostdout.
5.5Translationexamples
Let'sreturntoouropeningexampleandnowassumethatwewanttoextractaGPSRINEXnavigationfile,ameteorologicalfile,andtheRINEXobservationfile.Youcandoeitherdo:
& teqc+nav tmp.gps +met tmp.met cn40201210010000a.tgd > tmp.obs
or
& teqc+obs tmp.obs +nav tmp.gps +met tmp.met cn40201210010000a.tgd
TheaboveTrimbleRT27.tgdfileforsiteCN40isfor1Oct2012,startingat00:00:00GPStime:
& teqc +quiet +mds cn40201210010000a.tgd
makes
2012-10-01 00:00:00 2012-10-01 23:59:45 4783085 cn40201210010000a.tgd
Ifyouonlywantthelast12hoursofdatafromthisfile,andwanttheoriginal15secondGNSSobservationepochsdecimatedto30secondobservations,thenincludeastarttimeanddecimation:
& teqc-st 2012_10_01:12:00:00 -O.dec 30 +nav tmp.gps cn40201210010000a.tgd > tmp.obs
& teqc+quiet +mds tmp.obs tmp.gpsmakes
-
TeqcTutorial 25
2012-10-01 12:00:00 2012-10-01 23:59:30 1800178 tmp.obs 2012-10-01 12:00:00 2012-10-01 23:59:44 64408 tmp.gps
NoticethattheGPSRINEXnavigationfiletmp.gpswasalsotimewindowedandstartswithbroadcastmessagesstartingat12:00:00GPStime.
ThefollowingwilltranslateaTrimble.datfileintoaRINEXOBSfile(asredirectedstdout)andaRINEXNAVfile(specifiedbyname);thenamematching.mesfile,grnr2600.mes,isreadautomatically(thenamematching.eph and.i12files,grnr2600.ephandgrnr2600.i12,arenotusedeveniftheyarepresent):
&teqctrd+navgrnr2600.navgrnr2600.dat>grnr2600.obs
ThiswilltranslateaJavadJPSformatfile:
&teqcjavjps
ThiswilltranslateaTopconTPSformatfile:
&teqctoptps
ThiswilltranslateaLeicaMDBfileintoaRINEXOBSfile:
&teqcleicamdbu1_30sec.mdb>u1_30sec.obs
ThiswilltranslateaLeicamdbdownloadfileintoaRINEXOBSfileandaRINEXNAVfile(specifiedbyname):
&teqcleicamdb+navu1_30sec.navu1_30sec.mdb>u1_30sec.obs
ThiswilltranslateaLeicaMDBdownloadfileintoaRINEXOBSfile,withtheL1L2C1P2S1S2observables,inthatorder:
&teqcleicamdbO.obsL1+l2+ca+p2+s1+s2u1_30sec.mdb>u1_30sec.w_snr.obs
ThiswilltranslateaSeptentrioBinaryFormat(SBF)filetoRINEX:
&teqcsepsbfsept1230.12.sbf>sept1230.12_.rinex
ThiswilltranslateaSeptentrioBinaryFormatfiletoRINEX,andmaketheGPSandGLONASSnavfiles
&teqc+navsept1230.12_nav.gps,sept1230.12_nav.glosept1230.12.sbf>sept1230.12_.rinex
-
TeqcTutorial 26
5.6Commonfailuresintranslation 1."Thebinaryformatbeingreadbyteqcmustbeoneofthemanyformatsthatteqcisable todecode."Whileteqccanreadmanycommonformats,itcan'treadallofthem.Newusersoftendiscoverteqcandthenassumeitcanreadanybinaryformatandthisisnotthecase.CheckAppendixA.
2."Teqcmustbeabletoidentifytheformatbeingread."Ifteqcisnotabletoautoidentifytheformatthenyou,theuser,musttellteqcwhichformattheinputfile(s)is.CheckAppendixA.Onewaytofindoutifteqciscorrectlyautoidentifyinganinputfileistorunthe"metadataformat"check:
& teqc+mdf filename
whichshouldreturnsomethinglike
probable format of filename: format name
Iftheformatbeingreturneddoesnotlooklikewhatyouexpected,thentheautoidentificationinteqcisnotworkingforthisparticularfile.Youmayneedtosupplyextrainformation;seethereceiveroptionanditsargumentsinthetableinAppendixA.
3."TheremustbesomeGNSSdatainthebinaryfiletoactuallyconverttotheRINEXobservationformatinarecordthatteqcunderstands."Assumingthatteqcunderstandstheinputformatcorrectly,thereareatleastthreepossiblecasestonotgetanyGNSSobservationsinRINEX:
a.TheinputmaysimplynothaveanyrecordswithGNSSdata,e.g.itmaycontainonlymetadatarecords,navigationmessages,and/orotherdatarecordssuchasmeteorologicaldata.
b.Thedatafileyouareusingmaycontainthedatainanewdatarecordoramodifieddatarecordthathasbeenintroducedbythemanufacturerbutnotyetcodifiedinteqc.Ifyouareusinganewgenerationreceiverorthelatestfirmware,thisisalwaysadistinctpossibility.
c.ThereceivermaynothavebeenabletotrackanyGNSSsatellites,butcreatedemptydatarecordsshowingzeroSVsbeingtrackedateachepoch.Thiscouldhavebeenduetoareceiverproblem(suchasaconfigurationorsetuperror),anantennaproblem,acableorconnectorproblembetweenthereceiverandtheantenna,oravisibilityproblem,justtolistthemoreobviouscauses.
4."TheGNSSdatarecordsofthebinaryfilecan'tbecorruptedinanyway."Herearecommonwaysthatbinaryfilesbecomecorrupted:
a.TheftptransferofthefileisincorrectlydoneinASCIImodeinsteadofbinarymode.Alwaysdoftptransferinbinarymode.
b.ThereisanincorrectI/Oconnectiontothereceiverintheprocessofcollectingordownloadingthebinaryfilefromthereceiver.CommonerrorshereareinconsistentsettingsforserialI/O,ortryingtousetoohighofabaudrateforthedevicesortheenvironmentinvolved.
-
TeqcTutorial 27
6GettingStartedwithTeqcEditingEditingwithteqccanalterinformationinaRINEXfileheader,oraddinformationtoaRINEXheader,
asifyouusedatexteditoronthefile.UsingteqcforRINEXeditinghastheadvantageofbeingabletoprocessmanyfileswithonecommand,anduseofteqcavoidspossibletypingmistakesifyoutrytomodifyASCIIdatafilesbyhand.Teqceditingcandoalotmore;teqc"editing"alsoprovideswaystocontrolteqcprocessinganditsoutput.
AtypicalteqccommandeditsaRINEXobsfiletochangethemonumentnameintheheader. Forexample,supposethemonument(marker)nameneedstobecorrectedtoreadValley site 3inthefilevs030010.12o.Thiscanbeaccomplishedbyexecuting & teqc -O.mo "Valley site 3" vs030010.12o > temp0010.12o The input is file vs030010.12o and the output file with the new monument name is
temp0010.12o.The teqc -O.mooption(shortfor-O.monument,'setobsfilemonumentnameto')specifiesthattheoriginalmonumentnameinanobsfilebeingprocessedistobe replacedwiththestringValley site 3. Thedoublequotesusedafter -O.moencapsulateacharacterstringwhichcontainsblanks.Iftherearenoblanksinthecharacterstring,thedoublequotesareoptional.
ThereisanoptiontochangeeachheaderfieldinaRINEXfile.ToseemostoftheavailableRINEXheaderoptionsforaparticularRINEXfile,dothiscommandwiththeRINEXtargetfile:
& teqc ++config vs030010.12o Thisproduces,inpart,somethinglike
-O.mo[nument] "VS03"-O.mn "31234M003"-O.rn "2332"-O.rt "JPS EGGDT"-O.rv "2.7.0"-O.an "CR6200324011"-O.at "ASH701954G_M NONE"-O.px[WGS84xyz,m] 4041274.8417 1816054.1204 -3997075.1216
teqc ++config outputsthecurrentvaluesfortheheaderitemsoftheobsfile,aftereach-Ooption.Textinside[]isanoptionalpartoftheoptionname,notrequired.Thecommand teqc ++config
usedwithanavormetfileshowsotherheaderitemsandoptionssuitablefornavandmetfiles.
Optionsbeginningwith-O.modifyobsfiles,optionswith-N.modifynavfiles,andoptionswith-M.optionsmodifymetfiles. NotethatsomeeditingoptionsforRINEXfileheadersare notshownwithteqc ++config.YoucaneditseveralheaderlinesofaRINEXfileinasingleteqccommand:
& teqc -O.mo "valley site 3" -O.rt "JPS EGGDT" -O.px 5041274.8417 1916054.1204 -3397075.1216 -O.at "ASH701945G_M NONE" vs030010.12o >+O.c teqc edit demo new comment temp0010.12o
Inthisexampletheoriginalfileinput,vs030010.12o,isunchanged,andthenewfiletemp0010.12o shouldbethesame,exceptforthenewormodifieditemsgiveninthecommandline.
-
TeqcTutorial 28
Thechangesaremadeintheordergiven.Generally,ifyouhappentorepeataneditingoptioninonecommand line, only the first optionvalue is used, andsubsequentchanges to thesame itemareignored.
Teqceditingcannotalter thefirst headerrecord(line)ofaRINEXfile, andcannotalter RINEXheadercomments. Youcanappendmorecomments intheRINEXheaderusingoption +O.c. Theoption minus-O.cshowsoriginalheadercommentswhenusing ++config,sobesuretouseplus+O.ctoappendanewcomment.Useteqc ++configwithaRINEXfilename:
forareminderaboutteqcRINEXheadereditingoptions
toseewhat'sinthefileheader
tomakeateqcconfigfiletocontrolfutureteqcprocessing(next)
toseesomeofteqc'sotherprocessingoptionsandthevaluesinuse
Youcanredirecttheresultsofteqc ++configtocreateanewfile,whichiscalledtheteqcconfigurationfileforthisparticularinputobsdatafile:
& teqc ++config vs030010.12o > vs03_config Thisconfigurationfile, vs03_config, canbemodifiedwithatexteditortohaveneworrevised
informationfortheRINEXfileheader.Thenyoucanusetheconfigfileasinputtoteqc,withoption-config,todoteqcediting.Ifyourevisedthefilevs03_configtohavethenewvaluesusedinthepreviouseditingcommandexample,andthenranthecommand
& teqc -config vs03_config vs030010.12o > temp0010b.12otheresultwillbethesameaswiththeprevious(andlonger)commandline.Theoption-configtellsteqcthattheargument(file)comingnexthaseditingcommands.Teqcreadsthecontentsoftheconfigfile,treatseachlineasacommandoption(goingfromfirstlinetofinallineintheconfigfile),andmakesthechangesneededtomaketheteqcoutput. Teqclooksataconfigfileasasetofcommandlineoptionstoprocessfromtoptobottom(youchoosetheorder).Aconfigurationfileneednothavealltheteqcoptionspossible;keeponlyoptionsyouneed.
YoucaneditRINEXnavandmetfileheaderswithconfigfiles,too.Firstmakeaconfigfilefromthenavormetfile;alterittohavetheoptionsyouneed,andrunteqc -config withthatnewconfigfile.OneofthestrengthsofteqcisthatyoucanmakeoneconfigurationfileforuseinroutineprocessingofmanyRINEXfiles.
Teqceditingcanuseoptionsinthecommandline,orthecommandlinecanhave-configandthenameofaconfigfilecontainingoptionsandarguments.Whichwayisbestdependsonthesituation.Youdon'treallyneedtouse any configurationfiles, orperhapsusejustafewconfigurationoptionsusedascommandlineoptions).
Alloftheoptionsshownbyteqc ++configcanbeusedinateqccommandtomodifytheoutput.Somechangehowteqcprocessesdataandmakesresults,unrelatedtoRINEXfileheaders. Theseareoptionswhichdonotbeginwith-O,-Nor-M.Forexample-st and-esetthestartandendtimesforprocessing,aswhendoingateqcqcrun.Seetheteqcoptionslistshownwithteqc +help.Oneshouldgetinthehabitofrunning`teqc+help`togetalistingofallthepossibleoptionsforteqc.
-
TeqcTutorial 29
7GettingStartedwithTeqcQCTeqcqualitycheckingcomputesseveralmeasuresofqualityoftheinputdataandspecifiesproblems
withGNSSobservablesstored inGNSSobservablefiles. TeqcqualitychecksGNSSsignalsandreceiverbehaviorusingdatafrom mostGNSS receivers. TeqccanreadtheRINEXformat,manynativebinaryformats,andBINEXfiles.TeqcqcmayoptionallyuseSVephemerisdatainnavfilesforimprovedQCresults.
TeqcqcshowssignalqualitywithtimeforeachSVdetected,createsasummarytableofcommonlyusedstatisticsandmakesafilewithafullreport. TeqccancreatefileswithvaluesofSVskypaths(azimuthandelevation)asseenfromthereceiver,sitemultipathcombinations,receiversignaltonoiseratios,andionospheredelays.
TheformatandcontentsofteqcqcprocessingresultsarenotguaranteedtoremainunchangedasUNAVCOimprovesteqc.Westrivetolimitchangestooneswhichwillhelp,andnotchangeanythingwithoutagoodreason.Ifwechangecontentsorformatofresults,thechangesaredetailedinreleasenotesandannouncementsbyemail.
Section7.1showscommonteqcqccommands,andsection7.2describesdetailsaboutthecommandsandabouttheresultsreportedbyteqc.
7.1QCcommands
Qc'ingaRINEXobsfileisaseasyastyping
& teqc +qc jplv1200.10oThebasicteqcoptionstodoqcare+qcand+qcq.Thetargetorinputfileonthecommandlineisastation'sobsfilename. Executingthecommandshouldproducesomethingif jplv1200.10o isavalidandcompleteRINEXobsfile.Exactlywhatqcdoesdependsonthedefaultqcsettingsinteqc,whichusuallyarethechoicesthatmanyuserswantfromroutineqcprocessing. Ifneeded,youcanchangetheteqcdefaultsoroverridethemwithcommandlineoptions.
The teqc +qccommandmakesthisoutput:
thescreenoutput(stdout),comprisingtheteqcASCIItimeplotandthesummaryreport
theqcfullreport,inafilenamedjplv1200.10S inthiscase.NotethefinalcharacterS.
andstandarderror(stderr)output,ifany.
Thecontentsandformatsoftheseproductsaredescribedinsection7.2,next,andinAppendixC.
Torunteqcqcanddiscardany'standarderror'outputonLinux(seesection4.5):
& teqc +qc jplv1200.10o 2> /dev/null
-
TeqcTutorial 30
Torunteqc +qc,discardanystandard'error'output,andsavescreenoutputtofileoutfile: & teqc +qc jplv1200.10o 2> /dev/null > outfileTheobsfileargumenttoteqcmayhaveacompletefilepath.Iftherearenavfilescorrespondingto
thestation'sobsfile,inthesamefilepathastheinputobsfileintheteqcqccommand,thenteqcwillfindandusethenavfiles.Intheexample,teqcwilllookforandusethefilesjplv1200.10n(theGPSnavfile)andjplv1200.10g (theGLONASSnavfile)iftheyexistinthesamefilepathastheobsfilejplv1200.10o.Thecasesensitivealgorithmformatchingnavfilenamesfromobsfilenamesisasfollows,where
YYrepresentstheyearwithtwodigits,e.g.YY==13,and *isthefilenamebeforetheextension:
*.YYo looksfor *.YYn and *.YYg*.YYO looksfor *.YYN and *.YYG*.obs looksfor *.nav and *.glo*.OBS looksfor*.NAV and *.GLO
Ifthenavfileiscorrectlynamedandinthesamelocationastheobsfile,teqcwillautomaticallyfinditandreaditanduseitsdata.Youmayuseacompletefilepathandnamefortheobsfileandthenavfiles.Thefilenamesshouldmatcheachotherinupper/lowercase:anobsfileendingin.12owillnotfindamatchingnavfileendingin.12N.Youcantellteqc +qctouseanavfileregardlessofitsfilename,withthe-nav optionandthenavfilenameasitsargument. Inthenextexample, thenavfileisaspecialnavfilebeginningwithbrdcwhichdoesnotmatchtheinputfilesjplv,sothebrdcfilewillnotbeautomaticallyfoundandreadbyteqcwithoutthe -navoption.
& teqc +qc -nav brdc1200.10n jplv1200.10o
Youcanusetwoormorenavfilesasinthiscommandwhichdoesteqcqcqusingthetwobrdccombinednavfiles,brdc0970.14nbrdc0970.14g,andwhichsendsalloutputtonewfilemal20970.14_qc.txt.Thelistofnavfilenamesmustbeseparatedwithacommaandnothingelse:
& teqc +qcq -nav brdc0970.14n,brdc0970.14g mal20970.14o > mal20970.14_qc.txt 2>&1
Ifnonavfilesareusedbyteqc+qc,theresultsare qclite (whichisnotqcquick). Teqc qcliteprocessinghasnosatellitepositioninformation.Teqcqccandoqcfull,whenyouhavenavfiles,ordoqclitewithoutnavfiles.Whichyougetdependsonhavinggoodnavfiles.
IfyoudeliberatelydonotwanttousetheGPSephemeridesfromanavfileuseoption-no_orbit: & teqc +qcq -no_orbit G jplv1200.10o
IfyoudeliberatelydonotwanttousetheGLONASSephemerides:
& teqc +qcq -no_orbit R jplv1200.10o oruseoption-no_orbit G,Rtouseneithersetsofephemerides.GisforGPS,RforGLONASS,EforGalileo,andJforQZSS.Alternately,moveorrenamethenavfilessothatteqccan'tfindthem.
-
TeqcTutorial 31
Teqcqcprocessingautomaticallyswitchesfromqclitetoqcfullwhenenoughsatelliteephemeridesareencounteredinthedatastream.
InthecaseofGLONASSwithnonavfiles, thereisnoinformationtoconverttheGLONASSslotnumberstotheappropriatefrequencychannelnumbers,whichareneededtoconverttheGLONASSphaseobservablesfromunitsofcyclestometers.N isusedtoindicatethesemissingnumbersintheASCIItimeplot(seebelow)attimeswherethereisobsdata.Also,sincethere'snoGLONASSphasedata(inmeters),therearefewertotalobservationsbecausenowtherearenoGLONASSobservationsforteqcprocessingwhichrequiresbothdualfrequencyphaseandpseudoranges.
Theresultsfromqclite,andfromteqc +qcwiththe-no_orbitoption,arethesamewhenthereisonlyGPSdata.ForqclitewithGLONASSobsdatabutwithoutanavfile,thereisnoinformationtoconverttheGLONASSslotnumberstotheappropriatefrequencychannelnumberswhichareneededtoconverttheGLONASSphaseobservablesfromunitsofcyclestometers,sointhatcaseGLONASSqcliteresultsarenotthesameasteqc +qc -no_orbit R. So,ifyouhaveanobsfilewithbothGPSandGLONASSvalues, qcliteisnotthesameasusingteqcwith+qc -no_orbit G,R sincetheGLONASSdataishandleddifferentlyinthetwocases,asdescribedabove.
ForfullqcwithGLONASS,youneedtheGLONASSfrequencychannelnumbermapping,whichisusuallyprovidedinaGLONASSnavfile. However,ifaGLONASSRINEXnavfileisnotused,thenyouhavetocreateamappingfile;seejustbelowinthesection"GLONASSProcessingDifferences".
Ifastationismissinganavfile,orifanavfileisincomplete,youcantryacombinedbroadcastnavfilessuchasbrdc1200.12g(forGLONASS)andbrdc1200.12n(forGPS).Youcandownloadbrdccombinedbroadcastnavigationfilesfrom,forexample,
ftp://cddis.gsfc.nasa.gov/glonass/data/daily/2012/120/12gorfromftp://cddis.gsfc.nasa.gov/gps/data/daily/2012/120/12n(zippedasbrdc1200.12n.Z).
Tousewithteqcqc,unzip,thenrenamethosefilestothenavfilenamewhichteqcexpectscorrespondingtotheobsfile.Ormakealink(onLinux)toservethesamepurpose,orusethe-navoption.NotethatthesebrdcfilesarenottheIGSfinalorbitfileswhichhaveSVpositionsintheITRF,notinGPS'sWGS84referenceframe.
Ifyoudonotneedtheqcfullreport,usetheteqcoption+qcq forqcquick: & teqc +qcq jplv1200.10oOnlyscreenoutput(stdout)anderroroutput(stderr)iscreated. Qcquickisnot thesameasqclite.Qcquickusesnavfiledataifitisavailableandtheqcvaluescomputedareexactlythesameasthoseofqcfull,butsomeoutputfilesarenotgenerated;qclitedoesfewercomputations.
Manyotherchoicesforteqcqcprocessingareprovidedwithoptionsandteqcconfigfiles.Toseehowtochooseoralter teqc'sqcoutputusing the teqcconfigfile, seethe TeqcUserGuide. Foroptions,lookattheoutputfromteqc +help.The90somelinesinthisoutput,aftertheline
+qc quality checking (w/ following options)
-
TeqcTutorial 32
showoptionstomodifyorspecifyteqcqcresults.Forexamplethecommand
& teqc +qcq -set_mask 7.5 jplv1200.10osetstheelevationmaskto7.5degreesabovethehorizon.
Teqc'sdefaultmaskelevationis10.00degreesabovethehorizon.Thehorizoninteqcisdeterminedbythelevelplaneparalleltotheellipsoid,throughthereceiver'santenna,notthelocaltopographicskyline.Tosettheelevationmaskuseteqcoption-set_mask md,forelevationmasksettothenumbermdindegrees.
GLONASSProcessingDifferences
GLONASSL1andL2(alsocalledG1andG2)frequencybandsarecurrentlyanFDMAsystem.Forteqc,acaveatisthatteqcmustknowwhattheslottofrequencychannelnumber(fcn)isforeachGLONASSSV(L1andL2,butnotL3)inordertoconvertthephaseinformationfromunitsofdistancetounitsofcycles,whichisneededfortheinternalphaseinteqcandforpossibleoutputoftheGLONASSdataasRINEX.GLONASSstorageofthephaseisinunitsofdistance,whereasRINEXusesunitsofcycles.
IfaGLONASSnavigationmessageisencountered,thentheslottofcnisextractedfortheSVinquestionandstoredandthereafterusedforanyfollowingGLONASSdataforthatSV.Therefore,ifGLONASSnavmessagesforallSVsbeingtrackedalwaysprecedeGLONASSdata,thenallwillbewell.However,thismightnotoccur.Asupplementalmethodistosupplyteqcwithaseedlistofslottofcnconversionsinafile(forexample,filemys2fcn)containingforexample:
1 12 43 54 65 16 47 58 6
Usingsuchalistiseasy:
& teqc -glonass_s2fcn mys2fcn -binex {other options} 0x7f-03.bnx
AnotherproblemisthattheGLONASSgroundcontrolsometimeschangestheslottofcnmappingforoneormoreSVs,sothislistingisnotconstantovertime.
Ifaslottofcnisnotknown,thenyouwillgetthefollowingtypeofwarningsforeachSV:
! Warning ! no slot-to-fcn conversion for GLONASS R06.
ThenewL3(G3)frequencyonGLONASSKisCDMA.TheslottofcnmappingisonlyneededforthetraditionalL1andL2data.
-
TeqcTutorial 33
7.2InterpretingQCresults
Thissectiondescribestypicaloutputfromaqcfullrun,teqc +qc,fora"good"obsfilewith"good"navfilesforbothGPSandGLONASS.ThedataisforthecompletedayofApril30,2010,fromstationJPLV,with30secondobservationinterval.
Thisisnotacompletedescriptionofallpossibleqcoutput,butofonefairlytypicalexamplewithgooddata.
Theteqccommandforfullqcis
& teqc +qc jplv1200.10oandthefilesjplv1200.10o,jplv1200.10n,andjplv1200.10gareinthecurrentworkingdirectory(folder).Youcanusefullfilepathsforfilesifyouwishto.
TheQCScreenOutput:theASCIITimePlotandtheShortSummary
Examplescreenoutputlinesarefollowedbyadescription.Screenoutputisstandardoutput(stdout)andmayberedirectedtoafileifyouwish(seesection4.5).
Thefirstlineofscreenoutputisthereleasedateoftheteqcversion:
version: teqc 2011Oct11
Nextmaybesomestandarderroroutput(stderr)tothescreen:
! Notice ! GPS week in GPS week in RINEX nav = 1581; (default) GPS week = 1673! Notice ! ephemeris for SV G32 in nav file 'jplv1200.10n' @ ToC= 2010 Apr 30 17:59:28.000 (near line 1115) not being used! Notice ! ephemeris for SV G32 in nav file 'jplv1200.10n' @ ToC= 2010 Apr 30 19:59:28.000 (near line 1203) not being used
Ifthissortofinformation(stderr)isofnousetoyou,add2> /dev/nulltotheendofthecommandline(Linux).
Next,theqc >>>lineisaprogressindicator.qc-full >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
NexttheteqcqcASCIItimeplotgoestothescreen.Anexampleiscopiedbelow,anddescribedindetail.
SV+---------|--------|--------|--------|--------|--------|--------|--------+ SV 3|oooooo-__ _^oooooooooooo++_ _++oooo| 3 4| _++oooooooooooooo+__ _^+oo+++_| 4 6|ooooo-_ __^ooooooooooooo++_ _++ooo| 6 7|oooooooooooooo+++ __-oooooo| 7
-
TeqcTutorial 34
8|ooooooooooooooooooo+_ _+oo| 8 10|ooooooooo++_ _++ooooooooooo-__ _-a| 10 11| _++ooooooooo-__ __+oooooooooooo++_ | 11 13|ooooooooo++ _^+oooooooooo| 13 16|o-_ __-oooooooo++_ _++oooooooooooo| 16 19|oooooooooo-_ __-ooooooooooo+_ _++o| 19 20|o++_ _____ _++ooooooooooooooo| 20 23|oooooo++_ _+oooooooooooooo| 23 31| ___+++++_ ++ooooooooooooooo+__ | 31 32|+ _++ooooooooooooooooooo+| 32 28|+ooooooooooooooooooooo++ +| 28 5|__-oooooo++_ ++oooooooooooooo-_ | 5 17| _+oooooooooooooooooo+__ | 17 15| __-oooooooooo++_ _+oooooooooooo-_ | 15 27| __+oooooooooooooo++_ __++ooooo-__ | 27 26| _-oooooooo++_ _+ooooooooooooo-_ | 26 9| _^oooooooooooooo+_ _^+oooooo-__ | 9 2| ++ooooooooooooooooo++_ | 2 12| _++oooooooooooooooo++_ _ | 12 30| _+ooooooooooooooo++ __+++o+___ | 30 29| _++ooooooooooooooooooo++ | 29 21| ++ooooooooooooooooooooo+_ | 21 24| _++oooooooooooooooooooo++ | 24 18| _+oooooooooooooooooooo+_ | 18 22| _+ooooooooooooooooooooo+_ | 22 14| _++ooooooooooooooooo+__ | 14R 1|******11_ ++******2_ _-**********|R 1R20|**2**-_ _-*************++ |R20R21|2*2*******2-_ -************+_ ???|R21R 7|? ++2*****************++ |R 7R 8|***++ _++2***************+|R 8R10|***1+__ +2*************-_ |R10R11|*********2**+_ ++************|R11R 2|-*********+_ _++*********--_ --****|R 2R22| ++************- -********++ ?|R22R13| _++****************+_ ??|R13R 3| -****++_ _++*2**********- |R 3R23| +***************- _-****2++ |R23R24| ++***************1++_ |R24R14| _-*************+_ |R14R17| _+2******************++ |R17R15| --**********1+_ _^******2_ |R15R18| _++******************+_ |R18R 9| _2222222+ _+222*2222*2222_ |R 9R19| _++****************+_ |R19R 4| 2**************+_ |R 4R 5| ++****************++_ |R 5-dn|+ ++ ++ + + ++++ ++ ++ + +++++ + + + +++++++ ++++ + +|-dn+dn|111 11 11 1 1 11 2 1111 11 1 11 1 11 2 1 1 111 11 |+dn+10|iihihghhghebbdfeeefffedeggghgffffhhhfgggeffgijhghhhhhgfdddddcdddcdddedff|+10Pos|ooooo o o |PosClk| |Clk +---------|--------|--------|--------|--------|--------|--------|--------+00:00:00.000 23:59:30.0002010 Apr 30 2010 Apr 30
-
TeqcTutorial 35
Thisresultistypicalofa24hourobsfilewith30secondobservations,nearcompletenavdata,andmostlygooddatainallfiles.ThetimeplotshowssignalqualityindicatorsbytimeforeachSVinthedatafile.
Therearemanysymbolsofdataqualitypossibleinateqcqctimeplotwhichdonotappearinthisexample.SeeAppendixB,TeqcASCIITimePlotSymbols,foralist.
Thetopoftheplotshowstimebindivisions,andlabelsthecolumnwhichhasSVPRNnumbers:
SV+---------|--------|--------|--------|--------|--------|--------|--------+ SV
Acorrespondingtimescale,withstartandendtimevalues,isatthebottomoftheplot:
+---------|--------|--------|--------|--------|--------|--------|--------+00:00:00.000 23:59:30.0002010 Apr 30 2010 Apr 30
Thisexamplespans24hoursofobservations(every30seconds),fromthebeginningofthedayuntilthelastobstimejustbeforethestartofthenextday.Thisplothasatimescalewith8intervalsof3hours.Eachintervalendswithamark"|"onthetimescale.Eachmarker"-"or"|"onthetimescaleisatimebin,20minutesinthiscase.Youcanchangethetimescale(durationoftimecoveredwithqcprocessing)andtimebindurationwithteqcqcoptions.
3|oooooo-__ _^oooooooooooo++_ _++oooo| 3
ThelinecopiedaboveisthetimeplotlineforGPSPRN3.Thesymbolsmean:
omeans"A/Son;L1C/A|P1L2P2."Thatis,thisisaGPSSVwithobservablesL1,L2,P2,andeitherC/AorP1inthistimebin.A/Sison.ThisisthenormalgooddualfrequencyGPSdatawithphaseandcodepseudorange._ meanstheSVascalculatedbyteqcusingsuppliedephemerides(navfile),isbelowtheelevationmask(lowelevationangle)andtherearenousableobservablesinthistimebin.-meansthattheSVwascalculatedusingthesuppliedephemeridestobeabovetheelevationmask,andnousableobservationdatawaspresentforthisSVinthistimebin.+meanstheSVwascalculatedusingthesuppliedephemeridestobebelowtheelevationmask(lowelevationangle)andthereareusableobservables.^ meanspartialSVdatabelowtheelevationmask
ThefivesymbolsaboveareverycommonwhentestinggoodGPSdata.Notethatthepatternssuchas_-+ooooooo-__aresimplegraphstomimictherisingandsettingofasatellite.InthelineforGPSPRN10:
10|ooooooooo++_ _++ooooooooooo-__ _-a| 10
thenewsymbolameansA/Son;L1C/Ai.e.noP1orL2orP2.
Othercommonsymbolsare I,1,andM,asinthelineforPRN6:
-
TeqcTutorial 36
6|I-Mooo-__ _+oooooooooooooo1_ _+o| 6
I meansoneormoreionosphericphaseslipsinthistimebinM meansoneormoreMP1andMP2,orMP15andMP51,slipsinthistimebin.TheMPvaluesaredescribedbelow.1(one)meansoneormoretimesinthistimebinhavemultipathMP1sliponly.
Inlineswithcor2:
30|+_ _+ooooooooooooo+_ __cooooooooo| 30 31| _+ooooooooooo++ __-ooooooooo2o+_ | 31
cmeansoneormoretimesinthistimebinhasL1andC/Aobservablesonly(andhenceA/Sisnotapplied)2meansoneormoretimesinthistimebinhavemultipathMP2sliponly.
ThelineforGLONASSPRN1:
R 1|******11_ ++******2_ _-**********|R 1
*meansallGLONASSobservablesinthistimebinaregoodL1L2P1P2;noA/Swasapplied.This*istheusualGLONASS"good"dataindication,likeointhetimeplotlinesforGPS._, -, 1, 2,and +meanthesameasdescribedabove.
InthelineforGLONASSPRN21:
R21|2*2*******2-_ -************+_ ???|R21
?indicatesatimeintervalwithgoodGLONASSobsdataforthistimeandSV,buttherearetoofewephemeridesatnearbytimestomakeagoodinterpolationofaGLONASSorbitpositioninthistimeinterval.Generallythisoccursatthebeginningorendoftheday(ashere)andthereisnotenoughtimetogetenoughephemeridestofixtheorbit.SevenormoretimecontiguousGLONASSephemeridesareusedbyteqc(sinceOctober2011)todetermineanorbit;fewerwillnotgiveanaccuratesatellitelocation.Youmayseecaseswherethereareseveral?togetherindicatingseveralobsbuttoolittleGLONASSnavdatatogetanorbitpositionthere. ThisoccursforexamplewhenaGLONASSSVisonlyabovethehorizonforsaytwohours.
The-dn,+dn,Pos,and+nn(wherennissomenumber)linesrefertoalltheSVscollectively:
-dn|+ ++ ++ + + ++++ ++ ++ + +++++ + + + +++++++ ++++ + +|-dn+dn|111 11 11 1 1 11 2 1111 11 1 11 1 11 2 1 1 111 11 |+dn+10|iihihghhghebbdfeeefffedeggghgffffhhhfgggeffgijhghhhhhgfdddddcdddcdddedff|+10Pos|ooooo o o |Pos
A1 (one)onthe-dn linemeanseveryepochinthattimebinismissingatleast1SVwhichcouldhavebeentrackedabovetheelevationmaskangle,andsoonforothernumbers2to9.Letters"a"andaboverepresentnumbersof10andabove.Blanksonthe -dnlinemeanzero:
-
TeqcTutorial 37
therearenomissingSVsatthosetimes.
A+inthe-dnlinemeansthereisdataforoneormoreSVsbelowtheelevationmask(sameasthe+ intheSVlines)inthattimebin. Inthisexampleeachtimebinis20minuteslong,andthereare40(30second)epochsinabin.
A1(one)onthe+dnlinemeansoneormoreepochinthattimebinismissing1SVwhichcouldhavebeentrackedabovetheelevationmaskangle;a 2meansthereisatleastoneepochinthattimebinthatismissing2SVsthatcouldhavebeentracked.Lettersaandaboverepresentnumbersof10andabove:forexampledis14.Typicalgooddatahasblanks,1s,and2sonthe+dn line(withperhapsafewcbinsmeaningnotrackingofanySVs:noA/S;L1C/A).Ifyouseeseveralof5orhigher,orlettersaandabove,thatisanalertthatyoumayhavebadnavmessages.
The +10 asalinelabelinthisexamplemeanstheelevationmaskis10degreesabovethehorizon.Thenumberusedforthelinelabelwilldifferfrom+10forotherelevationmaskangles.ThecharacterineachtimebinshowsthecountofSVswhich(theoretically)shouldhavebeentrackedabovethisangle;thisisnotacountofmissingdata. Letters a andaboverepresentnumbersof10ormore."Good"dataoftenlookssomethingliketheexample+10lineabove.
The Pos line symbol o records thesuccessof calculatedcodepositions for the receiver'santennaatthedifferentepochs. Thereisano inatimebinwhereapositioncalculationwassuccessful.
TheClkline:Clk| |Clk
Thislineshowsreceiverclockresetspresentintheobservationtimetagswitheithera+orsymbol,meaningeitherapositiveornegativemillisecondreceiverclockresetwasdetected,respectively.Anemptylinemeansnoclockresets,as inthisexample. Symbolsusedinthe Clk linearelisted inAppendixB.Symbols +or -meaneitherapositiveornegativemillisecondreceiverclockresetwasdetected. Anothersymbolis ^whichislowerintheclocksymbolhierarchythaneither +or -,andindicatesatleastonemissedobservationepochinthattimebin.Acorrectvalueoftheobservationsamplingintervalmustbesetforthistoworkcorrectly.Use-O.intoptionifyouneedtooverrideit.
TheQCSummaryReport
FollowingtheASCIItimeplotinteqc'sqcstdoutorscreenoutput,isthesummaryreportwithmoreinformationabouttheRINEXobsdata,aidedbyinformationinnavfilesinthecaseof qcfull.(Thesummaryreportfromqcfullislongerthanfromqclite.)*********************QC of RINEX file(s) : jplv1200.10oinput RnxNAV file(s) : jplv1200.10n jplv1200.10g*********************4-character ID : JPLV (# = NONE) Receiver type : JPS EGGDT (# = 2076) (fw = 2.7.0)
-
TeqcTutorial 38
Antenna type : JPLD/M_R NONE (# = UNKNOWN)Time of start of window : 2010 Apr 30 00:00:00.000Time of end of window : 2010 Apr 30 23:59:30.000Time line window length : 23.99 hour(s), ticked every 3.0 hour(s)
Thefirst twelve lines(above)showthefilenamesofall datafilesprocessedinthisrunof teqcqc(including any files not entered in the command line but found by teqc), the receiving station 4characterID,thereceivertype,theantenna,thestartandendtimesforobservables,andthelengthoftimespanned.Ifyoucontrolteqcwithconfigfile(s),alistoftheteqcconfigurationfilesusedwillbeincluded.
antenna WGS 84 (xyz) : -2493451.9808 -4655342.9946 3565190.6477 (m) antenna WGS 84 (geo) : N 34 deg 12' 5.79" W 118 deg 10' 26.34" antenna WGS 84 (geo) : 34.201609 deg 241.826017 deg (= -118.173983 deg) WGS 84 height : 402.2559 m|qc - header| position : 41.5296 m
Thesefivelinesaboveshowvaluesfortheantennapositionestimatedbyteqcqcinqcfullmode,intheterrestrialreferenceframecoordinatesystemusedbythebroadcastnavfilesoftheGNSSsysteminuse.Thefirstthreeshowtheestimatedpositioninthreeformats(Cartesianandtwogeographicsetsofcoordinates).
TheWGS 84 heightgivesanestimateoftheheightoftheteqcqcantenna,abovetheWGS84ellipsoid.(Notethatthisheightisnotatrueelevationaboveageoidormeansealevel.Avalidheightaboveanellipsoidmaydifferfromtheelevationofthesamepositionbyasmuchas50metersormore.)
The|qc - header| position lineshowsthestraightlineseparationdistancefromtheteqcqcantennapositiontothe(oftenmoreaccurate)position intheobsfileheader, if there isone.Teqctypicallyshowsabout10to40metersforthisvaluewhenprocessing"good"obsfiles. Teqcdoesnotcomputeorneedprecisepointpositions. Teqcantennapositions fromteqcareonlyapproximate.TeqcusespositionsonlytodetermineSVskypositionsasseenfromthereceiver,totellwhenanSVisin view. If |qc - header| position greatly exceeds 40 meters there may be a problemsomewhere.
GLONASSpositionsinGLONASSoperationsareinthePZ90referenceterrestrialreferenceframe.TeqcconvertsGLONASSPZ90coordinatevaluestotheWGS84referenceframe.Theconversionisasexactaswecoulddetermine.TimesystemshiftsfromGLONASStimetoGPStimearealsomade.
Observation interval : 30.0000 secondsObservationintervalisthetimeintervalbetweenobservablesinthisfile.
Total satellites w/ obs : 51NAVSTAR GPS SVs w/o obs : 1 25NAVSTAR GPS SVs w/o nav : GLONASS SVs w/o obs : 6 12 16 GLONASS SVs w/o nav :
Thefivelinesaboveshowthetotalnumberofsatelliteswithanytypeofobservation,followedbyalist
-
TeqcTutorial 39
ofPRNnumbersforSVswithmissingobs(w/o obs),andPRNnumbersofSVsthatdidnothaveephemeris information (w/o nav). In this case all GPS and GLONASS SVs have navigationinformation.
Rx tracking capability : 22 SVsPoss. # of obs epochs : 2880Epochs w/ observations : 2880
Thesethreelinesshow: HowmanySVsthisreceivercantrackatonetime. Howmanyobservationepochsareinthetimewindow(a24hourfilewith30secondtimesteps
has2880obsepochs). Howmanyepochsthatactuallyhad"completeobservations"fromatleastoneSV.Complete
observations"aredefinednext.
Ateqc "completeobservation"isdefinedasintheoriginalQCsoftwareonwhichtheqcalgorithmisbased,datingfromtheearly1990's.Acompleteobservation=phaseandcodepseudorangedataonboththeL1andL2carrierforGPSandGLONASSdata,andalso"good"S/NdataonbothL1andL2,andthatisusuallythecasewhenthethresholdwaszero.Aso,ifqcfull,thentheSVelevationhadtobeatorabovetheelevationmask.Ifyoufailtofindanycompleteobservations,youmightbemissingL2data,ormaybejustL2phasedata.Runteqc -O.sum . inputfile onyourdatafile.DoyouseeanyL1,L2,C1|P1,C2|P2columnspopulated?
Epochs repeated : 0 (0.00%)Possible obs > 0.0 deg: 50216Possible obs > 10.0 deg: 41538Complete obs > 10.0 deg: 41293 Deleted obs > 10.0 deg: 26 Masked obs < 10.0 deg: 203Obs w/ SV duplication : 0 (within non-repeated epochs)
Thesesevenlinesshow: Howmanyepochsappearmorethanonceintheobsfile.Zeroisperfectlyacceptable. Howmanytotalpossibleobservableswereabovethehorizonwhichisat0.0degreeselevation
(dependsonhowmanySVswereavailable). Howmanytotalpossibleobservableswereabovetheelevationsmaskangle(dependsonhow
manySVswereavailable,andtheelevationmaskangle,10.0degreesinthiscase). Howmany"completeobservations"areinthisobsfile,abovetheelevationmaskangle. Howmanydeletedobservations;ifqcfull,thisisrestrictedtothoseobservationsabovethe
elevationmask. Howmany"completeobservations"areinthisobsfile,belowtheelevationmaskangle. HowmanycaseswhereoneSVhastwoormoreobservablesinoneepoch("SVduplication").
Moving average MP1 : 0.394362 mMoving average MP2 : 0.494921 m
-
TeqcTutorial 40
ThevaluesMP1andMP2areteqc'scomputedvaluesoftheRMSmovingaveragevaluesofthemultipathcombinationsMP1andMP2, inmeters. MP1andMP2are linearcombinationsof thepseudorangeandcarrierphaseobservations,indicatingtheL1pseudorangemultipathforC/AorPcodeobservations,andtheL2pseudorangemultipathforPcodeobservations.
Theseshowtheaverage(RMS)MP1andMP2multipathinmeters. If qcfull,themultipathvaluesareonlyforobservationsabovetheelevationmask.
SinceDecember2013teqcqchasreportedGNSSmultipathestimatesbetweenthe"L1"carrierandwhateverothercarriersarepresent:
Moving average MP1 : 0.699214 m Moving average MP2 : 0.550381 m Moving average MP15 : 0.613068 m Moving average MP51 : 0.560702 m Moving average MP16 : 0.563154 m Moving average MP61 : 0.335918 m Moving average MP17 : 0.604290 m Moving average MP71 : 0.413092 m Moving average MP18 : 1.452014 m Moving average MP81 : 1.417948 m Theabovemultipathvaluesarefromactual24hourdatafromPerth,Australia,trackingGPS+
GLONASS+SBAS+Galileo+Beidou/Compass+QZSS.
Points in MP moving avg : 50
Ifamovingaveragewindowwasused(whichisusedbydefault), theaveragingwindowlengthisgivenasanumberofpoints(Points in MP moving avg,thenumberofobservationsinthemovingaverage).
Mean S1 S2 : 46.08 (sd=4.49 n=41325) 33.44 (sd=7.87 n=41299)
S1andS2arethemeanofthesignaltonoiseratioforL1andL2.Unitsarereceiverdependent,thoughmanynewreceiversusedBHz.Alsoshowsthestandarddeviation(sd=,inthesameunits),andthenumberofvalues(n=)usedtocomputeS1andS2.No. of Rx clock offsets : 0Total Rx clock drift : 0.000000 msRate of Rx clock drift : 0.000 ms/hrAvg time between resets : Inf minute(s)
Thesefourlinesshow: Thenumberofdetectedmillisecondreceiverclockresets. Thetotaldriftofthereceiverclock. Anestimateoftheaveragereceiverclockdrift. Theaveragetimebetweenresetsinminutes.
Freq no. and timecode : 2 11072 ffffffReport gap > than : 10.00 minute(s)
-
TeqcTutorial 41
Thefirstvalueinthefirstline(2inthiscase)ishowmanyfrequenciesareavailable.(Theremainderofthis line,suchas 11072 ffffff, isforusebytheonlineUNAVCODataArchiveInterface.) ThelengthoftimerequiredbeforenotinganSVdatagap(Report gap > than)isreported. If qclite,amaximumtimeisalsogiven.
epochs w/ msec clk slip : 0other msec mp events : 0 (: 220) {expect ~= 1:50}
Ifthedetectionofnmillisecondclockslipsison(+cloption),thenumberofepochswithnmillisecondclockslipsisreported.ThisoccurswhenallSVswithmultipathobservableshavemultipathslipsofthesamesizetowithinaspecifiedtolerance(fractionofmillisecond).
This is followed by the number of other nmillisecond multipath slips which do not qualify as nmillisecondclockslips(relatedtothenumberof m symbolsintheASCIIplot;noneinthisexample).Givena nonzero tolerance, there is acertain probability that a fewmultipath slips fall within thetolerance.Thesecondvalue,inparentheses,istheratiooftotalnumberofmultipathslipsforthetimewindow(noelevationmaskcutoff).Withthetolerancesettothedefault0.01millisecond,ratiosontheorderof1:50areexpectedduetochanc