Active Flexible Noise Cancellation Steven C. Rogers1 Penn State â€“ Applied Research Laboratory, State College, PA 26554 The objective of a noise cancellation system is to remove or attenuate an undesired signal component from a given signal. Adaptive filtering is used in telecommunications for noise cancellation among other things. An FIR (numerator) filter is usually chosen as the adaptive filter structure due to its simplicity and overall stability. The coefficients of the FIR filter are modified according to a function of an error signal. This approach is well accepted in industry and has been in use for decades for echo cancellation in communication systems. The design of an active noise cancellation system is achieved based on the principles of feedback control. If an additional signal is available that has only the undesired signal components it is possible to use it to remove the undesired components from the given signal of interest. This process is active/adaptive noise control and uses feedback control principles. This process has been used for several decades in telecommunication systems in echo cancellation. A system for adaptive noise cancellation has two inputs, a noise-corrupted signal and an additional signal containing the offending noise, but without the signal of interest. Examples of the above signal include roll, pitch, or yaw channels in aerospace applications. The flexible disturbance signal may be generated by installing strain gage equivalents on areas of the aerospace structure where a structural mode is present, but without the roll, pitch, or yaw. The Adaptive Component is designed to minimize the output signal e[n]. In the process of this minimization any common components (flexible modes) are attenuated. If both signals contain a disturbance component, the effects of this component will be minimized in the input signal s[n]. Note that as long as the frequency content is present the amplitude and phase may be markedly different for attenuation to occur. The paper will present the general concept of Adaptive Noise Control and show an application with a flexible structure simulation. Different types of adaptive filters will be compared. The signal s[n] will be roll-pitch-yaw (feedback control) channels and the additional signal v0[n] will come from an array of strain gage equivalent sensors. Keywords: Adaptive Noise Control, ASE Filters

Nomenclature ANC e s Î˝1 y Î˝0 p 1

= = = = = = =

adaptive noise cancellation error signal of interest disturbance corrupted measurement signal adaptive filter output noise source signal (strain gage equivalent) roll rate

R&D engineer, Penn State - ARL, State College, PA, and AIAA Member. 1 American Institute of Aeronautics and Astronautics AIAA-2009-2068

q r d a b μ c

= = = = = = =

pitch rate yaw rate primary sensor signal filter coefficients of input filter coefficients of output adaptive gain for filter adaptive exogenous coefficients

T

I. Introduction

HE design of an active noise cancellation system is achieved based on the principles of feedback control as shown in figure 1. A system for adaptive noise cancellation has two inputs, a noise-corrupted signal and an additional signal containing the offending noise, but without the signal of interest. The figure below illustrates such a system. A signal is corrupted by noise v1[n] which originates from a noise source signal v0[n]. A system for adaptive noise cancellation has two inputs, a noise-corrupted signal and a noise source. Figure 2 illustrates such a system. Note that the adaptive FIR filter block may be replaced with any appropriate adaptive structure. A desired signal is corrupted by noise v1[n] which originates from a noise source signal v 0[n]. Keep in mind that the noise signal corrupting s[n] is different from the reference noise signal due to environmental effects. Another example is the dual acoustic sensor approach to measurement of a leak. The acoustic sensors are directional, so theoretically, only one will pick up the leak signal. But, both will pick up ambient background noise. The background noise will be picked up differently by each acoustic sensor; consequently, the background noise can’t be simply subtracted out. The adaptive filter will then be used to estimate the signal v1[n]. The weights of the filter are adjusted in the Adaptive Figure 1. Typical Noise Cancellation System. Component according to an error term or function of an error. The error term of this system is given by 1-3:

e[ n] = s[ n ] + v1 [ n] − y[ n ]

(1)

The error e[n] approaches the signal s[n] as the filter output adapts to the noise component of the input v 1[n]. Generally speaking there are two types of active noise cancellation (ANC). The first is interpreted as adaptive noise canceling or adaptive system identification. The second is to use feedback control, which can be realized as an adaptive prediction scheme. The basic concept of adaptive noise cancellation, as shown in Figure 3 and Figure 4, is to process the signals from two sensors and consequently reduce the common noise frequency components. Figures 3 and 4 show an application more relevant to the aerospace industry. The frequency components not in common remain largely untouched. The signal e[n] in Figure 3 becomes the signal used by the measurement system. Care must be Figure 2. Typical Noise Cancellation System. taken in the location and selection of the additional sensor(s) that produces the signal v0[n]. 2 American Institute of Aeronautics and Astronautics AIAA-2009-2068

