1DEVCAL(1)                        User Manuals                        DEVCAL(1)
2
3
4

NAME

6       devcal - An FM deviation calibration utility for the SvxLink system
7

SYNOPSIS

9       devcal   [-?|--help]   [-h|--usage]   [-f|--modfqs=frequencies  in  Hz]
10       [-d|--caldev=deviation in Hz] [-m|--maxdev=deviation in Hz] [-H|--head‐
11       room=Headroom    in   dB]   [-r|--rxcal]   [-F|--flat]   [-M|--measure]
12       [-w|--wide] [-a|--audiodev=type:dev] <config file> <config section>
13

DESCRIPTION

15       devcal is a utility that is used to  calibrate  the  input  and  output
16       sound  levels  (deviation) on an FM SvxLink system. The idea is that it
17       should be possible to calibrate multiple parts of a SvxLink  system  to
18       the exact same sound levels.  This will ensure that a system using mul‐
19       tiple receivers have the same sound level for all receivers and  for  a
20       repeater  it  means  that  the audio being retransmitted is at the same
21       level as the received audio. For an EchoLink system it  will  guarantee
22       that  audio  received by the local node will be at a proper level to be
23       retransmitted on remote EchoLink nodes, and the other way around.
24
25       An RTL2832U based DVB-T USB dongle can be used to measure deviation and
26       the  devcal  utility  can  also be used to calibrate the receiving fre‐
27       quency correction for such a dongle.
28
29       Deviation calibration can be done both with and  without  a  DVB-T  USB
30       dongle.  Both methods are described below.
31

OPTIONS

33       -?|--help
34              Print a help message and exit.
35
36       -h|--usage
37              Display a brief help message and exit.
38
39       -f|--modfqsfrequencies in Hz
40              Use this command line option to set at what frequencies you want
41              to calibrate the deviation. Separate multiple frequencies  using
42              commas. The default frequency is 1000Hz.
43
44       -d|--caldev=deviation in Hz
45              The  deviation  value  at  where to perform the calibration. The
46              default value of 2404,8Hz  may  seem  strange  but  it  will  be
47              explained below.
48
49       -m|--maxdev=deviation in Hz
50              The maximum deviation used on the channel. This is the deviation
51              value where transmitters start to limit the deviation so as  not
52              to  cause  interference  in  neighbouring  channels. The default
53              value is 5000Hz.
54
55       -H|--headroom=headroom in dB
56              The headroom is the margin to add above  the  maximum  deviation
57              level.  Adding  a  headroom  will allow SvxLink to handle levels
58              above the maximum deviation level without causing immediate dis‐
59              torsion.  The  default is 6dB which mean that SvxLink can handle
60              twice the specified maximum deviation. If both maxdev and  head‐
61              room  are  left at their default this will mean that SvxLink can
62              handle 10kHz deviation without distorsion.
63
64              Changing the headroom cause a lot of different effects so  don't
65              do  that  unless you are prepared to deal with the problems. For
66              example, increasing the headroom will cause the TX level to  get
67              lower and the RX level to get higher, which then must be compen‐
68              sated. The announcement levels will get lower so they also  need
69              to be compensated. The EchoLink RX/TX levels will get unbalanced
70              and at the moment there is no way to fix that.
71
72       -r|--rxcal
73              Specify this command line option to  perform  receiver  calibra‐
74              tion.
75
76       -t|--txcal
77              Specify this command line option to perform transmitter calibra‐
78              tion.
79
80       -F|--flat
81              Perform calibration on a transmitter or receiver that has a flat
82              frequency  response (no pre- or de-emphasis). If the transceiver
83              has flat frequency response but you have enabled  pre-/de-empha‐
84              sis in SvxLink, this option should NOT be specified.
85
86       -M|--measure
87              The  measurement mode requires the use of a RTL2832U based DVB-T
88              USB dongle and will measure the received deviation.
89
90       -w|--wide
91              Use wide FM (broadcast) instead of narrow band FM
92
93       -a|--audiodev=type:dev
94              Use this command line option to set an audio device to  use  for
95              playing   back  the  received  audio.  The  default  is  to  use
96              "alsa:default". Disable audio output by setting the audio device
97              to the empty string (i.e. --audiodev="").
98

