GNSSSignals.add_neuman_hofman_codeMethod
add_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_codeFunction
gen_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!Function
gen_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_codeMethod
gen_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_frequencyMethod
get_center_frequency(galileo_e1b)

Get center frequency of GNSS system GalileoE1B.

julia> get_center_frequency(GalileoE1B())
GNSSSignals.get_codeMethod
get_code(modulation, system, phase, prn)

Get code of BOC at phase phase of PRN prn.

GNSSSignals.get_codeMethod
get_code(modulation, system, phase, prn)

Get code of LOC at phase phase of PRN prn.

GNSSSignals.get_codeMethod
get_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_frequencyMethod
get_code_frequency(galileo_e1b)

Get code frequency of GNSS system GalileoE1B.

julia> get_code_frequency(GalileoE1B())
GNSSSignals.get_code_lengthMethod
get_code_length(galileo_e1b)

Get code length of GNSS system GalileoE1B.

julia> get_code_length(GalileoE1B())
GNSSSignals.get_code_spectrum_BOCcosMethod
get_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_BOCsinMethod
get_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_BPSKMethod
get_code_spectrum_BPSK(fc, f)

Calculate the spectral power of a BPSK modulated signal with chiprate fc at baseband frequency f

GNSSSignals.get_code_unsafeMethod
get_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_unsafeMethod
get_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_unsafeMethod
get_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_codesMethod
get_codes(gnss)

Get codes of GNSS system as a Matrix where each column represents a PRN.

julia> get_code(GPSL1())
GNSSSignals.get_data_frequencyMethod
get_data_frequency(galileo_e1b)

Get data frequency of GNSS system GalileoE1B.

julia> get_data_frequency(GalileoE1B())
GNSSSignals.get_secondary_codeMethod
get_secondary_code(galileo_e1b)

Get secondary code of GNSS system GalileoE1B.

julia> get_secondary_code(GalileoE1B())
GNSSSignals.read_in_codesMethod
read_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.reshapeMethod
reshape(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_registerMethod
shift_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