Saturday, August 12, 2017

AFSK modulation experiments - part 4

AFSK modulation experiments - part 4


I left off the last time with some concerns that the deviation might be too wide on the VCXO, and also that when using the VCXO, the Si5351 was somewhat off frequency (about 5 khz).  I set out to work on both of those issues tonight.

I began by setting up my scope and service monitor so that I could measure the P2P value of the modulating sine wave, and the deviation of the resulting signal.


Here, we see a 1200hz sine wave the VCXO signal should be ve being generated by the DAC.  The P2P value is 0.980 volts.  This is from setting the sine wave at 30% amplitude.  We also see that the wave is centered at (2.18 + 1.20) / 2 = 1.69 volts. That's just fine, since it should be centered around 1.65 volts.



The resulting deviation for the wave above (on the 0-6 scale) is coming in at about 2.7 khz.  That's a touch low.

So, I ran the tests over and over gathering data. I also varied the PPM value to see the effect.


PPM value Sine wave % P2P voltage (volts) Deviation (hz)
30 50 1.52 3,500
30 30 0.982,700
30 40 1.243,300
40 40 1.243,700
40 30 0.983,200

Deviation Results

The PPM value definitely has an impact on the deviation.  Assuming that we would want the capability of 5 khz deviation for an FM signal, but then we would only want to modulate the signal to 3 khz, the ppm should be (5000 hz / 144.390) = 35 PPM.   In a previous post, I came up with the number 24, but that was when I was considering modulating to 3.2 khz, not 5 khz.

So, it appears that for flight use, I should be setting my PPM to 35 ppm, and setting my sinewave appropriately to get about a 3khz deviation.  That should be at about 30% or so.   I noticed a bit of variability when I was testing this evening, due to the fact that I was using breakout boards and jumpers all over.  I suspect this is a process I'll need to repeat when I have the production boards spun up.

Correcting for the incorrect frequency


I dabbled with the "Correction" call to fix the frequency of the VCXO this evening.

  MySi5351.set_correction(-12940);

In the end, the value above was sufficient to center up the frequency where I was testing, at 144.330 mhz.  According to the documentation, I can expect to do this with every board I build.

Conclusions



  1. I'll build my flight code with a PPM of 35.
  2. I'll build my flight code with a Calibration option.  When set, the tracker will generate a fixed tone (or maybe alternated between 1200 and 2200) so that I can confirm that the deviation is correct, and also so that I can diddle the "correction" value to assure the tracker is on frequency.





No comments:

Post a Comment