Page | 1

Introduction

In this experiment, we studied periodic signals of various types. The signals obtained in the time domain were converted to digital form using the analog to digital converter (ADC), and a Fast Fourier Transform (FFT) was performed to obtain a frequency spectrum of the signal. The decomposition of a signal into its component frequencies is often very useful, especially in the analysis of noise in spectra, finding weak periodic signals in the presence of large background signals. The aim here was to obtain an appreciation of both the utility and the practical limits of this technique, which arise from discrete data sampling.

Section 1

Purpose

To build a spectrum analyzer, test it and obtain the frequency domain decomposition of a sinusoidal, triangle and a square waveform using FFT and analyze them for aliasing.

Theory

For any data sampling interval, sample, there is a frequency called the Nyquist frequency given by:

fNyquist = 1/(2sample)

which is half the sampling frequency. This is the maximum frequency that can be determined from the data. The following figures illustrate the importance of the Nyquist frequency:

Fig. 1 Sampling at Nyquist Frequency, the frequency information is preserved but the amplitude information is lost

Fig. 2 Sampling at signal frequency, both the frequency and amplitude information is lost

The FFT obtains the correct RMS voltage values for the frequency components below Nyquist frequency but not for the components above this value. In fact any component above than the Nyquist Frequency is mapped to a frequency value lower than the Nyquist frequency. This process is known as aliasing. We need at least two points per cycle of the signal to obtain the frequency information correctly. For signals greater than the Nyquist value we get 1 or a fewer sampling points per cycle of the signal and hence this information is lost. The following figure illustrates this point clearly:

Fig. 3 Effect of Aliasing, figure shows that there is not even a single point per signal cycle.

To avoid aliasing a low pass filter that removes frequencies above the Nyquist frequencies is usually required. The FFT algorithm can also be thought to be a binning algorithm. The frequency bins are set up with each bin having the same bandwidth df and each bin corresponding to a different frequency level. Thus the ith bin corresponds to the frequencies in the range idf to (i+1)df.

The bin width or the bandwidh is given by the following equation:

df = FNyquist/(N/2) = Fsample/N.

where N is the number of data points usually of the form 2M..

The algorithm then determines how much of the signal power is stored within each frequency bin which is then returned in the form of an array.

In order to be able to visualize the result better, we build a spectrum analyzer on the Lab Windows Environment. The code for the same is being attached as answer to 14.8. The spectrum analyzer is different from an oscilloscope because a spectrum analyzer displays the signal in the frequency domain whereas an oscilloscope displays the result in the time domain. A spectrum analyzer thus helps in better visualization of the signal in the frequency domain.

The Lab Windows function used to transform the voltage data into the frequency domain is called the AmpPhaseSspectrum which can be found under the Libraries/ Advanced Analysis Library / Measurement. This function requires an input array containing 2M voltage data points and returns the result in two arrays, Amplitude Spectrum and Phase spectrum, of 2M-1 points each. The following figure shows the input and the output of the algorithm in brief.

Fig. 4 Schematic showing the details of the input and output of the AmpPhaseSpectrum function

The Amplitude Spectrum returns the RMS voltage of the ith frequency component and the Phase Spectrum consists of the phase of the corresponding component. The zeroth frequency component corresponds to the frequency level of zero or the DC offset of the signal. The last frequency corresponds to the FNyquist-df frequency level. The RMS voltage of the signal can be calculated from the following equation :

VRMS=√ (∑Ai2)------(1)

Here it must be noted that the number of input data points are always of the form 2M because the FFT algorithm divides the voltage data using the binary search algorithm which is the best algorithm with least time complexity of nlogn. In other words it uses the fastest algorithm for this process.

Results and Conclusion

For our experiment we used a sampling frequency of 10kHz. The number of voltage data points was 2048. An input of 2.5 kHz, 1 V amplitude sinusoidal waveform was applied to test the spectrum analyzer’s functioning. A multimeter was connected to compare the RMS voltage measured by the spectrum analyzer with the actual RMS value of the signal as given by the multimeter. The RMS voltage measured by multimeter was 0.7082 V and the value displayed by the spectrum analyzer was 0.7068 V, Thus the two values are in good agreement with an error of only 0.2 %. Theoretically this value should be 0.707VAMPwhich is what is being observed. A slight deviation between the theoretical and calculated values can be attributed to the presence of other frequency components (noise) in the signal produced by the frequency generator.

