ZHCSJU4I November 2006 – September 2018 CC1020
PRODUCTION DATA.
It is possible to read back the instantaneous IF from the FM demodulator as a frequency offset from the nominal IF frequency. This digital value can be used to perform a pseudo analog FM demodulation.
The frequency offset can be read from the GAUSS_FILTER register and is a signed 8-bit value coded as 2-complement.
The instantaneous deviation is given by Equation 23.
The digital value should be read from the register and sent to a DAC and filtered in order to get an analog audio signal. The internal register value is updated at the MODEM_CLK rate. MODEM_CLK is available at the LOCK pin when LOCK_SELECT[3:0] = 1101 in the LOCK register, and can be used to synchronize the reading.
For audio (300 to 4000 Hz) the sampling rate should be higher than or equal to 8 kHz (Nyquist) and is determined by the MODEM_CLK. The MODEM_CLK, which is the sampling rate, equals 8 times the baud rate. That is, the minimum baud rate, which can be programmed, is 1 kBaud. However, the incoming data will be filtered in the digital domain and the 3-dB cut-off frequency is 0.6 times the programmed Baud rate. Thus, for audio the minimum programmed Baud rate should be approximately 7.2 kBaud.
The GAUSS_FILTER resolution decreases with increasing baud rate. A accumulate and dump filter can be implemented in the µC to improve the resolution. Note that each GAUSS_FILTER reading should be synchronized to the MODEM_CLK. As an example, accumulating 4 readings and dividing the total by 4 will improve the resolution by 2 bits.
Furthermore, to fully utilize the GAUSS_FILTER dynamic range the frequency deviation must be 16 times the programmed baud rate.