Как выбрать гостиницу для кошек
14 декабря, 2021
Frequency response tests that use periodic test signals typically involve the use of multiple cycles to achieve adequate accuracy. In principle, the Fourier analysis methods described earlier in this chapter could be used to analyze the whole data record from start to finish. That is,
F(jwk) = WnT) Г x(t)exp(-jwkt)dt (4.7.1)
Vo
where n is the number of cycles in the data record.
Three factors require that this procedure be modified. These are:
1. Some analysis methods cannot handle an unlimited number of data points because of computer memory requirements. The FFT has this feature. The analysis must be broken into blocks, each with a record portion containing a number of samples equal to some integer power of two. The results from each block would then be used to construct the frequency response results.
2. Some analysis methods experience numerical problems when the number of points in a record becomes large. For example, the algorithm of Section 4.4 has been found to have difficulty for records with more than about five thousand samples. A way to overcome this problem is to break the record into blocks and reinitialize the analysis at the start of each block. As above, the results from the block analyses are used to construct the frequency response results.
3. Fourier analysis becomes more sensitive to timing and periodicity errors as the length of the data record increases. Timing errors include imperfect specification of analysis frequencies and slight differences in the duration of a period from one cycle to another. Periodicity errors are due to differences in the wave form from one period to another that are usually encountered in test situations. One way to view the cause for these problems is by considering the effect of the length of the data record on the effective filtering in Fourier analysis (see Section 2.11). As the record length increases the filtering becomes sharper, and slight errors in placing the peak of the filter on the correct signal frequency can result in large errors.
Because of these problems, block averaging methods are generally used in data analysis. These will be described below along with a discussion of their ability to discriminate against background noise. The Fourier estimate for block і is
(A; + eii) + j(Bki + є2і) (4.7.2)
where Akj is the real part of the Fourier coefficient for block i, Bki the
imaginary part of the Fourier coefficient for block i, eu the error in Aki, and £2l the error in Bki. The three types of average used most often are:
1. Average the real and imaginary parts for the Fourier coefficients calculated for each block for each signal:
M
Ak = (1 /М) £ (Aki + eu)
i = 1 M
Bk = (1 /М) £ (Bki + e2i)
i = 1
The final frequency response is obtained by complex division of the average for the output signal by the average for the input signal. The errors due to background noise will be reduced in this averaging method because the noise will generally have random phase shifts, thereby giving cancellations that reduce the error contribution. For this method, the error asymptotically approaches zero as the number of blocks in the average approaches infinity.
However, it may be impossible to exploit this asymptotic approach to the correct result because this method is equivalent to Fourier analysis of the whole data record and the problems described above that occur because the effective filtering is too sharp may occur. As a consequence, this averaging method can be used to advantage only in tests where the timing and periodicity are precisely controlled. In many practical situations, this cannot be done and the averaging methods described below must be used even though we will find that they do not converge to the true result as the length of the data record increases.
2. Compute an estimate of the frequency response for each block:
Gki = DJCki (4.7.5)
where Gki is the frequency response estimate, D the Fourier transform of the output, C the Fourier transform of the input, к the harmonic number, and і the block number. The final estimate of the frequency response is obtained by
и
Gk = (1/M) X Gki
Each estimate of Dki and Cki will have errors due to noise
The complex division gives
DkiCti + Єі. Є2. + £1 A* + Dki£ 2i
Скіпкі + Є2 iC*i + Є*іАі + Є2іЄ2і
We observe that the third and fourth terms in the numerator and the second and third terms in the denominator are uncorrelated and decrease as the number of blocks increases. However, the last term in the denominator is a positive real number and cannot be reduced by averaging. Also, if the error in the input is correlated with the error in the output, then the second term in the numerator does not have an average of zero.
The conclusion here is that this type of averaging does not provide some of the error cancellation obtained in the first averaging procedure, and the result does not converge to the correct value as the number of blocks approaches infinity. However, this method is suitable for test situations with imperfect timing and periodicity. Since this is usually encountered, this method will often be preferred over the first method.
3. The frequency repsonse in a third averaging procedure is obtained by
_ (l/MlXfl, DklC*
If the estimates contain errors, then
(1/M)E"=, №ki + еи)(СЪ + S*2i) k (УМ)^=1(Скі + s2i)(C*ki + s*2i)
or
r (l/M)Xf=1 DkiC*ki + ЄіА*. + + ЧҐ2І (47Ш
* (1/Af) Xf=1 CkiCti + е2іСІ + е? А,- + e2is*2i 1 " ]
As in the second averaging method, this method does not give an estimate that converges to the correct result as a number of blocks approaches infinity. Of course, if one has a separate measurement of
M
(1 /М) X Є2іЄ2і
i= 1
then this term can be subtracted from the denominator term.
Thus, we conclude that a trade-off exists. Method 1 is preferred for tests with precisely controlled timing and periodicity because the error approaches zero as the record length approaches infinity. However, because this ideal situation rarely exists, methods 2 and 3 must be used to avoid problems that
arise because of imperfect timing or periodicity. The price paid for this is that the analyst must accept a nonzero error regardless of the length of the data record.