Return-Path: Received: (qmail 842 invoked from network); 17 Nov 2002 23:10:58 -0000 Received: from warrior.services.quay.plus.net (212.159.14.227) by mailstore with SMTP; 17 Nov 2002 23:10:58 -0000 X-Priority: 3 X-MSMail-Priority: Normal Received: (qmail 28319 invoked from network); 17 Nov 2002 22:10:13 -0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Received: from post.thorcom.com (193.82.116.70) by warrior.services.quay.plus.net with SMTP; 17 Nov 2002 22:10:13 -0000 X-SQ: A Received: from majordom by post.thorcom.com with local (Exim 4.10) id 18DXbU-000881-00 for rsgb_lf_group-outgoing@blacksheep.org; Sun, 17 Nov 2002 22:09:20 +0000 Received: from [152.163.225.102] (helo=imo-r06.mx.aol.com) by post.thorcom.com with esmtp (Exim 4.10) id 18DXbS-00087s-00 for rsgb_lf_group@blacksheep.org; Sun, 17 Nov 2002 22:09:19 +0000 Received: from DL4YHF@aol.com by imo-r06.mx.aol.com (mail_out_v34.13.) id l.80.2483af24 (4222) for ; Sun, 17 Nov 2002 17:08:35 -0500 (EST) From: DL4YHF@aol.com Message-ID: <80.2483af24.2b096d63@aol.com> Date: Sun, 17 Nov 2002 17:08:35 EST To: rsgb_lf_group@blacksheep.org MIME-Version: 1.0 X-Mailer: AOL 6.0 for Windows XP DE sub 50 Subject: Re: LF: Spectrum Lab Question Content-Type: text/html; charset=windows-1252 X-Spam-Status: No, hits=1.9 required=5.0tests=BIG_FONT,NO_REAL_NAME,SPAM_PHRASE_01_02,USER_AGENT_AOLversion=2.42 X-Spam-Level: * Sender: Precedence: bulk Reply-To: rsgb_lf_group@blacksheep.org X-Listname: rsgb_lf_group Content-transfer-encoding: 8bit Hello Richard,

You wrote:
>> I am implementing a
RX drift cancelling system for some experiments that I am doing. Basically the idea is that alongside the wanted signal, I will put a stable carrier. I then want to use Spectrum Lab to correct for drift by using the recovered carrier as a reference for an oscillator/mixer such that downward shifts in the carrier due to RX drift wi ll shift the oscillator such that the drift is eliminated after the mixer.
<<

Well, it it possible to set the frequency of one of the oscillator function blocks to the peak frequency in a narrow frequency band. SpecLab has a kind of "script language" built inside, there is a function which returns a very accurate peak frequency value ("peak_a(freq1, freq2")
, and there is a procedure which can set the frequency of an oscillator to a specified frequency ("circuit.osc[0].freq=X").
I tried this instruction:
  circuit.osc[0].freq=650-peak_f(500,800)
which detects the peak frequency in the range 500 Hz..800 Hz, subtracts it from the "wanted" center frequency (here: 650 Hz) and sets the 1st oscillator to the result (which may be a negative frequency, which is no problem for an oscillator with quadrature output). I used the "USB UP-CONVERTER" driven by this oscillator in the test. In the output, the peak was always at 650 Hz then.
To connect the L.O. to the detected peak frequency, you must convince the interpreter to do this periodically. I achieved this by copying the instruction into the "periodic action" window (which is normally used to trigger screen captures) and set the interval to 1 second (which unfortunately is the lowest value, so this "drift compensator" is only updated once per second). Connect the main spectrum analyzer to the INPUT signal, not to the OUTPUT; because the "peak_f" function takes its input data from the main spectrum analyzer.

If you need further info please ask. More info will go directly to you, because this topic may be too 'special' for this reflector.

Regards and good luck,
Wolf DL4YHF.