Reply by Eric Jacobsen●November 14, 20122012-11-14
On Tue, 13 Nov 2012 21:54:17 +0100, Piergiorgio Sartor
<piergiorgio.sartor.this.should.not.be.used@nexgo.REMOVETHIS.de>
wrote:
>Hi all,
>
>I've a question about sampling and reconstruction.
>
>There is a system, composed by "n" A/D converters,
>which have a very fast sample-and-hold, but the
>conversion rate might be below Nyquist
>
>The converters run each on their own clock, that
>is they are completely asynchronous with each
>other, even more, their sampling frequency is, in
>principle, unknown.
>
>The input (analog) signal is band limited and,
>possibly, it has reference patterns, like bursts
>or other known synchronization information.
If the synchronization information (unique words, correlatable
patterns, whatever) are exploitable you can use those to determine a
lot about what's going on. I've never used them this way, but I
think the kernel dilation features of wavelet transforms might help
find known sequences of unknown sampling rate.
Otherwise a brute-force-ish approach of correlating against the
reference with various stretch factors (to accomodate different sample
rates) should do the same thing to both locate the sequence and get an
initial estimate of its sample rate.
If that's done on each sampled sequence, then it might be possible to
get estimates close enough to start resampling and combining the
seqeunces to get the best possible picture of the original sequence.
This could even be done iteratively to improve the sample rate
estimates.
>
>Each converter acquires data for a certain amount
>of time, then this data must be processed off-line
>and the input signal must be derived in a way that
>can be reconstructed with a single clock.
>
>What's the recommended technique to deal with this
>type of situations?
>Which algorithm family I've to look into?
>
>Thanks a lot in advance,
>
>bye,
>
>--
>
>piergiorgio
On Tue, 13 Nov 2012 21:54:17 +0100, Piergiorgio Sartor wrote:
> Hi all,
>
> I've a question about sampling and reconstruction.
>
> There is a system, composed by "n" A/D converters, which have a very
> fast sample-and-hold, but the conversion rate might be below Nyquist
>
> The converters run each on their own clock, that is they are completely
> asynchronous with each other, even more, their sampling frequency is, in
> principle, unknown.
>
> The input (analog) signal is band limited and, possibly, it has
> reference patterns, like bursts or other known synchronization
> information.
>
> Each converter acquires data for a certain amount of time, then this
> data must be processed off-line and the input signal must be derived in
> a way that can be reconstructed with a single clock.
>
> What's the recommended technique to deal with this type of situations?
> Which algorithm family I've to look into?
>
> Thanks a lot in advance,
This ain't a trivial problem, and you don't have a guarantee of success.
Even if you assume that you can use the mentioned reference patterns to
synchronize the ADCs and calibrate them one against the other (because
each one is going to have different offsets and perhaps different
nonlinearities), whether you gather enough data so that the aggregate is
-- for practical purposes -- above Nyquist is not guaranteed.
Consider, for an easy deal-breaker, the case where by some evil chance
the ADCs just happen to be sampling simultaneously. Then the basic
Nyquist requirement that you have two times bandwidth _independent_
signals isn't met.
Even situations that come close to that but don't hit the nail on the
head are problematic: the Nyquist math is all done assuming no noise.
Your problem, on the other hand, is that you have a bunch of ADCs that
are noisy. So when enough ADCs happen to be sampling closely together,
then in theory you have enough samples, but in practice the math that
you'd need to unwind those samples into a reconstructed signal would be
very sensitive to noise.
And all of that is leaving out the question of how you are going to
synchronize and calibrate your ADCs.
So my gut feel is that this may be a cool exercise to do if you've got
some enthusiast with an open checkbook backing you up, but not something
you want to do if you actually have to succeed in the end.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?
Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com
Reply by Piergiorgio Sartor●November 13, 20122012-11-13
On 2012-11-13 22:26, glen herrmannsfeldt wrote:
> Piergiorgio Sartor <piergiorgio.sartor.this.should.not.be.used@nexgo.removethis.de> wrote:
>
>> I've a question about sampling and reconstruction.
>
>> There is a system, composed by "n" A/D converters,
>> which have a very fast sample-and-hold, but the
>> conversion rate might be below Nyquist
>
> All "n" are sampling the same signal, or n different
> signals?
The same signal.
> The aggregate is above or below Nyquist?
Likely it is, I mean that's the assumption in
order to be able to reconstruct the input.
>> The converters run each on their own clock, that
>> is they are completely asynchronous with each
>> other, even more, their sampling frequency is, in
>> principle, unknown.
>
> If they are measuring the same signal, and the
> aggregate is above Nyquist then, except for the
> asynchronous clocks, you have enough information.
>
> It might be that you can match up the signals and
> figure out the clocking. That is easier, the closer
> they are to the same frequency. Also, if the clocks
> are fairly stable, such that you can match up
> frequency and phase from the synchronizing data.
>
>> The input (analog) signal is band limited and,
>> possibly, it has reference patterns, like bursts
>> or other known synchronization information.
>
>> Each converter acquires data for a certain amount
>> of time, then this data must be processed off-line
>> and the input signal must be derived in a way that
>> can be reconstructed with a single clock.
>
> So at any time, at least one of the ADCs is running?
They run in parallel and store the data each in their
own buffer (or file on hard disk, if you like).
So they sample the signal in the same window, but at
different, unknown, positions.
Also the relative position of samples is unknown.
Sample k of converter x has unknown temporal
relation with sample k of convert y.
Of course, they cannot be too far away, but some
samples away they could be.
>> What's the recommended technique to deal with this
>> type of situations?
>
>> Which algorithm family I've to look into?
>
> Nyquist doesn't require uniform sampling, but the
> math is a lot easier. You might see what you find if
> you look up non-uniform sampling, possibly along
> with reconstruction or Nyquist, as keywords.
>
> -- glen
>
Thanks,
bye,
--
piergiorgio
Reply by glen herrmannsfeldt●November 13, 20122012-11-13
> I've a question about sampling and reconstruction.
> There is a system, composed by "n" A/D converters,
> which have a very fast sample-and-hold, but the
> conversion rate might be below Nyquist
All "n" are sampling the same signal, or n different
signals?
The aggregate is above or below Nyquist?
> The converters run each on their own clock, that
> is they are completely asynchronous with each
> other, even more, their sampling frequency is, in
> principle, unknown.
If they are measuring the same signal, and the
aggregate is above Nyquist then, except for the
asynchronous clocks, you have enough information.
It might be that you can match up the signals and
figure out the clocking. That is easier, the closer
they are to the same frequency. Also, if the clocks
are fairly stable, such that you can match up
frequency and phase from the synchronizing data.
> The input (analog) signal is band limited and,
> possibly, it has reference patterns, like bursts
> or other known synchronization information.
> Each converter acquires data for a certain amount
> of time, then this data must be processed off-line
> and the input signal must be derived in a way that
> can be reconstructed with a single clock.
So at any time, at least one of the ADCs is running?
> What's the recommended technique to deal with this
> type of situations?
> Which algorithm family I've to look into?
Nyquist doesn't require uniform sampling, but the
math is a lot easier. You might see what you find if
you look up non-uniform sampling, possibly along
with reconstruction or Nyquist, as keywords.
-- glen
Reply by Vladimir Vassilevsky●November 13, 20122012-11-13
"Piergiorgio Sartor"
<piergiorgio.sartor.this.should.not.be.used@nexgo.REMOVETHIS.de> wrote in
message news:pkoan9-lb3.ln1@lazy.lzy...
> Hi all,
>
> I've a question about sampling and reconstruction.
>
> There is a system, composed by "n" A/D converters,
> which have a very fast sample-and-hold, but the
> conversion rate might be below Nyquist
>
> The converters run each on their own clock, that
> is they are completely asynchronous with each
> other, even more, their sampling frequency is, in
> principle, unknown.
Ah, very typical situation with real life data acquisition.
> What's the recommended technique to deal with this
> type of situations?
> Which algorithm family I've to look into?
That depends. Either interpolate all data to regular sample rate and apply
usual math; or solve differential equations directly with ununiformly
sampled data.
Vladimir Vassilevsky
DSP and Mixed Signal Consultant
www.abvolt.com
Reply by Piergiorgio Sartor●November 13, 20122012-11-13
Hi all,
I've a question about sampling and reconstruction.
There is a system, composed by "n" A/D converters,
which have a very fast sample-and-hold, but the
conversion rate might be below Nyquist
The converters run each on their own clock, that
is they are completely asynchronous with each
other, even more, their sampling frequency is, in
principle, unknown.
The input (analog) signal is band limited and,
possibly, it has reference patterns, like bursts
or other known synchronization information.
Each converter acquires data for a certain amount
of time, then this data must be processed off-line
and the input signal must be derived in a way that
can be reconstructed with a single clock.
What's the recommended technique to deal with this
type of situations?
Which algorithm family I've to look into?
Thanks a lot in advance,
bye,
--
piergiorgio