Announcement

Collapse
No announcement yet.

VLF MD with digital signal processing : Bee-Buzz 1

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

  • Tinkerer
    replied


    Here is the link to a free download

    Leave a comment:


  • boilcoil
    replied
    Isn't it time to change the topic's name?

    Leave a comment:


  • Aziz
    replied
    Hi all,

    the ultra-low-noise pre-amp issue is back!

    Get "The Art Of Electronics", Hill-Horrowitz, 3rd edition.

    There are some very interesting topics there. I'm going to realise the 0.2 nV/sqrt(Hz) input voltage noise density pre-amp!
    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    it seems, that I have really plenty of CPU horse power for the detector software. The CPU load is less than watching a movie on the Tablet PC (approx. 2 % CPU load ). The external USB sound card will suck more energy from the battery of course.
    But if I use graphics display with plenty of infos, wave forms, spectrum analyser output and more, it increases up to 35 % CPU load for 50 frames per second display update rate. Unfortunately, the windows GDI (graphics display interface API) isn't efficient.

    Oh well, it makes sense to keep some old features and add several modes for detecting mode with less power consumption. And a FFT spectrum analyser, a Super-Duper-LCR-meter is required for setting up the detector too.

    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I am doing sanity check on my experimental detector code (Win32 MFC App).

    I even have implemented an LCR meter, which is way more accurate and has much more resolution than my bought LCR meter for over 200 bucks.


    I have to get rid of all the features and start with a clean project. I have replaced two threads and left the old codes unchanged.

    This is a task for weeks before I can show some real measurements. But I am making some progress.

    Leave a comment:


  • Atul Asthana
    replied
    Originally posted by Aziz View Post
    Hi Atul,

    get well soon. No worries, I'll keep the thread a live.

    Aziz
    thank you so much Aziz and dbanner

    Leave a comment:


  • dbanner
    replied
    Originally posted by Atul Asthana View Post
    Apologies for being away for so long and not following the discussions.
    I had to spend over a week in Heart ICU, due to my mrdical condition and I am still recovering.

    Will take me some time to latch on to the discussions here.
    Good that you're recovering.

    Leave a comment:


  • Aziz
    replied
    Hi Atul,

    get well soon. No worries, I'll keep the thread a live.

    Aziz

    Leave a comment:


  • Atul Asthana
    replied
    Apologies for being away for so long and not following the discussions.
    I had to spend over a week in Heart ICU, due to my mrdical condition and I am still recovering.

    Will take me some time to latch on to the discussions here.

    Leave a comment:


  • Marchel
    replied
    For those who want to make a metal detector based on STM32, I have completed the PCB for the STM32H7 development board. The materials and information are in this post.

    Hello Friends I have been working on a development board for the STM32 Metal Detector for several weeks and today I received the first PCB that I had made so I can start the first tests. These PCBs are based on the STM32H7 development board which you can buy for a few € on AlliExpress, the purchase links are at the bottom of

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I have been for a week in Berlin and had no time for the project.

    Regarding the choke L1:
    In a resonant TX-tank circuit, we can not afford any losses in the core material. So the choke L1 will be a tight winded air core coil choke.

    I have to purchase a 1 mm diameter enamelled magnet wire to solve the choke issue.

    There a many ready to use inductances in the hi-fi area, but they are totally overpriced.

    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I have finished the c-reference code for FFT, Goertzel and Lock-in Amplifier for your convenience. The license model is the "The MIT License". You can do what ever you want to do with it. No warranty will be given. Just adapt & arrange to fit your demands!

    I hope, I haven't overlooked bugs in the code. The complete C-project can be opened via Visual Studio (I have actually used the Visual C++ 6.0). It is a Win32 console app, which writes the calculated results into a text file (DemodTest.txt).
    In the main program, there are different tests and you can see, how to use the API.
    The setup functions will be called once per demodulator of specific frequency (k) of course. But I sweep the k from 0.. N-1 to get the whole complex spectrum just like FFT would do. You can also set k negative to demodulate negative bin frequencies.
    The complex output of FFT, Goertzel and Lock-in Amplifier is the same (for N=32). Forget FFT and Lock-in Amplifier and use the Goertzel. Use even block size N Goertzel. Otherwise you will have spectral leakage effect.
    The API and the functions are commented. It is kept as simple as possible. You can also use the modules in C++ projects.

    The ASSERT_()-macros are for debugging mode and will be empty if compiled in release mode (no debugging). The scaling of the result is correct compared to many other publications. If you set iFlags DEMOD_POWER for decoding, the total spectral energy will be calculated for positive bin frequencies. If set to DEMOD_COMPLEX, to total spectral energy is halved into negative and positive bin frequency.
    These are the binary-or flags for the variable iFlags
    Code:
      // Binary or Flags
      //
      DEMOD_COMPLEX        = 0, // I/Q or Re/Im won't be scaled for full complex spectrum output
      DEMOD_POWER          = 1, // I/Q or Re/Im will be scaled for positive spectrum output only (scaling by 2 for k=1 .. k = N/2 - 1, for k > N/2 set to 0)
     
      DEMOD_POLARCALC      = 2, // Calculate additionaly polar coordinates (Radius/Magnitude & Phase)
      DEMOD_EPSILONLIMIT   = 4, // Set output to 0 below EPSILON for stable phase calculation
     
      DEMOD_STANDARD       = DEMOD_POWER|DEMOD_POLARCALC|DEMOD_EPSILONLIMIT, // switch everything on
    
    ​
    You can also calculate polar result (magnitude, phase).

    The interesting modules are:
    Code:
    preproc.h : Select REAL type definition (either float or double)
    RealType.h : Type definition for REAL (either float or double)
    Demod.h : Demodulator result output structure
    fft.h, fft.c : FFT-Modules
    Goertzel.h, Goertzel.c : Goertzel-Modules
    Lockinamp.h, Lockinamp.c: Lock-in Amplifier Modules
    ​main.c : Main test programm with many test cases.
    BinCalculator.xlsx : Excel table to play with.
    DemodTest.txt : Output text file with results.

    Cheers,
    Aziz
    Attached Files

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I am really curious to how we can process all the bunch of demodulator outputs.


    In my special case with dual resonant frequency F1 and F2, I will have at least 12 demods with magnitude and phase info. 6 demods for TX-reference signal and 6 for RX-signal. On each resonant frequency there are 3 demods around the resonant frequency Fr:
    Fl, Fr, Fh,
    dF = Fr - Fl = Fh - Fr,
    dF is the bin frequency resolution,
    Fl=next lower,
    Fh=next higher frequency

    If I take N = 256 (block size), than Goertzel is efficient compared to FFT if the following condition is fullfilled:
    P < log2(N),
    N = block size
    P = number of demods
    so, P < 8, it is efficient to use Goertzel.

    Note that I would require without Goertzel 2 FFT's: one for TX-reference and one for RX-signal. So 6 is < log2(N)​ and therefore it is convenient to use Goertzel.

    BTW, you don't really need Lock-in Amplifier demods. I am also getting rid of the Lock-in Amplifier. Goertzel is beautiful and delivers same results. You will see the comparison, when I publish the c-reference code soon. Be patient please.
    We will be able to have a super-duper-dual-frequency-VLF/LF-killer-detector soon.

    Cheers,
    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I am still coding the reference C source code of the demodulators (FFT, Goertzel and Lock-in) to share with you. After making 1001 changes, I have found and fixed an evil bug in my experimental detector software on which I code the new demodulators at the moment. I am not finished yet and it will take some time. They will be tested on real conditions too.

    BTW I have attached a 1050µH RX-coil to the sound card input and the noise floor didn't rise. So all the signals and EMI noise is still below the noise floor of the ADC system (-120 dB or so). An RX pre-amp would be necessary if we want to detect much much deeper. Maybe a super-duper-ultra-low-noise pre-amp?

    On the TX side, the Sound BlasterX G6 has really huge power to the TX-coil on the headphone output. No output amplifier would be necessary. On line-out output, we would need an output amplifier to detect much deeper. Power really matters!

    Cheers
    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi Moodz,

    I find it still interesting to push the limits.
    With a simple design. This is soo cool.

    Such a front-end hasn't been used yet.

    Aziz

    Leave a comment:

Working...
X