DSPRelated.com
Forums

method for digital filtering

Started by teilersen February 23, 2006
Hi

I am working on a project where I need to filter some measurements from a
belt-scale. My problem is that the scale will perform a damped vibration
when an object is applied which will corrupt my signal. The signal will
also be corrupted with sinusoids from e.g. unbalanced drive units. The
actual signal I measure consists of a lot of damped sinusoids.
The scale can be modeled as a metal plate mounted on stiff springs and the
desired output is close to a step-function with the amplitude equal to the
weigth of the object. The accuracy needs to be very high and the filter
needs to be as fast as possible. 
I do not expect to be able to use a lowpass FIR or IIR as the stepfunction
contains all frequencies in the freq-domain.

Which method can I use for this problem. I have been told to look at
Single Value Decomposition, sinusoid retrieval and time - frequency
reassignment. Would these areas help me? and are there other areas which
could be better.

I also have non uniform sampling in the system as the sensor in the system
is based on a capacitive measuring principle and the sampling time will
therefor depend on the RC term in the sensor. Will this cause me
trouble??? And is it impossible to use FFT then?

I have a time-stamp at each sample so I have been considering to pad with
zeroes between each sample and lowpass filter to get a uniform sampled
signal, but then I will need to down-sample again with a ratio which will
keep changing I guess?

Thanks

Tom


Hi Tom,
	That's an interesting discussion of a problems solutions. Maybe if we
knew what the actual problem was somebody could give good advice. I'm
guessing what you want to do is weigh (measure mass) something. Or
possibly you want weigh a bunch of somethings. Now is the problem that
you don't want to wait till the system equalizes to derive your
measurement? Or does the system never have time to equalize? Are you
dealing with one system with one impulse response? or are you trying to
generalize the problem to different systems with different responses.
	 Deriving the amplitude of a step function from a system whose impulse
response is practically short is rather simple - just look at the data
at the beginning and the end. So somehow the problem must be linked to
the time you need to know the answer is shorter than the length of the
IR. Or is the problem you want to know exactly when the step happened?
Or is the problem you want to derive the impulse response? or maybe its
that the system is not linear? 

-jim

teilersen wrote:
> > Hi > > I am working on a project where I need to filter some measurements from a > belt-scale. My problem is that the scale will perform a damped vibration > when an object is applied which will corrupt my signal. The signal will > also be corrupted with sinusoids from e.g. unbalanced drive units. The > actual signal I measure consists of a lot of damped sinusoids. > The scale can be modeled as a metal plate mounted on stiff springs and the > desired output is close to a step-function with the amplitude equal to the > weigth of the object. The accuracy needs to be very high and the filter > needs to be as fast as possible. > I do not expect to be able to use a lowpass FIR or IIR as the stepfunction > contains all frequencies in the freq-domain. > > Which method can I use for this problem. I have been told to look at > Single Value Decomposition, sinusoid retrieval and time - frequency > reassignment. Would these areas help me? and are there other areas which > could be better. > > I also have non uniform sampling in the system as the sensor in the system > is based on a capacitive measuring principle and the sampling time will > therefor depend on the RC term in the sensor. Will this cause me > trouble??? And is it impossible to use FFT then? > > I have a time-stamp at each sample so I have been considering to pad with > zeroes between each sample and lowpass filter to get a uniform sampled > signal, but then I will need to down-sample again with a ratio which will > keep changing I guess? > > Thanks > > Tom
----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups ----= East and West-Coast Server Farms - Total Privacy via Encryption =----
teilersen ha scritto:

> Hi > > I am working on a project where I need to filter some measurements from a > belt-scale. My problem is that the scale will perform a damped vibration > when an object is applied which will corrupt my signal. The signal will > also be corrupted with sinusoids from e.g. unbalanced drive units. The > actual signal I measure consists of a lot of damped sinusoids. > The scale can be modeled as a metal plate mounted on stiff springs and the > desired output is close to a step-function with the amplitude equal to the > weigth of the object. The accuracy needs to be very high and the filter > needs to be as fast as possible. > I do not expect to be able to use a lowpass FIR or IIR as the stepfunction > contains all frequencies in the freq-domain. > > Which method can I use for this problem. I have been told to look at > Single Value Decomposition, sinusoid retrieval and time - frequency > reassignment. Would these areas help me? and are there other areas which > could be better. > > I also have non uniform sampling in the system as the sensor in the system > is based on a capacitive measuring principle and the sampling time will > therefor depend on the RC term in the sensor. Will this cause me > trouble??? And is it impossible to use FFT then? > > I have a time-stamp at each sample so I have been considering to pad with > zeroes between each sample and lowpass filter to get a uniform sampled > signal, but then I will need to down-sample again with a ratio which will > keep changing I guess? > > Thanks > > Tom
Are you dealing with a checkweigher system? i.e. a dynamic weighing system? Is the mass (you need to weight) running on a belt and you must weight it on the fly when the mass pass on a segment of the belt conveing system coupled to a load cell (or other weight sensor e.g. LVDT etc.) ? Is my understand correct? Bye Jack
Hi Jack and Jim