For our case the Nyquist Frequency was 5kKz. We expected to see some changes in the frequency spectrum as well as the time domain plot of the signal when the frequency of the signal went pass the 5kHz signal. What we observed was that for inputs below the Nyquist frequency the signal in the time domain and the frequency domain were being reproduced. But when the signal frequency was increased beyond the sampling frequency aliasing was observed i.e. a higher signal was being mapped to a lower frequency value following a definite pattern. Any signal of 5000+x Hz was being mapped to 5000-x Hz. For eg 6.5 kHz signal was mapped to a 3.5 kHz signal in the frequency spectrum as shown in the results. Data was obtained at other frequency levels as well to corroborate the same fact. This agrees well with what we observed in 13.12 in the time domain. For frequencies higher than the Nyquit Frequency, both the amplitude and the frequency information of the signal was lost and at the Nyquist frequency level though the frequency data was intact the amplitude information was lost (Answer 14.1).

The spectrum analyzer was then used to obtain the frequency decomposition of a square and a triangle wave as well and then compare them with the sine wave. For this case we used a frequency of 300 Hz for all the three kinds of inputs. The corresponding outputs have been attached and the harmonics (aliased or not) have been identified as well. Refer to the plots for the solution. (Answer 14.2)

Section 2

Purpose

To detect a very small signal amid lots of background noise and using signal averaging and phase synchronization,

Theory

For each frequency component the FFT returns 2 quantities, the amplitude of the component and its phase angle. Thus any individual frequency component of the signal can be thought of as a vector in the complex plane characterized by its magnitude An, and its phase angle, n i.e.,

------(2)

Fig. 5 Frequency Components in the Argand Plane

Let us now apply a process known as signal averaging. A signal is acquired and then transformed using FFT repeatedly over some time interval; finally all identical frequency components from each acquisition are added together. For simplicity if we consider only one such vector and assume that its amplitude remains constant during the M acquisitions, i.e.,

------(3)

Now the averaging can be done in two ways:

  1. Phase angle changes at random between the M acquisitions.
  2. Keeping the phase angle constant during the M acquisitions.(Phase locked or Phase Synchronized Averaging).

In 1st case, the signal averaging procedure results in a random walk in a two-dimensional plane with the same starting point and same distance but in different directions.

Fig. 6 Resultant of the frequency component with different phase angles

Thus we expect the resultant vector to remain close to zero as we expect the directions to cancel out over a large number of data acquisitions. However, statistics show that the resultant vector has a good chance (probability of about 63%) to be of magnitude AnM or less. Therefore we get the following result:

, when is random. ------(4)

In 2nd case when the phase angles remain constant for each data acquisition. The sum of all vectors would look like:

Fig. 7 Resultant of the frequency component with same phase angle

The resultant vector would be

,when is constant.------(5)

Now let us see how this procedure can be used to track noise in a signal.

In most experimental situations a signal exists among noise. In other words we can think of as a vector composed of a noise and a signal vector:

------(6)

Considering the fact that the noise signal is random, the phase angle of the noise can be considered to be random. Thus after M data acquisitions the resultant magnitudes for the two cases are;

, at constant ------(7)

, at random ------(8)

(Please note the here we are neglecting the cross terms in the calculation of the resultant magnitude.)

In other words the for a constant n_signal, An_signal grows like M while An_noise grows like 

The same results could be obtained if the analysis is done in the time domain, The analysis here is being done in the frequency domain as it easy to understand.

In the explanation given so far, it has been assumed that analog signals would be digitized first, transformed using FFT and then the corresponding components would be added together:

------(9)

For M data acquisitions this process requires M FFT calls which requires a lot of computer time. Nevertheless, identical results could also be obtained if the digitized data is first added and together (in the time domain) and then transformed using FFT, In that case, only one FFT call is required.

------(10)

We used the second method for our experiments.

Results and Conclusion

To incorporate the theory developed, two functionalities were added to the C code. The first functionality was the Trigger Switch which provided user with the choice to trigger the data acquisition internally or externally and the second functionality was the Averaging switch which provided user with the choice of averaging the RMS amplitudes of individual frequency components or not.

It was found that the internal triggering was not effective as we were getting a wandering signal in the time domain, which in words meant that the phase angle was different during different data acquisitions. This was overcome by triggering the data acquisition externally by using a SYNCH output from the waveform generator as the External Trigger Input. A nice steady signal was observed when the external trigger mode was selected. The trigger functionality was tested using a 2 V(p-p), 20 Hz sinusoidal input and the averaging functionality was tested using a 2V(p-p), 1.234 kHz, sinusoidal input.

After the initial testing a small sinusoidal signal of 0.002V RMS or 0.0028 V, 99 Hz was applied to the ADC board.

The data acquisition was done in 4 modes.

No averaging with internal triggering.

