mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
250 lines
6.5 KiB
PHP
250 lines
6.5 KiB
PHP
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
|
class Frequency {
|
|
|
|
public $defaultFrequencies = array(
|
|
'160m' => array(
|
|
'SSB' => "1900000",
|
|
'DATA' => "1838000",
|
|
'CW' => "1830000",
|
|
'NOMINAL' => "1.8",
|
|
'UNIT' => 'kHz'),
|
|
'80m' => array(
|
|
'SSB' => "3700000",
|
|
'DATA' => "3583000",
|
|
"CW" => "3550000",
|
|
"NOMINAL" => "3.5",
|
|
'UNIT' => 'kHz'),
|
|
'60m' => array(
|
|
'SSB' => "5330000",
|
|
'DATA' => "5330000",
|
|
"CW" => "5260000",
|
|
"NOMINAL" => "5",
|
|
'UNIT' => 'kHz'),
|
|
'40m' => array(
|
|
'SSB' => "7100000",
|
|
'DATA' => "7040000",
|
|
'CW' => "7020000",
|
|
'NOMINAL' => "7",
|
|
'UNIT' => 'kHz'),
|
|
'30m' => array(
|
|
'SSB' => "10120000",
|
|
'DATA' => "10145000",
|
|
'CW' => "10120000",
|
|
'NOMINAL' => "10",
|
|
'UNIT' => 'kHz'),
|
|
'20m' => array(
|
|
'SSB' => "14200000",
|
|
'DATA' => "14080000",
|
|
'CW' => "14020000",
|
|
'NOMINAL' => "14",
|
|
'UNIT' => 'kHz'),
|
|
'17m' => array(
|
|
'SSB' => "18130000",
|
|
'DATA' => "18105000",
|
|
'CW' => "18080000",
|
|
'NOMINAL' => "18",
|
|
'UNIT' => 'kHz'),
|
|
'15m' => array(
|
|
'SSB' => "21300000",
|
|
'DATA' => "21080000",
|
|
'CW' => "21020000",
|
|
'NOMINAL' => "21",
|
|
'UNIT' => 'kHz'),
|
|
'12m' => array(
|
|
'SSB' => "24950000",
|
|
'DATA' => "24925000",
|
|
'CW' => "24900000",
|
|
'NOMINAL' => "24",
|
|
'UNIT' => 'kHz'),
|
|
'10m' => array(
|
|
'SSB' => "28300000",
|
|
'DATA' => "28120000",
|
|
'CW' => "28050000",
|
|
'NOMINAL' => "28",
|
|
'UNIT' => 'kHz'),
|
|
'6m' => array(
|
|
'SSB' => "50150000",
|
|
'DATA' => "50230000",
|
|
'CW' => "50090000",
|
|
'NOMINAL' => "50",
|
|
'UNIT' => 'MHz'),
|
|
'4m' => array(
|
|
'SSB' => "70200000",
|
|
'DATA' => "70200000",
|
|
'CW' => "70200000",
|
|
'NOMINAL' => "70",
|
|
'UNIT' => 'MHz'),
|
|
'2m' => array(
|
|
'SSB' => "144300000",
|
|
'DATA' => "144370000",
|
|
'CW' => "144050000",
|
|
'NOMINAL' => "144",
|
|
'UNIT' => 'MHz'),
|
|
'1.25m' => array(
|
|
'SSB' => "222100000",
|
|
'DATA' => "222100000",
|
|
'CW' => "222100000",
|
|
'NOMINAL' => "222",
|
|
'UNIT' => 'MHz'),
|
|
'70cm' => array(
|
|
'SSB' => "432200000",
|
|
'DATA' => "432088000",
|
|
'CW' => "432050000",
|
|
'NOMINAL' => "433",
|
|
'UNIT' => 'MHz'),
|
|
'33cm' => array(
|
|
'SSB' => "902100000",
|
|
'DATA' => "902100000",
|
|
'CW' => "902100000",
|
|
'NOMINAL' => "902",
|
|
'UNIT' => 'MHz'),
|
|
'23cm' => array(
|
|
'SSB' => "1296000000",
|
|
'DATA' => "1296138000",
|
|
'CW' => "129600000",
|
|
'NOMINAL' => "1296",
|
|
'UNIT' => 'GHz'),
|
|
'13cm' => array(
|
|
'SSB' => "2320800000",
|
|
'DATA' => "2320800000",
|
|
'CW' => "2320800000",
|
|
'NOMINAL' => "2400",
|
|
'UNIT' => 'GHz'),
|
|
'9cm' => array(
|
|
'SSB' => "3410000000",
|
|
'DATA' => "3410000000",
|
|
'CW' => "3400000000",
|
|
'NOMINAL' => "3400",
|
|
'UNIT' => 'GHz'),
|
|
'6cm' => array(
|
|
'SSB' => "5670000000",
|
|
'DATA' => "5670000000",
|
|
'CW' => "5670000000",
|
|
'NOMINAL' => "5670",
|
|
'UNIT' => 'GHz'),
|
|
'3cm' => array(
|
|
'SSB' => "10225000000",
|
|
'DATA' => "10225000000",
|
|
'CW' => "10225000000",
|
|
'NOMINAL' => "10225",
|
|
'UNIT' => 'GHz'),
|
|
'1.25cm' => array(
|
|
'SSB' => "24000000000",
|
|
'DATA' => "24000000000",
|
|
'CW' => "24000000000",
|
|
'NOMINAL' => "24000",
|
|
'UNIT' => 'GHz'),
|
|
);
|
|
|
|
/* Class to convert band and mode into a frequency in a format based on the specifications of the database table */
|
|
public function convert_band($band, $mode = 'SSB') {
|
|
// Converting LSB and USB to SSB
|
|
if ($mode == 'LSB' or $mode == 'USB') {
|
|
$mode = "SSB";
|
|
}
|
|
|
|
// Use 'DATA' for any of the data modes
|
|
if ($mode != 'CW' and $mode != 'SSB') {
|
|
$mode = "DATA";
|
|
}
|
|
|
|
return $this->getDefaultFrequency($band, $mode);
|
|
}
|
|
|
|
function getDefaultFrequency($band, $mode) {
|
|
$CI = &get_instance();
|
|
$db = &$CI->db;
|
|
|
|
$db->from('bands');
|
|
$db->where('bands.band', $band);
|
|
|
|
$result = $db->get()->row();
|
|
|
|
$mode = strtolower($mode);
|
|
|
|
return $result->$mode;
|
|
}
|
|
|
|
public function GetBand($Frequency) {
|
|
$Band = NULL;
|
|
if ($Frequency > 1000000 && $Frequency < 2000000) {
|
|
$Band = "160m";
|
|
} else if ($Frequency > 3000000 && $Frequency < 4000000) {
|
|
$Band = "80m";
|
|
} else if ($Frequency > 6000000 && $Frequency < 8000000) {
|
|
$Band = "40m";
|
|
} else if ($Frequency > 9000000 && $Frequency < 11000000) {
|
|
$Band = "30m";
|
|
} else if ($Frequency > 13000000 && $Frequency < 15000000) {
|
|
$Band = "20m";
|
|
} else if ($Frequency > 17000000 && $Frequency < 19000000) {
|
|
$Band = "17m";
|
|
} else if ($Frequency > 20000000 && $Frequency < 22000000) {
|
|
$Band = "15m";
|
|
} else if ($Frequency > 23000000 && $Frequency < 25000000) {
|
|
$Band = "12m";
|
|
} else if ($Frequency > 27000000 && $Frequency < 30000000) {
|
|
$Band = "10m";
|
|
} else if ($Frequency > 49000000 && $Frequency < 52000000) {
|
|
$Band = "6m";
|
|
} else if ($Frequency > 69000000 && $Frequency < 71000000) {
|
|
$Band = "4m";
|
|
} else if ($Frequency > 140000000 && $Frequency < 150000000) {
|
|
$Band = "2m";
|
|
} else if ($Frequency > 218000000 && $Frequency < 226000000) {
|
|
$Band = "1.25m";
|
|
} else if ($Frequency > 430000000 && $Frequency < 440000000) {
|
|
$Band = "70cm";
|
|
} else if ($Frequency > 900000000 && $Frequency < 930000000) {
|
|
$Band = "33cm";
|
|
} else if ($Frequency > 1200000000 && $Frequency < 1300000000) {
|
|
$Band = "23cm";
|
|
} else if ($Frequency > 2200000000 && $Frequency < 2600000000) {
|
|
$Band = "13cm";
|
|
} else if ($Frequency > 3000000000 && $Frequency < 4000000000) {
|
|
$Band = "9cm";
|
|
} else if ($Frequency > 5000000000 && $Frequency < 6000000000) {
|
|
$Band = "6cm";
|
|
} else if ($Frequency > 9000000000 && $Frequency < 11000000000) {
|
|
$Band = "3cm";
|
|
} else if ($Frequency > 23000000000 && $Frequency < 25000000000) {
|
|
$Band = "1.2cm";
|
|
} else if ($Frequency > 46000000000 && $Frequency < 55000000000) {
|
|
$Band = "6mm";
|
|
} else if ($Frequency > 75000000000 && $Frequency < 82000000000) {
|
|
$Band = "4mm";
|
|
} else if ($Frequency > 120000000000 && $Frequency < 125000000000) {
|
|
$Band = "2.5mm";
|
|
} else if ($Frequency > 133000000000 && $Frequency < 150000000000) {
|
|
$Band = "2mm";
|
|
} else if ($Frequency > 240000000000 && $Frequency < 250000000000) {
|
|
$Band = "1mm";
|
|
} else if ($Frequency >= 250000000000) {
|
|
$Band = "<1mm";
|
|
}
|
|
return $Band;
|
|
}
|
|
|
|
// converts a frequency in Hz to MHz output
|
|
function hz_to_mhz($frequency) {
|
|
return number_format(($frequency / 1000 / 1000), 3) . " MHz";
|
|
}
|
|
|
|
function qrg_unit($band) {
|
|
|
|
$CI = &get_instance();
|
|
|
|
if ($CI->session->userdata('qrgunit_'.$band)) {
|
|
$unit = $CI->session->userdata('qrgunit_'.$band);
|
|
} else {
|
|
if (isset($this->defaultFrequencies[$band]['UNIT'])) {
|
|
$unit = $this->defaultFrequencies[$band]['UNIT'];
|
|
} else {
|
|
$unit = 'kHz'; // we use kHz as fallback unit
|
|
}
|
|
}
|
|
return $unit;
|
|
}
|
|
}
|
|
/* End of file Frequency.php */
|