Return to KLUBNL.PL main page

rsgb_lf_group
[Top] [All Lists]

Re: LF: WOLF Coding

To: [email protected]
Subject: Re: LF: WOLF Coding
From: Andy Talbot <[email protected]>
Date: Tue, 2 Feb 2016 10:09:52 +0000
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=V5wN+8czLWDLhdK0IN/BnNld9EmHvGSxrcXPpZQ3EXo=; b=ik1WYOrSySyl2o7S82KmmhezLEMBzJOhiY4zunB/PbsRTcIz3ZpAdLY/cLSy3/fiq/ 3BBuIURNnqGoCWDyMtv9W7ALbcPJdiJw6ivSJIovBRtGqUMmDciD6RhovLY/V8ux7JQh YrkN33hxuo9CwyX+mHKfpCQYfAA0XIMP9zIyohz4fi0Ma+jtFNrvXGDNbXFXVVe4UMEL tBA9lPsCAkccyvfpPezhaN6+9m8P7+a2gRim3TnUHayXwOQTI8ID3cpHM3uLcHx8FkXz f9Tc6tvKKsoFXvNi+5hmbXS0PcrwIWnjFSpuuXVWmDIzc5eTFfZI27m7yDHn5lLwFhOG iqHg==
In-reply-to: <CAA8k23Q=cPkkO3dodSPreZOaoLkoCw4zfTbHQkMsLjyyKnTixg@mail.gmail.com>
References: <CAA8k23TaTWfpNuSYb0fhDVM4x=5ANijk5n1FAGd_8HK0PE=Raw@mail.gmail.com> <[email protected]> <CAA8k23Q=cPkkO3dodSPreZOaoLkoCw4zfTbHQkMsLjyyKnTixg@mail.gmail.com>
Reply-to: [email protected]
Sender: [email protected]
NOW I know why the interleaving option was included:
There is a conditional statement in the WOLF source code :

#if INTLV
   out[k*MSGLENB + (j&7)*10 + ((j&8)>>3) + i*2] = (ushort)b;
#else
   out[k*MSGLENB + j + i*WLEN] = (ushort)b;
#endif

Which I just copied and translated to PowerBasic, thinking interleaving may be a user option.

I clearly had the same source code file back then but don't recall it - time flies as you get older :-(

Andy


On 1 February 2016 at 18:47, Andy Talbot <[email protected]> wrote:
Excellent !
Thanks for that pointer

I've just run WOLF_GUI with the -n option and compared the results with that software written five years ago..  When interleaving is used, it gives the same answer.  So all seems to be OK with it.   Wonder why I included an option to leave interleaving out?  Must have had a reason back then...

I want to be able to generate the message in the PIC on the fly, so variable data can be inserted and allow the mode to be used for telemetry type purposes on a beacon transmitter.

See http://www.g4jnt.com/WSJT_Position_reporting.pdf  for an example,  using the  JT4 mode in the WSJT suite for position reporting.    Random timed BPSK is a lot easier to generate and use for this  than is MFSK  in time-locked bursts 

Andy  G4JNT


On 1 February 2016 at 18:14, John Andrews <[email protected]> wrote:
Andy,

WOLF interleaving hasn't changed since the very beginning. Markus has pointed out the source code location -- Wolf Buscher's GUI is a wrap-around for the core code created by Stewart Nelson.

As Warren suggests, the WOLF and WOLF_GUI programs have a method of creating a file representing the 960 bits in the message. I have used that in a small transmitter at my other QTH to send a static text giving callsign and QTH. I simply brought the output file into the 8051 code as a look-up table, and step through it with 100ms interrupts from a divider chain.

For the original Stewart Nelson program, the following instructions were given:

"If you have a BPSK-capable beacon which uses an EEPROM to store its message, WOLF can generate a binary file suitable for programming the device. This mode is activated by supplying a negative argument to the 'n' option:

C:\wolf>wolf -x "KK7KA RENO NV" -n -1
WOLF version 0.31
Wrote wolfx.bin, 961 bytes

The wolfx.bin file has one byte for each bit to be transmitted, followed by a "reset" byte. The data is in the LSB (bit 0), and the reset function is in bit 1. You may need to convert the .bin file to a .hex for some programmers."

DL4YHF carried all of the command-line parameters into the GUI version. If you call up his program with:
WOLF_GUI -x "W1TAG HOLDEN MA" -n -1
you will get a wolfx.bin file in that directory, which you can use for beaconing.

If you want to change the message "on the fly," then work from the DL4YHF version noted by Markus.

John, W1TAG

On 2/1/2016 12:18 PM, Andy Talbot wrote:
I'm contemplating writing some PIC code to encode WOLF (the software)
into a PIC to make a standalone beacon transmitter source.   A generator
for the rate 1/6  32 constraint length  convolutional code will fit into
a 16F628A chip  without too much difficulty - I've already done it for
JT4 and WSPR; it just needs more parallel shift registers and less
message memory than those modes do.

Looking back though the archives of various progs written over the
years, I found one written back in 2010 that generates the bit pattern
for a WOLF message.   So back then,  must have been thinking of doing
something with WOLF but it never got beyond a basic coder.   To be able
to write that software I must have had the original source code by John
/ team or Wolf (the operator!) for the mode, but can't find it.

Also have a bit of a conundrum - in that  software I provided the option
for interleaving the final data or not, but don't know if the current
Wolf GUI software implements interleaving or not.

This is the interleaving code I wrote back then  (PowerBasic language,
  variables here are all long ints) but don't know if its currently
implemented in the latest versions

IF interlv THEN
                 tempj = j
                 SHIFT RIGHT tempj , 3
                 PTR = k * 80 + (j AND 7) * 10 + tempj + i * 2
             ELSE
                 PTR = k * 80 + j + i * 16
             END IF
   outdata(PTR) = b


Is the WOLF source code available anywhere, and is interleaving
implemented?

Also, is there an option somewhere to generate a file or even a screen
showing of the output bit pattern?
Short of actually running WolfGUI with a test message, recording the
output and comparing it with my generated sequence for the same message
it's difficult to know if my software gives the right answers.

Andy  G4JNT



<Prev in Thread] Current Thread [Next in Thread>