It should be noted that the concept of Figure 4 has not been tested according to the authorâ€™s knowledge. It is presented as a proposed method of interest, because if it is useful there is no need for strain gage equivalent measurement systems. This is the second type of ANC and is based on feedback control or system identification principles. The desired pqr commands are produced when the pilot moves the stick. This motion is passed through transfer functions to generate the desired pqr commands. The pqr measurements also have most of the frequency content of the desired pqr commands; however, they are corrupted with additional frequency content associated with the flexible structure. The adaptive component performs a function analogous to system identification. It will adapt to minimize the signal e[n] by removing the flexible structure frequency modes so that the signal y[n] approaches pqr desired. Hence, y[n] becomes the Figure 3. Flexible Disturbance Cancellation System. smoothed desired signal output as the adaptive component forces it to converge to the desired pqr commands. In many aerospace systems the weight budget dictates lighter and lighter structures which produce flexible systems. Long slender elements generate low frequency modes and low damping. If the first frequency vibration mode is low enough it can interfere with the control loops. Low damping exacerbates the condition and prolongs the vibration. Adaptive noise canceling relies on the use of noise canceling by subtracting noise from a received signal as shown in Figures 3 and 4, an operation controlled in an adaptive manner for the purpose of improved signal-to-noise ratio. Ordinarily, it is inadvisable to subtract noise from a received signal, because such an operation could produce disastrous results by causing an increase in the average power of the output noise. Figure 4. Flexible Disturbance Cancellation System using Pilot Stick However, when proper provisions are made, and filtering and subtraction are controlled by an adaptive process, it is possible to achieve a superior system performance compared to direct filtering of the received signal. The primary sensor receives an information-bearing signal s(n) corrupted by additive noise v (n), as shown in Figure 3. 0

d [ n] = s[n] + v1[n]

(2)

The signal s(n) and the noise v1(n) are uncorrelated with each other; that is,

E [ s[ n]v1[ n âˆ’ k ]] = 0 for all k

(3)

where s(n) and v1(n) are assumed to be real valued. The reference sensor receives a noise v (n) that is uncorrelated with the signal s(n), but correlated with the noise v1(n) in the primary sensor output in an unknown way; that is, 0

E [ s[n]v0 [ n âˆ’ k ]] = 0 for all k 3 American Institute of Aeronautics and Astronautics AIAA-2009-2068

(4)

and

E [ v0 [n]v1[n − k ]] = ρ(k ) for all k

(5)

where, as before, the signals are real valued, and p(k) is an unknown cross-correlation for lag k. The reference signal v (n) is processed by an adaptive filter to produce the output signal 1

M −1

ˆ k (n)v1 ( n − k ) y[n] = ∑w

(6)

k =0

where wk(n) is the adjustable (real) tap weights of the adaptive filter. The filter output y(n) is subtracted from the primary signal d(n), serving as the “desired” response for the adaptive filter. The error signal is defined by

e[ n] = d [n] − y[ n]

(7)

Thus, substituting Equation (2) into Equation (7), we get

e[n] = s[ n] + v1[n] − y[ n]

(8)

The error signal is, in turn, used to adjust the tap weights of the adaptive filter, and the control loop around the operations of filtering and subtraction is thereby closed. The error signal e(n) constitutes the overall system output. From Equation (8), we see that the noise component in the system output is v1(n) – y(n). Now the adaptive filter attempts to minimize the mean-square value (i.e., average power) of the error signal e(n). The information-bearing signal s(n) is essentially unchanged by the adaptive noise canceller as long as it is uncorrelated with the noisebearing signal. That is, minimizing the mean-square value of the error signal e(n) is equivalent to minimizing the mean-square value of the output noise v1(n) – y(n). With the signal s(n) remaining essentially unaffected by the adaptive filter (see Eq. (3)), it follows that the minimization of the mean-square value of the error signal is indeed the same as the maximization of the output signal-to-noise ratio of the system. The signal-processing operation described herein has two limiting cases that are noteworthy: 1. The adaptive filtering operation is perfect in the sense that

y[ n] = v1[ n]

(9)

In this case, the system output is noise free, and the noise cancellation is perfect. Correspondingly, the output signal-to-noise ratio is infinitely large. 2. The reference signal v1(n) is completely uncorrelated with both the signal and noise components of the primary signal d(n); that is, for all k

