The Guitar Material Characterization Project



After we captured satisfactory data for the control and each of the three test woods, we imported the raw data into Matlab for signal processing. LabVIEW caputured the data as a list of numbers that represented the voltage amplitude of the signal wire at each sampling point . Below is a list of the processing operations preformed on the data.

  1. Raw time-data converted to frequency domain.
  2. Transfer function calculated from frequency domain information
  3. Filtering of transfer functions

1. Raw time-data converted to frequency domain

Matlab proved to be very convenient in converting the time-domain representation of the amplitude data into frequency representation. Obviously, all the signal processing in this phase of the analysis was built around the use of Matlab's fft(...) function.

All of the data arrays were each 40000 elements long. Since the fft(...) algorithm operates most efficiently on vectors of lengths that are powers of two, we zero-padded each of the data arrays to the next largest power of two, that is the sixteenth power (2^16=65536) and then preformed the fft(...) algorithm on each of the four data sets, creating frequency domain arrays of length 65536.

2. Transfer functions calculated from frequency domain information

Now that we had the frequency domain representations for the output signals of the control and each of three test woods, we were ready to calculate the transfer function. Our simplified system model for this experiment designated the strig and the pluck as the input signal into the pieces of wood upon which the string was suspended. The output was the reflection/absorbtion of the pieces of wood back into the string that was picked up by the electrical guitar pickup. In th is interpretation, the control was the input signal and each of the other three test data arrays are the outputs of their respective systems (each of the three test woods).

The calculation of the transfer function follows from this model. If we divide the frequency domain representation of the output with that of the input then we have the transfer function; therefore, we did an element-by-element (./ in Matlab) division with each of the test wood output and the control output.

After this division, we had some very noisy transfer functions, but transfer functions nonetheless. Even without filtering, it was obvious that the transfer fu nctions for each of the three test woods were different.

3. Filtering of the transfer functions

To help make the differences in the transfer functions more evident, we ran a low-pass filter on the transfer function. Specifically, we used a tenth-order Butterworth filter, with a cutoff frequency of 175 Hz. This removed a significant amount of the high frequency noise in the transfer function, which made the differences much clearer as can be seen in the Matlab plots of the data.

[ Back to the Main Page ]