Skip to content
This repository was archived by the owner on Apr 13, 2021. It is now read-only.

Commit 8dd3715

Browse files
iqgen: GLONASS fix
1 parent ca2de18 commit 8dd3715

File tree

4 files changed

+27
-17
lines changed

4 files changed

+27
-17
lines changed

peregrine/iqgen/bits/encoder_1bit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ def addSamples(self, sample_array):
171171
for band in range(4):
172172
bandIndex = self.bandIndexes[band]
173173
band_bits = BandBitEncoder.convertBand(sample_array[bandIndex])
174-
self.bits[start + band:end:2] = band_bits
174+
self.bits[start + band:end:4] = band_bits
175175

176176
self.n_bits = end
177177

peregrine/iqgen/bits/signals.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,12 +173,12 @@ def getCodeChipIndex(svTime_s):
173173
return long(svTime_s * GPS.L2C.CODE_CHIP_RATE_HZ)
174174

175175
# GLONASS L1
176-
GLONASS_L1_CENTER_FREQUENCY_HZ = 1602000
177-
GLONASS_L1_FREQUENCY_STEP_HZ = 562500
176+
GLONASS_L1_CENTER_FREQUENCY_HZ = 1602000000l
177+
GLONASS_L1_FREQUENCY_STEP_HZ = 562500l
178178

179179
# GLONASS L2
180-
GLONASS_L2_CENTER_FREQUENCY_HZ = 1246000
181-
GLONASS_L2_FREQUENCY_STEP_HZ = 437500
180+
GLONASS_L2_CENTER_FREQUENCY_HZ = 1246000000l
181+
GLONASS_L2_FREQUENCY_STEP_HZ = 437500l
182182

183183
# GLONASS L1 and L2 common
184184
GLONASS_SYMBOL_RATE_HZ = 100

peregrine/iqgen/if_iface.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,15 @@ class GLONASS(object):
136136

137137
class L1(object):
138138
INTERMEDIATE_FREQUENCIES_HZ = \
139-
[float(12000000 + b * 562500) for b in range(7)] + \
140-
[float(12000000 + b * 562500) for b in range(-7, 0)]
141-
INDEX = 1
139+
[float(12000000l + b * 562500l) for b in range(7)] + \
140+
[float(12000000l + b * 562500l) for b in range(-7, 0)]
141+
INDEX = 2
142142

143143
class L2(object):
144144
INTERMEDIATE_FREQUENCIES_HZ = \
145-
[float(11000000 + b * 437500) for b in range(7)] + \
146-
[float(11000000 + b * 437500) for b in range(-7, 0)]
147-
INDEX = 2
145+
[float(11000000l + b * 437500l) for b in range(7)] + \
146+
[float(11000000l + b * 437500l) for b in range(-7, 0)]
147+
INDEX = 3
148148

149149
class Galileo(object):
150150

peregrine/iqgen/iqgen_main.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,10 +225,20 @@ def __init__(self, option_strings, dest, nargs=None, **kwargs):
225225
super(UpdateDopplerType, self).__init__(option_strings, dest, **kwargs)
226226

227227
def doUpdate(self, sv, parser, namespace, values, option_string):
228-
if sv.l1caEnabled:
229-
frequency_hz = signals.GPS.L1CA.CENTER_FREQUENCY_HZ
230-
elif sv.l2cEnabled:
231-
frequency_hz = signals.GPS.L2C.CENTER_FREQUENCY_HZ
228+
if isinstance(sv, GPSSatellite):
229+
if sv.l1caEnabled:
230+
frequency_hz = signals.GPS.L1CA.CENTER_FREQUENCY_HZ
231+
elif sv.l2cEnabled:
232+
frequency_hz = signals.GPS.L2C.CENTER_FREQUENCY_HZ
233+
else:
234+
raise ValueError("Signal band must be specified before doppler")
235+
elif isinstance(sv, GLOSatellite):
236+
if sv.isL1Enabled():
237+
frequency_hz = signals.GLONASS.L1S[sv.prn].CENTER_FREQUENCY_HZ
238+
elif sv.isL2Enabled():
239+
frequency_hz = signals.GLONASS.L2S[sv.prn].CENTER_FREQUENCY_HZ
240+
else:
241+
raise ValueError("Signal band must be specified before doppler")
232242
else:
233243
raise ValueError("Signal band must be specified before doppler")
234244

@@ -676,8 +686,8 @@ def main():
676686
enabledGLONASSL2 |= sv.isBandEnabled(outputConfig.GLONASS.L2.INDEX,
677687
outputConfig)
678688

679-
enabledGPS = enabledGPSL1 or enabledGPSL2
680-
enabledGLONASS = enabledGLONASSL1 or enabledGLONASSL2
689+
enabledGPS |= enabledGPSL1 or enabledGPSL2
690+
enabledGLONASS |= enabledGLONASSL1 or enabledGLONASSL2
681691

682692
# Configure data encoder
683693
if args.encoder == "1bit":

0 commit comments

Comments
 (0)