开云体育

Best RX decode performance AFSK 300bps


 

开云体育

Have been going through the docs on this and now decoding quite weak/noisy signals, quite interesting. Want to make sure I have covered everything else that "may not be documented". Most of the 14105 chatter here is marginal. Using latest 1.8.

I haven't found an understandable explanation on the term "slicers" yet. I am using the older format;

MODEM 300 1600:1800 B- 5@30 /1

ie what are the merits of using (say) B+ or even A+ instead. I see 9 "modems" on the log display with that (eg ___||||__). Has there been new modem development since 1.7? Might be nice to see a list of current modems (and summary) available.

FX25 and "FIX_BITS 1 AX25" also works well. Seeing quite a few recoveries. Am TXing 16.

Am wondering how important audio input level setting (and even sampling division rate) is in regard to quantisation errors and dynamic range. If so is there a debug option that shows the occupied bit width, or is this what "audio level" actually logs?

Cheers Bob VK2YQA


 

开云体育


Hello Bob,

Have been going through the docs on this and now decoding quite weak/noisy signals, quite interesting. Want to make sure I have covered everything else that "may not be documented". Most of the 14105 chatter here is marginal. Using latest 1.8.


Your #1 best way to improve 300bps AFSK packet is a better antenna on your side.? I do completely understand that this is the hardest thing to do though.? Ultimately, the 300bps AFSK mode without addons like FX.25 is not very robust and this is one of the many reasons other HF digital modes have tried to replace it.? I would argue the most popular of these in modern times is VARA though I pray the revitalized ARDOP-CF mode might make a comeback here.


I haven't found an understandable explanation on the term "slicers" yet. I am using the older format;

MODEM 300 1600:1800 B- 5@30 /1

ie what are the merits of using (say) B+ or even A+ instead. I see 9 "modems" on the log display with that (eg ___||||__). Has there been new modem development since 1.7? Might be nice to see a list of current modems (and summary) available.


The modem section is described in the Direwolf User Guide section 9.2.2 but each slicer is trying to simultaneously decode the signal with different frequency offsets to hopefully decode slightly off frequency stations (very common HF)? The downside on running more slicers is CPU load but it's really not much of a burden even on low power systems so I recommend you enable it.


FX25 and "FIX_BITS 1 AX25" also works well. Seeing quite a few recoveries. Am TXing 16.


These are both good things to have enabled and FX.25 will help a lot but only to those remote stations that offer it.


Am wondering how important audio input level setting (and even sampling division rate) is in regard to quantisation errors and dynamic range. If so is there a debug option that shows the occupied bit width, or is this what "audio level" actually logs?


The ideal audio level? is just to ensure you're getting some signal in while not clipping and Direwolf is very flexible here.? The sampling divisors are again a CPU saving thing if you really need it but it's been mentioned before that 300bps is a VERY slow mode so even using a /3 divisor won't hurt decoding much.

--David
KI6ZHD


 

There's also the relatively recent IL2P mode which is supposed to be even better than FX25.? I haven't tried it yet, but a couple of us just today started experimenting with Direwolf/Soundmodem modes to see if any of them perform better than standard AFSK 300bd, sending APRS messages (with acks) on HF. ? So far all we've tried is BPSK 600bd with FX25 and single-bit recovery enabled, and it seems noticeably better than AFSK 300bd.? We'll be trying IL2P pretty soon I think, both 300bd and 600bd.
?
Yeah, VARA is far better than AFSK, really no comparison.? We started with AFSK on HF for a packet backbone link between two NVIS-range nodes, but it was just awful to be honest, even when there was a good path.? We switched to VARA and the difference was amazing.? We found ARDOP to be pretty good too, not as good as VARA, but also much better than AFSK.


 

开云体育

Thanks Jeff

Might also be worth experimenting with the various fldigi modes "made" for varying HF condx. I found the PSKR (ie BPSK with FEC) quite useful in that starting with the same base mode and varying carriers/bandwidths as needed. Kind of the way VARA ramps up and down. There is no included code for sensing then changing, but RX s/n can be reported and controlled over XML. This is how Pskmail works. Fldigi also has a KISS interface.

