Sample Rate: 8kHz 192kHz

Select Function: Sine Cosine Sinc Square Pulse Train Window Triangle Constant

x(t) = 0 |

**Introduction:**

This application allows a user to generate a finite-time signal as a combination of standard functions (Sine, Sinc, Square, Pulse Train, etc.), performs a Fourier analysis on the resulting signal, and displays the frequency spectrum as a Bode plot.

**Directions:**

**Signal Generation:**Select any of the signal types above, and click the "Add" button. The sliders will tailor the current component according to various parameters.**Signal Modification:**Clicking the "Remove Last Component" button will remove the last component in the component list for the signal. The next-to-last component in the component list can then be edited as desired.**Saving and Sharing Signals:**As you create and edit a signal, the URL of this page will change. You can bookmark the URL to save the signal, or copy it from the address bar and transmit it to anyone else to share the signal with them.**Playing Signals:**Clicking "Play Audio Signal" will play a repeating loop of the signal. Clicking "Stop" ends playback.

This application demonstrates the results of pseudo-continuous-time Fourier analysis on an example signal. Of course, actual continuous-time analysis is unachievable through sampling; this application samples the signal at every horizontal pixel to calculate each complex exponential component.

While the available signal components include several that are typically periodic (Sine, Cosine, Square Wave, Pulse Train, etc.), it is important to recall that the periodicity ends at the left and right edges of the application canvas - i.e., these are only finite-time portions of infinite-time periodic signals. As a result, the Fourier transforms will not exactly resemble their infinite continuous-time counterparts. For example, the Fourier transform of a single sine wave should be two deltas; instead, the transform here produces two narrow-band sinc pulses.

One of the more interesting features of this application is the ability to manipulate various properties of a signal component, and to view how the resulting frequency spectrum changes in response. For example, for a Pulse Train signal, adjustments to the period have an inverse effect on the corresponding pulses of the Fourier spectrum.

In order to play a sound, the sample is repeated x1000 and queued as a 44.1kHz audio buffer. One problem that may arise is where the ends of the sample do not match up - either in position or in first derivative - which produces a noisy, buzzy audio sample, even for a signal that should otherwise be simple and pleasant, such as a pure sine wave. In order to avoid this result, an attempt is made to trim the end of the signal at a point that produces a smooth loop. (A small vertical line is shown on the signal axis at the trim point.)