Announcement

Collapse
No announcement yet.

VLF MD with digital signal processing : Bee-Buzz 1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aziz
    replied
    Hi all,

    I'm really sick of buggy publications. So be very careful if you are going to use some example codes or information resources from the internet publications.
    This is a good source for digital Lock-in Amplifier:


    On Wikipedia, it is simply wrong for Y-component. The negative sign for Y is missing there, which is very important for correct phase calculations.
    see https://en.wikipedia.org/wiki/Lock-in_amplifier

    Same applies to Goertzel algorithms.

    On wikipedia, the scaling by 1/N (normalisation) is missing. Most implementations don't decode in complex form (I/Q with real/imag components). So they aren't interested in phase information. We are interested on both (magnitude and phase).

    If you take care of all the details, there is no difference in making either FFT, Lock-in Amplifier or Goertzel decoding.
    All three methods deliver same complex results within the numerical accuracy.

    - FFT does require more DSP horse power and pre-calculated sine/cosine tables (slow and requires more memory).

    - Lock-in amp does require pre-calculated reference sine/cosine tables for each frequency of interest if you take the internal reference base (fast, requires more memory and therefore not optimal for embedded projects).
    If you have an external reference signal, you have to generate a 90 ° phase shifted signal of the external reference signal.

    - Goertzel does only require one pair of sine/cosine value for each frequency of interest (low memory required, very fast and ideal for embedded projects).

    My new USB Sound Blaster G3 will arrive today!

    Cheers,
    Aziz

    Leave a comment:


  • Carl-NC
    replied
    Originally posted by Olly View Post
    Quite ingenious !!!
    Since 1932, no less.

    Leave a comment:


  • Olly
    replied
    This is exactly how the DFT algorithm works, but instead of correlating the input signal with the entire set of frequencies up to N/2, here it is only done with the frequencies of interest giving us the real and imaginary values of each very quickly without bothering about the other frequencies in the Fourier spectrum. Quite ingenious !!!
    Last edited by Olly; 02-05-2025, 05:48 PM. Reason: Edited for clarity

    Leave a comment:


  • JoyJo
    replied
    Thank you, Carl! That's very kind of you!

    Leave a comment:


  • Carl-NC
    replied
    Click image for larger version

Name:	image.png
Views:	353
Size:	787.5 KB
ID:	433790​

    Leave a comment:


  • JoyJo
    replied
    Let me be curious. Is it possible to see photos of these pages (467, 46?

    Leave a comment:


  • Olly
    replied
    Ultimately we're most interested in the I and Q demodulated signals of each of the respective TX frequencies. Perhaps a digital narrowband demodulation system as described on pages 467 and 468 of Carl's latest book (ITMD 3rd edition) would be the way to go? Very effective and not overly complex...

    Leave a comment:


  • Atul Asthana
    replied
    Originally posted by Aziz View Post

    Hi Atul,Goertzel is much simpler and more efficient:
    Goerztel: 1 multiplication and two add or subs per sample
    Lockin: 2 multiplications and two adds per sample

    The internet is full of Goertzel examples.
    Aziz

    thanks Aziz,
    yes, I agree with you.

    however, this little extra computational load of lockin amplifier seems to give me about 1.5-2 enob more than goertzel for narrowband and if integrated over many cycles, 10-15 dB snr improvement.

    and, this is important for the design.

    so, I will try both.

    Leave a comment:


  • Aziz
    replied
    Originally posted by Atul Asthana View Post

    it seems, in the case of Bee-Buzz 1, instead of goertzel algorithm, a digital lockin amplifier will have better out put, be simpler snd computationally lighter.

    this stems from the fact that I am any way doing most of the steps of a lockin amplifier, before or after the implementation of goertzel algorithm.

    please opine.
    Hi Atul,

    Goertzel is much simpler and more efficient:
    Goerztel: 1 multiplication and two add or subs per sample
    Lockin: 2 multiplications and two adds per sample

    The internet is full of Goertzel examples.
    Aziz

    Leave a comment:


  • Atul Asthana
    replied
    Originally posted by Atul Asthana View Post
    where can I find fixed point (preferably q16.16) goertzel library optimised for single known frequency detection, for use with stm32f103c8t6?
    it seems, in the case of Bee-Buzz 1, instead of goertzel algorithm, a digital lockin amplifier will have better out put, be simpler snd computationally lighter.

    this stems from the fact that I am any way doing most of the steps of a lockin amplifier, before or after the implementation of goertzel algorithm.

    please opine.

    Leave a comment:


  • Atul Asthana
    replied
    Originally posted by Aziz View Post

    Sure it's a good idea. But there is a legal issue. At the moment of disposing it belongs to the recycling company. I may not pick them up - besides I pay for it.
    These good old days are gone!

    Aziz
    I've used old/defective cfl (compact fluorescent lamps) pcbs to extract ring cores, some of them work well upto 500 khz.

    Leave a comment:


  • Aziz
    replied
    Hi all,

    if I can not find a good ring core, L1 could be part of the TX coil. Two TX-coils (less coupled to each other of course)! Induction balancing gets difficult as the RX coil must be nulled against TX1 and TX2 (L1). Processing the signals are becoming more complex - but can be done anyway!
    Or making the choke L1 air core above the plastic coil stick (through the plastic coil stick for better holding) so it's position does not change relate to TX-coil.
    Anyone with unique idea?


    Aziz

    Leave a comment:


  • Aziz
    replied
    Originally posted by moodz View Post

    Get one from an old switchmode supply ... ppl dont throw out computers where you are ??
    Sure it's a good idea. But there is a legal issue. At the moment of disposing it belongs to the recycling company. I may not pick them up - besides I pay for it.
    These good old days are gone!

    Aziz

    Leave a comment:


  • Atul Asthana
    replied
    where can I find fixed point (preferably q16.16) goertzel library optimised for single known frequency detection, for use with stm32f103c8t6?

    Leave a comment:


  • moodz
    replied
    Originally posted by Aziz View Post
    Hi all,

    unfortunately, I don't have other ring cores to test the dual frequency transmitter. What I need is a larger ring core with less losses up to 100 kHz. I have found two iron powder ring cores (T106-26, Al=93 nH/N²) in my box, which I could test them soon. I can stack them together to a larger ring core (Al doubles to nearly Al=180 nH/N²). Unfortunately, it is still not large enough. Iron powder cores have large losses however. It is difficult to find a good working ring core.

    I will get rid of the mixer coke Lm. The capacitive mixer is best and cheap when coupling capacitors are set large enough (min. 1µF, better more, max. 40 V voltage rating is enough). So it doesn't becoming a frequency determining part anymore.
    Cs, Cp, C1 are high voltage FKP foil capacitors (400 V). This is very important. C2 is also FKP foil capacitor but it's voltage rate can be lower (40 - 100V).

    And if we short the choke L1 (or leave it), we can use the transmitter in single frequency mode. With double power input with left and right output channel of the headphone amp of the usb sound card. Just feed in in-phase signal (same frequency, same phase lag, same level).

    I hope I can find a good ring core for the choke L1.
    Cheers,
    Aziz
    Get one from an old switchmode supply ... ppl dont throw out computers where you are ??

    Leave a comment:

Working...
X