E[v1[ n]s[ n] = 0

(10)

In this case, the adaptive filter “switches itself off,” resulting in a zero value for the output y(n). Hence, the adaptive noise canceller has no effect on the primary signal d(n), and the output signal-to-noise ratio remains unaltered. The effective use of adaptive noise canceling therefore requires that we place the reference sensor in the noise field of the primary sensor with two specific objectives in mind. First, the information-bearing signal component of the primary sensor output is undetectable in the reference sensor output. Second, the reference sensor output is highly correlated with the noise component of the primary sensor output. Moreover, the adaptation of the adjustable filter coefficients must be near optimum.

4 American Institute of Aeronautics and Astronautics AIAA-2009-2068

FIR filters have the advantage of being easily stabilized, however, they require more lags and can only approximate system poles. The FIR adaptive filter matlab function code is in the Appendix where cmode = 0. ‘cmode’ is an index to indicate the type of adaptive filter to be analyzed.

II. IIR Filter for Noise Cancellation The previous section contained a development of an FIR filter for the adaptive component of Figure 3. This section will show the development of an IIR filter 2 as an alternative for an adaptive component. The structure of a direct-form IIR filter is shown in Figure 5. The advantages of an IIR adaptive filter over an adaptive FIR filter may be summarized as below: 1. The poles of the IIR filter achieve the same performance characteristics as the FIR filter with a significantly lower order. This is due to the feedback, which generates an infinite impulse response (IIR) with only a finite number of coefficients. Hence, IIR filters with the same characteristics require less computation per sample than FIR filters. 2. IIR filters with sufficient order can exactly match poles as well as zeros of physical systems, whereas FIR filters can give only rough approximations to poles. Therefore, IIR filters can further minimize the mean-square error of the adaptive filter. Thus, reduction in the residual error performance can result. Although computational savings is a benefit, it becomes less of an issue with the advancement of computational power. Therefore, the main benefit may be residual error performance. These advantages come at Figure 5. Structure of an Adaptive IIR Filter. some costs and the disadvantages of adaptive IIR filters may be summarized as: 1. IIR filters are not unconditionally stable because of the possibility that some poles of the filter may move outside of the unit circle during the adaptive processing, which will cause instability. Consequently, commercial systems usually monitor stability at each iteration, which increases computational demands. 2. Adaptation may converge to a local minimum because the performance surface E[e2[n]] of adaptive IIR filters is generally nonquadratic and may be multimodal. 3. Adaptive IIR algorithms generally have a slow relative convergence in order to more easily maintain stability compared to adaptive FIR systems. A. Basic Adaptive IIR Filter The above issues make adaptive IIR filters Figure 6. Structure of an IIR Filter. difficult to apply in most cases. A typical adaptive IIR structure is given in Figure 6. The residual error is

e[ n] = d [n] − y[ n]

(11) 5 American Institute of Aeronautics and Astronautics AIAA-2009-2068

The output signal of the IIR filter y[n] is computed as

y[ n] = a T [ n]v0 [ n] + bT [ n] y[ n −1]

(12)

where a[n] is the weight vector of A(z) at time n defined as

a[ n] ≡ [ a0 [ n] a L −1[n]]

T

(13)

The weight vector of B(z) at time n is likewise defined as

b[n] ≡ [ b1[n] bM [n]]

T

(14)

The states of the filter transfer function is

y[n −1] ≡ [ y[n −1] y[n − M ]]

T

(15)

which is the output signal delayed by one sample and where M is the number of state lags. The input to the filter transfer function is

v0 [n] = [ v0 [n − 1] v0 [ n − L]]

T

(16)

where L is the number of input lags. If we define a new overall weight vector as

a[ n] w[ n] ≡ b[n]

(17)

v [ n] u[ n] ≡ 0 y[ n − 1]

(18)

y[ n] = wT [ n]u[ n]

(19)

And a generalized reference vector

We can simplify Eq. (10) to

The objective of the adaptive system is to determine an optimum set of coefficients a[n] and b[n] to minimize a performance criterion that is based on the error signal e[n]. Many algorithms may be used to find the optimal set of coefficients. As with the adaptive FIR filter, the steepest-descent algorithm can be used to search the performance region. A typical update equation for the adaptive vector w[n] is

w[ n +1] = w[ n] + µ{u[ n]e[ n]}

(20)

Eq. (20) may be partitioned into two vector equations for adaptive filters A(z) and B(z) as

a[n +1] = a[n] + µ{v0 [n]e[n]}

b[n +1] = b[n] + µ{ y[n −1]e[n]} The algorithm is given in matlab code in the appendix where cmode = 2. 6 American Institute of Aeronautics and Astronautics AIAA-2009-2068

(21)

B. IIR Filter with Adaptive Numerator In the Case of Partially Known Frequency Modes In the case where the principal disturbance frequency or frequency of interest is known this information may be incorporated into the filter structure. Some of the structures may be simple enough to predict a narrow range for the disturbance frequency. The end result is the ability to reduce the size of the adaptive filter when additional knowledge is available. Figure 6 is modified as shown in Figure 7 to illustrate the impact of additional knowledge. Many flexible structures may be approximated as a simple transfer function derived from test data. In general, we would only know the frequency of the flexible structure and not the damping coefficient or the amplitude of an equivalent transfer function. A transfer function Sx(z) may be composed of a known frequency plus an estimated amplitude and damping coefficient. The impulse response of Sx(z) may be multiplied by B(z), which is the adaptive filter denominator. Placing Sx(z) in the denominator allows it to cancel the effects of the flexible structure. In practice the impulse response of Sx(z) is multiplied by the gains of the denominator B(z). The remainder of the adaptive filter will then attenuate the remnants of the flexible disturbances not cancelled by Sx(z). Eq. (12) now becomes

y[n] = a T [ n]v0 [ n] + {b[n] * Sx[n]} y[n −1] T

(22)

The ‘*’ symbol represents element-by-element multiplication. The other equations are analogous 2,3. Eq. (21) becomes

a[n +1] = a[ n] + µ{v0 [ n]e[ n]}

b[ n +1] = b[ n] + µ{ y[n −1] * Sx[n] e[n]}

(23)

Two cases are used and are shown in the appendix where cmode is 5 and 6. The case of cmode = 6 occurs when only the numerator is adapted. Hence, it is in essence an FIR filter with a fixed denominator. The case where cmode = 5 is given by Eq. (23). C. Differencing Filters Differencing filters are those with exogenous inputs or ARMAX (auto regression moving average exogenous) models. A typical ARMAX model is shown as y[ n ] = a

T

[ n ]v 0 [ n ] + b

T

e [ n ] = v 0 [ n ] − v 0 [ n − 1]

[ n ] y [ n − 1] + c

T

[ n ] e [ n − 1]

(24)

The terms are as shown in Figure 6. The differencing approach shown above is called input differencing within an IIR filter or ARMAX. Matlab code for a case of an adaptive Figure 7. Structure of an Adaptive IIR Filter with additional FIR filter with input differencing is shown in knowledge. the Appendix with cmode = 1. Matlab code for input differencing within an IIR filter is shown in the Appendix with cmode = 3. Matlab code for output differencing within an adaptive IIR filter is shown in the Appendix with cmode = 4. Eq. (24) for output differencing becomes

y[n] = a T [ n]v0 [ n] + bT [ n] y[ n −1] + c T [n]e [ n −1] e [ n] = y[n] − y[ n −1] The parameter update equations may be generated by adding to Eq. (21)

7 American Institute of Aeronautics and Astronautics AIAA-2009-2068

(25)

Satellite Rigid Body Dynamics

a[n +1] = a[ n] + µ{v0 [ n]e[n]}

Circular orbit with 0 degrees inclination at

b[n +1] = b[ n] + µ{ y[ n −1]e[n]} c[ n +1] = c[n] + µ{e [ n]e[n]} e[ n] = d [n] − y[ n]

V

ecef

X

Fb 1

[3x1]

3

F

xyz

(N)

ECEF Quaternion

NED2B angles

3

3

Enviroment

(26)

ecef

(m)

µ lh

latlongalt1

3

(m/s)

1 Fb1

φ θ ψ (rad ) DCM DCM

3

km

m

xecef

4 {14} mu,l

3

q_ecef 2b

3 3

1 body state

4

Determine ECEF 2B

3

[3x3]

DCM

[3x3] [3x3]

be

q

4 qeci2b

Direction Cosine Matrix to Quaternions

ef

V (m/s)

4 qecef 2b 4

NED2B

3

[3x3] bi

vecef

3

3 3

3

km

m

3

be

DCM

Fixed Mass

1500 kilometers

3

3

b

The vector ‘c’ is of arbitrary but appropriate length. The exogenous inputs tend to incorporate a velocity vector into the filter so that it becomes slightly more responsive to transients and improves tracking.

2 Mb 1

3

M

3

xyz

ω rel (rad /s)

(N-m)

ω (rad /s) d ω/dt 2

A b (m /s )

3 3

-1

3

3

3 pqrTruth

Gain 3 3

6DoF ECEF (Quaternion )

Copyright 2006 -2007 The MathWorks , Inc .

III. Simulation

FlexDist

3

3

In3 StrainGage 3

3

2 StrainGage

SolarArray

The simulation is based on a generic satellite model given in the simulink aerospace blockset Figure 8. Simulink Satellite Rigid Body Dynamics with demo. The satellite travels in a circular orbit with Flexible Solar Array. 0 degrees inclination at 1500 Flight Software kilometers. The satellite rigid body dynamics modeled as a two-body six-degrees-offreedom system. This model takes into account the effects from the earth's oblateness (bulging at the equator due to spinning) and a 1984 World Geodetic System (WGS84) gravity model. The satellite simulink block is shown in Figure 8. The flexible solar array is modeled in the block at the bottom of the overall block. The demo model of the Figure 9. Flight Software Simulink Model. flight software is shown in Figure 9. The Navigation block manages the course of the satellite with respect to three translational degrees-offreedom (DOF). Because the design task includes only the attitude control design, the navigation system in this model is Attitude Control simplified. The Attitude Control block manages the desired orientation of the satellite with respect to three rotational degrees-offreedom (DOF). Attitude is important for making sure that Figure 10. Attitude Control System Simulink Model. the satellite antenna and instruments will be able to function correctly by pointing at the desired location. Figure 10 shows the Attitude Control System and how the adaptive noise control system integrates into it. The adaptive noise control system is designated ANC toward the bottom center of Figure 10. 4

q_ECI2Body FlexSatellite _ACS

<qecef 2b>

asbsatellite _Navigation Position _ECEF

3

4 {14}

<xecef >

4 [nav _mode ]

pointing command

3

SG

4 {14}

1

Rate Transition

ANCout

pqrTruth

atterr

3

6

3 {3}

2 ANCout

Attitude Control

3

3

propulsion command

[nav _mode ]

sensor outputs

StrainGage

3

4

pqrTruth

sensor failure

torque cmd

pointing mode

3

3

Velocity _ECEF

<vecef >

atterr

pointing command

4

3

torque_cmds

nav mode

9 {11}

9 {11}

1 fs output

9 {11}

From 2

Navigation

nav_mode

[nav_mode ]

asbsatellite _FailureDetection

Signal Conversion

nav _mode

From

sensor failure

sensor outputs

4 {4}

torque commands

actuator failure

actuator failure

Failure Detection

Copy

2

nav_mode

nav mode

[nav _mode ]

Copyright 2006 -2007 The MathWorks , Inc .

Goto

Rate Transition 1

4

1 q_ECI2Body

u

[1x 4]

T

q

Inv (q)

4

4

|u|

Abs

3

q*r

4

4

atterr_s mooth

q

Quaternion Inverse

2 pointing command

nav_m ode

3 pointing mode

Math Function

r

4

[R ,R ,R ] 3

q

1

2

3

Quaternions to Rotation Angles

3

3

Sum of Elements

0)

