To: | [email protected] |
---|---|
Subject: | Re: LF: Re: WSPR Timing issue |
From: | Andy Talbot <[email protected]> |
Date: | Thu, 29 Jan 2009 21:51:05 +0000 |
Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=LchiuGyl2sw5Ru+A4Sfr862xhstUsbooQv0nBkHhe8c=; b=F43hH2izK/tFov7KUHY35DupTeqcWafJ+M6OP62dQ9pNKDlKszXrUaGReiUWzNekaL RRagrr0CmaFLdj58gYzkf0pNeiycMgdbhMdIpsX6UCTqaTkvmDMo2NmQG/CS7QuVx+qP d/LD9Ef2qXkGSBgEFpuhLGJXlMFjm9TR9Uxr0= |
Domainkey-signature: | a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=U6kkvKHd3837pLMAdCtT0YsI5exotxG3FZn9GMZ+mdjUNBQ9uSJbWO0Z9zhn67sS9r C0JyLsyW/IMFVBcRf3X98/fcXo1+6XTUPMaqBZxxif+S376lGTqgztmx7yTGdQa8xeBy nN1Z8rnAOhwnSEOX1Dh1+MbqXtWwuQ7lX+Apk= |
Domainkey-status: | good (testing) |
In-reply-to: | <FAEE5C1C09A4415EBB6C38E663C4EEDC@JimPC> |
References: | <00f801c98235$a558af20$a402a8c0@Inspiron> <FAEE5C1C09A4415EBB6C38E663C4EEDC@JimPC> |
Reply-to: | [email protected] |
Sender: | [email protected] |
I haven't really been following this thread, and have deleted many of the relevent messages, unfortunately. But you can quite safely assume that all timing, apart from the ititial even minute kick-off, WILL most definitely be all derived via the soundcard. The whole beauty behind the WSPR (and the JT65 and FSK441) protocols is that the tone spacings and signalling intervals are coherent. If they weren't, you couldn't have such tone narrow spacing with that symbol interval.
The WSPR tone spacing is 12000Hz / 8192 ~~ 1.48Hz. The signalling interval is the reciprocal of this, or 0.68 seconds. (there are 162 symbols, and 162 * 8192 / 12000 = 110.592 seconds - just under two minutes, the frame interval.) This exact relationshihp allows semi-coherent processing to be performed.
Timing needs to be sufficient such that after 162 symbols, the final one is still reasonably aligned. When I was writing the JT65 PIC code eventually used on GB3VHF and 'RAL beacons, I mentioned this aspect to Joe K1JT, as I knew the PIC generated timing would be in error by several tens of ppm. to ask his opinion. He reckoned that provided the final symbol was aligned to better than about 50% of its length, the decoding wouldn't suffer too much. So my tens of ppm was more than adequate. 50% actually sounds quite generous; I would have thought a 10% alignment was more like that required for no serious degradation.
If the same rule applies to WSPR, this suggests a soundcard timing error of 0.68 / 2 = 340ms after 110 seconds, or 0.3%. So a sampling rate error of +/-37Hz at 12kHz is permitted.
I think there was a reference to 1.5 seconds error in a previous posting on this matter - this is very bad if it refers to the run-time and not just a timing error..
Now this is pure speculation on my part, but could, just, explain why weak signals could be copied, and strong ones not...
If copy is good, the receiver will try to decode all the symbols, which will not match but it won't know which to reject so teh mesasge fails in totality.
With a weaker signal, the decoding algorithm may just look at a portion of the stream, which may be good enough and have not drifted too much in timing - so will generate a valid decode.
I suggest you study thoroughly the JT65 description on Joe's website, and understand the principles of that coding - as WSPR hasn't yet been written-up. WSPR uses similar coding and synchronisation principles to JT65, although obviously different physical properties such as number of tones, spacing and time interval; even base soundcard rate.
And yes, in Windoze programming multiple wave threads can run in parallel. You can open multiple buffers and they all concatenate automatically, passing from one to another seamlessly as soon as each one empties. In fact, for coherent, continuous, reading or writing of wave data, ping-pong buffers have to be set up, so that one can be processed while the other is read from or written to, to avoid missing samples. Many software writers open multiple buffers within a programme so as to allow seamless interupt processing and allow user I/O.
Its not connected to the problem in hand.
2009/1/29 James Moritz <[email protected]> Dear Lee, Graham, LF Group, |
<Prev in Thread] | Current Thread | [Next in Thread> |
---|---|---|
|
Previous by Date: | Re: LF: RE: where are all the grabbers gone ..., John P-G |
---|---|
Next by Date: | LF: Re: Ferrite toroid cores using HEM series materials, James Moritz |
Previous by Thread: | LF: Re: WSPR Timing issue - odd minute spots, Markus Vester |
Next by Thread: | LF: WSPR 502.5 0.5 W ERP till round 0030 hrs, Graham |
Indexes: | [Date] [Thread] [Top] [All Lists] |