Cheers Bob



 

开云体育

Hi David

No possibility with an antenna change hi.

What confused the issue with 9.2.2 is the table of modems says;

“+” means enable multiple slicers.
“-“ means single slicer.

but one creates multiple demodulators using a "single slicer" B- 5@30 (etc)

I expect that "slicers" is another name for "demodulators", but by looking at the log display (eg ___||||__) it suggests something like 9@30 that is probably not number/spacing set and/or is automatic/dynamic. This all contras though when one has to use B- to set that manually. The table should probably read "- means manually setting quantity and spacing of demodulators, the default being 1".

So is there any practical advantage running B+ over B- when (say) multiple demodulators are employed?

My question about audio input level is really not about clipping as that is kind of obvious. It's about as a signal gets weaker and the bit width narrows. eg assume it was weak enough to fall to (say) 6 bits rather than 16. Does that affect decoding maths reliability. I have found when using fldigi for example the RF preamp can help that.

As it is I was reliably decoding a host of US stations this morning up around 70-80%, but my 50W wasn't getting back.

Cheers Bob


On 17/12/24 08:31, David Ranch via groups.io wrote:


Hello Bob,

Have been going through the docs on this and now decoding quite weak/noisy signals, quite interesting. Want to make sure I have covered everything else that "may not be documented". Most of the 14105 chatter here is marginal. Using latest 1.8.


Your #1 best way to improve 300bps AFSK packet is a better antenna on your side.? I do completely understand that this is the hardest thing to do though.? Ultimately, the 300bps AFSK mode without addons like FX.25 is not very robust and this is one of the many reasons other HF digital modes have tried to replace it.? I would argue the most popular of these in modern times is VARA though I pray the revitalized ARDOP-CF mode might make a comeback here.


I haven't found an understandable explanation on the term "slicers" yet. I am using the older format;

MODEM 300 1600:1800 B- 5@30 /1

ie what are the merits of using (say) B+ or even A+ instead. I see 9 "modems" on the log display with that (eg ___||||__). Has there been new modem development since 1.7? Might be nice to see a list of current modems (and summary) available.


The modem section is described in the Direwolf User Guide section 9.2.2 but each slicer is trying to simultaneously decode the signal with different frequency offsets to hopefully decode slightly off frequency stations (very common HF)? The downside on running more slicers is CPU load but it's really not much of a burden even on low power systems so I recommend you enable it.


FX25 and "FIX_BITS 1 AX25" also works well. Seeing quite a few recoveries. Am TXing 16.


These are both good things to have enabled and FX.25 will help a lot but only to those remote stations that offer it.


Am wondering how important audio input level setting (and even sampling division rate) is in regard to quantisation errors and dynamic range. If so is there a debug option that shows the occupied bit width, or is this what "audio level" actually logs?


The ideal audio level? is just to ensure you're getting some signal in while not clipping and Direwolf is very flexible here.? The sampling divisors are again a CPU saving thing if you really need it but it's been mentioned before that 300bps is a VERY slow mode so even using a /3 divisor won't hurt decoding much.

--David
KI6ZHD


 

开云体育


Hello Bob,


What confused the issue with 9.2.2 is the table of modems says;

“+” means enable multiple slicers.
“-“ means single slicer.

but one creates multiple demodulators using a "single slicer" B- 5@30 (etc)


Ah... Ok, got it and yes, there seems to be some confusion here around terminology

On page 61, the User Guide says:
--
My original solution for this, many years ago, was to allow multiple demodulators with staggered center
frequencies. With this example, we have 7 different modems, spaced at 30 Hz apart.

? MODEM 300 A- 7@30
--

That section goes on to say that the pipe characters in say (_|||_____)? mean lower to higher frequency modems to the left and higher freqency modems to the right.? In this example, three modems listening to lower frequencies decoded the packet.


I expect that "slicers" is another name for "demodulators", but by looking at the log display (eg ___||||__) it suggests something like 9@30 that is probably not number/spacing set and/or is automatic/dynamic. This all contras though when one has to use B- to set that manually. The table should probably read "- means manually setting quantity and spacing of demodulators, the default being 1".