Time domain: We had a wandering signal that appeared to be moving across the screen.Besides we sometimes had voltage values that were greater than the applied amplitude. Since the applied signal is of the order of the resolution of the ADC, and there is a small noise as well on it, whenever the signal value becomes more than the resolution of the ADC because of the random noise we see a sudden jump or dip in the value which corresponds to a voltage of 2xresolution level.

Frequency domain : The RMS amplitudes of both the 99 Hz component and the noise components appeared to be changing with each data acquisition cycle, because of the differences in the phases between different data acquisition cycles.

No averaging with external triggering.

Time domain: We had a nice steady signal, which implied that the phase of the 99 Hz frequency component was same across the different data acquisition cycles.The same problem of sudden jumps or dips in the signal persisted which can be attributed to the small amplitude of the voltage applied together with the noise on it.

Frequency domain: The RMS amplitudes of the 99 Hz and some other frequency components, till now conceived to be noise did not fluctuate with data acquisition cycles because of the same phase for these components. However the other noise components still had fluctuating RMS amplitudes because of the inherent randomness in their phase values.

The fact that there were some other components other than the 99Hz component whose amplitudes were not fluctuating can be attributed to the fact that the signal is being approximated by finite step sizes or a square waveform sort of signal. So these other non fluctuating components actually correspond to the harmonics of this step size or square wave type signal.

Averaging 10 times with internal triggering

Time domain: We had a wandering signal across the screen. In this case, however the magnitude of the sudden jumps and dips in the signal were reduced because of the averaging which was cancelling the effect of noise. Though the extent of fluctuations reduced the frequency of fluctuations increased. This can be attributed to the fact that the averaging was not phase synchronized. It is very probable that a particular data point in two different acquisitions can have different voltage value – one affected by noise and one which is not. So if we average this for one particular data point the extent of fluctuation will go down, but there shall be fluctuations for more data points. This is what is being shown in the time domain plot of the signal.

Frequency domain: The RMS amplitudes of both the 99 Hz frequency component, harmonics of the step size signal and the noise components reduced when compared to the cases without averaging. The theory says that the resulting amplitude is √M times of the individual amplitude for frequency component, However, if an average is taken then the amplitude becomes √M/M or 1/√M times the individual value. Hence we should observe a decrease in the RMS amplitudes of all the frequency components, which is what is being observed.

Averaging 10 times with external triggering.

Time domain: We had a stable signal across the screen.In this case both the frequency of the fluctuations and their amplitude were reduced. The amplitude was reduced because we are averaging the data over a certain data acquisitions and the frequency of fluctuations reduced because of the same phase of the signal being captured at each data point.

Frequency domain: The amplitude of the main frequency component and the harmonics of the step size waveform were more than that in the case with internal triggering and almost equal to that in the cases with no averaging. This is in perfect agreement with the theory. The theory says that the resulting amplitude is √M times the individual amplitude for the noise components and M times the individual amplitude for the non-noise components. Thus, if an average is taken then the amplitude becomes √M/M or 1/√M times the individual value for the noise components and M/M =1 times for the non-noise components. Hence we should observe a decrease in the RMS amplitudes of all the noise components and same value for the main frequency and step size harmonic (non-noise) components when compared with the cases where no averaging is being done.

Thus taking a note of the fact that there are bound to be some harmonics of the step size waveform the signal is best observed in the case with averaging and external triggering. The harmonics of this step size waveform appear as spurious signals in the frequency domain.

If the amplitude of the applied signal is increased then the RMS amplitudes of the harmonics shall be very small as compared to the RMS amplitude of the harmonic signal. Hence we can rate the modes of data acquisitionin terms of the observability of the applied signal as follows: (the best is the first one)

1. Averaging with external triggering.

2. Averaging with internal triggering.

3. No averaging with external triggering.

4. No averaging with internal triggering.

(Answer 14.3).

If we pay close attention to the averaging and external triggering case we see that there are discrete jumps in the values of the voltages in the time domain. This is because the ADC board has a finite resolution and cannot display any voltage less than 2.44 mV. Thus we see discrete jumps of this value in the time domain plot of the signal. The value observed from the outputs matches well with what was calculated in the previous chapter in 13.2 i.e. 5/(211-1). (Answer 14.4)

Since the resolution of the board is 2.44 mV this is the smallest voltage value that can be read by the ADC board. Thus our program can determine voltages reliably only if they are above this value. This was confirmed by the observations as well. So the minimum voltage level at which the RMS can be determined reliably is when the amplitude of the applied signal is greater than or equal to 2.44mV. In our case the applied amplitude is 2.82 mV and hence the RMS can be determined quite accurately. (Answer 14.5)