关键词 > ISVR6139

ACTIVE CONTROL OF SOUND AND VIBRATION COMPUTER LAB 1 – TONAL SISO ANC

发布时间:2024-05-23

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ACTIVE CONTROL OF SOUND AND VIBRATION

COMPUTER LAB 1 – TONAL SISO ANC

1. Introduction

This lab will cover a number of the key methods and concepts covered in the first three lectures. In particular, the lab will allow you to investigate the limitations and implementation of a single input single output (SISO) feedforward active noise control (ANC) system. To give a motivating example, the data provided corresponds to an ANC headphone implementation, which is shown diagrammatically in Figure 1. Although ANC headphones consist of multiple reference and error microphones and control loudspeakers, the two ears are generally treated independently as SISO control systems. Therefore, in the following, you will focus on studying the control system for a single ear; the complete ANC headphone system can be implemented by duplicating the SISO control system for the second ear cup.

Figure 1. ANC headphones

By the end of this lab you should have consolidated and applied your understanding of some of the concepts covered in the first two lectures. Specifically you should be able:

• Calculate a model of the plant response between control source and error microphone.

• Calculate the optimal control performance for a SISO tonal controller and demonstrate an understanding of the limitations on practical implementation.

You will find on the course blackboard site a number of data files and starter scripts that will help you complete this lab. A starter script has been provided for both Python and Matlab and you are welcome to use whichever language you prefer.

2. Plant Response Identification

The first step to designing and implementing many active control systems is to measure and char-acterise the plant response. This is the response between the control loudspeaker and the error microphone in an ANC system. You have been provided with the following files:

• Plant_Response

• Primary_Response

The plant response file contains the data associated with the variables identified in Table 1 and the primary response file contains the data associated with the variables identified in Table 2. The data in the Plant_Response file has been generated by driving the control loudspeaker with pink noise, u_ID, and measuring the resulting pressure at the error microphone, e_ID. The data in the Primary_Responsefile contains the signals measured at the reference and error microphones when the unwanted, primary source is being driven alone (i.e. without the control system turned on).

Table 1. Plant responses data file description

Variable                      Description

e_ID              Error signal measured during identification

u_ID             Control signal driving control loudspeaker during identification

Fs                  Sample Rate

Table 2. Primary Response data file description

Variable                    Description

d                      Disturbance signal, measured at error microphone, due to primary source

x                      Reference signal, measured at reference microphone, due to primary source

Fs                     Sample Rate

2.1. FRF Calculation. In this section, you are required to calculate a model of the plant response using the data contained in the file Plant_Response. This can be achieved in a number of ways in either Python or Matlab. The frequency response function of the plant response can be calculated using the frequency response estimator

            Sxy(f)

H(f) =             ,                    (1)

            Sxx(f)

where f is the frequency, Sxy is the cross power spectral density between in the input and output signals, and Sxx is the power spectral density of the input signal. In the case of the plant identification data, the input is the signal driving the loudspeaker, u_{ID}, and the output is the corresponding signal measured at the error microphone, e_ID.

To calculate the FRF of the plant response, G, according to equation 1 you can complete the following steps:

(1) Calculate the power spectral density of the input signal, u_ID

(2) Calculate the cross power spectral density between the input signal, u_ID, and the output signal, , e_ID.

(3) Divide the cross power spectral density by the power spectral density, frequency-by-frequency

You should then plot the magnitude and phase of the plant response, G(f), over frequency, being sure to label the axes appropriately. Note, you will need to calculate the cross and power spectral densities with a sufficient frequency resolution to observe the characteristics of the plant response accurately; try varying the frequency resolution and once you have decided on a suitable value, keep this frequency vector consistent through the following calculations.

Looking at your plant response plot, can you make any observations about its characteristics that you think might influence the controller in practice? For example, what do you think causes the low frequency roll-off in the magnitude response and how do you think that this might influence the practically achievable noise control?

2.2. Impulse Response Calculation. Having calculated the FRF of the plant response, you should then use the inverse Fourier transform Function in Python or Matlab to calculate the impulse re-sponse of this plant model filter. Plot the impulse response of this filter being sure to label the axes appropriately. Can you comment on the characteristics of this response – for example, is it causal?

Note, you should store this impulse response so that you can use it later. Carefully choose the length of the impulse response that you store so that you do not loose information, but you do not store unnecessary information, which will increase the computational demand in later calculations.

3. Optimal Frequency Domain Performance – Tonal Control

Having calculated the plant response, in the first instance, you will consider the optimal harmonic controller, which was covered in the ‘Single Channel Control Systems’ lecture.

In this case, we assume that the disturbance signal is tonal and that we have advance knowledge of the disturbance signal; this means that we have a perfect reference signal for the feedforward controller. The error signal at a single frequency can be written as

Ek = Dk + GkUk,                  (2)

where Ek is the complex error signal at frequency k, Dk is the complex disturbance signal at frequency k, Gk is the complex plant response at frequency k and Uk is the complex control signal at frequency k. To cancel the error signal we can set this equation equal to zero and solve for Uk to determine the required control signal as

               Dk

Uk = −            .        (3)

               Gk

In this section, you should calculate the optimum tonal control signal at each frequency in the range 0 – 10 kHz using equation 3. You have already calculated the plant response, Gk, at each frequency in the previous section, but you now need to calculate Dk. You can calculate Dk at each frequency by Fourier Transforming the given signal d, described in Table 2.

Once you have obtained Dk, you should then calculate the optimal harmonic control signal at each frequency according to equation 3 and then calculate the harmonic error signal at each frequency according to equation 2. To assess the level of control achieved, you can plot the signal at the error sensor before control, Dk, and after control, Ek, as a function of frequency on the same plot.

From this plot you should see that the controller achieves a huge amount of attenuation in the error signal at all frequencies. In fact, the level of attenuation is only limited by the precision of your computer. In practice, the performance of a harmonic controller will be limited by a number of factors. Can you explain what main factors would limit the performance of the controller in practice? You may want to consider what assumptions we have made in calculating the optimal control signal using equation 3.

4. Summary

This lab has allowed you to calculate the optimal tonal performance of the SISO feedforward controller that is covered in the first week’s lectures. Notably, you should now have consolidated your knowledge and be able to implement and discuss as appropriate:

(1) Plant identification

(2) Harmonic feedforward control

It should also be highlighted that although you have plotted the control in this lab over a broad frequency range, this assumes that the response at each frequency is due to a harmonic, tonal signal, which is predictable in nature. In practical noise control applications, it is more likely that there would be either (a) a small number of discrete harmonics to control or (b) that the noise would be stochastic and broadband in nature. This second situation is addressed in computer lab 2.

5. Further Reading

In addition to the lecture notes, Chapter 2 and 3 of Elliott, S.J., Signal processing for active control, Elsevier, 2000.