CALIBRATING AN RTL2832U BASED DVB-T USB DONGLE

100       All  RTL2832U  based DVB-T USB dongles requires calibration so that the
101       specified receiving frequency is correct. Most dongles are way  off  in
102       frequency. 50-60ppm is not uncommon which translates to more than 20kHz
103       on 434MHz.
104
105       Most dongles are sensitive to temperature change so start  by  plugging
106       the  dongle  into  the  computer and let it warm up for like 15 minutes
107       before doing the calibration.
108
109       Devcal need a receiver configuration file to work so such a  file  must
110       be  created before this utility can be used. Read the Ddr Receiver Sec‐
111       tion and the Wideband Receiver Section in  the  svxlink.conf(5)  manual
112       page for information on how to set it up.
113
114       A  first coarse calibration should be done in wideband mode so that the
115       calibration carrier is easy to find. You can use any FM carrier to cal‐
116       ibrate  on that you know is correct in frequency. It does not matter if
117       the carrier is modulated or not. Use your own transceiver or a repeater
118       for  example. If the frequency calibration is unknown for the transmit‐
119       ter being used it may be wise to test with multiple  transmitters.  The
120       command line may look like this:
121
122         devcal -Mw /path/to/svxlink.conf RxRtl
123
124       The  utility  will  print,  among  other  things, the carrier frequency
125       error. It may look something like:
126
127       Tone dev=7.30  Full bw dev=39198.90  Carrier freq err=-27713.53(-64ppm)
128
129       We ignore the first two values for now and concentrate on  the  carrier
130       frequency  error.  The  -64ppm  mean  that  the dongle is receiving the
131       transmitted carrier about 27kHz below the set frequency. To  compensate
132       for  this,  set  the  FQ_CORR  configuration  variable  in the wideband
133       receiver configuration section to 64. Do another measurement to  verify
134       that the received carrier frequency is now closer to the expected one.
135
136       Now we can do the final calibration in narrow band mode. Remove the "w"
137       command line option from the command above and do another  measurement.
138       Adjust FQ_CORR until a value around 0ppm is shown.
139

CALIBRATING THE TRANSMITTER

141       In  order  to calibrate the transmitted deviation we need a way to mea‐
142       sure it.  There are multiple methods to do that. If you have  a  devia‐
143       tion  meter  you're  in luck but most people does not own one of those.
144       Fortuantely there are other ways.
145
146       One way is to use a RTL2832U based DVB-T dongle with the  devcal  util‐
147       ity.  First calibrate the DVB-T dongle according to the instructions in
148       the previous section. The devcal utility can then be used  in  measure‐
149       ment mode to measure the transmitted FM deviation. The measurement mode
150       is activated using the "-M" command line option. Use the  "-f"  command
151       line  option  to  specify  the  audio  frequency to calibrate at if the
152       default of 1000Hz need to be changed.
153
154       Another way to measure FM deviation without a deviation meter is to use
155       the  Bessel  null  method. It makes use of the fact that the FM carrier
156       will go down to zero power for certain combinations of modulation  fre‐
157       quency  and  deviation.   The  deviation divided by the modulation fre‐
158       quency give something called the modulation index. Bessel  nulls  occur
159       at specific modulation indexes where the first one is at 2.4048. So, if
160       we choose the deviation to 2404.8Hz and  the  modulation  frequency  to
161       1000Hz  we should get a Bessel null when the transmitter is calibrated.
162       These are the default modulation parameters in devcal.
163
164       So how can we detect when the carrier power goes down to zero?  If  you
165       own  some  form of spectrum analyzer the spectrum can be watched to see
166       when the carrier falls down to zero. If you own a CW receiver that cov‐
167       ers  the  frequency  of interest you can use that to listen to the car‐
168       rier. Start devcal in transmitter  calibration  mode  using  a  command
169       looking like the one below.
170
171        devcal -t /path/to/svxlink.conf Tx1
172
173       In another window, start the alsamixer utility or some other utility to
174       adjust the audio output level. Set the output level to zero. Go back to
175       the  devcal  window  and press 0 to set MASTER_GAIN to zero. Press T to
176       start transmitting.  Since we set the sound output level to zero only a
177       carrier  will  be transmitted.  Adjust the CW receiver to center on the
178       carrier. Use the narrowest filter that the receiver support. Now  start
179       increasing  the audio output level in alsamixer.  Listen to the tone to
180       find the first minimum. Use the +/- keys in deval to fine tune the out‐
181       put  level  to a minimum. You have now found the calibration values for
182       the transmitter. The printed value of  MASTER_GAIN  should  be  entered
183       into the configuration section for the transmitter.
184

