ECE3340 Numerical Methods

Fourier Tutorial Series - 1
graphics for space-dependent functions

ECE 3340  & generic                         Han Q. Le (c)

1. Review previous

1.1 From HW

Fourier_Tutorial_Series_segm1_post_1.gif

Out[20]=

Fourier_Tutorial_Series_segm1_post_2.gif

1.2 Different coefficients

Fourier_Tutorial_Series_segm1_post_3.gif

Out[25]=

Fourier_Tutorial_Series_segm1_post_4.gif

1.3 Still different coefficients

Fourier_Tutorial_Series_segm1_post_5.gif

Out[30]=

Fourier_Tutorial_Series_segm1_post_6.gif

1.4 Fourier morphing

2-set morph

Fourier_Tutorial_Series_segm1_post_7.gif

Code

Out[10]=

3-set morph

Fourier_Tutorial_Series_segm1_post_9.gif

Code

O         ut[51]=

2. Fourier series

See Lecture on Fourier

Some demo

In[1]:=

Fourier_Tutorial_Series_segm1_post_11.png

Out[1]=

Fourier_Tutorial_Series_segm1_post_12.gif

In[8]:=

Fourier_Tutorial_Series_segm1_post_13.png

Out[8]=

Fourier_Tutorial_Series_segm1_post_14.gif

In[1]:=

Fourier_Tutorial_Series_segm1_post_15.png

Out[1]=

Fourier_Tutorial_Series_segm1_post_16.png

In[11]:=

Fourier_Tutorial_Series_segm1_post_17.png

Out[11]=

Fourier_Tutorial_Series_segm1_post_18.png

In[12]:=

Fourier_Tutorial_Series_segm1_post_19.png

Out[12]=

Fourier_Tutorial_Series_segm1_post_20.png

In[13]:=

Fourier_Tutorial_Series_segm1_post_21.png

Out[13]=

Fourier_Tutorial_Series_segm1_post_22.png

In[14]:=

Fourier_Tutorial_Series_segm1_post_23.png

Out[14]=

Fourier_Tutorial_Series_segm1_post_24.gif

In[15]:=

Fourier_Tutorial_Series_segm1_post_25.png

In[16]:=

Fourier_Tutorial_Series_segm1_post_26.png

Out[16]=

Fourier_Tutorial_Series_segm1_post_27.gif

In[22]:=

Fourier_Tutorial_Series_segm1_post_28.png

3. Numerical demos

3.1 House

Fourier_Tutorial_Series_segm1_post_29.png

In[26]:=

Fourier_Tutorial_Series_segm1_post_30.png

Out[26]=

Fourier_Tutorial_Series_segm1_post_31.gif

Fourier_Tutorial_Series_segm1_post_32.gif

Out[33]=

Fourier_Tutorial_Series_segm1_post_33.gif

In[34]:=

Fourier_Tutorial_Series_segm1_post_34.png

Out[34]=

Fourier_Tutorial_Series_segm1_post_35.gif Fourier_Tutorial_Series_segm1_post_36.gif

A function

Fourier_Tutorial_Series_segm1_post_37.png

In[36]:=

Fourier_Tutorial_Series_segm1_post_38.gif

Out[38]=

Fourier_Tutorial_Series_segm1_post_39.gif

In[39]:=

Fourier_Tutorial_Series_segm1_post_40.png

Out[39]=

Fourier_Tutorial_Series_segm1_post_41.gif Fourier_Tutorial_Series_segm1_post_42.gif

3.2 Castle

In[40]:=

Fourier_Tutorial_Series_segm1_post_43.png

In[41]:=

Fourier_Tutorial_Series_segm1_post_44.png

Out[41]=

Fourier_Tutorial_Series_segm1_post_45.gif

In[42]:=

Fourier_Tutorial_Series_segm1_post_46.gif

Out[44]=

Fourier_Tutorial_Series_segm1_post_47.gif

In[45]:=

Fourier_Tutorial_Series_segm1_post_48.png

Out[45]=

Fourier_Tutorial_Series_segm1_post_49.gif Fourier_Tutorial_Series_segm1_post_50.gif

3.2 Multivalue-function: Heart

Fourier_Tutorial_Series_segm1_post_51.gif

In[48]:=

Fourier_Tutorial_Series_segm1_post_52.png

Out[48]=

Fourier_Tutorial_Series_segm1_post_53.gif

Fourier_Tutorial_Series_segm1_post_54.gif

In[55]:=

Fourier_Tutorial_Series_segm1_post_55.png

Out[55]=

Fourier_Tutorial_Series_segm1_post_56.gif

Fourier synthesis function V2

Fourier_Tutorial_Series_segm1_post_57.png

test previous

In[57]:=

Fourier_Tutorial_Series_segm1_post_58.gif

Out[59]=

Fourier_Tutorial_Series_segm1_post_59.gif

In[60]:=

Fourier_Tutorial_Series_segm1_post_60.gif

Out[62]=

Fourier_Tutorial_Series_segm1_post_61.gif

3.3 Multivalue-function: pine tree

Fourier_Tutorial_Series_segm1_post_62.gif

Fourier_Tutorial_Series_segm1_post_63.gif

Out[71]=

Fourier_Tutorial_Series_segm1_post_64.gif Fourier_Tutorial_Series_segm1_post_65.gif

4. The nature of different-frequency contribution

Why need many frequencies? A look at how each frequency contributes to an image.

4.1 image to be studied

In[72]:=

Fourier_Tutorial_Series_segm1_post_66.gif

Fourier_Tutorial_Series_segm1_post_67.gif

Fourier_Tutorial_Series_segm1_post_68.gif

Fourier_Tutorial_Series_segm1_post_69.gif

In[52]:=

Fourier_Tutorial_Series_segm1_post_70.png

Out[52]=

Fourier_Tutorial_Series_segm1_post_71.gif Fourier_Tutorial_Series_segm1_post_72.gif Fourier_Tutorial_Series_segm1_post_73.gif Fourier_Tutorial_Series_segm1_post_74.gif Fourier_Tutorial_Series_segm1_post_75.gif
Fourier_Tutorial_Series_segm1_post_76.gif Fourier_Tutorial_Series_segm1_post_77.gif Fourier_Tutorial_Series_segm1_post_78.gif Fourier_Tutorial_Series_segm1_post_79.gif Fourier_Tutorial_Series_segm1_post_80.gif
Fourier_Tutorial_Series_segm1_post_81.gif Fourier_Tutorial_Series_segm1_post_82.gif Fourier_Tutorial_Series_segm1_post_83.gif Fourier_Tutorial_Series_segm1_post_84.gif Fourier_Tutorial_Series_segm1_post_85.gif
Fourier_Tutorial_Series_segm1_post_86.gif Fourier_Tutorial_Series_segm1_post_87.gif


In[176]:=

Fourier_Tutorial_Series_segm1_post_88.gif

Out[176]=

Fourier_Tutorial_Series_segm1_post_89.png

Out[177]=

Fourier_Tutorial_Series_segm1_post_90.png

Fourier_Tutorial_Series_segm1_post_91.gif

observe each additional step of each Fourier Component

Code

Out[55]=

                     

4.2 related app

See app page 2.

5. Waveform - pulse synthesis

Below are Fourier coefficients for a few common waveforms. You can adapt these things for your HW, however, you must understand the different codes (functions) and their intended applications. There are those written for graphics output, and those for numerical output.

5.1 Square wave

In[44]:=

Fourier_Tutorial_Series_segm1_post_93.png

Out[44]=

                          

5.1.1 Integral

To obtain a Fourier coefficient:

In[1]:=

Fourier_Tutorial_Series_segm1_post_95.png

Out[1]=

Fourier_Tutorial_Series_segm1_post_96.png

In[5]:=

Fourier_Tutorial_Series_segm1_post_97.png

Out[5]=

Fourier_Tutorial_Series_segm1_post_98.png

In[8]:=

Fourier_Tutorial_Series_segm1_post_99.png

Out[8]=

Fourier_Tutorial_Series_segm1_post_100.png

In[9]:=

Fourier_Tutorial_Series_segm1_post_101.png

Out[9]=

Fourier_Tutorial_Series_segm1_post_102.png

For coding, use this:

Fourier_Tutorial_Series_segm1_post_103.png

5.1.2 For computation

Demo only. You SHOULD extract, modify, adapt, do whichever needed for your own work.

Code

Out[28]=

                    

5.2 Sawtooth

Code

Out[40]=

5.2.1 Integral

In[64]:=

Fourier_Tutorial_Series_segm1_post_106.gif

Out[65]=

Fourier_Tutorial_Series_segm1_post_107.png

In[67]:=

Fourier_Tutorial_Series_segm1_post_108.png

Out[67]=

Fourier_Tutorial_Series_segm1_post_109.png

In[68]:=

Fourier_Tutorial_Series_segm1_post_110.png

Out[68]=

Fourier_Tutorial_Series_segm1_post_111.png

In[69]:=

Fourier_Tutorial_Series_segm1_post_112.png

Out[69]=

Fourier_Tutorial_Series_segm1_post_113.png

In[70]:=

Fourier_Tutorial_Series_segm1_post_114.png

Out[70]=

Fourier_Tutorial_Series_segm1_post_115.png

In[71]:=

Fourier_Tutorial_Series_segm1_post_116.png

Out[71]=

Fourier_Tutorial_Series_segm1_post_117.png

For coding, use this:

Fourier_Tutorial_Series_segm1_post_118.png

5.2.2 For computation

Demo only. You SHOULD extract, modify, adapt, do whichever needed for your own work.

Code

Out[29]=

                      

5.3 Triangle

Code

Out[77]=

5.3.1 Integral

In[78]:=

Fourier_Tutorial_Series_segm1_post_121.gif

Out[79]=

Fourier_Tutorial_Series_segm1_post_122.png

In[80]:=

Fourier_Tutorial_Series_segm1_post_123.png

Out[80]=

Fourier_Tutorial_Series_segm1_post_124.png

In[82]:=

Fourier_Tutorial_Series_segm1_post_125.png

Out[82]=

Fourier_Tutorial_Series_segm1_post_126.png

For coding, use this:

Fourier_Tutorial_Series_segm1_post_127.png

5.3.2 For computation

Demo only. You SHOULD extract, modify, adapt, do whichever needed for your own work.

Code

Out[71]=

                     

5.4 Exponential

Code

Out[2]=

5.4.1 Integral

In[3]:=

Fourier_Tutorial_Series_segm1_post_130.gif

Out[4]=

Fourier_Tutorial_Series_segm1_post_131.png

For coding, use this:

Fourier_Tutorial_Series_segm1_post_132.png

5.4.2 For computation

Demo only. You SHOULD extract, modify, adapt, do whichever needed for your own work.

Code

Out[72]=

                     

5.5 Common utilities for the 4 waveforms

In[74]:=

Fourier_Tutorial_Series_segm1_post_134.png

In[73]:=

Fourier_Tutorial_Series_segm1_post_135.png

Example:

In[75]:=

Fourier_Tutorial_Series_segm1_post_136.png

Out[75]=

Fourier_Tutorial_Series_segm1_post_137.gif

6. Concept of bandwidth and pulse duration

6.1 Exponential pulse

In[49]:=

Fourier_Tutorial_Series_segm1_post_138.png

In[3]:=

Fourier_Tutorial_Series_segm1_post_139.png

Out[3]=

Fourier_Tutorial_Series_segm1_post_140.png

In[12]:=

Fourier_Tutorial_Series_segm1_post_141.png

Out[12]=

Fourier_Tutorial_Series_segm1_post_142.png

Code

Out[74]=

Fourier_Tutorial_Series_segm1_post_144.png

6.2 Gaussian pulse

In[14]:=

Fourier_Tutorial_Series_segm1_post_145.png

Out[14]=

Fourier_Tutorial_Series_segm1_post_146.png

Code

Out[75]=

6.3 Square pulse

In[21]:=

Fourier_Tutorial_Series_segm1_post_148.png

Out[21]=

Fourier_Tutorial_Series_segm1_post_149.png

Code

Out[76]=

6.4 Triangle (symmetric ramp) pulse

In[26]:=

Fourier_Tutorial_Series_segm1_post_151.png

In[27]:=

Fourier_Tutorial_Series_segm1_post_152.png

In[28]:=

Fourier_Tutorial_Series_segm1_post_153.png

In[29]:=

Fourier_Tutorial_Series_segm1_post_154.png

Out[29]=

Fourier_Tutorial_Series_segm1_post_155.png

In[33]:=

Fourier_Tutorial_Series_segm1_post_156.png

Out[33]=

Fourier_Tutorial_Series_segm1_post_157.png

Code

Out[77]=

HW on pulse shape

pulse: raised cosine, sech, trapeze.

Pre-classwork and HW project

Each generates a line art graphics that can be done with Fourier synthesis. Two options:
A- multi-line artwork (minimum 2 non-constant lines)
B- 2 or more single-line artworks and morph them

You have some data in a csv file. Analyze it.

Created with the Wolfram Language