Other Parts Discussed in Thread: DBCA
Hello.
Early during our evaluation of PGA460, we have discovered that an undesired offset exists between the programmed frequency and the actual center frequency of the BPF. Back then we decided against investigating this further and have just peaked the filter manually, i.e. adjusted the filter frequency for maximum amplitude without adjusting TX frequency. As we continued our testing, we discovered that the SNR is still somewhat lower than was expected, by 2-3 dB. As we had issues with the BPF before, and since it being slightly off-frequency may indeed cause SNR degradation, I have decided to perform a comprehensive characterisation of the BPF behavior.
All testing was performed with BPF coefficients from "PGA460_HiFreq_BPF_Coef.csv" file included with "PGA460Q1EVM-1.0.1.9" and 8 kHz BPF bandwidth.
Diagram of test set is below.
In this test, MCU received a frequency to use from the host PC, configured PGA460 with appropriate BPF coefficients and frequency value, and then continually issued "listen only" command. PGA460 was configured in direct data burst of BPF output, at 8 bit/sample, 65.536 ms record interval, and minimal possible gain of 36 dB. Data was received at 1MSPS by MCU, and converted back to analog via MCU's integrated DAC. This analog signal was fed to a spectrum analyzer. MCU was programmed to generate a pulse for the analyzer upon the first data sample in each "listen only" command, triggering it to do a 110 kHz - 1.1 MHz sweep in 50 ms. A signal generator was synchronized with the analyzer and provided a synchronous sine sweep to the input of PGA460. As a result, in this setup we have received a frequency response plot - which was then retrieved by the host PC.
With this setup, we have retrieved a frequency response plot for each configurable frequency in the high frequency mode of PGA460 (180-480 kHz with 1.2 kHz step) which I have attached to this post as a PDF file. Actual peak frequency of the BPF estimated with analyzer's "peak search" function is available in the top right corner below "MKR" label, and the programmed frequency according to the CSV just below that.
PGA460 internal oscillator frequency variation was a concern during measurement. To ensure an acceptable degree of stability during test series (which took around 30 minutes), all equipment, including UUT, were powered up 4 hours before testing started, all testing was performed in temperature-controlled room kept at 30°C, and PGA460's oscillator frequency was measured before and after test run. During both measurements, frequency of 7.968 MHz was observed, with 8 MHz expected. As such, -0.4% frequency offset should be expected. This offset is not corrected for in the plots themselves or the numbers below.
It can be seen that frequency offset indeed exists and is rather significant. At 180 kHz, actual center frequency is around 191k. At 332.4 kHz, it reaches 481.3 kHz, and a step above that the filter completely falls apart and no longer has any discernible response. With the further increase of programmed frequency, it "goes around", and at 362 kHz programmed frequency, it peaks at 115 kHz actual, and continues to rise in frequency after that, however somewhat erratically.
Now, the question: is this behavior expected?
While we could build a lookup table between "actual" frequency and "programmed" frequency and use it to set the filter "properly", it would significantly degrade the resolution of frequency adjustment, especially towards the high frequency end, which is already is not as good as we would like. Our primary frequencies of interest in the high frequency band is 250 kHz, which is well reachable with the current BPF behavior, and 455 kHz, which is not: 453.2 is somewhat low, and 459.8 somewhat high, and they are single step apart - effective resolution of 6.6 kHz. ive