Académique Documents
Professionnel Documents
Culture Documents
Main Contents
Discrete-time signals
Discrete-time signal
Example:
x(n) {2,1,1,0,1,4,3,7}
n [3,2,1,0,1,2,3,4];
x [2,1,1,0,1,4,3,7];
Types of sequences
1, n 0
( n)
,0,0, 1,0,0,
0, n 0
Representation in MATLAB
1, n n0
(n n0 )
, n1 n n2 , n1 n0 n2
0, n n0
Function [x,n]=impseq(n0,n1,n2)
A: n=[n1:n2];
x = zeros(1,n2-n1+1); x(n0-n1+1)=1;
1
0.8
(n-n )
0
0.6
-3<n<3
0.4
n0=0
0.2
0
-3
-2
-1
0
n
1, n 0
u ( n)
,0,0, 1,1,1,
0, n 0
1, n n0
u (n n0 )
, n1 n n2 , n1 n0 n2
0, n n0
A: n=[n1:n2]; x=zeros(1,n2-n2+1); x(n0n1+1:end)=1;
B: n=[n1:n2]; x=[(n-n0)>=0];
x(n) (0.9) n , 0 n 10
n=[0:10]; x=(0.9).^n;
stem(n,x,ro)
1
0.8
0.6
0.4
0.2
0
10
x ( n) e
( j 0 ) n
, n
Attenuation:
frequency in radians:
For Example: n=[0:10]; x=exp((2+3j)*n);
5. Sinusoidal sequence
x(n) cos(0 n ), n
Phase in radians
For Example:
n=[0:10];
x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n)
6. Random sequence
Rand(1,N)
Randn(1,N)
7. Periodic sequence
Operations on sequence
1. Signal addition
Sample-by-sample addition
{x1(n)}+{x2(n)}={x1(n)+x2(n)}
Function [y,n]=sigadd(x1,n1,x2,n2)
n=min(min(n1),min(n2)):
max(max(n1),max(n2));
y1=zeros(1,length(n)); y2=y1;
y1(find((n>=min(n1)) &
(n<=max(n1))==1))=x1;
y2(find((n>=min(n2)) &
(n<=max(n2))==1))=x2;
2. Signal multiplication
Sample-by-sample multiplication
Dot multiplication
{x1(n)}.{x2(n)}={x1(n) x2(n)}
Function [y,n]=sigmult(x1,n1,x2,n2)
n=min(min(n1),min(n2)) :
max(max(n1),max(n2));
y1=zeros(1,length(n)); y2=y1;
y1(find((n>=min(n1)) &
(n<=max(n1))==1))=x1;
y2(find((n>=min(n2)) &
(n<=max(n2))==1))=x2;
3. Scaling
a{x(n)}={ax(n)}
4. Shifting
y(n)={x(n-k)}
m=n-k; y=x;
5. folding
y(n)={x(-n)}
y=fliplr(x); n=-fliplr(n);
6. Sample summation
n2
n n1
ss = sum(x(n1:n2);
7. Sample production
n2
nn
1
sp = prod(x(n1:n2));
8. Signal energy
2
x
(
n
)
x
(
n
)
|
x
(
n
)
|
se = sum(x .* conj(x)); or
se = sum(abs(x) .^ 2);
9. Signal power
1
Px
N
N 1
2
|
x
(
n
)
|
n 0
Examples
x(k ) (n k )
1
xe (n) [ x(n) x( n)]
2
1
xo (n) [ x(n) x(n)]
2
Function [xe, x0, m] = evenodd(x,n)
If any(imag(x) ~= 0)
error(x is not a real sequence);
End
m = -fliplr(n);
m1 = min([m,n]); m2 = max([m,n]); m=m1:m2;
nm = n(1)-m(1); n1 = 1:length(n);
x1 = zeros(1, length(m)); x1(n1+nm) = x; x = x1;
xe = 0.5 * (x + flipflr(x));
xo = 0.5*(x - fliplr(x));
1
a 1 a , for | a | 1
n 0
a
n 0
1 a
, a
Correlations of sequences
rx , y (l )
x ( n) y ( n l )
Autocorrelation
rx , x (l )
x ( n) x ( n l )
Discrete Systems
y(n) = T [ x(n)]
x(n): excitation, input signal
y(n): response, output signal
Classification
Linear systems
Nonlinear systems
y (n) L[ x(n)] L
L[ (n k )] is
x(k ) (n k )
x(k ) L[ (n k )]
y ( n)
x(k )h(n, k )
h(n, k ) L[ (n k )] h(n k )
Stability
| h(n) |
Causality
Convolution
Function [y,ny]=conv_m(x,nx,h,nh)
nyb = nx(1)+nh(1); nye = nx(length(x))+nh(length(h));
ny = [nyb:nye];
n = conv(x,h)
overlap.
% completely overlaps
Folded-and-shifted
Signals x=[x(1),x(2),x(3),x(4),x(5)]
System Impulse Response: h=[h(1),h(2)h(3),h(4)]
y=conv(x,h)
y(1)=x(1)*h(1); y(2)=x(1)*h(2)+x(2)*h(1)
y(3)=x(1)*h(3)+x(2)*h(2)+x(3)*h(1);
x(1),x(2),x(3),x(4),x(5)
h(4),h(3),h(2),h(1)
Note that the resulting sequence y(n) has a longer length than both the x(n)
and h(n) sequence.
ryx (n)
rxx (n)
Example 2.8
Difference Equation
k 0
m0
ak y (n k ) bm x(n m), n
m 0
k 1
bm x(n m) a k y(n k )
y = filter(b,a,x)
Example 2.9
m 0
k 1
bm x(n m) a k y (n k ), n 0
Digital filter
FIR filter
bm x(n m)
m 0
h(0)=b0,,h(M)=bM
Nonrecursive or moving average (MA) filter
Difference equation coefficients, {bm} and {a0=1}
Implementation in Matlab: Conv(x,h); filter(b,1,x)
IIR filter
k 0
ARMA filter
m 0
k 1
bm x(n m) a k y(n k ), n 0
filter(b,a,x);
%{bm}, {ak}
,2001 1
Exercises: