0 e: \' d9 g( a- x9 g/ u 数字信号处理matlab——系统响应和系统稳定 7 v" E* j% g( G. L, e时域中,描绘系统特性的方法是差分方程和单位脉冲响应。" u3 ~ h: x! D( t
频域中,描绘系统特征的方法可以是系统函数! ^. H6 @. S% X, d
系统线性时不变特性,因果性,稳定性! ~# U* \) ^) S+ I) S6 x
稳定性是对于任意有界的输入信号,系统能得到有界的响应。 2 S, D" U5 V' M: \2 k# B3 a系统的单位脉冲响应满足绝对可和7 G. V. d- m+ c' ^/ U
系统稳定性可以从差分方程系数得出 ! ^8 o9 D$ j2 e8 a检查系统稳定性最普遍的做法是:输入单位阶跃序列,当n→∞,系统输出趋近于一个常数,那么系统是稳定的* C, |& ` ~0 |
* G* X6 O6 d. ]" f" M* b) z& }, n( \! L+ s
例一# A: R+ c0 ^$ k: o- D' |: x
给定一个差分方程 $ l4 P2 i5 M7 I; x7 K6 Xy(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1) " U% b$ ~. Y9 M$ ^ A输入信号x(n)=R8(n)" ~, _9 H8 s, m9 x. G+ z+ Q2 G2 L
求x(n)的系统响应,画出波形 % c7 t" Z* ^+ B求出单位脉冲响应( z. \ r( o6 r0 G/ l2 L1 j
. f5 {3 M; s D c: l
: ^& N& `0 o3 Q' e; L' ]clc 8 J3 S- |9 u% c: ]# ]close all; 4 \; {1 e0 _) _5 Kclear all; . K( }9 c+ h5 A, |) iA=[1,-0.9]; 0 R" N7 S z4 D6 l/ eB=[0.05,0.05];/ {! Q' [* d# l2 x5 _
xn=[ones(1,8),zeros(1,42)]; ! ^' [; B- }( J1 un=0:length(xn)-1; ' L' ^: e" f( \% a[hn,n]=impz(B,A,length(xn)); ( Z6 S9 V. e; U" X: f# X; _7 Lyn=filter(B,A,xn); ) N1 I5 w% a9 Q( m( S# v& pfigure , [! J J0 B$ V6 f; n% n0 ysubplot(2,1,1);0 F& L& {. y8 X! y
xlabel('n'); 4 S' ~1 S3 a' l- @. [1 z- Hylabel('y(n)'); 7 T6 d5 a' w0 z3 a- Istem(n,yn,'.');( X) d) H! s: f$ R( T7 |
axis([0,length(n),min(yn),1.2*max(yn)]);' G. U! Y* ?! ]6 ~# X" H2 l
title('System response to R8(n)'); 8 D: N6 D( P" j, z- i) K) I. h/ n* {" u+ L7 W
: _" z9 W Z0 }" X
subplot(2,1,2); 9 L& z6 `9 f6 r( r# \8 e4 `xlabel('n'); ; I; ], L3 ^- Q. O% aylabel('h(n)');+ y2 ?) J$ s# d& s
stem(n,hn,'.');& u' r" J" k+ Y2 O, [7 x5 j" k
axis([0,length(n),min(hn),1.2*max(hn)]);4 k% e* N) U# X
title('System unit impulse response'); * \: B/ r% T# B8 M% I. n1 ' m$ t0 f( X _) q. n7 Q1 c2 3 g' b' z! B8 O3 [& W+ c3! ]% H) Y. I! a$ l$ H" V% X
4 1 H6 n6 g" j* d6 e7 H6 q4 a7 f5+ N) X+ E" d* S! S' w
6 ) C2 s* s$ V! Y$ ?2 S2 v7; V/ _2 W) i) X% ^) G1 r
8" S2 }6 d" u' P3 a
96 ~1 ?2 g A9 m) t% Q3 T
10 - x4 Z2 O w) B4 E112 C/ e9 V( P! L. j# n. v w
12 * y, p; \; W3 y* R% S5 m$ `. }% D13 9 Z2 f; H* ^) [4 m5 `4 ?14 1 c( A/ \1 o8 b. A1 `1 C15 ! U) d6 N1 Q# q- W6 y16" ~* q8 f F- ^ `- ~5 W
17 # C6 ^( r8 r' E8 r7 p18! N8 ~: p+ l! v" }
19+ d% }4 @+ o/ }! t* i" V
20$ _* r2 W" ^* c3 C! j* u: o
21, _, R" }3 c3 ]- @' V. z
22$ p# C5 ^ h( m& h+ b' z2 W
23 $ S4 f+ [& t; w& d+ @( A3 x4 O9 W: w$ q2 j1 T' g. Y
9 G' y [# j- r& P/ o 8 ?6 ^% v& K B t3 L$ J* m% p; u* H7 v+ p
信号经过低通滤波器,信号的高频被过滤,时域信号的变化减缓,在有阶跃处附近产生过渡带。因此输入矩形序列时,输出序列的开始和终了都产生明显的过渡带。输入为单位阶跃时,中了也产生明显过渡带3 ?4 Z; `4 c* B5 q
0 p4 A$ K. f) F w3 L$ ~# n1 E" |' c/ i/ g
例二, N6 q$ U& j# ?* S
给定一个差分方程, {1 R' O3 ~7 |, c! t, u( @
y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1)3 K' f A) p% x7 _) G
输入信号x(n)=u(n) - l& O0 z7 c% R1 z: D# W/ k9 x- J. Y求x(n)的系统响应,画出波形7 H* [" r) q7 D O8 v* e
求出单位脉冲响应: Y# O' i8 k9 \6 f7 t
% @9 w" x: X' m* v% u* C* y' Z , y4 \3 F* @/ Q0 ^& P1 Z$ ]' v. G$ ?clc 1 [2 R( @( }0 p; L* o( G( bclose all; ; l; \6 M% I z3 Sclear all;* H; T& N/ H! a! _+ X8 o
A=[1,-0.9];/ c2 l8 u) D J' N7 ]
B=[0.05,0.05]; 0 k" w4 p9 u: O& }xn=ones(1,100);4 O- A- W# x4 N6 L) Q* N, {
n=0:length(xn)-1; ' G8 o$ y! {( b6 P3 J; A* [) \[hn,n]=impz(B,A,length(xn)); $ j/ e* i3 D5 d! {yn=filter(B,A,xn); # J$ e. b4 w& Z" L0 U b* qfigure: A, W4 V% R+ X' r$ {
subplot(2,1,1);: f- k" p% I- ~- M; f& Q4 m
xlabel('n'); [: I0 x; @3 U Yylabel('y(n)');5 ~9 C$ r) `* ?2 x- J' j' Q9 ?
stem(n,yn,'.'); ; M9 a8 l @" b$ Naxis([0,length(n),min(yn),1.2*max(yn)]); S# i' T2 G* t+ Z/ q3 d9 s
title('System response to u(n)'); 2 R+ k2 x) L. h; w 5 C4 |: ?( S1 l: }4 T8 _% ^7 G& u / Q5 @* k) V8 b8 v `6 ssubplot(2,1,2);7 l/ m" y* ~* T7 \+ V! A0 ]
xlabel('n'); 3 E0 M' t0 a, B7 G5 i9 Bylabel('h(n)'); ! p. k |+ n, c; ~: Ystem(n,hn,'.'); 4 e$ S' n6 J# {6 Raxis([0,length(n),min(hn),1.2*max(hn)]); p8 D9 T9 ]- {title('System unit impulse response');5 o# j5 a1 V0 g6 x B" v
10 x) e, D6 w: m4 w- m2 ]
2 5 Z- ~ B& w5 x- Z5 v1 p3+ n' g: N# G6 t3 Y- H/ i
4 W1 O4 I4 U$ W& K) x# L
5 , A4 n2 X8 R% e/ i; [# U% E) t; X6 7 v- U" D+ o0 `# N; s7) g1 \+ J3 y) z" E+ ^
8 3 J, [6 H/ G/ O5 Y' B4 O; V9 , l$ W0 D( R' K0 G" O0 g10 : c1 P9 F3 O1 \11 $ W8 Y- ^: h( `, j" F! T125 [% z$ Y; Q& w0 C3 W; ]' G
131 |7 Y5 t, S- H3 k% k; F! d
14! k# z o" S' U" n
15 6 j3 O- y6 ~( l; P8 G0 S% r& k. ]9 r16/ ?# ^+ J* G7 Z9 R+ R# S% w
17 ' |8 a4 E6 V% \18 6 e% ]' ]: v# D) v19" q+ R3 [ R8 t O+ {8 d
20* `% z5 V- P" Z& J
216 O, g# Y `2 ^( b) h
22 " X! U& Y# c* d23. [4 @, o% e; B- ?0 i
5 b. u! e# k) w3 c! j) R : K2 o1 o& B6 O, p9 K" l5 Q9 }9 y9 K! P6 u! i( r
7 M1 ?6 O! h) ~1 S
例三 ; h) F) }* G; Y1 i) Q- R/ T给定系统的单位脉冲响应h(n)=R10(n), 3 k s- E, w- D% P+ T5 Q) p用线性卷积法求x(n)=R8(n)对系统h(n)的输出响应y(n)" u. A) {1 _" x7 M5 B* K- M
5 B t) Y' Q' Z- M7 }5 s
3 S. Z a- f( W; A( g# N
clc / J1 q/ s3 w; D# _close all;& D8 B0 H5 b( _. p7 z" z
clear all;3 H( ~$ c$ o. ]! \4 w
xn=ones(1,8);) H: j% C' S6 R7 w4 H
n=0:length(xn)-1;# v- Q, r ?* _+ g7 @7 E% {! Y+ F& w9 r
figure $ {: o' X( E6 f3 x3 hsubplot(3,1,1); ) {7 l+ N+ q. Y+ p) h- d1 C! {stem(n,xn,'.'); 0 h T; q! E$ `' x' lxlabel('n');$ m/ j. s3 _ J, P6 C/ s z0 g- L
ylabel('xn'); " m, P3 E1 e. _* a2 M& i+ maxis([0,30,0,1.2*max(xn)]);- g8 _4 c+ G& n- I! y
1 M3 @ _3 l+ d, m1 Z& M; p) K4 Y- W
hn=[ones(1,10),zeros(1,10)];) F$ L+ M. t! J, Y
m=0:length(hn)-1;( l L( u# t: H
subplot(3,1,2); 9 O+ N" Y6 g! W. t# w6 _stem(m,hn,'.');6 p. ^- y+ F% U$ _* f% x
xlabel('m');4 A0 z, i& {' B9 G. p
ylabel('hn');$ ?& A( I0 K9 S
axis([0,30,0,1.2*max(hn)]);: b$ e% e7 A! a6 B9 E( F' `
/ b; f0 _6 i* M& v6 V
% a9 a* B! [9 ^# Z
yn=conv(hn,xn) ) B, ?) n, r' o3 U+ B' Rl=0:length(xn)+length(hn)-2;7 {& ^" |2 B0 V. U; l
subplot(3,1,3);5 Y( Z4 B/ t" n. }
stem(l,yn,'.'); O, f" b2 _/ o2 _7 z; |" sxlabel('l'); 1 ? R! D7 a9 [# p1 N+ Xylabel('yn');2 l3 c* h9 a$ X! s/ y
axis([0,30,0,1.2*max(yn)]); & [7 g) z2 H2 Y: @# a* h! I; P2 A; Y3 \
! ~$ G2 }5 |2 ^5 a5 X1# L3 p$ u# `3 B3 o* k E
2 7 A) m2 ^$ Z2 n( D# J9 J) M3! s8 U/ ^! v1 l& O. J
4 9 W& r b) p1 \" I5+ Y/ w/ A- y" G+ k- u# K" N
6/ H: i: ^5 |2 G
70 ~! M6 |' ]9 A1 P5 k
8! I3 X2 O {: w2 e
93 T4 d6 i9 i3 H# K. x- p% Q8 ]
10 5 w2 Q, C% n! g/ M; H11 : X9 h# Z7 N; o- d! O* G12) z% R+ D' V0 l( J. c
13 0 b( ~% g- d) f2 A; I( K14; U3 B8 v% l! Y. e8 ]5 w" f
15/ n0 G# n2 c& K1 t
16 / p/ T" |# _$ i* J17 4 ~% y5 V- q' L% @' l L18 / ~2 _" N6 R4 f( @8 @19 2 `9 Y# o5 d& Y' Y207 _" p5 l) W: m- u
214 _. {6 B) o6 x3 g
22' a, s* x, R$ M/ i
233 _% K7 u: R [1 c {6 X9 K
24 ! ^2 e; [# g( X0 h25 0 j0 o, @5 Z( v# Q; e ~% y261 u3 F: M9 u$ v- T6 G! X( N% n: A
27 ; F. n" F, m# _8 f; U+ r28+ q9 O' p$ T* d' _- Q" i
8 N, R5 M5 K1 d3 p: r; ]9 f0 F3 Y% V
/ I# ] ]" l. W0 T
' ^8 z0 v7 b& s/ m
例四8 D* v5 V0 |( V5 R0 M5 m
给定系统的单位脉冲响应h(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3) 9 | B H4 q5 z用线性卷积法求x(n)=R8(n)对系统h(n)的输出响应y(n) 5 l- i. P a1 g " G: T) J [+ S7 `- d; t! r0 ^% Y0 B- ~ B! x# g
clc # M# j- q5 y5 H- Y: Uclose all; ) N" f& P! F$ d8 w9 Iclear all;3 v/ F) I7 U. K- H F$ e' J
xn=ones(1,8);. s7 k0 y/ ?* ?; u8 [$ M u( ?
n=0:length(xn)-1;( ?( H0 h" r. d7 K3 i
figure5 N- @" j+ O% _( C
subplot(3,1,1); $ y7 ]# e% p/ Tstem(n,xn,'.'); % X7 r, i# O- n; _" R$ K$ Nxlabel('n'); , [" E/ ]8 |9 g! o- G) Qylabel('xn'); 7 T1 W/ G- `' _; Q+ U4 ]* }axis([0,20,0,1.2*max(xn)]);/ Q, x5 f6 e5 w" t* @7 H
2 ]1 l( c0 j( r
# l- G% g! b0 F" y
hn=[1,2.5,2.5,1,zeros(1,6)];, p/ Q4 h) {5 F
m=0:length(hn)-1;4 O+ ^7 @ [3 Z; @) o( z" h
subplot(3,1,2); ) j: N* a( |! istem(m,hn,'.'); 2 A0 X( e- N* F8 Axlabel('m'); : m# @" z0 k" C& f2 p+ n% i4 Q( h7 \ylabel('hn'); 3 s8 Q2 v' o# k% ^6 G- N. Maxis([0,20,0,1.2*max(hn)]);+ o D/ J& c3 s9 Z7 \
. X- W7 L/ J" H: {
0 [5 k# J: V7 j& |' i, a3 n2 H x
yn=conv(hn,xn)( }' E& L3 P( E3 s
l=0:length(xn)+length(hn)-2; - `7 @% r9 Q5 Z( fsubplot(3,1,3); 8 ?* x, }2 `8 A1 M- a) Rstem(l,yn,'.'); ; O! m' V8 C, y7 \. f. l/ v/ rxlabel('l');: y9 U( T: E* i; P/ E
ylabel('yn'); & }1 R! Q8 o1 J, v" kaxis([0,20,0,1.2*max(yn)]);. R+ a, q, g0 R0 q) \! b
; l, ]7 s6 ^8 j, }: k, E 0 i7 N& {, y; P7 l+ _1( P7 y* ~3 a, |% D! U1 E* z
2 s( q0 t' m$ T: F3 ( D7 A- p) k& X6 v4 3 w3 \3 `1 [! L6 i0 h51 N$ B2 Q. N) [/ |4 A: C
6! C$ w& s; Z% {! j0 ?! f
75 y- u" v+ f( K! B$ r% M& W
8 ' i, D, X9 T! U. e( j3 @8 I9 2 R% Z' P- L! m ]2 C10 & w7 N: V6 H- `9 T11 9 t1 H9 R6 F/ p" X12 ! J s$ q, Y# S( L+ Q# T13 ) Y) q7 L- O) h- x5 l14 ) ^! \. W' b8 @& M- g2 ?15 7 J _$ G* C3 @& J8 X16 1 y% O: K6 r4 L2 j( f/ E17 3 T' {4 G: o( Q8 e1 ]: J# Z2 ^183 S7 w$ W8 {; _7 |7 U( a
19 2 f! @( w7 f; w% |% r( M: I7 j20% |5 D7 j2 ? Z5 ]9 e
21 g& _8 N. h8 `- C22% C; \: ^0 y% J3 j0 d
23# J: y, L0 r3 O. O
24 & e' B0 E, l+ Y& l% }25. Z+ ^ B2 Q T( L
26 3 G5 v( ^0 n& z* t! h27 ( W) U0 m2 v/ p: G% I28 , W) Q. V/ O2 D8 \+ `) E * \8 F" X6 o2 z+ j, l# ~ 4 h) K" _3 T9 C- n+ X- b1 N+ h( t" ~6 m$ [) X
- x7 X( b; k- H1 C3 p
例五 + v2 o: B7 D' B& m/ Xy(n)=1.8237y(n-1)-0.9801y(n-2)+1/100.49x(n)-1/100.49x(n-2) ) ~% E- ~/ D7 X, N6 ]15 q* Z# N7 K. ~/ y! Y- M6 x2 q
谐振器的谐振频率为0.4rad ( q" `2 ~& _% G g2 c输入信号为u(n),输出为y(n)- Y8 R& R6 Q' J* Z9 b, G
求系统的稳定性和输出波形* `- l3 d q+ |% C8 {( U5 Y* |
, H8 e0 w5 d1 _( i3 K
" G& H; H, W* f, a; z% K/ {5 v
clc- S; l6 v; w6 |# q) l
close all;4 k" f' M! J7 O
clear all;! E- `& |. Q4 v. w" ?$ x' h8 l
un=ones(1,256); 5 a! q# _2 n9 ?; pn=0:length(un)-1; + D2 X" t5 m; j4 p$ x0 OA=[1,-1.8237,0.9801];/ j3 Q& ?9 m; J/ \0 C, Z- b7 \+ B' Y
B=[1/100.49,0,-1/100.49];+ L4 o- m# D0 l$ {! N. y
yn=filter(B,A,un); / G8 C" R2 z' m2 c: |0 A+ Qfigure( ?$ y, r+ s, A) i* Q8 E; d
stem(n,yn,'.');' @ k0 D1 r2 }! K& Y
xlabel('n');8 |* z+ N. @+ Y3 T
ylabel('yn');& ^$ y% U# Y" C& X( S/ A
axis([0,length(un),1.2*min(yn),1.2*max(yn)]); ; t. p2 N0 o0 R' j3 r; Y" K- P3 o5 f4 e( H5 F( ^
2 ~: w# h. p# T' B; S/ }
1% C* i$ T# w( Y% h) e5 r
2+ j2 f. l, B6 q$ y
3- \+ I/ S) |7 p' x
4- o7 y4 g+ v6 n5 a8 |
5+ _8 U: P4 `) _, \7 g9 I5 l0 B
67 I: u' f' Y) z5 L- F5 g" W& l
7 5 v# e; [. H! _% ?' z2 {8' t% m; \# e3 @3 m, F" A
93 ?( W, k. g0 I/ D: n5 k* Z6 E4 v
10 3 C8 [/ E j" j11! x8 [) [, @) q7 w& C
122 E" \7 P; D& n
13 z/ x4 u& K" E4 l7 e4 F14 v% \6 X# ] C- r