You are on page 1of 26

SIGNAL PROCESSING

BASIC CONTINUOUS AND DISCRET TIME


SIGNALS

Franck Dufrenois Master TSI 1ère année


Sinusoidal signals

Sinusoid: Probably the most important elemental signal that you will deal with is the real-
valued sinusoid. In its continuous-time form, we write the general form as

• A: amplitude
• Fo(= 1/To): frequence (period)
• : phase

• Variation of frequences
Complex exponential signal

Complex exponential function: Maybe as important as the general sinusoid, the continuous-time
complex exponential signal can be defined as follows:

Where is expressed in polar form, and 𝑎 = 𝛼 + 𝑗𝑤0 is expressed in


rectangular form. Thus, we can write

we can see that x(t) represents either a circular or a spiral trajectory in the
complex plane, depending whether  is zero, negative, or positive. The term
describes a unit circle centered at the origin counterclockwise in the complex plane
as time varies from -∞ to +∞ for the case = 0. The times 𝑡𝑘 indicated in the
figure are the times when the complex point 𝑒 𝑗𝑤𝑜𝑡 has a phase of /4.
Complex exponential signal

Complex exponential function: Using Euler’s relation, we obtain the signal in rectangular form:

For the case =0, we obtain a complex periodic signal of period To


whose real and imaginary parts are sinusoidal:

For the case >0 (<0) , we get a complex periodic signal multiplied by a growing (decaying)
exponential. The real and imaginary parts are growing (damped) sinusoids:
Cardinal sinusoidal signal

Cardinal sinusoid: very useful because it is the result of Fourier transform of a rectangular impluse.

It is defined by

Properties:
• Parity
• lim 𝑠𝑖𝑛𝑐(𝑢) = 1
𝑢→0
• 𝑠𝑖𝑛𝑐 𝑢 = 0 𝑖𝑓 sin 𝜋𝑢 = 0 𝑓𝑜𝑟 𝑢 = 𝑘 ∈ ℤ∗


Unit step and Ramp signals

Unit step function: Another very basic signal is the unit-step function that is defined as

Note that the step function is discontinuous at the origin. The step function is a useful tool for
testing and for defining other signals
𝑡
Ramp function: is defined as follows: 𝑟 𝑡 = 𝑢 𝜏 𝑑𝜏
0
Rectangular signal

1 1
Rectangular function: 𝑟𝑒𝑐𝑡 𝑡 = 𝑢 𝑡 + − 𝑢(𝑡 − )
2 2
+∞
Note that: −∞
𝑟𝑒𝑐𝑡 𝑡 𝑑𝑡 = 1 and supp(tr(t))=1

𝑇 𝑇
Rectangular function of period T: 𝑟𝑒𝑐𝑡 𝑡/𝑇 = 𝑢 𝑡 + − 𝑢(𝑡 − )
2 2

𝑇 𝑇
Shifted rectangular function 𝑟𝑒𝑐𝑡 (𝑡 − 𝜏)/𝑇 = 𝑢 𝑡 − 𝜏 + − 𝑢(𝑡 − 𝜏 − )
2 2
of period T:

Take a part of a signal x(t):


Triangular signal

1− 𝑡 𝑖𝑓 |𝑡| < 1
• Triangular function: 𝑡𝑟 𝑡 =
0 𝑒𝑙𝑠𝑒𝑤ℎ𝑒𝑟𝑒

+∞
Note that: −∞
𝑡𝑟 𝑡 𝑑𝑡 = 1 and supp(tr(t))=2

• Triangular function of period T: 1 − 𝑡/𝑇 𝑖𝑓 |𝑡| < 𝑇


𝑡𝑟 𝑡/𝑇 =
0 𝑒𝑙𝑠𝑒𝑤ℎ𝑒𝑟𝑒

• Shifted triangular function 𝑡𝑟 (𝑡 − 𝜏)/𝑇


of period T:
Unit impulse signal

Unit Impulse function: also known as the Dirac delta function, plays a central role in system analysis. It
is used to define infinitely short events it is at the basis of the sampling principle.

It is defined by equals one at t=0 and 0 elsewhere


Unit area

Graphically, it is represented by an arrow “pointing to infinity” at t =0


with its length equal to the area of the impulse

It can be seen as the limit of the following functions: 1/T

T→0

T
Unit impulse signal

Sifting Properties:
The first step to understanding what this unit impulse function gives us is
to examine what happens when we multiply another function by it.

𝑥 𝑡 𝛿 𝑡 = 𝑥(0)𝛿(𝑡)

Since the impulse function is zero everywhere except the origin, we


essentially just ”pick off” the value of the function we are multiplying by
evaluated at zero. +∞
Now if we integrate it: 𝑥 𝑡 𝛿 𝑡 𝑑𝑡 = 𝑥(0)
−∞

We obtain the value of the function at 0 ! Now, if we sift out the signal
by to, we derive:
+∞
𝑥 𝑡 𝛿 𝑡 − 𝑡𝑜 𝑑𝑡 = 𝑥(𝑡𝑜)
−∞
Unit impulse signal

Time sift property: The shifting Property is very useful in developing the idea of convolution
which is one of the fundamental principles of signal processing. By using convolution and the
sifting property we can represent an approximation of any system’s output if we know the
system’s impulse response and input.
Indeed, the convolution operation between two reals signals x(t) and y(t) is defined by:

Then, the convolution of signal x(t) with the time-delayed impulse (t-T) delays the signal by T:
The unit impulse signal

Time scaling property: Time scaling of an impulse produces a change in its area. This is
shown by calculating the integral in the sampling property with the time-scaled impulse.
Let  be positive real scalar, we have the following properties

