GNSSSignals.GalileoE1B
— TypeGalileoE1B
GNSSSignals.add_neuman_hofman_code
— Methodadd_neuman_hofman_code(l5_code, neuman_hofman_code)
Generate 10 periods of the PRN L5 code, with initial_xb_code_states
, each ⊻ with one bit of the 10bit Neuman-Hofman sequence 0000110101.
GNSSSignals.gen_code
— Functiongen_code(num_samples, gnss, prn, sampling_frequency)
gen_code(
num_samples,
gnss,
prn,
sampling_frequency,
code_frequency
)
gen_code(
num_samples,
gnss,
prn,
sampling_frequency,
code_frequency,
start_phase
)
gen_code(
num_samples,
gnss,
prn,
sampling_frequency,
code_frequency,
start_phase,
start_index
)
Generate the code signal for PRN-Number prn
of system gnss
at chip rate code_frequency
, sampled at sampling rate sampling_frequency
. Make sure, that sampling_frequency
is larger than code_frequency
to avoid overflows with the modulo calculation.
GNSSSignals.gen_code!
— Functiongen_code!(code, gnss, prn, sampling_frequency)
gen_code!(
code,
gnss,
prn,
sampling_frequency,
code_frequency
)
gen_code!(
code,
gnss,
prn,
sampling_frequency,
code_frequency,
start_phase
)
gen_code!(
code,
gnss,
prn,
sampling_frequency,
code_frequency,
start_phase,
start_index
)
Generate the code signal inplace for PRN-Number prn
of system gnss
at chip rate code_frequency
, sampled at sampling rate sampling_frequency
. Make sure, that sampling_frequency
is larger than code_frequency
to avoid overflows with the modulo calculation.
GNSSSignals.gen_l5_code
— Methodgen_l5_code(initial_xb_code_states)
Calculate the gps L5 PRN satellite_code
for the initial XB register states initial_xb_code_states
.
julia> initial_states_PRN_num_1_I = [0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0]
julia> prn_code_sat_1_I_signal = gen_l5_code(initial_states_PRN_num_1_I)
GNSSSignals.get_center_frequency
— Methodget_center_frequency(gpsl1)
Get center frequency of GNSS system GPSL1.
julia> get_center_frequency(GPSL1())
GNSSSignals.get_center_frequency
— Methodget_center_frequency(gpsl5)
Get center frequency of GNSS system GPSL5.
julia> get_center_frequency(GPSL5())
GNSSSignals.get_center_frequency
— Methodget_center_frequency(galileo_e1b)
Get center frequency of GNSS system GalileoE1B.
julia> get_center_frequency(GalileoE1B())
GNSSSignals.get_code
— Methodget_code(modulation, system, phase, prn)
Get code of BOC at phase phase
of PRN prn
.
GNSSSignals.get_code
— Methodget_code(modulation, system, phase, prn)
Get code of LOC at phase phase
of PRN prn
.
GNSSSignals.get_code
— Methodget_code(system, phase, prn)
Get code of type <: AbstractGNSS
at phase phase
of PRN prn
.
julia> get_code(GPSL1(), 1200.3, 1)
GNSSSignals.get_code_center_frequency_ratio
— Methodget_code_center_frequency_ratio(gnss)
Get code to center frequency ratio
julia> get_code_center_frequency_ratio(GPSL1())
GNSSSignals.get_code_frequency
— Methodget_code_frequency(gpsl1)
Get code frequency of GNSS system GPSL1.
julia> get_code_frequency(GPSL1())
GNSSSignals.get_code_frequency
— Methodget_code_frequency(gpsl5)
Get code frequency of GNSS system GPSL5.
julia> get_code_frequency(GPSL5())
GNSSSignals.get_code_frequency
— Methodget_code_frequency(galileo_e1b)
Get code frequency of GNSS system GalileoE1B.
julia> get_code_frequency(GalileoE1B())
GNSSSignals.get_code_length
— Methodget_code_length(gpsl1)
Get code length of GNSS system GPSL1.
julia> get_code_length(GPSL1())
GNSSSignals.get_code_length
— Methodget_code_length(gpsl5)
Get code length of GNSS system GPSL5.
julia> get_code_length(GPSL5())
GNSSSignals.get_code_length
— Methodget_code_length(galileo_e1b)
Get code length of GNSS system GalileoE1B.
julia> get_code_length(GalileoE1B())
GNSSSignals.get_code_spectrum
— Methodget_code_spectrum(system, f)
Get the spectral power
GNSSSignals.get_code_spectrum_BOCcos
— Methodget_code_spectrum_BOCcos(fc, fs, f)
Calculate the spectral power of a cosine phased BOC modulated signal with chiprate fc
and subcarrier frequency fs
at baseband frequency f
GNSSSignals.get_code_spectrum_BOCsin
— Methodget_code_spectrum_BOCsin(fc, fs, f)
Calculate the spectral power of a sine phased BOC modulated signal with chiprate fc
and subcarrier frequency fs
at baseband frequency f
GNSSSignals.get_code_spectrum_BPSK
— Methodget_code_spectrum_BPSK(fc, f)
Calculate the spectral power of a BPSK modulated signal with chiprate fc
at baseband frequency f
GNSSSignals.get_code_unsafe
— Methodget_code_unsafe(modulation, system, phase, prn)
Get code of BOC at phase phase
of PRN prn
. The phase will not be wrapped by the code length. The phase has to be smaller than the code length incl. secondary code.
GNSSSignals.get_code_unsafe
— Methodget_code_unsafe(modulation, system, phase, prn)
Get code of LOC at phase phase
of PRN prn
. The phase will not be wrapped by the code length. The phase has to be smaller than the code length incl. secondary code.
GNSSSignals.get_code_unsafe
— Methodget_code_unsafe(system, phase, prn)
Get code. It is unsafe because it omits the modding. The phase will not be wrapped by the code length. The phase has to be smaller than the code length incl. secondary code.
julia> get_code(GPSL1(), 1200.3, 1)
GNSSSignals.get_codes
— Methodget_codes(gnss)
Get codes of GNSS system as a Matrix where each column represents a PRN.
julia> get_code(GPSL1())
GNSSSignals.get_data_frequency
— Methodget_data_frequency(gpsl1)
Get data frequency of GNSS system GPSL1.
julia> get_data_frequency(GPSL1())
GNSSSignals.get_data_frequency
— Methodget_data_frequency(gpsl5)
Get data frequency of GNSS system GPSL5.
julia> get_data_frequency(GPSL5())
GNSSSignals.get_data_frequency
— Methodget_data_frequency(galileo_e1b)
Get data frequency of GNSS system GalileoE1B.
julia> get_data_frequency(GalileoE1B())
GNSSSignals.get_secondary_code
— Methodget_secondary_code(gnss, phase)
Get secondary code at phase
GNSSSignals.get_secondary_code
— Methodget_secondary_code(gnss, code, phase)
Get secondary code at phase
GNSSSignals.get_secondary_code
— Methodget_secondary_code(gnss, code, phase)
Get secondary code at phase
GNSSSignals.get_secondary_code
— Methodget_secondary_code(gpsl1)
Get secondary code of GNSS system GPSL1.
julia> get_secondary_code(GPSL1())
GNSSSignals.get_secondary_code
— Methodget_secondary_code(galileo_e1b)
Get secondary code of GNSS system GalileoE1B.
julia> get_secondary_code(GalileoE1B())
GNSSSignals.get_secondary_code_length
— Methodget_secondary_code_length(gnss)
Get secondary code length
GNSSSignals.min_bits_for_code_length
— Methodmin_bits_for_code_length(gnss)
Get the minimum number of bits that are needed to represent the code length
GNSSSignals.read_in_codes
— Methodread_in_codes(type, filename, num_prns, code_length)
Reads Int8 encoded codes from a file with filename filename
(including the path). The code length must be provided by code_length
and the number of PRNs by num_prns
.
Examples
julia> read_in_codes("/data/gpsl1codes.bin", 32, 1023)
GNSSSignals.reshape
— Methodreshape(integer)
Takes the status of the registers as an integer
and returns them as an array.
Examples
julia> reshape(8190)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]
GNSSSignals.shift_register
— Methodshift_register(register, indices)
Takes the status of the registers as an Int registers
, and an array of register indices
to calculate and return the new register values and the register output.
julia> reshape(8190)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]
julia> output, registers = shift_register(8910, [9, 10, 12, 13])
julia> reshape(registers)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
julia> output == 1
true