D-trigger as heterodine mixer: aliasing

Posted: 4/4/2017 5:10:05 AM
Buggins

From: Theremin Motherland

Joined: 3/16/2017

""If LC contour is rearranged, gives an ability to have 100-200V voltage swing on  antenna, almost independent on Rant." - Vadim I played with it for a wee bit, and didn't try anything much, but couldn't get the voltage swing very high in simulation. The triple Darlington is highly suspicious.  There are no emitter pull-downs, and in general the more active devices you cascade in a high frequency oscillator the more drive phase error you get. And if you are trying to maximize absolute sensitivity, you need to keep all extraneous capacitance (any C that isn't antenna intrinsic C) that the L in the tank "sees" to a minimum.  So the choice for tank drive is either via low impedance on the otherwise grounded end of the L ("series tank"), or via high impedance on the antenna end of the L ("parallel tank").  If you are going to heterodyne then absolute sensitivity isn't as important, though low sensitivity can easily lower overall SNR (because oscillator noise can dominate)."

Tank needs to be reworked.

I've removed 1 of 3 transistors for 5V power supply.

Second cascade is to produce differencial output for my analog amplifier heterodine.

 

Will try it on breadboard.

Posted: 4/4/2017 5:52:43 AM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

I haven't simulated it, but what's the point of C4?  Extraneous C padding at the antenna like this hurts absolute sensitivity, so I really avoid it.

Posted: 4/4/2017 6:30:24 AM
Buggins

From: Theremin Motherland

Joined: 3/16/2017

"I haven't simulated it, but what's the point of C4?  Extraneous C padding at the antenna like this hurts absolute sensitivity, so I really avoid it."

I don't need big absolute sensitivity. It's enough to have 5-10KHz frequency difference for hand near/far since I'm using heterodine.

Of course, I can try direct frequency measure of oscillator output, but in this case I need lower frequencies. And I'm not sure if oscillator will be stable in such wide range of frequencies.

Posted: 4/4/2017 3:42:01 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

"I don't need big absolute sensitivity. It's enough to have 5-10KHz frequency difference for hand near/far since I'm using heterodine." - Vadim

The ~1pF delta C from the hand will be rather swamped by the 110pF, so you're lowering SNR by a factor of 100 (40dB) right there (in terms of oscillator noise).  This magnifies any temperature / voltage drift issues with the variable and reference oscillators as well.  

My unsolicited advice is to find or develop an oscillator topology that minimizes antenna capacitive padding.  Capacitive padding is usually required to provide a low impedance to a series EQ coil, but if there is no EQ coil then you should be pursuing high impedance at resonance.  Too many designs seemingly remove the EQ coil but don't remove the C padding along with it.

The problem with having an EQ coil is you have three things that have to be tuned or pulled into alignment:

1. EQ L and antenna / hand C

2. Variable oscillator LC

3. Fixed oscillator LC

You can align 3 by generating the fixed frequency digitally, but you will need some manual control to align 1 & 2 with each other.  Even if you don't heterodyne 1 & 2 will still need some form of manual alignment.  FredM struggled with this for years.  My solution is to do linearization numerically downstream, rather than in the oscillator, and this is the standard solution these days for many types of problems.  The trick is to pick a method that is amenable to digital I/O, and to process it in a way that inherently gives decent linearity.  Any "touch up" after that will be much less drastic.  Taking an analog Theremin and somehow digitizing the output isn't the best nor easiest way to go.

"Of course, I can try direct frequency measure of oscillator output, but in this case I need lower frequencies. And I'm not sure if oscillator will be stable in such wide range of frequencies."

Maybe use a digital divider to lower the frequency to the point where you can measure it with a processor interrupt structure.  A digital divider is a natural first order CIC filter (low pass).  (This is why I'm using an FPGA, I can trivially implement all kinds of custom high speed stuff for data generation and capture.)  

Posted: 4/5/2017 7:02:42 PM
Buggins

From: Theremin Motherland

Joined: 3/16/2017

Played a bit with this oscillator on breadboard.

LTSpice simulation is far from reality. To get it working on breadboard, most of part nominals must be changed. And voltage is lower than predicted by simulation. Many part combinations stop oscillating.

Lowest padding C which was working for me on breadboard was about 33pF.

It seems like Darlington very useful in this oscillator. Cannot get it working with single transistor.

 

"The ~1pF delta C from the hand will be rather swamped by the 110pF, so you're lowering SNR by a factor of 100 (40dB) right there (in terms of oscillator noise).  This magnifies any temperature / voltage drift issues with the variable and reference oscillators as well.  

My unsolicited advice is to find or develop an oscillator topology that minimizes antenna capacitive padding.  Capacitive padding is usually required to provide a low impedance to a series EQ coil, but if there is no EQ coil then you should be pursuing high impedance at resonance.  Too many designs seemingly remove the EQ coil but don't remove the C padding along with it.

The problem with having an EQ coil is you have three things that have to be tuned or pulled into alignment:

1. EQ L and antenna / hand C

2. Variable oscillator LC

3. Fixed oscillator LC

You can align 3 by generating the fixed frequency digitally, but you will need some manual control to align 1 & 2 with each other.  Even if you don't heterodyne 1 & 2 will still need some form of manual alignment.  FredM struggled with this for years.  My solution is to do linearization numerically downstream, rather than in the oscillator, and this is the standard solution these days for many types of problems.  The trick is to pick a method that is amenable to digital I/O, and to process it in a way that inherently gives decent linearity.  Any "touch up" after that will be much less drastic.  Taking an analog Theremin and somehow digitizing the output isn't the best nor easiest way to go."

Probably you are right. Measuring oscillator frequency directly would help to avoid a lot of troubles with heterodinings.

It was first schema which I tried. But dropped it once got about 1000 different measurement steps per hand distance range.

 

 

Now I'm trying to design oscillator giving max delta frequency for Cant capacitance change.

Currently playing with LTSpice model based on Triple Darlington with pulldown resistors.

Simulation with zero antenna padding cap is working. Changing antenna capacity from 6pF to 8pF changes freq by 10 percent.

In my 60MHz based frequency counter it may see 6000 different positions (if averaged in 1ms interval). Probably with additional averaging it may be accurate enough even for linearization at far hand distances.

Tomorrow I'm going to try it live on breadboard.

BTW, what is pitch antenna capacity for hand far (1meter) and near (10cm)?

 

Can antenna padding C be really 0? A'm no sure that antenna with 6pF capacity will behave in the same way  as equivalent cap connected between L and ground. W/o padding cap overall schematics looks like coils staring at the air. :)

 

 

 

Posted: 4/5/2017 10:07:49 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

"BTW, what is pitch antenna capacity for hand far (1meter) and near (10cm)?" - Vadim

Here is some data I collected for several antenna shapes using an oscillator, my own hand & body, a measuring stick, and a frequency counter: http://www.mediafire.com/file/co61z6z527l7r4e/Analog_Digital_2014-12-19.xls.  Look at the last worksheet for the data itself.

Here are a bunch of simulations I did on a variety of antenna geometries and a "virtual Clara" body / arm / hand made up of conductive spheres positioned over a large conductive circular "floor": http://www.mediafire.com/file/zpln5ccdort7ykr/plate_capacitance_2016-02-24.xls.  

If you are interested in the Etherwave type pitch antenna, my real data (antenna 3) shows about 10pF intrinsic, while the sim shows about half this.  Both show about 0.5pF increase with the hand going from 1/2 meter to 1/10 meter.  It is highly linear when compared to 1/d (inverse distance).

With 10pF intrinsic C and 0.5pF delta C, since the LC resonance is proportional to the inverse of the square root of C, the most F change (with no antenna padding) will be sqrt(10.5)/sqrt(10) = sqrt(10.5/10) = 1.0247, or around 2.5%.

Both spreadsheets show that plate antennas are much more sensitive (~2x), so that is what I'm using.

Can antenna padding C be really 0? A'm no sure that antenna with 6pF capacity will behave in the same way  as equivalent cap connected between L and ground. W/o padding cap overall schematics looks like coils staring at the air. :)

Yes, antenna intrinsic C is actually a pretty good (high Q) capacitance.  Hand C isn't as good because of the body's resistance to ground?  Antenna oscillation amplitude will usually decrease as the hand approaches.

You're trying to implement a series tank with what is probably a poor coil.  If there is a lot of self-capacitance you get direct conduction due to that, which produces a phase shift that kills oscillation, and the only way to counter it is to pad the antenna with C, which kills sensitivity.  You need a decent coil to do a series tank oscillator.  I think parallel tanks are easier as they are more forgiving, the self-capacitance doesn't fight you.  My oscillators are series driven, but use high quality coils and digital phase detection / drive.  The best coils are air-core (very high Q, very thermally stable) and they're not all that difficult to wind if you make a simple jig.

I also wanted to warn you about something that bit me in the ass several times when doing LTSpice sims of oscillators.  Default initial conditions will often "ping" the LC tank and make it seem as though the oscillator is working, when in reality is it just running down.  It's useful to adjust the initial tank voltage to be very small off of quiescent or steady state to give it a tiny kick, and observe the oscillator from time zero to make sure the oscillations are in fact building up rather than running down.  I don't know how many times I thought I had a working oscillator when I actually didn't.

Posted: 4/6/2017 5:20:06 PM
Buggins

From: Theremin Motherland

Joined: 3/16/2017

"I also wanted to warn you about something that bit me in the ass several times when doing LTSpice sims of oscillators.  Default initial conditions will often "ping" the LC tank and make it seem as though the oscillator is working, when in reality is it just running down.  It's useful to adjust the initial tank voltage to be very small off of quiescent or steady state to give it a tiny kick, and observe the oscillator from time zero to make sure the oscillations are in fact building up rather than running down.  I don't know how many times I thought I had a working oscillator when I actually didn't."

 

I've copied strange SPICE instructions from your oscillator model.

Is it ok if oscillation starts at 0.3-0.6ms? Does it mean oscillator will work in real hardware or model should start oscillating faster?

Posted: 4/6/2017 10:23:18 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

This starts recording at 0.997ms and continues to 1ms (for 3us display to examine waveform):

  .TRAN 0 1m 0.997m

I do that to see what steady state is rather far out from start-up after I'm sure the oscillator is starting up OK.  You should also examine what happens from zero time forward.

I give the LC a tiny "kick" with initial conditions:

  .IC V(ANT)=1u

You don't want to kick it too much, just enough to start oscillation.

Then I do a couple of measurements that tell me what the frequency is (check the spice error log):

  .MEAS TRAN t_var1 V(ANT) WHEN V(ANT) = 0 rise=1

  .MEAS TRAN t_var2 V(ANT) WHEN V(ANT) = 0 rise=2

  .MEAS TRAN f_var PARAM 1/(t_var2-t_var1) 

I've figured out how to measure Q as well.  First do an AC analysis:

  .AC DEC 100k 1Meg 10Meg

Then do this:

  .OPT meascplxfmt=cartesian

  .MEAS AC MAGPK max mag(V(ANT))

  .MEAS AC MAG3DB PARAM MAGPK/sqrt(2)

  .MEAS AC FREQPK WHEN mag(V(ANT))=MAGPK

  .MEAS AC FREQLO WHEN mag(V(ANT))=MAG3DB rise=1

  .MEAS AC FREQHI WHEN mag(V(ANT))=MAG3DB fall=1

  .MEAS AC Q PARAM FREQPK/(FREQHI-FREQLO)

Posted: 4/7/2017 6:15:18 AM
Buggins

From: Theremin Motherland

Joined: 3/16/2017

Dewster, thank you a lot!

It looks like it's very useful to learn SPICE commands.

Oscillator with three three transistor Darlington (with base-to-emitter pulldown resistors) and only Cant on other side of L has stable oscillation start conditions in LTSpice simulation (parts may be changed in wide ranges, affecting mostly waveform and amplitude of oscillation). With two transistor Darlington or w/o pulldown resistors part value range required for oscillation is much narrower.

Will post results after testing on a breadboard. If I would get measures in with precision of 1 least significant bit for no hand movement, it should be better digital theremin sensor than schematics with heterodines.

 

Unfortunately, frequency depends on Cant as sqrt(Cant) in best case (if there is no additional cap in parallel with antenna). So, e.g. if Cant changes by 1/3, output frequency will change by 1/9. If Cant change range is 10%, output frequency will be changed by 1% only.

This Fout ~ sqrt(Cant) relation limits max theoretical absolute range of oscillator output frequency.

For RC based oscillators, this relation is F ~ Cant - without square root. But they are unstable.

 

To extend LC absolute frequency change reaction on Cant change we can consider some tricks with differential schemes.

E.g. can't we use a kind of Wheatstone bridge to extend oscillator sensitivity?

Idea (stupid?):

  • generate high frequency signal (e.g. from crystal oscillator or from MCU)
  • pass it through Wheatstone bridge (caps only?)
  • differential amplifier
  • measure amplitude of amplifier output
  • profit

 

 

Posted: 4/7/2017 12:10:09 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Yes, RC seems initially very attractive from a sensitivity standpoint, but Q is low so there is no voltage boost, and lots of noise due to the increased dependence on accurate thresholding.  LC forms its own tuned transmitter and receiver in a way, which can easily be made to work phenomenally well for this application.

If I were reluctant to go the FPGA route, I'd probably try a no oscillator design.  Drive a series LC tank with a precision settable frequency (via processor PWM?) and then measure the phase shift between the tank drive and the antenna with a high speed counter or similar (precision processor interrupt?).  If the coil Q is high there will be a huge phase shift for very small C change at the antenna.  The phase gain is actually Q/pi.  I believe this is the so-called "upside down" approach (as coined by FredM).  You can easily see this effect with a function generator and 2 channel oscilloscope.  Since this technique also produces a large amplitude variation with very small C change (as the response "rides" the resonance curve) you could use the amplitude instead, but this is AM and might be more susceptible to picking up environmental noise.  Using the amplitude is highly similar to the volume side of many Theremins.

You must be logged in to post a reply. Please log in or register for a new account.