The world’s Largest Sharp Brain Virtual Experts Marketplace Just a click Away
Levels Tought:
Elementary,Middle School,High School,College,University,PHD
| Teaching Since: | Apr 2017 |
| Last Sign in: | 327 Weeks Ago, 6 Days Ago |
| Questions Answered: | 12843 |
| Tutorials Posted: | 12834 |
MBA, Ph.D in Management
Harvard university
Feb-1997 - Aug-2003
Professor
Strayer University
Jan-2007 - Present
EE140 Project 2: Discrete Convolution
The convolution operation is frequently used in many areas of engineering and physics. It can be
used to determine the response of a linear system to a general excitation; ie: the driving force in
an inhomogeneous linear differential equation. It is a basic tool of signal processing in electrical
engineering.
The convolution integral of two functions f(t) and g(t) is given by:
∞ (f ∗g)(t) ≡ ∫ f ( τ ) g (t −τ ) dτ
−∞ An equivalent operation can be defined for discrete (as opposed to continuous) functions:
∞ ( f ∗g ) [n] ∑ f [ m ] g[n−m] m=−∞ If either function is only non-zero over a limited domain, then the integral sum is effectively
limited to values of t or m where the product of the functions in non-zero.
A continuous function f(t) can be sampled at regular time intervals to generate a corresponding
discrete function. In this assignment you will be asked to sample a continuous function at regular
intervals and convolve the function with itself.
Consider the function: { f ( t )= t+1 :t ∈[0,T ]
0 :otherwise
Carry out the following steps:
1. Read in an integer value for T. Sample the function f(t) above, at t = 0, 1, 2 . . . T and
write the values to a file ‘function.txt’.
2. Read the values from the file, and place them in an array.
3. Write a function called “convolution” which takes two arrays as arguments, calculates
their discrete convolution and prints out the resulting function in two columns: index and
convolution. Print the output both to the screen and to a file called ‘convolution.txt’. Your
function should only do the calculation for indices corresponding to non-zero values of
the convolution. Assume both functions are only nonzero between 0 and T. (hint: the
convolution will only be nonzero between 0 and 2T- make sure you understand why.) 4. Call your function with both functions f and g given by the same array from part 1.
Grading Criteria:
Correctness: 80%
Good coding style: 10%
Proper documentation and indentation: 10%
-----------