To Heterodyne, or not to Heterodyne?
I'm kinda dense when it comes to many things I had entire classes on in college. Like SNR (signal to noise ratio) and the like. It's really been holding be back in my digital Theremin design.
It does seem that there is a resolution advantage to doing heterodyning, and I suppose it's obvious due to the huge pitch change a regular analog Theremin gives you for a fairly small change in capacitance. This increase in resolution is particularly helpful if you can't sample the period very quickly, but it is also useful if sampling at, say, 100MHz.
Say we have an LC oscillator that runs nominally at 100kHz, we're sampling it at 100MHz, and we want pitch numbers at a 1kHz rate (for responsiveness). Say also that the bulk antenna capacitance is 5pF, with a 1pF delta when the hand is near the antenna. If you work the LC resonance backwards for 100kHz & 5pF you get L=506.603mH. With this L and 6pF you get 91.287kHz (when the hand is near). Granted this L is pretty big, but stay with me.
Without heterodyning: we can divide the 100kHz down to 1kHz (1/100), then sample this with our 100MHz clock, which gives a period count of 100MHz/1kHz = 100,000. 91.287kHz through the same divider gives a period count of 100MHz/0.91287kHz=109,544. The difference is obviously 9544. Log2 of this is 13.2, which means we get 13.2 bits of pitch information for the entire pitch range.
With heterodyning: say we use a fixed 90kHz beat frequency. 100kHz-90kHz=10kHz, and 91.287kHz-90kHz=1.287kHz. Sampling both of these directly with our 100MHz clock, we get 100MHz/10kHz=10,000; and 100MHz/1.287kHz=77,700. The difference is obviously 67,700. Log2 of this is 16.05, which means we get 16 bits of pitch information for the entire pitch range. An increase of ~3 bits, or 18dB, or a factor of 8.
So there seems to be a clear resolution advantage to heterodyning when the operating frequency is significantly above the pitch number rate (e.g. here we have 100kHz >> 1kHz). If we could easily use huge inductors I believe this advantage would largely disappear.
Other than the simplicity, one nice thing about not heterodyning is that most of the value change happens near the antenna, giving higher resolution where one is more likely to hear stepping and such in the associated higher pitch, with less change in the far field bass region where one is less likely to hear pitch stepping. (EDIT: I think this is true regardless of whether one heterodynes or not.) And if there is a sensitivity adjustment available to the user, he/she is most likely to dial it down to something reasonable and easy to play like a 3 octave total range, which will effectively increase the resolution. But if there is a pitch offset adjustment available to the user and he/she jacks the far field up quite a bit, the wider steps may become audible. One could run the pitch number through a auto-variable cutoff LPF, so that the far field resolution would be increased at the expense of response time, but leave the near field response essentially unchanged. Kind of a poor man's adaptive filter.
One thing that's weird about heterodyning to get a pitch number in this manner is that you will likely end up with a null point very near the antenna. (EDIT: this isn't necessarily the case.) This can be dealt with I suppose by simply limiting the maximum period. One thing that's good about heterodyning is the period increases with decreased hand distance, forming a natural pitch number.
I'm still investigating heterodyning. In particular, I'm wondering if it is feasible to do it digitally inside the FPGA and still experience this resolution gain. Also, significant noise may (or may not) reduce the resolution advantage.
I will also say that after doing the above mental exercise, it is quite clear to me that a simple divider followed by a period measurer behaves just like an analog integrate and dump circuit (which is often an ideal receiver).