# ## Copyright (c) 1995-2020 University Corporation for Atmospheric Research ## All rights reserved # my $pkgdoc = <<'EOD'; #/**---------------------------------------------------------------------- # @file BJConstants.pm # Constants for use in routines that process BlackJack type data # # @author Doug Hunt # @since 10/27/2008 # @version $URL: svn://svn1.cosmic.ucar.edu/trunk/src/BJutils/BJConstants.pm $ $Id: BJConstants.pm 24769 2019-06-05 14:18:52Z dhunt $ # cdaacTask no # -----------------------------------------------------------------------*/ EOD package BJConstants; use Config; require Exporter; our @ISA = qw(Exporter); our @EXPORT = qw( $PI $CLIGHT $F1 $F2 $B1 $B2 $E1 $E6 $E5 $E5a $E5b $LAMB1 $LAMB2 $SNRCONV50 $SNRCONV50Paz $SNRCONV100 $L1_L2 $L2_L1 $RAD2CYC $RAD2DEG $DEG2RAD $BIGENDIAN %CONSTELLATION_MAP ); # Conversion factors $PI = 4*atan2(1,1); $CLIGHT = 299792458; # speed of light, meters/sec $F1 = 1575.42e6; # L1 frequency, Hz $F2 = 1227.60e6; # L2 frequency, Hz # Found in BeiDou Navigation Satellite System Signal In Space Interface Control Document Open Service Signal (Version 2.0), Dec. 2013 $B1 = 1561.098e6; # B1 frequency (Beidou), Hz $B2 = 1207.140e6; # B2 frequency (Beidou), Hz # Found in the Galileo Open Service Signal In Space ICD, version 1.2 Nov. 2015 $E1 = 1575.420e6; $E6 = 1278.750e6; $E5 = 1191.795e6; $E5a = 1176.450e6; $E5b = 1207.140e6; $LAMB1 = $CLIGHT/$F1; # L1 wavelength, meters $LAMB2 = $CLIGHT/$F2; # L2 wavelength, meters $SNRCONV50 = 50.0 * 4.0 / sqrt(20.456e6 * .75 * .9 * 2.0); # Conversion: amplitude -> SNR (v/v) # 20.456e6 is the internal sampling frequency $SNRCONV50Paz = 50.0 * 4.0 / sqrt(19328000 * .75 * .9 * 2.0); # Conversion: amplitude -> SNR (v/v) # 19328000 is the internal sampling frequency for Paz $SNRCONV100 = 100.0 * 4.0 / sqrt(20.456e6 * .75 * .9 * 2.0); # Conversion: amplitude -> SNR (v/v) ??? A guess $L1_L2 = $F2/$F1; # Convert L1 cycles to L2 cycles $L2_L1 = $F1/$F2; # Convert L2 cycles to L1 cycles $RAD2CYC = 1.0/(2.0*$PI); # Convert radians to cycles $RAD2DEG = 180/$PI; $DEG2RAD = $PI/180; my $BIGENDIAN = ($Config{'byteorder'} =~ /4321/); # Bernese convention: add 100 to PRN number for GLONASS, 200 for Galileo, 300 for SBAS # 400 for Beidou and 500 for QZSS %CONSTELLATION_MAP = (G => 0, R => 100, E => 200, S => 300, C => 400, J => 500); 1;