PD

3

zero cmd

3

4 StrainGage

SG

3

5 pqrTruth

3

Roll

3

Pitch

3 {3}

1 atterr

Yaw

Copy

3

3

0

NoOp

alterrr smoothing

3

3

PD Controller

(0

3

Rate Transition 1

3

Selector

Rotation Order: ZYX

Quaternion Multiplication

4

3

atterr

signals

pqr

pqrTruth yerr

3 6

ANC

8 American Institute of Aeronautics and Astronautics AIAA-2009-2068

3 ANCout

3

Rate Transition 2

2 torque cmd

Figure 11.

Flexible dynamic model

Large flexible appendages common to satellites include parabolic antennae, large synthetic-aperture Figure 12. Active Noise Control System radar, and solar arrays built from light materials in order to reduce their weight. Spacecraft structures are now becoming extremely complicated because of these appendages, which also induce structural oscillation under the excitation of external torques and forces. Also, we must consider vibrations due to the liquid contained in fuel tanks. The vibration dynamics emanating from flexible appendages and liquid sloshing may interfere strongly with the attitude control dynamics. In this paper only the flexible solar array is modeled, which is constructed as an additive set of transfer functions 5 as shown in Figure 11. The development of the model is based on the Lagrange equations and one-mass modeling5. The model is composed of the rigid satellite body with two symmetrical solar arrays, each modeled by a single mass. As shown in Figure 11, the input to the linear transfer functions is the three channel torque vector and the output is the flexible position contribution from the solar array. The output angles are added to the rigid body Euler angles. The double integrator symbolically represents the rigid body system. The active noise cancellation system is added in the Attitude Control System following the generation of the rollpitch-yaw errors and before the PD controller. A manual switch permits the performance evaluation of the active noise cancellation system. The active noise cancellation system is diagrammed in Figure 12. It is integrated into the attitude control system as shown in Figure 10. The strain gage equivalent signals are designated as ‘SG’ and the angular rate signals are ‘pqr’. The strain gage equivalent signals are the same output as the output of Figure 12, which is also added to the Euler signals as shown in Figure 8. As shown in Figure 12 there are three channels for active noise control corresponding to roll, pitch, and yaw. They are called roll_AF_iir, pitch_AF_iir, and yaw_AF_iir. These blocks are simulink blocks which call matlab functions to calculate the adaptive noise filter outputs and are given in the inputs. Each of the channels uses the identical function for adaptive noise cancellation. The normalize gain also is important to ensure the amplitude of the noise signals are easily ‘perceived’, and thus quickly used for attenuation by the adaptive filters. The gain is also large since the amplitude of the strain gage equivalents is small in magnitude compared to the pqr measurements. The mass properties and flexible model parameters used in the satellite model shown in Figures 8 and 11 are given at the end of the Appendix. They are generally based on an example outlined in Reference 5. There were seven different adaptive filter structures described above used in this study and the matlab code for each is shown in the Appendix. They are given as follows: Cmode = 0 FIR Cmode = 1 FIR Cmode = 2 IIR Cmode = 3 IIR Cmode = 4 IIR Cmode = 5 IIR Cmode = 6 FIR

filter filter with differencing filter filter with input differencing filter with output differencing with partially known flexible model and input differencing filter with partially known flexible model

IV. Results The seven different strategies as explained above were tested on the above satellite model. The plots are shown 9 American Institute of Aeronautics and Astronautics AIAA-2009-2068

below. An 8000 second trajectory was simulated for each of the seven strategies, which is approximately one orbit around the earth. Two metrics were used for comparison: 1) Error between the â€˜truthâ€™ Euler angles and the filtered output and 2) fuel consumption in N-m.

