Finally came back around to revisit the FM demodulation mode of the AX5043, it has been 2 years since the first tests! One of the motivation factors is to get the VUHFRadio module to receive and demodulate NBFM besides the already working WBFM, and also to help the testing/investigate of using the AX5043 for the M17 project.
The first discovery in this revisit is how the FM sensitivity in receiving mode is set/defined. It turns out it is depended on the set RX BITRATE, which in FM mode is the sampling rate of the demodulated FM signal. The sensitivity is given by the equation bellow (taken from the programing manual as the meaning of the TRKFREQUENCY register) and taking into account that the DAC maximum output range is 1.65V:
This shows a problem, with low sensitivity the AX5043 will also have low bitrates, which is a problem in NBFM... This problem is well visible in the figure bellow, where all settings are kept the same except for the BITRATE, settings are for NBFM and are the same as for WBFM except with a DECIMATION value of 16.
This problem can somewhat be mitigated by decreasing the DACSHIFT register value, effectively adding a gain of 2, or more, to the DAC output, but this comes with increased noise at the output.
The other test that was performed was to see the effect of changing FREQGAINB0 (0x128) which, according to the programming manual, sets the FM Demodulation bandwidth but it does not say in what way. The tests performed show that it more or less follows the following equation:
An example of the effect of changing FREQGAINB0 (GB0) register is shown in the figure bellow. The settings used are the same as in the previous experiment, the NBFM settings, with the highest used sampling rate of 31.25 ksps, RX BITRATE set to 4096.
Resumed, it is possible to use the AX5043 for NBFM but with worse performance then with WBFM. Some additional test are planned, with filtering the output signal and with NBFM transmission. Also, the push-to-talk feature that was planned for the VUHFRadio module will be implemented and tested!
On the website there are some additional results for the above tests, for WBFM, and some additional info. The code with the register settings used for NBFM are not yet added to the code in GitHub but it will follow soon!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.