>Are you dealing with a checkweigher system? i.e. a dynamic weighing >system? > >Is the mass (you need to weight) running on a belt and you must weight >it on the fly when the mass pass on a segment of the belt conveing >system coupled to a load cell (or other weight sensor e.g. LVDT etc.) ? > >Is my understand correct?
Yes it is a checkweigher for dynamic weighing with load cells located under the belt conveing system.The system is weighing the mass of an object as the object is transported across the system.
>Now is the problem that >you don't want to wait till the system equalizes to derive your >measurement? Or does the system never have time to equalize? Are you >dealing with one system with one impulse response? or are you trying to >generalize the problem to different systems with different responses. >Deriving the amplitude of a step function from a system whose impulse >response is practically short is rather simple - just look at the data >at the beginning and the end. So somehow the problem must be linked to >the time you need to know the answer is shorter than the length of the >IR.
I do not have the time to wait for the system to equalize, because I need to process the units as fast as possible. The system should be used commercially so I would like to generalize it to different checkweighers and if possible to different types of checkweighers with different IR. I suppose that the IR will also change with the input as the freq of resonanse will depend on the mass of the entire sytem, but I expect this change to be very small as the mass of the object to be much lower than the mass of the drive unit. How do I record the IR? It is not very easy to apply a 1 N delta-function instantaneously. When I look at the unfiltered signal then it contains a strong, slow, damped sinusoid and some small fast ones.
>Or is the problem you want to know exactly when the step happened? >Or is the problem you want to derive the impulse response? or maybe its >that the system is not linear?
I would like to know the weight of the object (the amplitude of the stepfunction) Thank you for your help Tom
teilersen wrote:
> Hi > > I am working on a project where I need to filter some measurements from a > belt-scale. My problem is that the scale will perform a damped vibration > when an object is applied which will corrupt my signal. The signal will > also be corrupted with sinusoids from e.g. unbalanced drive units. The > actual signal I measure consists of a lot of damped sinusoids. > The scale can be modeled as a metal plate mounted on stiff springs and the > desired output is close to a step-function with the amplitude equal to the > weigth of the object. The accuracy needs to be very high and the filter > needs to be as fast as possible. > I do not expect to be able to use a lowpass FIR or IIR as the stepfunction > contains all frequencies in the freq-domain.
What do you mean: you can't low-pass filter because the step function's components go out to infinity? In the first place, they don't. You should see a ramp as the weight is smoothly transfered to the scale, then off again. Surely, there is no impact! Moreover, you *must* low-pass filter to remove all components at and above half the sampling frequency *before* the analog signal is digitized. You need to discuss more of your problem and how to solve it. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
> >What do you mean: you can't low-pass filter because the step function's >components go out to infinity? In the first place, they don't. You >should see a ramp as the weight is smoothly transfered to the scale, >then off again. Surely, there is no impact! Moreover, you *must* >low-pass filter to remove all components at and above half the sampling >frequency *before* the analog signal is digitized. You need to discuss >more of your problem and how to solve it. > >Jerry
Hi Jerry The sensor is digital - (it contains an ASIC connected to an oscillator and my output is a number of oscillations counted by a counter) - so I can not apply an anti-aliasing filter before it is digitized. It is true that I will get a ramp when the object is transfered to the scale, so I will get a step/function with a half ramp-function on each side, but if the width of the scale is much greater than the width of the object then it is close to a step function which is a sinc in the freq - domain (contains all frequencies) If I filter the output with a low pass filter then I will get a signal which contains slow sinusoids and is far from the desired step-function. To give me a signal which has blocks/intervals close to a DC signal then I will need to use too many taps in my filter ehich makes it to slow. I thougth of using sinusoid retriveal to detirmine A in the most important A*exp(-v*t)cos(w*t) components and sum them up, but I have been told that I migth get some more informations by looking at the time-frequency plot so I can see which frequencies the signal consists of as a function of time because the signal is not stationary (http://tftb.nongnu.org/demos.html). Another idea I had was to use a least square solution where project the signal on a sub-space spaned by a DC-vector (v=k{1,1,1,1,1,.....,1}), but I think it would just be a complicated way to take the moving average of the signal so I am not sure exactly how I can solve it. If anybody have an idea for a solution it would be great. Tom
teilersen wrote:
>>What do you mean: you can't low-pass filter because the step function's >>components go out to infinity? In the first place, they don't. You >>should see a ramp as the weight is smoothly transfered to the scale, >>then off again. Surely, there is no impact! Moreover, you *must* >>low-pass filter to remove all components at and above half the sampling >>frequency *before* the analog signal is digitized. You need to discuss >>more of your problem and how to solve it. >> >>Jerry > > > Hi Jerry > > The sensor is digital - (it contains an ASIC connected to an oscillator > and my output is a number of oscillations counted by a counter) - so I can > not apply an anti-aliasing filter before it is digitized.
Then you're stuck with the consequences: aliasing. Still, there's a sample rate: the frequency at which counts are measured. The longer the interval between counts, the more accurate they are and the more aliasing you suffer. It's a tradeoff you shouldn't ignore.
> It is true that I will get a ramp when the object is transfered to the > scale, so I will get a step/function with a half ramp-function on each > side, but if the width of the scale is much greater than the width of the > object then it is close to a step function which is a sinc in the freq - > domain (contains all frequencies)
It's not a rectangular pulse, but a trapezoidal one The high frequencies from the edges have magnitudes inverse to the square of frequency, beginning with periods comparable to the ramp time.
> If I filter the output with a low pass filter then I will get a signal > which contains slow sinusoids and is far from the desired step-function. > To give me a signal which has blocks/intervals close to a DC signal then I > will need to use too many taps in my filter ehich makes it to slow.
You need to address all those trade-offs. It's time for me to put supper on the table. Maybe I'll have more ideas later. ... Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Jerry Avins wrote:
> Moreover, you *must* > low-pass filter to remove all components at and above half the sampling > frequency *before* the analog signal is digitized.
This is true if the sampling rate in uniform and one wants to reconstruct. However, in the OPs case, the sampling seems to be non-uniform, and reconstruction is of no interest, just a very precise measurement of something implied by a localized DC term obscured under the impulse response. Since it sounds like he knows the response of the system to various reference weights, I might try a curve fitting approach to see if an algorithm can find an appropriate local minima in some error term, and then work backwards from the found parameters to an estimation of the impulse weight. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M

teilersen wrote:

> I suppose that the IR will also change with the input as the freq of > resonanse will depend on the mass of the entire sytem, but I expect this > change to be very small as the mass of the object to be much lower than > the mass of the drive unit. > How do I record the IR? It is not very easy to apply a 1 N delta-function > instantaneously.
You have a sampling of the step response that should be good enough. Getting the IR from that would just be a high pass filter that probably adds nothing useful. But it might not be a bad idea to look at that. What you need to do is find something in there that correlates accurately to the weight of the object. Maybe its the total energy over a period of time or maybe its the magnitude of a certain frequency at some point in the process. Once you know what your looking for you can think about the design of a filter to achieve that. As for the non-uniform sampling. I don't get what that looks like. Your not saying the sampling rate increases as a function of the load applied? At any rate it may be a function of something so even though your coordinate system may not be time you may have a uniform coordinate system. -jim
> When I look at the unfiltered signal then it contains a strong, slow, > damped sinusoid and some small fast ones. > > >Or is the problem you want to know exactly when the step happened? > >Or is the problem you want to derive the impulse response? or maybe its > >that the system is not linear? > > I would like to know the weight of the object (the amplitude of the > stepfunction) > > Thank you for your help > > Tom
----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups ----= East and West-Coast Server Farms - Total Privacy via Encryption =----
>As for the non-uniform sampling. I don't get what that looks like. Your >not saying the sampling rate increases as a function of the load >applied? At any rate it may be a function of something so even though >your coordinate system may not be time you may have a uniform coordinate >system.
To be honest then I am not sure myself what it will look like. The sensor measures two capacitors between each sample. One will increase and the other will decrease, but it is the reciprocal value of the capcitans which are linear with the force so I think it will be some kind of a s-kurve.
>You have a sampling of the step response that should be good enough. >Getting the IR from that would just be a high pass filter that probably >adds nothing useful. But it might not be a bad idea to look at that.
Why do I get the IR If I high pass filter the signal? Jerry wrote that my "trapezoidal" signal will mostely contain low frequncies. If I multiply that with my the IR in the frequency domain then I suppose I get the frequency spectrum of the signal I measure. I do not expext to get the IR back from a simple low pass filtering. I would expect that I would have to try deconvolution which is hard because I have zeroes in the frequency domain of the input (the "trapezoidal")
>What you need to do is find something in there that correlates >accurately to the weight of the object. Maybe its the total energy over >a period of time or maybe its the magnitude of a certain frequency at >some point in the process. Once you know what your looking for you can >think about the design of a filter to achieve that.
Sounds like a good idea, but I am not sure how I should do that in practice? thanks Tom