DSPRelated.com
Forums
Online · Live + on demand
February 9-11, 2027
Price goes up Nov 1: register now to lock in today's rate
Register Now →

Seperating Multiple Signals in the Same Band

Started by xkenneth ●June 10, 2008
"PFC" <lists@peufeu.com> wrote in message 
news:op.ucj4gacwcigqcu@apollo13.peufeu.com...
> > Lateral thoughts : > > Can you use other sensors, to extract more data ? > > - an angle sensor on the motor shaft ? > This would perhaps allow a better cancellation of the noise... > > - a second pressure sensor located somewhere else ? > If the signal of interest comes from point B and the noise comes from > point A, both propagate in opposite directions in your pipe so if you use > 2 sensors you can use the phase information in your processing (like > diversity). > > What physical event causes the signal of interest ?
Your application isn't all that clear so this may be way out in left field. In some machinery applications the idea is to detect noisy bearings, etc. before they fail. They will emit narrow band spectral lines but only in "machine rotation space". So, one idea is to clock the spectrum analyzer with a tachometer connected to the machine. The DSP equivalent is to sample at times determined by the tachometer. Then the sequence of samples is uniform in machine rotation and generally not uniform in real time. Doing this tends to stabilize the lines and makes them easier to detect from a SNR point of view. If they're easier to detect and are more stable then I assume they're easier to remove. Once removed then might it be possible to reconstruct the samples to be uniform in real time? That would take a time sample per data sample at least. Just a thought.... Fred
On 10 Jun, 22:46, xkenneth <xkenn...@gmail.com> wrote:

> But there's probably something I forgot to mention. The device that's > causing this noise is a mechanical pump (the signal is pressure over > time of a fluid.) It's got a view cycles that can be represent as > several summed &#4294967295;sinusoids of harmonic frequencies. And as in theory > A,I (the part that does not contain my signal), B, C, are all loose > harmonics.
The desired signal is the pressure in a tank or something? And the interference is caused by some pump which feeds or drains the tank? My first reaction has to do with electrical interference. Depending on the scale of the application, the pump may be large, draining lots of current, while the pressure sensor from an electrical point of view might be a tiny device. Are you absolutely sure you have shielded the sensor from any interference caused by the pump? Assuming that is either irrelevant or taken care of, the next question is about time scales. Exactly how does the desired signal behave? Is this a static pressure in a tank or is it internal pressure in a pipe? The difference is important, as the pressure in the fomer is a more or less step-response, whereas in the latter case internal turbulence might cause a fluctuating (pseudo)periodic pressure. Could you please describe the application and set-up in as much detail as possible? Rune
xkenneth wrote:
> Overview of the problem: > > I have a quite complicated filtering application here that I could > really use some help and insight on. I'm trying to extract a > repetitive signal (a pulse) that is not cyclical but appears on > certain modulus. (Meaning a pulse could come 2 to 5 modulus after > another.)
... Ken, I've read many of the replies you got and your responses to them. It's a bit difficult to follow your replies because they don't distinguish between what you write anew and what you quote. Perhaps you can fix that. I can only guess what hou mean by "modulus" in your description ot the pulse's timing. Would you clarify that please? I've seen no discussion of how the noise adds to the signal to corrupt it. Is it inherent in the measurement process, as with a microphone measuring room sound? If it is at all possible to exclude noise from the signal, that is always better than trying to suppress it later. Can you describe how you make your measurements? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On Jun 11, 10:59&#4294967295;am, Jerry Avins <j...@ieee.org> wrote:
> xkenneth wrote: > > Overview of the problem: > > > I have a quite complicated filtering application here that I could > > really use some help and insight on. I'm trying to extract a > > repetitive signal (a pulse) that is not cyclical but appears on > > certain modulus. (Meaning a pulse could come 2 to 5 modulus after > > another.) > > &#4294967295; &#4294967295;... > > Ken, > > I've read many of the replies you got and your responses to them. It's a > bit difficult to follow your replies because they don't distinguish > between what you write anew and what you quote. Perhaps you can fix that. > > I can only guess what hou mean by "modulus" in your description ot the > pulse's timing. Would you clarify that please? > > I've seen no discussion of how the noise adds to the signal to corrupt > it. Is it inherent in the measurement process, as with a microphone > measuring room sound? If it is at all possible to exclude noise from the > signal, that is always better than trying to suppress it later. Can you > describe how you make your measurements? > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
to the OP, please clarify what you are trying to find: a) the TIMING of the peak of the pulse? or b) the AMPLITUDE of the peak of the pulse? If you are looking for timing, you may want to consdier filtering in the time domain instead of the frequency domain... Also if your desired signal has a steeper rise and fall time compared to the noise, you may use that to advantage.. I have read someplace about interesting algortihms used in car ignition control to recognize the acoustical signature of "pinging" or "detonation" from "knock sensors". You may want to search those terms.. Sounds like a similar problem.. Also in recovering the timing pulses from the magnetic sensor in the distributor, when the spark fires, there is a ton of noise, but the system knows it just fired the spark so it ignores any data that comes back within x ms of a spark fire etc. Mark
>Ok a little more info here: > >http://xkenneth.wordpress.com/signal-processing-problem/ > >On the above page, you can see an FFT of the device's signature with >and without the signal, as well as the STFT of the raw signal over >time. Re-evaluating the FFT's with and without the signal, I can see >that the signal is not in one distinct band as I had thought, although >I'm not sure how I overlooked this. The spectrum of the pulse seems to >be spread out with energy in one of the pumps bands, but also in >several others. Looking at the STFT, the major ridges are the overall >change in frequency due to the pulse. (It's coming in at regular >intervals for this data) The window size for the STFT is small, and >therefore reflects generally overall change of all of the bands over >time.
I assume your Y-axis is linear, in which case the interference is not totally overwhealming the signal of interest. Can that be relied on in the general case? The 4th harmonic of the interference barely changes between the two plots. If that amplitude is genuinely consistent over the short term, then the significant change in the fundamental amplitude seems like it must be due to the addition of the signal of interest. If the signal of interest has pretty distinct start and end points (rather than ebbing and flowing slowly), it doesn't look too hard to tell its there, even when superimposed on the interference. I guess the question is exactly how much temporal and amplitude resolution you are looking for in quantifying the signal. One thing you seem to have very much on your side is a pretty low noise floor. Things are much easier to distinguish when they are closer to a branch of geometry than to a branch of statistics. :-)
All,

    I really thank you for all of your help and patience. I'm going to