10 American Institute of Aeronautics and Astronautics AIAA-2009-2068

11 American Institute of Aeronautics and Astronautics AIAA-2009-2068

FIR filter with partially known structure total error = 129.8659 rad, total fuel = 2138.7937 N-m

FIR filter with differencing ANCinput turned off total total fuel = 2338.6822 N-m totalerror error==133.1507 133.3808rad, rad, total fuel = 4963.3052 N-m 0.05 0.05 roll(rad) (rad) roll

roll (rad)

0.05 0 -0.05 1000

2000

3000

4000

5000

6000

7000

8000

0.05

pitch(rad) (rad) pitch

pitch (rad)

0

0 -0.05 1000

2000

3000

4000

5000

6000

7000

8000 yaw (rad) yaw (rad)

0

yaw (rad)

0.05 0 -0.05 0

1000

2000

3000

4000 5000 time in sec

6000

7000

00 -0.05 -0.05 00

1000 1000

2000 2000

3000 3000

4000 4000

5000 5000 6000 6000 7000 7000 8000 8000

1000 1000

2000 2000

3000 3000

4000 4000

5000 6000 7000 8000 5000 6000 7000 8000

1000 1000

2000 2000

3000 4000 5000 6000 7000 8000 sec 3000time in 4000 5000 6000 7000 8000 time in sec

