From: Andor on
On 22 Jul., 04:00, Tim Wescott <t...(a)seemywebsite.com> wrote:
> On 07/21/2010 05:12 PM, PhilipOrr wrote:
>
>
>
>
>
> > Hi everyone - this is my first post here. It's about time I joined a DSP
> > forum.
>
> > I need some advice related to a measurement system. The system samples at 1
> > kHz but between every sample the input to the DAQ is switched between two
> > inputs. The result is that the acquired signal, at 1 kHz, is two
> > interleaved signals at 500 Hz each.
>
> > I would then like to go on to separate the two signals, which are a
> > detection of the same measurement but with equal/opposite sensitivities, so
> > that I can find their differential. The idea is that I can use this
> > differential signal to get a measurement that is free from the noise that
> > is common to both channels.
>
> > I hope I have explained that clearly... Basically I am detecting two
> > interleaved signals which are measurements with opposite sensitivities so
> > that I can subtract them from each other to get a single more sensitive
> > measurement with reduced noise.
>
> > My query is how and where to implement anti-aliasing filters in this
> > system...
>
> > I am sampling at 1 kHz then separating the interleaved signals to get two
> > 500 Hz signals. I can then either subtract every consecutive pair (i.e.
> > measurement at 500 Hz which I guess would require me to invert the sign
> > between each subtraction in order to maintain the correct polarity) or,
> > more simply, wait until I have both samples, then produce the subtraction,
> > then wait for another pair, then subtract again (measurement at 250 Hz)..
>
> > I am confusing myself with where to implement anti-aliasing in this sort of
> > scheme before performing FFT on the final signal, and whether the filter
> > should be for 250 or 500 Hz...
>
> > Thanks for any advice. I need some clarity!
>
> So the signal out of the DAC is something like
>
> x_dac[n] = x[n] + offset if n is even, and
> x_dac[n] = offset - x[n] if n is odd?

I rather read his post as

x_dac[n] = x(n T) + e[n] if n is even, and
x_dac[n] = e[n] - x( (n+1/2) T ) if n is odd,

e[n] is the usual suspect and T = 2ms.

> Are you proposing to do the anti-aliasing before sampling or after?
> There's not much point (or meaning) to anti-aliasing after sampling,
> unless you're going to decimate.
>
> If you think about it, you're sampling the actual signal at 1kHz.  So
> anti-alias filtering appropriate to that sample rate _ahead_ of the
> modulating process would work.

I agree with this, but you have to be sure that the bandwidth of the
sensors is also at least 500Hz (each).

So the interleaved sequence

(x_dac[0], -x_dac[1], x_dac[2], -x_dac[3], .... )

is actually

(x(0) + e[0], x(1/1000) - e[1], x(2/1000) + e[2], ...)

To reduce the noise, the OP proposes to average two consecutive
samples from the second sequence, this is just a very simple lowpass
filter. Then the OP is not clear on whether he should decimate the
resulting sequence by two or not.

If this is a good or a bad way to reduce the noise depends on the
(bandwidth of the) original signal x(t). Almost certainly, there are
better noise reducing filters. Whether he should decimate by two also
depends on the whether the signal x(t) as frequency components above
250Hz. If not, then decimating may be an option, but it should be
preceded by a stronger lowpass filter than the two-point average -
this will reduce the measurement noise. This is a form of noise-
shaping decimation and can also reduce quantization noise, which is
not possible with an analog AA filter.

Regards,
Andor
From: PhilipOrr on
Many thanks for the fast responses.

I would like to take a truly simultaneous differential measurement, however
I can't with this system. The analogue signal is already being switched
between the two inputs, and my sampling is simply synchronised with the
switch rate so that I detect an interleaved version of the two signals.

I also agree that I would ideally need to AA filter before I sample,
however I can't do this because the filter would remove the switching
signal (fswitch = fs). (Perhaps oversampling so that I could AA filter
without removing the differential at fswitch, and then averaging/decimating
down after ADC could solve this.)

Currently, after de-interleaving I have the two 500 Hz signals. I subtract
these from each other to get a differential signal. This is because they
contain information on the same measurement but with equal and opposite
polarity - however the noise should be identical in both (I thought).
Therefore when I subtract I get double the signal power and suppress the
common noise. Is this reasoning correct or overly simplistic / wrong?

By subtracting the two signals I expected to see this reduced noise.
However I don't. Clearly my view of the situation is lacking! Why do I not
get reduced noise by this subtraction? In fact, the noise seems a bit
worse, not better. Do I need to AA filter the 500 Hz signals before
subtraction??
From: Jason on
On Jul 22, 5:32 am, "PhilipOrr"
<philip.orr(a)n_o_s_p_a_m.eee.strath.ac.uk> wrote:
> Many thanks for the fast responses.
>
> I would like to take a truly simultaneous differential measurement, however
> I can't with this system. The analogue signal is already being switched
> between the two inputs, and my sampling is simply synchronised with the
> switch rate so that I detect an interleaved version of the two signals.
>
> I also agree that I would ideally need to AA filter before I sample,
> however I can't do this because the filter would remove the switching
> signal (fswitch = fs). (Perhaps oversampling so that I could AA filter
> without removing the differential at fswitch, and then averaging/decimating
> down after ADC could solve this.)
>
> Currently, after de-interleaving I have the two 500 Hz signals. I subtract
> these from each other to get a differential signal. This is because they
> contain information on the same measurement but with equal and opposite
> polarity - however the noise should be identical in both (I thought).
> Therefore when I subtract I get double the signal power and suppress the
> common noise. Is this reasoning correct or overly simplistic / wrong?
>
> By subtracting the two signals I expected to see this reduced noise.
> However I don't. Clearly my view of the situation is lacking! Why do I not
> get reduced noise by this subtraction? In fact, the noise seems a bit
> worse, not better. Do I need to AA filter the 500 Hz signals before
> subtraction??