At the bottom of page 62, the User Guide says:
--
The ?B? demodulator is new in release 1.7. This acts like an FM demodulator. Combined with multiple
slicers, it provides tolerance for signals off frequency.
--

There is very little detail about slicers in the User Guide.? There is a little more in the A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf document but again, not a whole lot.


So is there any practical advantage running B+ over B- when (say) multiple demodulators are employed?


The A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf doc talks a bit about slicers and trying to empirically show through multiple decoded packet test runs how using multiple slicers helped a little bit.? Will it work for you?? You'll just have to try but I don't think they will make things WORSE other than higher CPU load.


My question about audio input level is really not about clipping as that is kind of obvious. It's about as a signal gets weaker and the bit width narrows. eg assume it was weak enough to fall to (say) 6 bits rather than 16. Does that affect decoding maths reliability. I have found when using fldigi for example the RF preamp can help that.


Much like a preamp, increasing the *AF volume* aka the sound device's microphone volume will also increase your noise floor and lower your system's overall dynamic range.? Digital mode programs like Direwolf can decode stuff that isn't even heard so I wouldn't recommend to try to change the AF audio.?? Counter to that, there is the radio's RF preamp (if it has one).? That sometimes can help but it can also hurt as well.? It really depends on the RF conditions, the received signal, the received noise, etc.? You'll have to try it at that particular time and see if it helps or hurts things.


As it is I was reliably decoding a host of US stations this morning up around 70-80%, but my 50W wasn't getting back.


There are a lot of HF packet stations ~centered around Colorado, US and I've found that grey line propagation from California helps me a LOT to my fan dipole antenna.? It only lasts for about 45min and my decode rate falls back down.? The other thing to note is that a lot of those US midwest 300bps HF packet stations run with a LOT of power.. some running 500w or more!


Beyond all this.. others have mentioned that other data modes could offer far better reliability but if the remote station isn't running those improved nodes, it doesn't really matter (chicken / egg issue).? I don't really know what to say here other than maybe only try to work stations that you know use FX.25 or offer stronger data modes.? It's frustrating and I tried for a LONG time to make 300bps AFSK HF packet work but I ultimately gave up as it was too unreliable to be enjoyable.? I pray that you will have better luck than I did.

--David
KI6ZHD


 

开云体育

Hi David, Bob,

If I may chip in with my experiences gained from running a 30m BBS for a number of years. My comments are further down ...


On 18/12/24 04:48, David Ranch via groups.io wrote:

Hello Bob,


What confused the issue with 9.2.2 is the table of modems says;

“+” means enable multiple slicers.
“-“ means single slicer.

but one creates multiple demodulators using a "single slicer" B- 5@30 (etc)


Ah... Ok, got it and yes, there seems to be some confusion here around terminology

On page 61, the User Guide says:
--
My original solution for this, many years ago, was to allow multiple demodulators with staggered center
frequencies. With this example, we have 7 different modems, spaced at 30 Hz apart.

? MODEM 300 A- 7@30
--

That section goes on to say that the pipe characters in say (_|||_____)? mean lower to higher frequency modems to the left and higher freqency modems to the right.? In this example, three modems listening to lower frequencies decoded the packet.


I expect that "slicers" is another name for "demodulators", but by looking at the log display (eg ___||||__) it suggests something like 9@30 that is probably not number/spacing set and/or is automatic/dynamic. This all contras though when one has to use B- to set that manually. The table should probably read "- means manually setting quantity and spacing of demodulators, the default being 1".


At the bottom of page 62, the User Guide says:
--
The ?B? demodulator is new in release 1.7. This acts like an FM demodulator. Combined with multiple
slicers, it provides tolerance for signals off frequency.
--

There is very little detail about slicers in the User Guide.? There is a little more in the A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf document but again, not a whole lot.


So is there any practical advantage running B+ over B- when (say) multiple demodulators are employed?


The A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf doc talks a bit about slicers and trying to empirically show through multiple decoded packet test runs how using multiple slicers helped a little bit.? Will it work for you?? You'll just have to try but I don't think they will make things WORSE other than higher CPU load.