answer all of your questions in one reply again, but they'll be
clearly marked. I do apologize for the manner in which I've answered
questions in the past.

Answers to Tim's Questions:
Are the signal sources all turned from the same motor, and connected
rigidly (or at least by belts, as opposed to hydraulics). &nbsp;

Yes, the pump motor has 4 cylinders, but I cannot count on it having 4
cylinders, there will be a different pump almost every time I attempt
to filter out my signal.
I.e., if you
know how A is going, do you automatically know B and C or do you have
to
find them individually.

"A notch filter only works as well as the
predictability of the signal that it's notching out."

You're simply talking about a band-stop filter, correct? I have tried
to use an FFT to programatically identify the harmonics, which is
quite easy, but getting the band-stop filters to work reliably is a
bit more of a pain. There is also the problem of measuring exactly how
much of the signal to attenuate.

So just what differences in frequency _are_ you looking at between A,
I &#8232;and B? &nbsp;That has a lot of bearing on what you can do with this.
When you look at the two FFTs, what I'm looking at is everything that
appears in the second one, and not in the first, but even this can
change over time. What I need to be able to do is programatically
detect and remove repetitive sinusoids.

Answers to Tims second set of questions:
Can you use other sensors, to extract more data ?
Not at the time being.
- an angle sensor on the motor shaft ?
I'm not sure what you mean by this. This also identifies another
problem I have yet to explain, I will sometimes encounter situations
where there will be multiple pumps.
&#8232;This would perhaps allow a better cancellation of the noise...
You're absolutely right in thinking that it would, however it's not
possible for me to achieve.
- a second pressure sensor located somewhere else ?
Same thing, this would work really well, but I can't do it.
&#8232;If the signal of interest comes from point B and the noise comes from
&nbsp; &#8232;point A, both propagate in opposite directions in your pipe so if
you use &nbsp; &#8232;2 sensors you can use the phase information in your
processing (like &nbsp; &#8232;diversity).
I also agree with you on this.
What physical event causes the signal of interest ?
A device at the other end of the pipe. The flow is a loop, with a pump
at one end, and the device somewhere on the other side.
It would appear that a good sharp low-pass filter at a frequency of
0.5
whatevers/whatever (no axis labels!) would certainly distinguish your
signal from your noise. &nbsp;Whether it would leave enough of your signal
to
do the job you want to do is open to conjecture, but have you tried
it?

No I have not tried this, but I will. Thanks for the suggestion.

To Fred:
"Your application isn't all that clear so this may be way out in left
field.
In some machinery applications..."
I appreciate your input but I'm having a hard time understanding this,
do you have any literature?
Answers to Runes Questions:
The desired signal is the pressure in a tank or something?

The pressure of the line, yes, the flow is circular with a tank and a
pump on one end and my device on the other.

And the interference is caused by some pump which feeds or
drains the tank?

It feeds the line and then the line returns into the tank. The pump
causes huge variations in pressure, the SNR is about -12dB i believe.

My first reaction has to do with electrical interference. &#8232;Depending
on the scale of the application, the pump may be &#8232;large, draining lots
of current, while the pressure sensor &#8232;from an electrical point of
view might be a tiny device. &#8232;Are you absolutely sure you have
shielded the sensor &#8232;from any interference caused by the pump?
Absolutely, these devices are on separate generators (field app).
Assuming that is either irrelevant or taken care of, &#8232;the next
question is about time scales. Exactly how does &#8232;the desired signal
behave?
The pulse? It can can vary in amplitude but never in frequency.
Is this a static pressure in a tank or is it internal pressure in a
pipe?
Internal pressure of a pipe.
The difference &#8232;is important, as the pressure in the fomer is a more
or &#8232;less step-response, whereas in the latter case internal
turbulence might cause a fluctuating (pseudo)periodic &#8232;pressure.
Could you please elaborate a bit more? This sounds extremely
interesting.
Could you please describe the application and set-up &#8232;in as much
detail as possible?
This is the best deal I can go into...
I have a device, that's placed at one side of a circular loop of flow,
and the flow is allowed to go through it. At the other side of the
flow loop is usually one, but possibly more pumps to move the fluid.
Behind the pumps (away from the direction of flow) is a large fluid
reservoir.  My pressure (transducer) sensor is near the output of the
pump (or combined output if there's multiple pumps.) At certain times
my device stops the flow, causing a buildup of pressure between the
device and the pump. The times at which the pulses occur are
controlled in order to encode data.
To answer Jerry's questions:
I've read many of the replies you got and your responses to them. It's
a &#8232;bit difficult to follow your replies because they don't
distinguish &#8232;between what you write anew and what you quote. Perhaps
you can fix that.
Jerry, absolutely, I agree, this will not be a problem in the future.
Thanks for the help.
I can only guess what hou mean by "modulus" in your description ot
the &#8232;pulse's timing. Would you clarify that please?
The pulses come at regular but distinct intervals. What I mean by a
modulus is the smallest unit in which you can measure the distance
between two pulses. Pulses can occur anywhere from 1 to n modulus away
from each other.
I've seen no discussion of how the noise adds to the signal to
corrupt &#8232;it.
The pumps create a signal that can overlap with the frequencies of the
pulse.
Is it inherent in the measurement process, as with a microphone
measuring room sound?
No, it is directly due to the pump.
If it is at all possible to exclude noise from the &#8232;signal, that is
always better than trying to suppress it later. Can you &#8232;describe how
you make your measurements?
If you read above, I went over it in a bit more detail.
To answer Mark's questions:
please clarify what you are trying to find:
a) the TIMING of the peak of the pulse? or b) the AMPLITUDE of the
peak of the pulse?
Both, but most importantly the timing. The amplitude helps us
determine which pulses are true and which are false.
If you are looking for timing, you may want to consdier filtering in
the time domain instead of the frequency domain...
I posted the FFT and STFT transforms because I'm not sure if it's "OK"
for me to post an image of the raw signal. I'll try to get some more
images up.
To answer Steveu's questions:
I assume your Y-axis is linear, in which case the interference is not
totally overwhealming the signal of interest.

