new bands.pl and Spot deduping
[spider.git] / data / bands.pl
1
2 # this is the file which defines all the bands that are allowed in the system
3 #
4 # each entry can contain an arbitrary no of entries. 
5 #
6 # an entry can have an arbitrary no of PAIRS of frequencies, 
7 # these pairs attach themselves to the labels you provide, they are
8 # independant of any other pair, they can overlap, cross etc. 
9 #
10 # There MUST be at least a 'band' entry
11 #
12 # It is up to YOU to make sure that it makes sense!
13 #
14 # ALL the labels MUST BE in lower case.
15
16 # Band names change (or I got them wrong in the first place), DO NOT CHANGE THE BAND NAMES
17 # THAT I USED. If you do then expect to get complaints. Instead just alias them to what 
18 # you think they should be in the section below %bands.
19 #
20 # WARNING: if aliasing, the band alias must be declared AFTER the original.
21 #
22 # See '550khz' and '630m' as an exemplar.
23
24
25
26 %bands = (
27                   '73khz' => bless ( { band => [71, 75],
28                                                          }, 'Bands'),
29                       
30                   '136khz' => bless ( { band => [135, 138],
31                                                           }, 'Bands'),
32
33                   '500khz' => bless ( { band => [472, 479],
34                                                           }, 'Bands'),
35
36                   '160m' => bless( { band => [ 1800, 2000 ], 
37                                                          cw => [ 1800, 1840 ], 
38                                                          rtty => [ 1838, 1841 ],
39                                                          data => [ 1838, 1843],
40                                                          ssb => [ 1831, 2000] 
41                                                    }, 'Bands'),
42
43                   '80m' => bless( { band => [ 3500, 4000 ], 
44                                                         cw => [ 3500, 3600 ], 
45                                                         data => [ 3570, 3619 ], 
46                                                         rtty => [ 3580, 3619 ], 
47                                                         sstv => [ 3730, 3740 ], 
48                                                         ssb => [ 3601, 4000 ]  
49                                                   }, 'Bands'),
50
51                   '60m' => bless( { band => [ 5100, 5410],
52                                                         ssb => [5300, 5410],
53                                 }, 'Bands' ),
54
55                   '40m' => bless( { band => [ 7000, 7300 ], 
56                                                         cw => [ 7000, 7040 ],
57                                                         data => [ 7040, 7100],
58                                                         rtty => [ 7040, 7060],
59                                                         ssb => [ 7050, 7300 ]
60                                                   }, 'Bands'),
61
62                   '30m' => bless( { band => [ 10100, 10150 ], 
63                                                         cw => [ 10000, 10140 ], 
64                                                         data => [ 10141, 10149 ] ,
65                                                         rtty => [ 10141, 10149 ] 
66                                                   }, 'Bands'),
67                   
68                   '20m' => bless( { band => [ 14000, 14350 ], 
69                                                         cw => [ 14000, 14100 ], 
70                                                         ssb => [ 14101, 14350 ], 
71                                                         beacon => [ 14099, 14100 ],
72                                                         sstv => [ 14225, 14235 ],
73                                                         data => [ 14070, 14098, 14101, 14111 ],
74                                                         rtty => [ 14070, 14098, 14101, 14111 ],
75                                                   }, 'Bands'),
76
77                   '17m' => bless( { band => [ 18068, 18168 ], 
78                                                         cw => [ 18068, 18100 ], 
79                                                         ssb => [ 18111, 18168 ], 
80                                                         data => [ 18101, 18108], 
81                                                         rtty => [ 18101, 18108], 
82                                                         beacon => [ 18109, 18110] 
83                                                   }, 'Bands'),
84
85                   '15m' => bless( { band => [ 21000, 21450 ], 
86                                                         cw => [ 21000, 21150 ], 
87                                                         data => [ 21070, 21119 ], 
88                                                         rtty => [ 21070, 21119 ], 
89                                                         ssb => [ 21151, 21450] 
90                                                   }, 'Bands'),
91
92                   '12m' => bless( { band => [ 24890, 24990 ], 
93                                                         cw => [ 24890, 24930 ], 
94                                                         ssb => [ 24931, 24990], 
95                                                         rtty => [ 24920, 24929], 
96                                                         data => [ 24920, 24929], 
97                                                   }, 'Bands'),
98
99
100                   '10m' => bless( { band => [ 28000, 29700 ], 
101                                                         cw => [ 28000, 28198 ], 
102                                                         data => [ 28050, 28149, 29200, 29299 ], 
103                                                         rtty => [ 28050, 28149 ], 
104                                                         space => [ 29200, 29300 ],
105                                                         ssb => [ 28201, 29299, 29550, 29700] 
106                                                   }, 'Bands'),
107
108                   '8m' => bless( { band => [40000, 42000],
109                                                  }, 'Bands'),
110
111                   '6m' => bless( { band => [50000, 54000],
112                                                    cw => [50000, 50100],
113                                                    ssb => [50100, 50400],
114                                                    data => [50300, 50500],
115                                                  }, 'Bands'),
116
117                   '5m' => bless( { band => [60000, 62000],
118                                                  }, 'Bands'),
119 # 5m band General allocation in Ireland only, with Denmark and UK with beacons
120
121                   '4m' => bless( { band => [69887, 71500],
122                                                    cw => [70000, 70250],
123                                                    ssb => [70100, 70250],
124                                                  }, 'Bands'),
125 # Denmark down to 69.8875. UK NoV operation up to 71.500
126
127                   '2m' => bless( { band => [144000, 148000],
128                                                    cw => [144000, 144150],
129                                                    ssb => [144150, 144400]
130                                                  }, 'Bands'),
131
132 #Little real CW and SSB differentiation above 2m so remove CW and SSB filters
133
134                   '220' => bless( { band => [220000, 224000],
135                                                   }, 'Bands'),
136
137                   '70cm' => bless( { band => [420000, 450000],
138                                                    }, 'Bands'),
139
140 #70cm starts at 420 MHz and extends to 450 MHz in Region 2
141
142                   '902' => bless( { band => [902000, 928000],
143                                                    }, 'Bands'),
144
145                   '23cm' => bless( { band => [ 1240000, 1300000],
146                                                    }, 'Bands'),
147
148                   '13cm' => bless( { band => [2300000, 2450000],
149                                                    }, 'Bands'),
150
151                   '9cm' => bless( { band => [3300000, 3500000],
152                                                   }, 'Bands'),
153 #9cm extends to 3500 MHz in Region 2 and starts at 3300 MHz in Region 3
154
155                   '6cm' => bless( { band => [5650000, 5925000],
156                                                   }, 'Bands'),
157 #6cm extends to 5925 MHz in Region 2 and 3
158
159                   '3cm' => bless( { band => [10000000, 10500000],
160                                                   }, 'Bands'),
161
162 #Bands above 10 GHz normally referred to by Frequency so make 24G, 47G, 76G etc
163
164                   '12mm' => bless( { band => [24000000, 24250000],
165                                                    }, 'Bands'),
166     
167                   '6mm' => bless( { band => [47000000, 47200000],
168                                                   }, 'Bands'),
169
170                   '4mm' => bless( { band => [75500000, 81500000], 
171                                                   }, 'Bands'), 
172
173                   '122g' => bless( { band => [122250000, 123000000], 
174                                                   }, 'Bands'), 
175
176                   '134g' => bless( { band => [134000000, 141000000], 
177                                                   }, 'Bands'), 
178
179                   '248g' => bless( { band => [241000000, 250000000], 
180                                                   }, 'Bands'), 
181
182
183
184                   'band1' => bless ( { band => [47000, 49999, 52000, 68000],
185                                                          }, 'Bands'),
186                       
187                   'band2' => bless ( { band => [87500, 108000],
188                                                          }, 'Bands'),
189                       
190                   'band3' => bless ( { band => [176000, 230000],
191                                                          }, 'Bands'),
192                       
193                   'band4' => bless ( { band => [471000, 550000],
194                                                          }, 'Bands'),
195                       
196                   'band5' => bless ( { band => [550000, 868000],
197                                                          }, 'Bands'),
198
199                   'military' => bless ( { band => [29700, 50000, 230000, 420000],
200                                                                 }, 'Bands'),
201                     
202                   'aircraft' => bless ( { band => [108000, 137500],
203                                                                 }, 'Bands'),
204    
205                   'pmrlow' => bless ( { band => [68000, 87500],
206                                                           }, 'Bands'),
207                       
208                   'pmrmid' => bless ( { band => [138000, 165000],
209                                                           }, 'Bands'),
210
211                   'pmrhigh' => bless ( { band => [165000, 174000],
212                                                            }, 'Bands'),
213
214                   'pmruhf' => bless ( { band => [425000, 430000, 440000, 471000],
215                                                           }, 'Bands'),
216                    hf => bless ( { band => [1800, 29999], }, 'Bands'), 
217                    vhf => bless ( { band => [30000, 299999], }, 'Bands'), 
218                  );
219
220 #
221 # fix up some aliases
222 #
223
224 $bands{'630m'} = $bands{'500khz'};
225 $bands{'24g'} = $bands{'12mm'};
226 $bands{'47g'} = $bands{'6mm'};
227 $bands{'76g'} = $bands{'4mm'};
228
229
230 #
231 # the list of regions
232 #
233 # this list is so that users can say 'vhf/ssb' instead of '6m/ssb, 4m/sbb, 2m/ssb'
234 # just shortcuts really
235 #
236 # DO make sure that the label exists in %bands!
237 #
238
239 %regions = (
240                         vlf => [qw( 73khz 136khz 630m )],
241                         hf => [qw( 160m 80m 60m 40m 30m 20m 17m 15m 12m 10m )],
242                         contesthf => [qw( 160m 80m 40m 20m 15m 10m )],
243                         vhf => [qw( 6m 4m 2m 220 )],
244                         vhfradio => [qw( band1 band2 )],
245                         vhftv => [qw( band1 band3 )],
246                         uhf => [qw( 70cm 902 23cm )],
247                         uhftv => [qw( band4 band5 )],
248                         shf => [qw( 23cm 13cm 9cm 6cm 3cm 24g 47g 76g 121g 134g 248g )],
249                         pmr => [qw( pmrlow pmrmid pmrhigh pmruhf )],
250                         spe => [qw( 10m 8m 6m 5m 4m 2m )],
251                         warc => [qw( 60m 30m 17m 12m )],
252                         all => [qw( 73khz 136khz 630m 160m 80m 60m 40m 30m 20m 17m 15m 12m 10m 8m 6m 5m 4m 2m 220 70cm 902 23cm 9cm 6cm 3cm 24g 47g 76g 121g 134g 248g)],
253                    );  
254