[jmilldrum] really gets a lot of use out of his Si5351A breakout board. He’s a ham [NT7S], and the Si5351A can generate multiple square waves ranging from 8 kHz to 160 MHz, so it only stands to reason that it is going to be a useful tool for any RF hacker. His most recent exploit is to use the I2C-controllable chip to implement a Fast Simple QSO (FSQ) beacon with an Arduino.
FSQ is a relatively new digital mode that uses a form of low rate FSK to send text and images in a way that is robust under difficult RF propagation. There are 32 different tones used for symbols so common characters only require a single tone. No character takes more than two tones.
The Si5351A can easily handle the encoding job. Since the output is a square wave, you do need a low-pass filter to put it on the air. [jmilldrum] also used some relatively small amplifiers to get the output up to 20 watts.
You might remember, we’ve talked about [jmilldrum’s] work with the Si5351A before. We also recently were talking about hams experimenting with digital modes and this is a great example, both by the developers of FSQ and [jmilldrum] for implementing it with an Arduino. If you want to learn more about FSQ, see the video below.
I am just thrilled to see ham radio advancing again…
Are all hams so anglocentric? In 2015, it seems like new coding schemes ought to support Unicode, not just a limited set of latin characters and symbols.
Morsecode is only a small subset of ASCII, so…
Morse Code was developed in the 1800s. There’s no reason to allow its choices to dictate what a new coding scheme uses (and indeed, it doesn’t look like they did).
The problem with Unicode or similar is that it uses so many bits to represent a single useful character so using such schemes is terribly inefficient for sending messages and if you are using a digimode that is all about been efficient this unfortunately isn’t going to float.
That doesn’t really fly – as they’ve demonstrated here, you can use a variable length encoding scheme so that more commonly used glyphs encode in fewer bits. Indeed, UTF-8 already does exactly that.
True but they have got that down to 5 bits for most characters 10 for the rest. It looks like a rendition of Baudot which is pretty old … works OK though!
The most commonly used glyph depend on language. Chinese glyphs have nothing in common with western alphabets.
Unicode is a waste of precious bandwidth, especially if the person you’re talking to uses the same character set. It’s better to have regional modes that are switched to when needed. Morse works this way (Wabun code). Plus you need A-Z0-9 anyway for callsign, grid locators, Q codes and so on.
It doesn’t look like the authors of this coding scheme made any provision for that, either.
Seriously, internationalisation on digital systems is a largely solved problem. Just because the data rate is low isn’t a good excuse to pretend that the entire world speaks english.
Wouldn’t be terribly difficult to add an extra tone for entering some kind of shift mode. Or as they say in the FLOSS world: patch welcome!
Looks like the 2 tone coding has 21 unused combinations. Assigning one of those as a command escape should be workable.
Actually the coding mechanism chosen with serially increasing tone differences which are “the bits” fills the 300hz bandwidth allowance, so no, you can’t just add an “extra tone”. Here’s good info: http://www.w1hkj.com/FldigiHelp-3.22/fsq_page.html
FSQ is a very low baud rate in a narrow bandwidth with very conservative coding to handle fading and multipath effects that have severe impacts on HF and VHF reception – these frequencies present a very hard problem for data. Signals can be delayed by tens of milliseconds, with frequency and fading jitter that sometimes makes even CW impossible. The authors of FSQ made the right decision for version 1. Maybe you should get involved in creating version 2 that is more to your liking.
Unicode can be sent in decimal via Morse. You can send anything via Morse if you use a hexadecimal representation of the data stream.
Yes, but you’re going to use 10 elements for each byte that way. Morse Code is designed to be variable numbers of elements per character, such as as few as 1
English is still the common language of amateur radio, especially in international communications. Restricted speed communication is a small subset of english (Q code etc).
There’s nothing stopping you or any other developer from creating and using an expanded Unicode-based version.
+1
Complaining about a̡͚̪̮͎͈͙n̴̥̝̳̲̺̼͙g̱̙̫̼̹l̷͔̜̟̥̭͎o̢̻̳͈͎c̤̠̀en̪̤̮̦̜̠͢t̮̜̕r̨̼̩͎͉͕̲̤i̦sm̼̤̗̫̙̦ ? ̫̹̤̦̩̠͢I͠ ͍̻̠t̺ͅh̝̳̫͍̝͢ͅi͕nk̪̼̭̗̝̠̰ ̨͔y̸̟̣̥̺o̞̩͇̲̗u̗̥̠̯͠’̫͖͜r̹͍͟e̺̤͝ͅ ̵̼̟̗r̝͕̪͈͖͘i̛̻g̡̬̬h͏̫̲t̝͚͍̗̤͈̣͡,̘ ̡͉̱u̡̩͓̝n̸͙̯͓̖͈͍i̫̝̦̯͙͚c҉̜o̱̯̹̪d̮͖̘̬̙̝e̖͍͢ o̵̪͓̘̙̖͉v̰e̤͈͇r̜ͅ ̘͓̬H͙̜a͖̼̪̘m͏̪̲̘̲̦ ̸̬̘ͅR͉͇̙̰̥a͓̗̘̳͎ͅd̤̞̺̙i͓̪̞o͚͔̯ͅ,̷͚͕̤̜̘̰ͅ ̝̙̙̳̝i̸͈̦t̶’̘̠̺͇̜͚̹s ̡̟s̗̻͓͙̟u̬̠c͏̥̪̖ḥ̗̤͙͜ ̲̕ą̖̰̩ͅ ̠͓̣͞g̜̬̣̠ͅṟ͎̭̲̹̘̬e̺͍̤̭͖̹ͅa̢̜̗t̮̖̮͈͚̯͎͢ ̶̜̣i͎̫̼̤͓͚̣̕d̻͔͕͖͉̻è̫̭̥̦͍ͅa͞! Z͏̴̵̮̥̬̞͎̯͙̮̮͢͢ͅA̡̧̰̮̦̼̰̪͎͠L̛̼̲͍̪͕̦͖̙͎̮̙̝͚͘ͅG̴̟̟͍̭̳̦̬̙͙̫̹͙͖͉̰̳͕̘̮͟͝͞͝Ơ̵̻̝̜̤̟͍̺̜̩̦͕̺̩̯̙͚̫͕̦͟
You are absolutely right. How are the Chinese supposed to use this with their writing system? It can’t possibly handle the 50000 or so characters in the Chinese dictionary..
I was up a hill playing with a low power beacon last weekend. I may have a go with this some time soon
https://shropshirelug.wordpress.com/2015/09/09/5th-september-2015-wrekin-beacon/
You can used the DDS9850. It doesn’t have the frequency range of the Si5351A, but it already has sine wave output. I bought both but haven’t had a chance to dig into either. I do like the idea of tinkering around with FSQ.
I am a Ham operator. Yes, the majority of hams are anglocentric, bigoted, and sexist. I’m sorry, that’s how it is, I wish I could fix it. I’m a lesbian trans woman…believe me I wish it weren’t that way. Getting on the air for me is anywhere from creepy to rude, to downright impossible to make a QSO (contact). That said, the reasons said here are true under certain circumstances. When you’re working on HF you have precious little bandwidth to work with. It must be conserved in order to allow others to use the spectrum. You have a whole world to share with. VHF, UHF, and microwave are another story. You have plenty to work with there. You can fit pictures, video, and even high speed data in that. As for the question of what’s a common character, I defer to the anglocentric bigots remark. I wish something could be done, but the only thing that can be done is to get more of our youth involved in the hobby, youth that don’t come from bigoted homes. HAM is an amazing hobby though if you don’t have to worry about that crap, or when you find people who are decent to work with. It’s a hardware hackers wet dream.
Great merger of ham and arduino! I work with a group of youth (Scouts) looking for STEM related projects, and currently studying for their basic amateur radio certification. Learning about radio is a tough sell when they all have smart phones & access to wifi, but they do like their arduinos. I may need to build a workshop around this, as it combines what they already have with new concepts. Thanks Al Williams & [jmilldrum]!
Base 16/32/64 encode UTF-8 if you want. Could transfer binary data that way, too.
“The FSQ alphabet has 29 characters that can be sent as a single symbol (all the lower case letters and frequently used punctuation) and a further 75 characters using two symbols, encompassing 104 ASCII characters in total. ”
http://www.qsl.net/zl1bpu/MFSK/WSQ%20Varicode%20V3.png
Kind of weird there’s no escape character for future expansion, but you could probably do something using the idle character (null). Say, 8 times in a row activates base 16/32/64 encoding, 8 newlines deactivates it. Maybe specify a compression algorithm.
Your thinking is too ASCII-bound (i.e too limited). There is plenty of room for expansion in the FSQ alphabet, for example the codes 15,31 to 26,31 are currently unused. We’ve just not yet found a good reason to expand the alphabet. That said, I’ve already developed a substitution cypher for FSQ which does not increase the transmitted overhead at all, and the same thinking can be applied to sending rich text or text in other languages.
Bear in mind also that the use of escape codes takes you down a path to greater error rates on noisy paths.
73,
Murray ZL1BPU
Designer of FSQCall and the FSQ/WSQ varicode alphabet.