CALIBRATING THE RECEIVER

186       To  calibrate  the receiver we need a transmitter with a known calibra‐
187       tion. If possible, the transmitter that was  calibrated  above  can  be
188       used.  If  it's  not possible, another transmitter can be calibrated in
189       the same way to be used as a calibration transmitter. Start the  devcal
190       utility something like this:
191
192         devcal -r /path/to/svxlink.conf Rx1
193
194       Start  alsamixer in another window and adjust the input level to get as
195       close as possible to the expected deviation. Use the 0, + and - keys to
196       adjust PREAMP to fine tune the deviation that is shown. When satisfied,
197       enter the PREAMP value into the configuration file in the receiver sec‐
198       tion.
199

EXAMPLE: CALIBRATING USING A DVB-T USB DONGLE

201       This  is  an  example of how the calibration procedure may be performed
202       using a DVB-T USB dongle and an arbitrary transmitter,  like  a  handie
203       transceiver.
204
205       The  calibration transmitter, a handie transmitter for example, must be
206       able to send some form of modulated tone for this  procedure  to  work.
207       The  1750Hz  tone  burst  that many transmitters are equipped with is a
208       good one to use. It is also possible to use a DTMF tone but the results
209       is  not  as  good as when using a single tone, it seems. If using DTMF,
210       try using the code "A" (1633Hz) or "3" (1477Hz). In this  example,  the
211       use of 1750Hz tone burst is described.
212
213       Use the DVB-T dongle to measure the deviation of the 1750Hz tone.
214
215         devcal -M -f1750 /path/to/svxlink.conf RxRtl
216
217       Start  transmitting  with  the calibration transmitter and wait for the
218       values to stablilize. Take a note of the value for "tone dev".  It  may
219       be  something  like  3200Hz,  which is used in the example below. Leave
220       deval running since we will need it later on.
221
222       On the system being calibrated, start the receiver calibration.
223
224         devcal -r -f1750 /path/to/svxlink.conf Rx1
225
226       Transmit using the calibration transmitter and adjust the  input  level
227       using alsamixer and PREAMP to the correct level for "tone dev".
228
229       Make  sure  that  devcal  is  started in measurement mode like when the
230       deviation on the calibration transmitter was measured above.  Then,  on
231       the system being calibrated, start the transmitter calibration.
232
233         devcal -t -f1750 -d3200 /path/to/svxlink.conf RxRtl
234
235       The  value of 3200 was the one we measured in the first step. Adjust it
236       to match your own measurements. Adjust the output level using alsamixer
237       and MASTER_GAIN to get the correct reading for "tone dev".
238
239       To check the calibration, use devcal in measurement mode to measure the
240       deviation on the transmitter when retransmitting a received signal. For
241       a  repeater that is easily achieved by transmitting on the receive fre‐
242       quency using the calibration  transmitter.  The  deviation  measurement
243       should  show  the correct value being retransmitted. For a simplex link
244       the parrot can be used to achieve the same thing.
245
246       NOTE: The retransmitted deviation may not be exactly the same for  some
247       transceivers. This is an issue that remains to find the cause of.
248

ENVIRONMENT

250       ASYNC_AUDIO_NOTRIGGER
251              Set  this  environment  variable  to 1 if you get an error about
252              ioctl: Broken pipe during remotetrx server  startup  when  using
253              OSS audio.
254

AUTHOR

256       Tobias Blomberg (SM0SVX) <sm0svx at users dot sourceforge dot net>
257

REPORTING BUGS

259       SvxLink Devel <svxlink-devel at lists dot sourceforge dot net>
260

SEE ALSO

262       svxlink(1), remotetrx.conf(5), svxlink.conf(5), siglevdetcal(1)
263
264
265
266Linux                            NOVEMBER 2015                       DEVCAL(1)
Impressum