[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Linrad] Frequency correction tables for WSE
- Subject: [Linrad] Frequency correction tables for WSE
- From: Leif Asbrink <sm5bsz.com; leif@xxxxxxxxxxxxxxxx>
- Date: Thu, 19 Mar 2009 10:20:26 +0100
> A second issue, When I inject a cw signal into one of the converter
> antenna ports, the frequency shown on linrad screen is not the same.
> For example, if I inject a -100 dBm CW signal at 144.12900, Linrad
> shows the frequency of the signal to be at 144.13065, Is this an
> error in linrad software or in the WSE oscillator?
The error is 1.065 kHz and it is the summed error of all WSE oscillators
(as well as the Delta44 oscillator.)
The WSE units are designed for extremely low sideband noise, not for
frequency stability. There is no temperature compensation so you should
be able to see the frequency drift easily.
See fig 3 here:
http://www.sm5bsz.com/linuxdsp/rx10700/osc.htm
and figs 3 and 4 here:
http://www.sm5bsz.com/linuxdsp/rx70/osc.htm
The WSE units require stable temperature for good stability
unless you add a PLL to each unit.
> My signal source
> is from a very accurate signal generator whose accuracy has been
> verified independently.
The WSE units are designed to allow phase locking from a reference
source. They all oscillate on a multiple of 100 kHz so a simple
PLL that samples at 100 kHz could be used. I have not designed such
a unit because I have not had the need for it myself.
Since you have an accurate signal source you should change the
frequency error tables in wse_sdrxx.c. They look like this:
int rx2500_fqcorr=0;
int rx10700_fqcorr[4]={0,-100,180,-60};
int rx70_fqcorr[5]={-230,-100,-100,-100,-300};
int rx144_fqcorr[4]={0,-50,-160,-130};
These were the values needed here to make my system display
correct frequencies half a year ago. There is no user interface
within Linrad to set these corrections.
Once you installed the compilers and compiled from source once
you will find that a re-compile with a changed wse_sdrxx.c is
immediate.
First inject a signal near 2.5 MHz into rx2500. Note the error in Hz,
change rx2500_fqcorr accordingly, recompile and verify.
You should find that the error now is near zero or twice as large.
In the latter case, change sign.
Then inject a signal near 10.675 into rx10700, set the center frequency to
10.675 and check the error. Change the first value (0) in rx10700_fqcorr
and re-compile.
Then repeat at 10.7, add or subtract your error to -100 and put in
as the second number. repeat at 10.725 and 10.750
Then enject near 70.0, 70.1, 70.2 and 70.3 into rx70 to calibrate it.
Finally 144.0, 144.5, 145.0 and 145.5 into RX144.
I introduced the error compensation fairly recently and it
is not documented anywhere (yet) as I recall.
73
Leif
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Linrad" group.
To post to this group, send email to linrad@xxxxxxxxxxxxxxxx
To unsubscribe from this group, send email to linrad+unsubscribe@xxxxxxxxxxxxxxxx
For more options, visit this group at http://groups.google.com/group/linrad?hl=en
-~----------~----~----~----~------~----~------~--~---
LINRADDARNIL