Announcement

Collapse
No announcement yet.

Induction Balance Stuff - Single/Multi Frequency Response, GB, Disc, Measurements, Ideas, Fun, etc.

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

  • Aziz
    replied
    Hi all,

    now the good news:
    We don't really need much TX coil current for the IB-configuration.
    TX-coil voltage +/- 30 V. TX-current approx. +/- 250 mA (500 mA span).
    The untuned RX coil does detect enough target signals to get reasonable detection sensitivity (and this is very high).

    The TXref and RX signals are correlated and we can detect any noise sources (EMI, power source, etc.) and eliminate it.
    This will increase the SNR heavily.
    Cheers

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I have tested the high power transmitter version with the choke. We can't use it in this configuration. Absolutely no go.
    This is the reason:
    The ferrite ring core (material N27) for the choke will generate magnetic losses and will heat up the ring core. This will change the inductance of the choke steadily. This is very critical.
    And this is causing heavy temperature drift of the demodulated signals. For a very very long time. I haven't observed any stabilization of the drift. The drift is too much to control it with the software.

    There is another problem with high TX coil current with sound cards:
    - The temperature drift of the LC tank components (TX coil and capacitors heat up until it stabilizes its temperature)
    - The sound card gets quite warm or hot (depending on the transmit current)
    - The sound card causes to much noise or temperature drift
    - My sound card G6 (either the firmware or the driver software) crashes often

    For the true IB coil configuration we have to either reduce the Q-factor of the transmitter or simply use a different transmitter for IB coil configuration only.

    I will experiment with the mono coil VLF version further.
    Cheers

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I am quite surprized, that the line out in-phase noise on mono coil VLF has a high correlation factor (>0.95).
    Even the quadrature-phase noise has some correlation but still varies too much. Slight corrections can be made however.

    I have prepared the code for IB-coil configuration. But not the transmitter for high current output yet.
    I am curious, how much SNR increase can be done on the IB-coil configuration. It should be much better I think.

    If we focus on
    - noise detection
    - signal integrity check
    - making corrections or filtering (post-processing)
    we can achive a stable signal output. We have only two I/Q pairs: From TXref and RX. All the statistics will be made on the change of the two I/Q vectors. Or the magnitude and phase pair changes if you like.

    This approach is quite interesting.

    Leave a comment:


  • Aziz
    replied
    Hi all,

    the statistics function tests has been successfully passed. They deliver the correct results. It's made with Google AI.
    stat.h, stat.c contains the result implementation in the zip file. Slightly adapted to my programming environment.
    I have put the AI-query files and the AI conversation to the zip file too. It's made in german but you can translate it with Google.
    Not bad for a Google AI code.

    These functions make the EMI noise or line-out noise detection and elimination possible.
    And the reliability calculation of the demodulated outputs.
    I have choosen the empirical variance and standard deviation and not the population type to avoid underestimation for reliability calculations for unknown data.
    Cheers
    Attached Files

    Leave a comment:


  • Aziz
    replied
    Hi all,

    the AI process is funny. I didn't like Claude Code output. Google AI takes several chat conversations, to get the code optimized and checked critical against errors.
    At the end, Google AI gives reasonable results.

    The statistics functions have an order O(1), which means by adding a single data to the sliding window (ring buffer), the statistics will be calculated with least possible calculations required instead of O(n). Best for real-time processing.

    I have to check the AI code yet against my old implementations before attaching the results.

    Leave a comment:


  • Aziz
    replied
    Hi all,

    now let's make some classic 1-dimensional and 2-dimensional statistics functions with AI. We would require these functions here.
    1-dimensional (X):
    It is for a single variable X with n history of data values.
    Mean, variance, standard deviation, sum are the values of interest. Min and Max isn't required at the moment so the AI code gets simpler.

    2-dimensional (X, Y)​:
    It is for two independent variables X and Y with n history of data value pairs.
    Each statistics values for each X and Y like defined in the 1-dimensional version plus the covariance, correlation factor and linear regression parameters.

    The 2-dim statistics is required to measure the line output noise (correlation factor) und to eliminate it either in the mono coil or IB coil configuration.
    Furthermore, the classic statistics will be required to do post processing of the calculated signals. And a reliability check of it.

    I will think of it, how to make the complex AI query for our needs and will show you the AI query at the end. And the result implementation of course.
    Cheers

    Leave a comment:


  • Aziz
    replied
    Hi all,

    yep, the line output noise can be eliminated greatly (post #196, 197, 198 ) . I have now a greater detection depth and sensitivity on mono coil VLF.
    I haven't done the other tricks yet.

    Leave a comment:


  • Aziz
    replied
    Another very interesting stuff (regarding the High-Q mono coil VLF):

    To increase the dynamic range of the ADC input by active nulling in a difference amplifier configuration. So the TXref becomes an RX-signal at the output of the difference amplifier.
    We can use one of the line-out channels to produce an active null signal (by setting amplitude and correct phase lag).
    So the mono coil VLF can be operated in extreme sensitivity mode with active nulling, active noise detection and cancelling techniques. A gain of 20 - 40 dB would be sufficient.
    The difference amplifier should be an instrumentation amplifier with high input impedance however.

    So many good ideas..(all stolen from the AI mate )

    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    what can we use further tricks to detect and eliminate noise?
    Stochastic reliabilty methods:
    Phase noise will be much larger on true random noise. It has a big variance.
    Targets (metals, ground signals, etc.) will produce less phase noise variance. So we know the quality of the detected signal instantly.
    Less phase noise variance: good target signal
    Big phase noise variance: pure noise, ignore the detection signal
    This easy trick can always be used independently of course.

    On the IB-configuration: TXref and RX signal.
    The TX-coil in the High-Q mode will induce EMI noise (+power source noise). RX coil too. This noise is correlated with the RX signal and hence can be modelled and eliminated. Just like an anti-interference coil configuration but done in the DSP math code. Here is a big SNR improvement possible.

    Putting all together should deliver a high SNR detection system.

    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    how to interpret the in-phase line out noise?
    The in-phase line out noise is the fluctuation of the line output amplitude.
    Whereas the quadrature-phase noise is the dominating EMI noise picked up by the TX-coil. This has a Gaussion (White) noise nature and can't be predicted with linear regression models. It all makes sense.

    So this analysis wasn't for nothing.
    We can improve the SNR in mono coil VLF and IB-Coil VLF configurations now. Both configurations must have two demodulators/channels (TXinp/TXref, TX/RX).

    I can focus to the high power High-Q IB-VLF soon.
    Aziz

    Leave a comment:


  • Aziz
    replied
    This is the visualisation of both dIQ channels. White dots are the current measurements. Green is the line out channel change. Red is the TXref channel change (mono coil TX signal).

    Click image for larger version

Name:	MonoVLF-9-Lineout-Noise.png
Views:	238
Size:	31.2 KB
ID:	445578
    You see, that there is almost a free lunch there. Maybe a small snack.
    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I have visualised the changes of both Lock-in demodulator channels and watched them real-time in the dIQ plane without making a linear regression model. My eyes are making the linear regression model in real-time.
    The TXref in-phase noise does correlate with the line output noise of the sound card.
    The quadrature-phase noise does not. I don't see any relationship yet.

    So the line output noise on the transmit frequency can be modelled and eliminated to some extend only.

    All the issues won't be there, if we would have an external clean and pure digital clock signal for the transmitter.
    The PLL/clock generators of the sound card does produce too much noise.
    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    no, the phase noise of the sound card is not lower than the amplite noise. It was a software bug.
    I have checked this with reshaping of the transmit frequency and converting it into a digital clock with a comparator from a clean battery powered source and fed the transmitter with rectangular pulses. This option failed.

    Next option for SNR increase: Second lock-in amplifier.
    Aziz

    Leave a comment:


  • Aziz
    replied
    Hi all,

    best strategy to find a possible bug is to replace some old implementations with new Claude AI code.
    This is an example for circular FIFO buffer implementation in Ansi C.
    The Claude Code query (translated to english):
    Code:
    Implement a FIFO buffer in ANSI C for floating-point numbers. FIFO stands for First In First Out buffer and can be of arbitrary length. It will be written to and read from in blocks. No single values ​​will be handled.
    The floating-point numbers should be typecast as REAL.
    Create a FIFO type for internal data.
    
    A function for `int FIFO_Init(FIFO *pFF, int nBuffer)`, where `pFF` is a pointer to the FIFO object and `nBuffer` is the number of floating-point numbers (buffer length).
    
    A function for `int FIFO_Reset(FIFO *pFF)` to reset the buffer when no data is present.
    
    A function for `int FIFO_GetSize(FIFO *pFF)` to determine the number of data items in the FIFO buffer. The return value is an integer.
    
    A function for `int FIFO_Write(FIFO *pFF, int nBuffer, REAL *pBuf)` to write data to the FIFO buffer, where `nBuffer` is the number of data items to write and `pBuf` is the pointer to the floating-point data. The return value should be the number of data items written.
    
    A function for `int FIFO_Read(FIFO *pFF, int nBuffer, REAL *pBuf)` to read data from the FIFO buffer, where `nBuffer` is the number of data items to read and `pBuf` is the pointer to the REAL buffer. The return value is the actual number of data items read.
    
    A function for `int FIFO_Destroy(FIFO *pFF)` to release all internal resources.
    
    Error codes can be included in the return values. Create an include file with type definitions, error codes, and function prototypes.
    
    Create an implementation file. Review the implementation, correct any errors, and optimize it for speed.​
    The implementation of the AI query is attached.
    Nice isn't it?

    Make use of AI. Just do the same as I did. Create your own query. Try it. Or approch your needings step by step.
    Aziz
    Attached Files

    Leave a comment:


  • Aziz
    replied
    Hi all,

    I have detected a bug in my software but not fixed it yet. This is also causing huge "noise contribution". No wonder, if I am still doing quick & dirty implementation. A bug is made quickly.

    I have realised, that the phase noise is quite low compared to the amplitude noise of the line output. We can make a rectangular pulse stimulation from a clean source supply. So the amplitude is much more clean and stable compared to the line-output of the sound card. This is an option to consider.

    Leave a comment:

Working...
X