NotBlackMagic / VUHFRadio

AX5043 Based USB Radio, dual band UHF and VHF
https://www.notblackmagic.com/projects/vuhf-radio/
28 stars 9 forks source link

Try using TCXO for PSK. #1

Closed rnbokade closed 2 years ago

rnbokade commented 3 years ago

One of the documents actually warns regarding the Narrowband transceivers of AXsem.... As far as I know, AX5051 and others in that series are non-narrowband versions... In those, speeds lower than 10kbps don't work properly but above them, the radios work with normal oscillators as well. However, in Ax5043, which is a narrowband version, normal oscillators create a lot of phase distortion and cause issues especially in psk... so try again using TCXO, rather they have a proper specific application note stating how to implement tcxo on these modules... Otherwise, your project is really great and I am closely following it. Will like the PSK to work well though... want to use that in our nano-satellite. Also if I can be of any help let me know

NotBlackMagic commented 3 years ago

I have read those warnings to, for now I have not yet encountered any problems, maybe with lower datarates. I now got (B)PSK modulation working as well, it was due to a VERY important register that is not mentioned/explained in any documentation, the MODCFGP that controls PSK settings... The needed information about this register was published by On Semiconductor on there blog. With this (B)PSK is now working, I tested BPSK-9600 with an Pluto-SDR and GNU Radio. The reception/demodulation of (B)PSK on the Module/AX5043 has some problems and I'll have to adjust settings and try using a TCXO to see if it makes a significant difference.

rnbokade commented 3 years ago

Cool. Is the library that you made for ax5043 portable? I mean I wanna use it on Arduino instead, so can I?

NotBlackMagic commented 3 years ago

Both the low level register abstraction library found in the AX5043 folder and the higher level configuration library (radioCommands.c/.h) are portable yes. To use it you have to include both the AX5043 folder and the radioCommands.c/.h files. In the later there is the "RadioInterfacesInit()" function you have to change to use the appropriate SPI interface from the Arduino.