help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Smoothing a roughly sinusoidal signal


From: Windhorn, Allen E [ACIM/LSA/MKT]
Subject: RE: Smoothing a roughly sinusoidal signal
Date: Thu, 7 Nov 2019 16:48:10 +0000

Richard,

> -----Original Message-----
> From: Help-octave <address@hidden> On Behalf Of llrjt100
> 
> I have position data coming from a high resolution angular position sensor
> and I need to improve the accuracy of the data by removing a regular
> sinusoid from it.
> 
> The below graph shows three plots of angular position error against time:
> <https://octave.1599824.n4.nabble.com/file/t373550/Forum.jpg>
> 
> 1. The brown plot is the position error which needs to be corrected (ideal
> is a zero error horizontal line).
> 2. The blue plot is the position error of a very high accuracy reference
> angular position sensor (for testing only and not present in the deployed
> application).
> 3. The green plot is the difference between the brown and blue plots.
> 
> Common to both the brown and blue plot is a fast in phase ~2 sec error
> which can be ignored.
> In the brown plot there's a ~24 sec error which I need to remove (the green
> difference plot more clearly shows this as it removes the faster ~2 sec
> error). 

The easy way would be to average it over 24 seconds.  This presumes that
the period of the unwanted signal remains close to 24 seconds.  This or any
other simple filter you adopt is going to introduce ~ 24 seconds delay in your
control loop.  Will that cause problems?

The unwanted oscillation doesn't appear to be actually sinusoidal, so parts
of it are going to get through your filter.  Maybe a simple low-pass Bessel
filter would be more effective.

Any way to measure or estimate the unwanted signal and subtract or cancel
it out?  Lyapunov observer?  Kalman filter?  Do you have a good model of the
internal system state?

> The dataset is in .csv format which I can post for analysis.

That would be interesting.

Regards,
Allen

reply via email to

[Prev in Thread] Current Thread [Next in Thread]