0.05 0.05 0 0 -0.05 -0.05 0 0 0.05 0.05 0 0 -0.05 -0.050

8000

0

Figure 14. Active Noise Cancellation Figure 13. 19. Active ActiveNoise Noise Cancellation Cancellation System Figure 20.FIR Active Noise Using an filter with Input Cancellation Differencing Using an FIR filter with Partially Known Model turned off IIR filter total error = 117.2477 rad, total fuel = 1354.2438 N-m

IIR filter with input differencing total error = 115.3687 rad, total fuel = 1064.3117 N-m 0.05 roll (rad)

roll (rad)

0.05 0 -0.05 1000

2000

3000

4000

5000

6000

7000

0.05 0 -0.05 0

1000

2000

3000

4000

5000

6000

7000

0

1000

2000

3000

4000

5000

6000

7000

8000

0

1000

2000

3000

4000

5000

6000

7000

8000

0

1000

2000

3000

4000 5000 time in sec

6000

7000

8000

0.05 0 -0.05

8000 0.05 yaw (rad)

0.05 yaw (rad)

0 -0.05

8000

pitch (rad)

pitch (rad)

0

0 -0.05 0

1000

2000

Figure 15. Active Using an IIR filter

3000

4000 5000 time in sec

Noise

6000

7000

Cancellation

0 -0.05

8000

System Figure 16. Active Noise Cancellation Using an IIR filter with Input Differencing

IIR filter with output differencing total error = 115.3687 rad, total fuel = 1064.3117 N-m roll (rad)

roll (rad)

0.05

0 -0.05 0

1000

2000

3000

4000

5000

6000

7000

0.05 0 -0.05 0

1000

2000

3000

4000

5000

6000

7000

0 -0.05

8000

pitch (rad)

pitch (rad)

System

IIR with partially known model and differencing total error = 114.7706 rad, total fuel = 1090.5862 N-m

