EmbDev.net

Forum: DSP Frequency follower


Author: Ste_Trat (Guest)
Posted on:

Rate this post
0 useful
not useful
Hi everyone,

This is my first post and to come to the point: i need some guidance on 
a project i am working on. Some ideas on how to solve it would be total 
fine.
My profession as a electrochemist, needs some signal processing related 
stuff, and since its a hot topic in our research group, i cant reveal 
everything.

To start:

There is a system which exhibits some resonance phenomena, which i can 
track with a real time spectrum analyzer. But! the frequency of this 
signal is shifting with varying speed.
The goal is to track this signal with a peakfinder function, and feed 
the same frequency back into to system at the same time as it is 
detected.
Is this possible? Even if there is a delay in taking the samples, and 
calculating the fft? i was thinking of a doppler shift compensation 
stuff, which is avaible in gnu radio, but never worked with this so far.

For those who dont want to read everything:

Is it possible, to output the same frequency at the exact same time as 
an observed signal which is shifting with time ?

Thank you,
Stephan

Author: Udo K. (udok)
Posted on:

Rate this post
0 useful
not useful
Hi Stephan,

Yes this is possible and there exist numerous solutions.

The correct search term is PLL or Phase Locked Loop.

But without more specific details (frequency and bandwidth,
speed of change, signal level and application)
it is impossible to be more specfic.

Best regards,
Udo

Author: chris (Guest)
Posted on:

Rate this post
0 useful
not useful
>The correct search term is PLL or Phase Locked Loop.

More likely: FLL

Author: Ste_Trat (Guest)
Posted on:

Rate this post
0 useful
not useful
Hi Udo,

Thank you for your time.
- There exist numerous frequencies, and even harmonic distortion, caused 
by the systems non-linearity.
- The speed of change is also specific from case to case, but is 
expected to be slower than  100 kHz.

- The signal level is expected to be in the picovolt up to nanovolt 
range which is amplified by a instrumentation amp (DC coupled),.. but 
thats a different story.
- The SNR ratio is expected to be about 10 dB.

- The frequency range is between 10kHz up to 10 MHz, bandwith depends on 
frequency resolution

- the frequency shift starts for example at 10 kHz and stops at 50 kHz 
with a speed of 1kHz up to 100 kHz.

Greets Stephan

Author: Udo K. (udok)
Posted on:

Rate this post
0 useful
not useful
Two questions:

 - Do you have a time at the start, where you could lock to the
   one frequency of interest?

 - How long does it take for your system to change the frequency
  from 10kHz to 50 kHz in your example above (in seconds)?

Author: Ste_Trat (Guest)
Posted on:

Rate this post
0 useful
not useful
1. I can observe it, with a pulse response. But if i can lock into it,

2. Thats one thing which is quiet not sure, it should be as mentioned 
before slower then 100 kHz (maximum possible speed the system can 
change), it depends on some chemical reactions taking place

Author: matzetronics (Guest)
Posted on:

Rate this post
0 useful
not useful
Step 1: Run a FFT with the received signal and find the highest peak in 
it.

Step 2: program a frequency synthesizer with the found frequency (either 
a µC controlled PLL or a DDS oscillator)

Author: Ste_Trat (Guest)
Posted on:

Rate this post
0 useful
not useful
Yeah thats and these are the first steps,
but

the sampling and fft calculation takes some time. Thats why i want to 
know if it is possible to output the exact same freq. at the exact same 
time as the observed frequency which is shifting with time.
If there is a too big time mismatch it doesnt work

Author: Test (Guest)
Posted on:

Rate this post
0 useful
not useful
Ste_Trat wrote:
> the sampling and fft calculation takes some time. Thats why i want to
> know if it is possible to output the exact same freq. at the exact same
> time as the observed frequency which is shifting with time.
> If there is a too big time mismatch it doesnt work

You need to define "exactly" (how much missmacht you can accept). The 
missmatch can not be 0.

Author: Ste_Trat (Guest)
Posted on:

Rate this post
0 useful
not useful
100 hz maximum

Author: Udo K. (udok)
Posted on:

Rate this post
0 useful
not useful
Test wrote:
> You need to define "exactly" (how much missmacht you can accept). The
> missmatch can not be 0.

No the mismathc could be 0, in theory at least :-)

@Stephan

I is still not clear to me how fast your response should be
and if you have an initial "quiet" time where not much
changes and during which you can find a frequency start value.
(You have said 100 kHz, but this is not a time interval,
or is the solution periodic?)

It would be important to know what physical parameter you want to
control?  Temperature maybe? Or something faster changing?

What is the hardware platform on which the system is running?
Maybe an analog solution is much simpler, especially if you
have not enough time to calculate the FFTs.

Please tell us something about your application and your
goals, otherwise this is only guessing in the dark and not many
productive ideas will result.

: Edited by User
Author: Stephan T. (ste_trat)
Posted on:
Attached files:

Rate this post
0 useful
not useful
So, i have made some screenshots of a quick overview of the problem i am
faced with and hope its readable.
Since i am chemist, pictures are the prefered way to explain, to
interpret and to solve problems.

The main goal is to answer the question(s), there are literally no
restrictions, of how to implement it.

P.s.
- i cant talk about the application
- the output is just a voltage, the system works totally fine with this 
changes and everything else.
-its really only about that frequency feedback and minimizing the time 
delay thing.

: Edited by User
Author: Raymund Hofmann (Guest)
Posted on:

Rate this post
0 useful
not useful
Feeding the measured frequency back directly has the possibility for the 
lowest delay.

Trying to interpret the handwritten notes i summarize:

The DUT is excited with a pulse.

The response is similar to a chirp-style signal starting at 10Khz going 
to 50Khz within 1us?

The instantaneous frequency of this response has to be extracted with 
minimal delay/distortion.

The aim is to reduce measurement noise, clean up the signal.

So this is where the trade off needs to be made: Tracking 
distortion/delay vs. reduction in noise.

Using DFTs for that seems inappropriate, because of the trade off time 
vs. frequency resolution.

One way i can think of is modeling the DUT response with one variable, 
lets say "f", and build a detector/feed back loop around which adjusts 
"f" by comparing the measured data against the modeled output.

The more sophisticated/detailed the model gets (more variables, longer 
time - view it over many responses, not just one) the touchier it gets 
and the better it needs to match the DUT but the more S/N improvement it 
may give.

The model/observer approach.

The key here is to model the DUT, track various slowly changing 
variables of it (filter out noise over time) to extract quickly changing 
variable(s) of interest with improved S/N compared to the raw 
measurement.

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig