Kurt's Assignment: Difference between revisions

From Class Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 105: Line 105:
legend(num2str(M) ' terms');
legend(num2str(M) ' terms');
print("squarewave.png","-dpng") % Prints the plot to a png file called squarewave.png
print("squarewave.png","-dpng") % Prints the plot to a png file called squarewave.png


TODO:
*finish the triangle wave derivation
*start sawtooth wave derivation
*implement triangle wave Fourier Series in OCTAVE
*implement sawtooth wave Fourier Series in OCTAVE

Revision as of 22:53, 1 November 2010

Common Synthesizer Waveforms

Many synthesizers employ a variety of waveforms to produce varied sounds. The most common waveform is the sine wave. However, in additive synthesis, multiple waveforms can be added together to create a different waveform with different characteristics. The basis for this form of synthesis is the Fourier series:


The four basic waveforms are Sine Waves, Square Waves, Triangle Waves, and Sawtooth Waves.

Square Wave

By inspection of the waveform, the DC component of the wave will be 0. Also, since the waveform is odd, an will be 0. Here is the proof:



This just leaves the sine component of the waveform found below.


Finally, resulting in the Fourier series for a Square Wave.

Triangle Wave

Like the Square wave, the DC component of the Triangle Wave is 0 by inspection. Also, since the triangle wave is odd, it is made up only by sine components.



Sawtooth Wave

OCTAVE Scripts to Plot Fourier Series

Square Wave

clf;            %Clear Figure
t=0:.01:10;     %Limits of the graph
T=2*pi          %Definition of the period
M=100           %Number of iterations to undergo
sum1=0;         %Initialize the sum to 
%----------FOURIER SERIES----------% for m=1:1:M, %For m=1, increment by 1 until you get to M if(m!=0) sum1 = sum1 + ((2/(pi*m))-(2/(pi*m))*cos(m*pi))*sin(m*2*pi/T*t); end end
%---------------PLOT---------------% plot(t,real(sum1),'b-') title('Fourier Series Representation of a Wave') xlabel('time (seconds)') ylabel('Function') grid on;
legend(num2str(M) ' terms'); print("squarewave.png","-dpng")  % Prints the plot to a png file called squarewave.png


TODO:

  • finish the triangle wave derivation
  • start sawtooth wave derivation
  • implement triangle wave Fourier Series in OCTAVE
  • implement sawtooth wave Fourier Series in OCTAVE