0.05

0

1000

2000

3000

4000

5000

6000

7000

8000

0

1000

2000

3000

4000

5000

6000

7000

8000

0

1000

2000

3000

4000 5000 time in sec

6000

7000

8000

0.05 0 -0.05

8000 0.05 yaw (rad)

0.05 yaw (rad)

System System

0 -0.05 0

1000

2000

3000

4000 5000 time in sec

6000

7000

8000

0 -0.05

Figure 17. Active Noise Cancellation System Figure 18. Active Noise Cancellation System Using an IIR filter with Output Differencing Using an IIR filter with Partially Known Model and Input Differencing 12 American Institute of Aeronautics and Astronautics AIAA-2009-2068

Before you can upload your manuscript, you will need to select a copyright statement to appear on your paper. The results show dramatic improvement regarding fuel consumption. The error and fuel metrics were calculated by summing the absolute value of the measurements at each time step. These metrics are shown in the table below along with filter descriptions. The data was generated from an 8000 second trajectory, which is approximately one orbit. Active Noise Cancellation Type

lags

Turned off FIR filter FIR filter with Input Differencing IIR filter IIR filter with Input Differencing IIR filter with Output Differencing IIR filter with Partially Known Model and Input Differencing FIR filter with Partially Known Model

Euler error (rad)

970-num 815-num, 120-exog 210-num, 120-den 155-num, 38-den, 40exog 155-num, 38-den, 40exog 155-num, 80-den, 80exog 1230-num, 500-den

133 120 133 117 115

Fuel consumption (N-m) 4963 1531 2339 1354 1064

115

1064

115

1091

130

2139

The lag descriptions are as follows: ‘num’ is numerator, ‘den’ is denominator, and ‘exog’ is the exogenous input. Note that the FIR filter with the denominator (the last in the table) has the partially known information in the denominator. The fuel consumption metric improves by twice for any of the ANC strategies selected. Generally, the IIR filters tend to perform better than the FIR ones for both Euler performance and fuel consumption. The partially known model case only marginally improves performance, but not significantly.

V. Conclusion Active noise cancellation system principles were discussed in the context of structural disturbances as an integral component. Such an adaptive noise cancellation (ANC) system may be applied to remove structural disturbances in aerospace systems. The concept was demonstrated using a simulink model of a generic satellite. An ANC was embedded in all three roll-pitch-yaw channels of the satellite autopilot. Seven adaptive filter approaches were developed and simulated. Comparisons with and without the ANC in the control loop were shown. In all seven cases significant performance improvement was apparent. Future proposed activities include additional aerospace model applications, addressing the stability issues for IIR filters, additional linear adaptive filter structures, neural network structures, testing on more realistic maneuvers (sensor calibration, orbital transitions, and transitioning to different sensors), and model reference ANC approaches.

Appendix Matlab code for the various adaptive filters used in the paper is shown below along with typical parameter values. % AF_iir.m function yout = AF_iir_roll(u); % global mu mu1 mu2 n n1 n2 Sx cmode no_op x = u(1); r = u(2); t = u(3); cmode = u(4); if isnan(r);r = 0;end persistent X if cmode == 0 % FIR filter if no_op == 1 mu = 0.002; 13 American Institute of Aeronautics and Astronautics AIAA-2009-2068

n = 970; end if isempty(X)||t == 0 X.x = x*ones(1,n); X.a = ones(1,n)/n/2; end y = X.x*X.a'; err = r - y; X.a = X.a + mu*X.x*err; X.x = [x,X.x(1:end-1)]; end if cmode == 6 % FIR filter with partially known structure load Sx6 if no_op == 1 mu = 0.001; n = 1230;n1 = 500; end if isempty(X)||t == 0 X.x = x*ones(1,n); X.a = ones(1,n)/n/2; X.y = x*ones(1,n1); end y = X.x*X.a' + X.y*Sx; err = r - y; X.a = X.a + mu*X.x*err; X.x = [x,X.x(1:end-1)]; X.y = [y,X.y(1:end-1)]; end if cmode == 1 % FIR filter with input differencing if no_op == 1 mu = 0.001;mu1 = 0.001; n = 815;n1 = 120; end if isempty(X)||t == 0 X.x = x*ones(1,n); X.a = ones(1,n)/n/2; X.e = 0*ones(1,n1); X.b = ones(1,n1)/n1/3; end y = X.x*X.a'; err = r - y; X.a = X.a + mu*X.x*err; X.b = X.b + mu1*X.e*err; X.x = [x,X.x(1:end-1)]; X.e = [x-X.x(1),X.e(1:end-1)]; end if cmode == 2 % IIR filter if no_op == 1 n = 210;n1 = 120; mu = 0.002;mu1 = 0.001; end if isempty(X)||t == 0 X.x = x*ones(1,n); X.y = x*ones(1,n1); X.a = ones(1,n)/n/3; X.b = ones(1,n1)/n1/3; end 14 American Institute of Aeronautics and Astronautics AIAA-2009-2068

