Prev: Announcing AjarDSP - an open source VLIW DSP
Next: Last Call for Papers Reminder (extended): International Conference on Signal Processing and Imaging Engineering ICSPIE 2010
From: Andor on 22 Jul 2010 02:16 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 22 Jul 2010 05:32 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 22 Jul 2010 09:16 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 22 Jul 2010 09:29 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 22 Jul 2010 09:30
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 |