The purpose of this lab is to introduce students to the basic concept of overtones. In order to generate two tones at the same time, you need to generate two waveforms and add them together using the following equation:
W(t) = A_{0} + A_{1} sin(2πf_{1} t + θ_{1}) + A_{2} sin(2πf_{2} t + θ_{2})
Where W is the pulse width at time t, f1and f2 are the angular frequencies of the tones, and theta1 and theta2 are the phases. The amplitudes A0, A1, A2 must be chosen by you so that the pulse width stays positive and is not greater than the sampling period.
PWM can be used to represent any analog waveform. At a uniform time interval the signal can be sampled and translated into a digital form representing its corresponding analog value. The faster the sampling rate, the smoother the reconstructed analog waveform will be. The sampling rate is expected to be much higher than the highest frequency of the sinusoidal waveform that you will produce, in order to generate a smoother waveform. The Nyquist sampling theory states that the sampling frequency should be at least twice the maximum frequency of the signal.
The PWM signal is simply a square wave with a variable duty cycle. The duty cycle of the square wave is proportional to the sampled value of the analog waveform as illustrated in Figure 2 for a sinusoidal analog waveform. Duty cycle is the fraction of time that a PWM signal is active in one sampling period.