Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Currently implemented:
* GPS L1C-D (CNAV-2)
* GPS L2C (CNAV)
* GPS L5I (CNAV)
* Galileo E1B (I/NAV)
* Galileo E1B (I/NAV), including the BOC(1,1) approximation
* Galileo E5a (F/NAV)

## Installation
Expand Down
11 changes: 11 additions & 0 deletions src/galileo/e1b.jl
Original file line number Diff line number Diff line change
Expand Up @@ -586,6 +586,17 @@ function GNSSDecoderState(system::GalileoE1B, prn)
GalileoE1BDecoderState(prn)
end

# GalileoE1B_BOC11 is the BOC(1,1) approximation of Galileo E1B — a lower
# sampling-rate replica many software receivers substitute for the full
# CBOC(6,1,1/11) spec (see GNSSSignals.jl `GalileoE1B_BOC11`). It carries the
# *identical* I/NAV navigation message: same 4092-chip primary code, same
# 250 bps data rate, same page/word structure. The modulation difference is a
# tracking/acquisition concern only, so decoding reuses the E1B decoder
# unchanged.
function GNSSDecoderState(system::GalileoE1B_BOC11, prn)
GalileoE1BDecoderState(prn)
end

"""
$(TYPEDSIGNATURES)

Expand Down
9 changes: 9 additions & 0 deletions test/galileo_e1b.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ const GALILEO_E1B_DATA = [
@test GalileoE1BDecoderState(21) == GNSSDecoderState(galileo_e1b, 21)
end

@testset "Galileo E1B BOC(1,1) constructor" begin
# The BOC(1,1) approximation carries the identical I/NAV message, so it
# dispatches to the same decoder state as full-CBOC Galileo E1B.
galileo_e1b_boc11 = GalileoE1B_BOC11()

@test GalileoE1BDecoderState(21) == GNSSDecoderState(galileo_e1b_boc11, 21)
@test GNSSDecoderState(GalileoE1B(), 21) == GNSSDecoderState(galileo_e1b_boc11, 21)
end

@testset "Galileo E1B test data decoding" begin
decoder = GalileoE1BDecoderState(21)

Expand Down
Loading