The Y axis or the X axis? The frequency on the FFTs is correct, but
the scale on the STFT is not correct, the "10" value on the frequency
axis represents roughly 6Hz.

 Can that be relied on in the
general case?

I'm not sure.

The 4th harmonic of the interference barely changes between
the two plots.

	My best results have come from identifying the harmonics, simulating
signals at the exact same frequency, phase, and amplitude, and
subtracting them.

If that amplitude is genuinely consistent over the short
term, then the significant change in the fundamental amplitude seems
like
it must be due to the addition of the signal of interest.

Correct.

If the signal of
interest has pretty distinct start and end points (rather than ebbing
and
flowing slowly), it doesn't look too hard to tell its there, even
when
superimposed on the interference.

Also correct, you can generally pick it out by eye.

I guess the question is exactly how much
temporal and amplitude resolution you are looking for in quantifying
the
signal.

Not sure I follow you on this one...

--End Answers--

I really appreciate everyone's help. I look forward to continuing this
discussion.
Regards,
Ken
To Fred:
"Your application isn't all that clear so this may be way out in left
field.
In some machinery applications..."
I appreciate your input but I'm having a hard time understanding this,
do you have any literature?

OK.  This is still a shot in the dark but maybe it would be applicable:

Let's say that you have a motor that's of interest for monitoring bearing 
wear - just as an example.
You know that the bearings will emit sound or vibration whose frequencies 
vary according to the shaft speed and the amplitudes according to the degree 
of wear.
You also know that the motor speed isn't as constant as one might think or 
want ... even if the motor speed is nominally "constant".

Your first attempt at monitoring motor vibration or sound is to attach an 
accelerometer or a microphone type of device and record its output.
Then, you do a spectrum analysis and look for spectral lines that indicate 
the sound or vibration you're looking for.

All well and good.  However, for early detection we find that the variation 
in frequencies caused by the motor speed variation broadens the lines and 
their signal to noise ratio is diminished (on a relative basis) accordingly.

So we come up with a method where the variation is taken out:
We connect a tachometer device to the motor.  It's a "line" tach - made of a 
wheel that has alternating rays of black and transparent material that allow 
light to be sensed as a sequence of pulses.  The pulse positions in time 
indicate the motor shaft position relative to time.  Take away time and you 
have pulses that indicate the motor shaft position.
Similarly you might use a magnetic pickup to sense the rotation of gear 
teeth or knobs on a metallic or magnetic wheel.
In summary, this creates a "clock" that is locked to the motor shaft and, if 
the motor shaft speed has "wow and flutter" (as they say in the analog 
recording device world) then the sample points in time will reflect that.

Using this clock to generate an A/D converter means that the digital samples 
coming out will come out at varying times but at definite points relative to 
the motor shaft.  The sample space is thus modified.

Now the vibrations of the motor, which are directly connected to the motor 
shaft motion, will be "locked" to the clock and, thus, will be more 
narrow-band than using the earlier method.  This improves the signal to 
noise ratio and the spectral lines can be detected when they are of lower 
amplitude than before.

Taking off from this:
If I need to eliminate motor vibration-related noise from a signal then 
*maybe* I can do it more effectively if I sample in the latter method.  I'm 
thinking of using something like adaptive line cancelling here....

Once the motor vibration contributions are removed then there are a couple 
of options:

1) just look at the signal that's left.  Because the sample space is 
"warped" relative to time this may not be exactly what you want.  You have 
to decide that.

2) reconstruct the signal back to "real time".  In order to do this you have 
to register the samples in a real time space.  This means that you have to 
up-front capture a time value sample for each signal sample.  Then, you use 
an interpolation algorithm to create a set of samples that are 
regularly-spaced in real time.  This will put the desired signal "back 
together" so to speak.  I'm assuming that the desired signal is *not* 
related to the motor rotation.  If it is then this step may not be needed.

I hope this helps.

Fred


All,

    I'm still struggling with this, and would like to kick this thread
off again. If anyone has any suggestions, please let me know.

Regards,
Ken
On Aug 7, 1:41 pm, xkenneth <xkenn...@gmail.com> wrote:
> All, > > I'm still struggling with this, and would like to kick this thread > off again. If anyone has any suggestions, please let me know. > > Regards, > Ken
After the questions and answers that have been exchanged and time passed, would you restate what you now think the problem should be described as? Dale B. Dalrymple