My question about audio input level is really not about clipping as that is kind of obvious. It's about as a signal gets weaker and the bit width narrows. eg assume it was weak enough to fall to (say) 6 bits rather than 16. Does that affect decoding maths reliability. I have found when using fldigi for example the RF preamp can help that.


Much like a preamp, increasing the *AF volume* aka the sound device's microphone volume will also increase your noise floor and lower your system's overall dynamic range.? Digital mode programs like Direwolf can decode stuff that isn't even heard so I wouldn't recommend to try to change the AF audio.?? Counter to that, there is the radio's RF preamp (if it has one).? That sometimes can help but it can also hurt as well.? It really depends on the RF conditions, the received signal, the received noise, etc.? You'll have to try it at that particular time and see if it helps or hurts things.


As it is I was reliably decoding a host of US stations this morning up around 70-80%, but my 50W wasn't getting back.


There are a lot of HF packet stations ~centered around Colorado, US and I've found that grey line propagation from California helps me a LOT to my fan dipole antenna.? It only lasts for about 45min and my decode rate falls back down.? The other thing to note is that a lot of those US midwest 300bps HF packet stations run with a LOT of power.. some running 500w or more!


Beyond all this.. others have mentioned that other data modes could offer far better reliability but if the remote station isn't running those improved nodes, it doesn't really matter (chicken / egg issue).? I don't really know what to say here other than maybe only try to work stations that you know use FX.25 or offer stronger data modes.? It's frustrating and I tried for a LONG time to make 300bps AFSK HF packet work but I ultimately gave up as it was too unreliable to be enjoyable.? I pray that you will have better luck than I did.

As said above, I ran a 30m BBS for a number of years, and quite successfully, mostly. I also gated HF travellers in the Australian outback, as well as the occasional overseas stations, notably a yacht in the Caribbean for near two weeks and another yacht near Antarctica for a similar period of time. Heard on many night were some stations from Europe and the US.

I used both ex-commercial crystal locked Codan transceivers (100W maximum) and a trusty old Kenwood TS430 (set to 50W). Originally I used the MFJ1270B TNC but later changed to a Baycom USCC4 ISA card. its world chip used for HF was excellent. This was well before "modern" modems such as Direwolf, et al. There wasn't anything special about the equipment.

I believe that three things played an important role in my success;
1. the antenna. I was fortunate enough to be on 25 acres and was able to string up a flat-top half-wave dipole at about 50ft (about half a wavelength above ground - really terrible ground for radio!.
2. the standing noise level on HF at my location was S0 (zero).
3. the particular paths I used. I discovered early that some paths would not work reliably while others were simply brilliant. One path of 1100km into Victoria, to my south, was open for up to 22 hours per day. When that BBS closed I moved to another at about the same distance but to my west in South Australia. That path worked reasonably well but was not even close to the previous path in performance. With 25 acres of trees I was able to orientate the antenna to favour the new station.

I think that for the "average" 30m user it's a case of SIAS (suck it and see). There will be winners, and losers. For plain old 0k3 packet the likes of Direwolf can offer a level of assistance but nothing can compete with, or overcome, the vagaries of Mother Nature.


--David
KI6ZHD
Ray vk2tv


 

I was wondering if an “eye diagram” display in real-time on an oscilloscope would help in troubleshooting FSK demodulation. As I understand it, the horizontal sweep is driven by the RX baud rate and the vertical deflection is at the analog “slicer” (the point where the hard decision (mark or space) is made. Anyway, I think I’ll play around with it. ?
?


 

It would be interesting to hear what you learn from your experiment.?

I know that the new ardopcf modem has a built-in web ui for showing a waterfall.? I wonder if we could borrow that code and add it to direwolf and maybe add a eye-view as well.

--David
KI6ZHD


On December 25, 2024 4:47:36 AM GMT+13:00, "bobolink via groups.io" <rwhinric@...> wrote:
I was wondering if an “eye diagram” display in real-time on an oscilloscope would help in troubleshooting FSK demodulation. As I understand it, the horizontal sweep is driven by the RX baud rate and the vertical deflection is at the analog “slicer” (the point where the hard decision (mark or space) is made. Anyway, I think I’ll play around with it. ?
?