chapt2
Post on 11-Jan-2016
212 Views
Preview:
DESCRIPTION
TRANSCRIPT
Chapter 2. Discrete-Time Signals and Systems
Gao Xinbo
School of E.E., Xidian Univ.Xbgao@ieee.org
http://see.xidian.edu.cn/teach/matlabdsp/
Main Contents Important types of signals and their operations Linear and shift-invariant system
Easier to analyze and implement The convolution and difference equation
representations Representations and implementation of signal
and systems using MATLAB
Discrete-time signals Analog and discrete signals analog signal
t represents any physical quantity, time in sec. Discrete signal: discrete-time signal
N is integer valued, represents discrete instances in times
)(txa
)(nx
}),1(),0(),1(,{)}({)( xxxnxnx
Discrete-time signal In Matlab, a finite-duration sequence representation
requires two vectors, and each for x and n. Example:
Question: whether or not an arbitrary infinite-duration sequence can be represented in MATLAB?
}7,3,4,1,0,1,1,2{)( nx
];7,3,4,1,0,1,1,2[
];4,3,2,1,0,1,2,3[
x
n
Types of sequences Elementary sequence for analysis purposes 1. Unit sample sequence
Representation in MATLAB
,0,0,1,0,0,0,0
0,1)(
n
nn
201210
00 ,,
,0
,1)( nnnnnn
nn
nnnn
Function [x,n]=impseq(n0,n1,n2)
A: n=[n1:n2]; x = zeros(1,n2-n1+1); x(n0-n1+1)=1;
B: n=[n1:n2]; x = [(n-n0)==0]; stem(n,x,’ro’);
-3 -2 -1 0 1 2 30
0.2
0.4
0.6
0.8
1
n
(n
-n0)
-3<n<3
n0=0
2. Unit step sequence
,1,1,1,0,0,0,0
0,1)(
n
nnu
201210
00 ,,
,0
,1)( nnnnnn
nn
nnnnu
A: n=[n1:n2]; x=zeros(1,n2-n2+1); x(n0-n1+1:end)=1;
B: n=[n1:n2]; x=[(n-n0)>=0];
3. Real-valued exponential sequence
Rananx n ;,)(
For Example:
100,)9.0()( nnx n
n=[0:10]; x=(0.9).^n; stem(n,x,’ro’)
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
4. Complex-valued exponential sequence
nenx nj ,)( )( 0
Attenuation: 衰减因子frequency in radians:
For Example: n=[0:10]; x=exp((2+3j)*n);
5. Sinusoidal sequence
nnnx ),cos()( 0
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)
Generate a length N random sequence whose elements are uniformly distributed between [0,1]
Randn(1,N) Generate a length N Gaussian random sequence
with mean 0 and variance 1. en [0,1]
7. Periodic sequence A sequence x(n) is periodic if x(n)=x(n+N) The smallest integer N is called the
fundamental period For example A: xtilde=[x,x,x,…x] B: xtilde=x’*ones(1,P); xtilde=xtilde(:);
xtilde=xtilde’; transposition
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;
Y=y1 + y2;
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;
Y=y1 .* y2;
3. Scaling a{x(n)}={ax(n)}
5. folding
y(n)={x(n-k)} m=n-k; y=x;
4. Shifting
y(n)={x(-n)} y=fliplr(x); n=-fliplr(n);
6. Sample summation
ss = sum(x(n1:n2);
7. Sample production
sp = prod(x(n1:n2));
2
1
)()()( 21
n
nn
nxnxnx
)()()( 21
2
1
nxnxnxn
nn
8. Signal energy
se = sum(x .* conj(x)); or
se = sum(abs(x) .^ 2);
9. Signal power
nnx nxnxnx 2* |)(|)()(
1
0
2|)(|1 N
nx nx
NP
Examples Ex020100 – composite basic sequences Ex020200 – operation on sequences Ex020300 – complex sequence generation Ex020400 – even-odd decomposition
Some useful results Unit sample synthesis
Any arbitrary sequence can be synthesized as a weighted sum of delayed and scaled unit sample sequence.
Even and odd synthesis Even (symmetric): xe(-n)=xe(n) Odd (antisymmetric): xo(-n)=-xo(n) Any arbitrary real-valued sequence can be decomposed
into its even and odd component: x (n)=xe(n)+ xo(n)
k
knkxnx )()()(
)]()([2
1)(
)]()([2
1)(
nxnxnx
nxnxnx
o
e
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));
The geometric series A one-side exponential sequence of the form {an, n>=0},
where a is an arbitrary constant, is called a geometric series.
Expression for the sum of any finite number of terms of the series
1||,1
1
0
afor
aa
n
n
aa
aa
NN
n
n
,
1
11
0
Correlations of sequences It is a measure of the degree to which two sequences are
similar. Given two real-valued sequences x(n) and y(n) of finite energy,
Crosscorrelation
Autocorrelation
nyx lnynxlr )()()(,
nxx lnxnxlr )()()(,
The index l is called the shift or lag parameter.
The special case: y(n)=x(n)
Discrete Systems Mathematically, an operation T[.]
y(n) = T [ x(n)] x(n): excitation, input signal y(n): response, output signal
Classification Linear systems Nonlinear systems
Linear operation L[.] Iff L[.] satisfies the principle of superposition
The output y(n) of a linear system to an arbitrary input x(n)
is called impulse response, and is denoted by h(n,k)
)(),(,,
)]([)]([)]()([
2121
22112211
nxnxaa
nxLanxLanxanxaL
])([)()()()]([)(
nn
knLkxknkxLnxLny
)]([ knL
n
knhkxny ),()()(
h(n,k): the time-varying impulse response
Linear time-invariant (LTI) system A linear system in which an input-output pair is invariant to a shift n in
time is called a linear times-invariant system y(n) = L[x(n)] --- y(n-k) = L[x(n-k)]
The output of a LTI system is call a linear convolution sum
An LTI system is completely characterized in the time domain by the impulse response h(n).
)()]([),( knhknLknh
)(*)()()()]([)( nhnxknkkxnxLTInyk
Properties of the LTI system Stability
A system is said to be bounded-input bounded-output (BIBO) stable if every bounded input produces a bounded output.
Condition: absolutely summable
To avoid building harmful systems or to avoid burnout or saturation in system operation
n
nhStabilityBIBO |)(|
Properties of the LTI system Causality
A system is said to be causal if the output at index n0 depends only on the input up to and including the index n0
The output does not depend on the future values of the input
Condition: h(n) = 0, n < 0 Such a sequence is termed a causal sequence.
To make sure that systems can be built.
Convolution Convolution can be evaluated in many different ways
If the sequences are mathematical functions, then we can analytically evaluate x(n)*h(n) for all n to obtain a functional form of y(n)
Graphical interpretation, folded-and-shifted version Matlab implementation
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)
Function form of convolution
)()9.0(1)(*)()(
)()9.0()(),10()()(9
0
knunhnxny
nunhnununx
kn
k
n
Three different conditions under which u(n-k) can be evaluated:
Case 1: n<0 % the nonzero values of x(n)and y(n) do not overlap.
Case 2: 0<=n<9 % partially overlaps
Case 3: n>=9 % completely overlaps
Folded-and-shiftedSignals 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.
Sequence correlations revisited The correlation can be computed using the conv function if
sequences are of finite duration.
Example 2.8 The meaning of the crosscorrelation This approach can be used in applications like radar signal
processing in identifying and localizing targets.
kkxx
kkyx
nxnxnkxnxknxnxnr
nxnynkxnyknxnynr
)(*)())(()()()()(
)(*)())(()()()()(
Difference Equation An LTI discrete system can also be described by a linear
constant coefficient difference equation of the form
If aN ~= 0, then the difference equation is of order N It describes a recursive approach for computing the
current output,given the input values and previously computed output values.
nmnxbknyaM
mm
N
kk
,)()(
00
M
m
N
kkm knyamnxbny
0 1
)()()(
Solution of difference equation y(n) = yH(n) + yP(n)
Homogeneous part: yH(n) Particular part: yP(n)
Analytical approach using Z-transform will be discussed in Chapter 4
Numerical solution with Matlab y = filter(b,a,x)
Example 2.9
Zero-input and Zero-state response In DSP the difference equation is generally solved forward in
time from n=0. Therefore initial conditions on x(n) and y(n) are necessary to determine the output for n>=0.
Subject to the initial conditions:
0,)()()(0 1
nknyamnxbnyM
m
N
kkm
}1);({}1);({ nMnxandnNny
)()()( nynyny ZSZI Solution:
Zero-input and Zero-state response
yZI(n): zero-input solution A solution due to the initial conditions alone
yZS(n): zero-state solution A solution due to input x(n) alone
Digital filter Discrete-time LTI systems are also called digital filter. Classification
FIR filter & IIR filter FIR filter
Finite-duration impulse response filter Causal FIR filter
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)
M
mm mnxbny
0
)()(
IIR filter Infinite-duration impulse response filter Difference equation
Recursive filter, in which the output y(n) is recursively computed from its previously computed values
Autoregressive (AR) filter
N
kk nxknya
0
)()(
ARMA filter Generalized IIR filter
It has two parts: MA part and AR part Autoregressive moving average filter, ARMA Solution
filter(b,a,x); %{bm}, {ak}
0,)()()(0 1
nknyamnxbnyM
m
N
kkm
Reference and Assignment Textbook: pp1 to pp35 Chinese reference book: pp1 to pp18
丁玉美、高西全编的“数字信号处理”(第二版),西电出版社 ,2001年 1月
Exercises: Textbook: p2.1b,c; p2.2b,d; 选 2.5 Textbook: P2.12b, 2.15, 2.17b, 选 2.8
top related