y = err X.a X.b X.x X.y

X.x*X.a' + X.y*X.b'; = r - y; = X.a + mu*X.x*err; = X.b + mu1*X.y*err; = [x,X.x(1:end-1)]; = [y,X.y(1:end-1)];

end if cmode == 3 % IIR filter with input differencing if no_op == 1 n = 155;n1 = 38;n2 = 40; mu = 0.005;mu1 = 0.004;mu2 = 0.002; end if isempty(X)||t == 0 X.x = x*ones(1,n); X.y = x*ones(1,n1); X.e = 0*ones(1,n2); X.a = ones(1,n)/n/3; X.b = ones(1,n1)/n1/3; X.c = ones(1,n2)/n2/3; end y = X.x*X.a' + X.y*X.b' + X.e*X.c'; err = r - y; X.a = X.a + mu*X.x*err; X.b = X.b + mu1*X.y*err; X.c = X.c + mu2*X.e*err; X.x = [x,X.x(1:end-1)]; X.y = [y,X.y(1:end-1)]; X.e = [x-X.x(1),X.e(1:end-1)]; end if cmode == 4 % IIR filter with output differencing if no_op == 1 n = 155;n1 = 38;n2 = 40; mu = 0.005;mu1 = 0.004;mu2 = 0.002; end if isempty(X)||t == 0 X.x = x*ones(1,n); X.y = x*ones(1,n1); X.e = 0*ones(1,n2); X.a = ones(1,n)/n/3; X.b = ones(1,n1)/n1/3; X.c = ones(1,n2)/n2/3; end y = X.x*X.a' + X.y*X.b' + X.e*X.c'; err = r - y; X.a = X.a + mu*X.x*err; X.b = X.b + mu1*X.y*err; X.c = X.c + mu2*X.e*err; X.x = [x,X.x(1:end-1)]; X.y = [y,X.y(1:end-1)]; X.e = [y-X.y(1),X.e(1:end-1)]; end if cmode == 5 % IIR with partially known model and differencing load Sx5 if no_op == 1 n = 155;n1 = 80;n2 = 80; mu = 0.005;mu1 = 0.004;mu2 = 0.002; end 15 American Institute of Aeronautics and Astronautics AIAA-2009-2068

if isempty(X)||t == 0 X.x = x*ones(1,n); X.y = x*ones(1,n1); X.e = 0*ones(1,n2); X.a = ones(1,n)/n/3; X.b = ones(1,n1)/n1/3; X.c = ones(1,n2)/n2/3; end temp = X.b.*Sx'; y = X.x*X.a' + X.y*temp' + X.e*X.c'; err = r - y; X.a = X.a + mu*X.x*err; X.b = X.b + mu1*X.y.*Sx'*err; X.c = X.c + mu2*X.e*err; X.x = [x,X.x(1:end-1)]; X.y = [y,X.y(1:end-1)]; X.e = [x-X.x(1),X.e(1:end-1)];

end yout = err;

% Satellite Inertia SC_Inertia = [100 0 0; 0 200 0; 0 0 100]; % kilogram.meters^2 Jp = [1 1 0.3]*40; % solar array kilogram.meters^2 Jo = [SC_Inertia(1,1),SC_Inertia(2,2),SC_Inertia(3,3)]; zs = 0.0003; % solar array damping sigs = 0.87; % solar array frequency 1st mode References 1

Stergiopoulos, S. (ed.), Advanced Signal Processing Handbook, CRC Press LLC, Danvers, MA, 2000, Chap. 2. Kuo, S. M., and Morgan, D. R., Active noise Control Systems, Wiley Interscience, New York, 1996. 3 Tokhi, M. O., and Leitch, R. R., Active noise Control, Oxford Science Publications, Oxford, 1992. 4 Zhu, Y.(ed.), Multivariable System Identification for Process Control, Oxford Science Publications, Oxford, 1992. 5 Sidi, M. J., Spacecraft Dynamics and Control, Cambridge University Press, Cambridge, 1997. 2

16 American Institute of Aeronautics and Astronautics AIAA-2009-2068

Active Flexible Noise Cancellation Infotech2009

Published on Jan 18, 2011

Nomenclature The paper will present the general concept of Adaptive Noise Control and show an application with a flexible structure simulati...

Advertisement