The amount of noise cancellation that you get by combining the two
samples depends upon the characteristics of the noise. If the noise is
white (i.e. it has a flat power spectrum across the whole band), then
the noise samples will be jointly independent of each other, so you
can't cancel them out by subtracting them from each other. In a
qualitative sense, if the noise is bandlimited, then two adjacent
samples will be correlated in some way, so you could get more
effective cancellation by subtracting them from each other. However,
unless you can make the noise term not change between the two sample
times (which is unlikely if it is in fact noise), you aren't going to
get perfect cancellation.

Jason
From: Jerry Avins on
On 7/22/2010 12:43 AM, Vladimir Vassilevsky wrote:
>
>
> Jerry Avins wrote:
>> On 7/21/2010 8:12 PM, PhilipOrr wrote:
>>
>>> Hi everyone - this is my first post here. It's about time I joined a DSP
>>> forum.
>>>
>>> I need some advice related to a measurement system. The system
>>> samples at 1
>>> kHz but between every sample the input to the DAQ is switched between
>>> two
>>> inputs. The result is that the acquired signal, at 1 kHz, is two
>>> interleaved signals at 500 Hz each.
>>>
>>> I would then like to go on to separate the two signals, which are a
>>> detection of the same measurement but with equal/opposite
>>> sensitivities, so
>>> that I can find their differential.
>
>> You ought to take a single measurement of a differential signal. Look
>> into using an instrumentation amplifier in front of the anti-alias
>> filter that precedes ADC.
>
> BTW, I measured the CMRR of LT1167, and I was amazed to see ~130dB. It
> would be hard to achieve that kind of performance in digital, especially
> considering the ADC impairments.

You can't arrange a floating ground digitally, either.

>> that.) Subtracting one signal from another displaced 2 ms won't
>> provide much noise cancellation, even at 60 Hz.
>
> You can make for the time shift by interpolation. Clay Turner-ish
> approach with the same interpolator filter used for delaying and
> advancing the signal by 2 ms in the corresponding channels.

That can be done fairly well, but it's like burning the house down to
cook the pig.* Any noise that could possibly be reduced that way must be
external to the signal source and should be blocked from entering the
system in the first place. What the OP proposes, even if it could work,
is like cooking a batch of peas in a dirty pot, then trying to wash the
dirt off afterward. Much better to wash the pot first.

Note that the 2 ms spread between samples is almost 45 degrees at 60 Hz.

Jerry
_______________________________________
* http://www.angelfire.com/nv/mf/elia1/pig.htm
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
From: Mark on
On Jul 22, 5:32 am, "PhilipOrr"
<philip.orr(a)n_o_s_p_a_m.eee.strath.ac.uk> wrote:
> Many thanks for the fast responses.
>
> I would like to take a truly simultaneous differential measurement, however
> I can't with this system. The analogue signal is already being switched
> between the two inputs, and my sampling is simply synchronised with the
> switch rate so that I detect an interleaved version of the two signals.
>
> I also agree that I would ideally need to AA filter before I sample,
> however I can't do this because the filter would remove the switching
> signal (fswitch = fs). (Perhaps oversampling so that I could AA filter
> without removing the differential at fswitch, and then averaging/decimating
> down after ADC could solve this.)
>
> Currently, after de-interleaving I have the two 500 Hz signals. I subtract
> these from each other to get a differential signal. This is because they
> contain information on the same measurement but with equal and opposite
> polarity - however the noise should be identical in both (I thought).
> Therefore when I subtract I get double the signal power and suppress the
> common noise. Is this reasoning correct or overly simplistic / wrong?
>
> By subtracting the two signals I expected to see this reduced noise.
> However I don't. Clearly my view of the situation is lacking! Why do I not
> get reduced noise by this subtraction? In fact, the noise seems a bit
> worse, not better. Do I need to AA filter the 500 Hz signals before
> subtraction??

the point I was trying to make and you are still missing is what you
call "interleaving" is also "sampling" When the other part of the
system does the "interleaving" of the two singals, that is
sampling.... if there are components in the signal above 250 Hz then
you need the AA filter ahead of the sampling/interleaving...

Read up on stereo FM multiplexing, it is an anaolog system, but the L
and R channels are "sampled" or interleaved. The ADC QUANTIZES the
signals. The AA filter is needed when a signal is SAMPLED and it
sounds like in your system that happens when the 2 signals are
"interleaved" into one.

I agree with the others about doing the differential summing in the
analog domain and pass the result through ONE AA filter and one A/D.

Mark