We deduce that:
Operations on signal
Sampling : first let us define the Dirac comb, which is a sequence of unit
impulses separated by the temporal step T

Then, sampling a signal x(t) consists in multiplying x(t) with the dirac
comb as follows:
Operations on signal
Periodization of a signal : From a finite part of a signal x(t), we introduce an operator
of duplication rep which allows to periodize a signal with a period T :
Operations on signal
Generation of a signal: From the previous elementary signals, we can build more
complex signals. For instance, consider the following signal:

A
Forme de base

a b
-b -a

-A
This signal is built from two shifted rectangular signals of parameters : T=b-a, =(a+b)/2

𝑡+(𝑎+𝑏)/2 𝑡−(𝑎+𝑏)/2
𝑥 𝑡 = 𝐴. 𝑟𝑒𝑐𝑡 𝑏−𝑎
− A. 𝑟𝑒𝑐𝑡 𝑏−𝑎
Discret time signals
Discret time signal: In order to deal with digital signal processing tools, it is important to
introduce the notation for discret time signals. We will see how to generate these signals
under matlab.
A discret time signal is defined by the following sequence where the up-arrow indicates
the sample at n = 0:

MATLAB: we can represent a finite-duration sequence by a row vector of appropriate values.


However, such a vector does not have any information about sample position n. Therefore a
correct representation of x(n) would require two vectors, one each for x and n
Unit sample sequence

Unit sample sequence:

MATLAB: In MATLAB the function zeros(1,N) generates a row vector of N zeros, which can be
used to implement δ(n) over a finite interval. However, the logical relation n==0 is an elegant
way of implementing δ(n).

Example: to implement over the n1 ≤n0 ≤n2 interval


Unit step sequence

Unit step sequence:

MATLAB: In MATLAB the function ones(1,N) generates a row vector of N ones, which can be
used to implement u(n) over a finite interval. However, the logical relation n>0 is an elegant
way of implementing u(n).

Example: to implement over the n1 ≤n0 ≤n2 interval


Real-valued exponential sequence

Real-valued exponential sequence:

MATLAB: an array operator “.^” is required to implement a real exponential sequence. For
example, to generate x(n) = (0.9)n, 0 ≤ n ≤ 10,

Complex-valued exponential sequence:

MATLAB: where σ produces an attenuation (if <0) or amplification (if >0) and ω0 is the
frequency in radians. A MATLAB function exp is used to generate exponential sequences.
For example, to generate x(n)=exp[(2+j3)n], 0≤n≤10,
Sinusoidal sequence

Sinusoidal sequence:

MATLAB: where A is an amplitude and θ0 is the phase in radians. A MATLAB function cos (or
sin) is used to generate sinusoidal sequences.

For example, to generate x(n) = 3cos(0.1πn + π/3) + 2 sin(0.5πn), 0 ≤ n ≤ 10,


Random and periodic sequences

Random sequence: Many practical sequences cannot be described by mathematical expressions


like those above. These sequences are called random (or stochastic) sequences and are
characterized by parameters of the associated probability density functions.
MATLAB: rand(1,N): generates a length N random sequence whose elements are uniformly
distributed between [0, 1]. randn(1,N): generates a length N Gaussian random sequence with
mean 0 and variance 1.

Periodic sequence: A sequence x(n) is periodic if x(n) = x(n + N), ∀n. The smallest integer N that
satisfies this relation is called the fundamental period.
MATLAB: We will use xtilde(n) to denote a periodic sequence. To generate P periods of
xtilde(n) from one period {x(n), 0 ≤ n ≤ N−1}, we can copy x(n) P times: xtilde=[x,x,…x].
An elegant approach is to use the matricial capabilities of matlab:
Operations on sequence

Signal addition: This is a sample-by-sample addition given by:


MATLAB: you use the arithmetic operator “+”. However, the lengths of x1(n) and x2(n) must be the same. If
sequences are of unequal lengths, or if the sample positions are different for equal-length sequences, then
we cannot directly use the operator +. We have to first augment x1(n) and x2(n) so that they have the same
position vector n (and hence the same length). The following function, called the sigadd function,
demonstrates these operations.
Operations on sequence

Signal product: This is a sample-by-sample (or dot) multiplication given by:


MATLAB: It is implemented in MATLAB by the array operator “ * ”. Once again, the similar restrictions
apply for the .* operator as for the + operator. Therefore we have developed the sigmult function, which is
similar to the sigadd function:
Operations on sequence

Scaling: In this operation each sample is multiplied by a scalar α:


MATLAB: An arithmetic operator (*) is used to implement the scaling operation.

shifting: In this operation, each sample of x(n) is shifted by an amount k to


obtain a shifted sequence y(n) :

If we let m = n−k, then n = m+k and the above operation is given by:

MATLAB: Hence this operation has no effect on the vector x, but the vector n is changed by adding k to
each element.
Operations on sequence

Folding: In this operation each sample of x(n) is flipped around n = 0 to obtain a folded sequence y(n).

MATLAB: this operation is implemented by fliplr(x) function for sample


values and by -fliplr(n) function for sample positions as shown in the sigfold
function

Sample summation: This operation differs from signal addition operation. It adds all sample values of
x(n) between n1 and n2.

It is implemented by the sum(x(n1:n2)) function

Sample product: This operation also differs from signal multiplication operation. It multiplies all sample
values of x(n) between n1 and n2.

It is implemented by the prod(x(n1:n2)) function.


Operations on sequence

Signal energy: The energy of a sequence x(n) is given by

MATLAB: where superscript ∗ denotes the operation of complex conjugation. The energy of a finite-duration
sequence x(n) can be computed in MATLAB using

You might also like