ÓÐʱ£¬ÎªÁËʹͼÐξßÓпɶÁÐÔ£¬ÐèÒªÔÚËù»æÖƵÄͼÐÎÖУ¬¼ÓÉÏÒ»Ð©Íø¸ñÏßÀ´·´Ó³Ðźŵķù¶È´óС¡£MATLABÖеÄgrid on/grid off¿ÉÒÔʵÏÖÔÚÄãµÄͼÐÎÖмÓÍø¸ñÏß¡£
grid on£ºÔÚͼÐÎÖмÓÍø¸ñÏß¡£ grid off£ºÈ¡ÏûͼÐÎÖеÄÍø¸ñÏß¡£
x = input(¡®Type in signal x(t) in closed form:¡¯) ÔÚ¡¶ÐźÅÓëϵͳ¡·¿Î³ÌÖУ¬µ¥Î»½×Ô¾ÐźÅu(t) ºÍµ¥Î»³å¼¤ÐźŦÄ(t) ÊǶþ¸ö·Ç³£ÓÐÓõÄÐźš£ËüÃǵ͍ÒåÈçÏÂ
?t?????(t)dt?1t?0 1.1(a)
?(t)?0,?1,u(t)???0,t?0 1.1(b) t?0ÕâÀï·Ö±ð¸ø³öÏàÓ¦µÄ¼òµ¥µÄ²úÉúµ¥Î»³å¼¤Ðźź͵¥Î»½×Ô¾ÐźŵÄÀ©Õ¹º¯Êý¡£²úÉúµ¥Î»³å¼¤ÐźŵÄÀ©Õ¹º¯ÊýΪ£º
function y = delta(t) dt = 0.01;
y = (u(t)-u(t-dt))/dt;
²úÉúµ¥Î»½×Ô¾ÐźŵÄÀ©Õ¹º¯ÊýΪ£º % Unit step function function y = u(t)
y = (t>=0); % y = 1 for t > 0, else y = 0
Ç뽫Õâ¶þ¸öMATLABº¯Êý·Ö±ðÒÔdelta ºÍuΪÎļþÃû±£´æÔÚworkÎļþ¼ÐÖУ¬ÒԺ󣬾ͿÉÒÔÏñ½Ì²ÄÖеķ½·¨Ê¹Óõ¥Î»³å¼¤ÐźŦÄ(t) ºÍµ¥Î»½×Ô¾ÐźÅu(t)¡£
2.2Àëɢʱ¼äÐźŵķÂÕæ
³ÌÐòProgram1_2ÓÃÀ´²úÉúÀëɢʱ¼äÐźÅx[n]=sin(0.2¦Ðn)¡£
% Program1_2
% This program is used to generate a discrete-time sinusoidal signal and draw its plot clear, % Clear all variables
close all, % Close all figure windows n = -10:10; % Specify the interval of time x = sin(0.2*pi*n); % Generate the signal
stem (n,x) % Open a figure window and draw the plot of x[n] title ('Sinusoidal signal x[n]') xlabel ('Time index n')
Çë×ÐϸÔĶÁ¸Ã³ÌÐò£¬±È½Ï³ÌÐòProgram1_1ºÍProgram1_2ÖеIJ»Í¬Ö®´¦£¬ÒÔ±ã×Ô¼º±à³ÌʱÄܹ»ÕýȷʹÓÃÕâÖÖ·½·¨·½ÕëÁ¬ÐøÊ±¼äÐźźÍÀëɢʱ¼äÐźš£ ³ÌÐòProgram1_3ÓÃÀ´·ÂÕæÏÂÃæÐÎʽµÄÀëɢʱ¼äÐźţº x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ¡.} ¡ün=0
6
% Program1_3
% This program is used to generate a discrete-time sequence % and draw its plot
clear, % Clear all variables
close all, % Close all figure windows
n = -5:5; % Specify the interval of time, the number of points of n is 11. x = [0, 0, 0, 0, 0.1, 1.1, -1.2, 0, 1.3, 0, 0]; % Generate the signal
stem(n,x,'.') % Open a figure window and draw the plot of x[n] grid on,
title ('A discrete-time sequence x[n]') xlabel ('Time index n')
ÓÉÓÚÔÚ³ÌÐòµÄstem(n,x,'.') Óï¾äÖмÓÓÐ'.'Ñ¡ÏÒò´Ë»æÖƵÄͼÐÎÖÐÿ¸ù°ôÌõÏߵĶ¥¶ËÊÇÒ»¸öʵÐĵ㡣
Èç¹ûÐèÒªÔÚÐòÁеÄǰºó²¹½Ï¶àµÄÁãµÄ»°£¬¿ÉÒÔÀûÓú¯Êýzeros()£¬ÆäÓ﷨Ϊ£º
zeros(1, N)£ºÔ²À¨ºÅÖеÄ1ºÍN±íʾ¸Ãº¯Êý½«²úÉúÒ»¸öÒ»ÐÐNÁеľØÕ󣬾ØÕóÖеÄËùÓÐÔªËØ¾ùΪÁã¡£ÀûÓÃÕâ¸ö¾ØÕóÓëÐòÁÐx[n]½øÐÐ×éºÏ£¬´Ó¶øµÃµ½Ò»¸ö³¤¶ÈÓënÏàµÈµÄÏòÁ¿¡£
ÀýÈ磬µ± x[n]={ 0.1, 1.1, -1.2, 0, 1.3} ʱ£¬ÎªÁ˵õ½³ÌÐòProgram1_3ÖеÄÐòÁУ¬ ¡ün=0
¿ÉÒÔÓÃÕâ¸öMATLABÓï¾äx = [zeros(1,4) x zeros(1, 2)] À´ÊµÏÖ¡£ÓÃÕâÖÖ·½·¨±àдµÄ³ÌÐòÈçÏ£º
% Program1_4
% This program is used to generate a discrete-time sinusoidal signal % and draw its plot
clear, % Clear all variables
close all, % Close all figure windows n = -5:5; % Specify the interval of time
x = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; % Generate the sequence stem (n,x,'.') % Open a figure window and draw the plot of x[n] grid on,
title ('A discrete-time sequence x[n]') xlabel ('Time index n')
Àëɢʱ¼äµ¥Î»½×Ô¾ÐźÅu[n]¶¨ÒåΪ u[n]???1,?0,n?0 1.2 n?0Àëɢʱ¼äµ¥Î»½×Ô¾ÐźÅu[n]³ýÁËÒ²¿ÉÒÔÖ±½ÓÓÃÇ°Ãæ¸ø³öµÄÀ©Õ¹º¯ÊýÀ´²úÉú£¬»¹¿ÉÒÔÀûÓÃMATLABÄÚ²¿º¯Êýones(1,N) À´ÊµÏÖ¡£Õâ¸öº¯ÊýÀàËÆÓÚzeros(1,N)£¬Ëù²»Í¬µÄÊÇËü²úÉúµÄ¾ØÕóµÄËùÓÐÔªËØ¶¼Îª1¡£
ÖµµÃ×¢ÒâµÄÊÇ£¬ÀûÓÃones(1,N) À´ÊµÏֵĵ¥Î»½×Ô¾ÐòÁв¢²»ÊÇÕæÕýµÄµ¥Î»½×Ô¾ÐòÁУ¬¶øÊÇÒ»¸ö³¤¶ÈΪNµ¥Î»ÃÅ(Gate)ÐòÁУ¬Ò²¾ÍÊÇu[n]-u[n-N]¡£µ«ÊÇÔÚÒ»¸öÓÐÏÞµÄͼÐδ°¿ÚÖУ¬ÎÒÃÇ¿´µ½µÄ»¹ÊÇÒ»¸öµ¥Î»½×Ô¾ÐòÁС£
ÔÚ»æÖÆÐźŵIJ¨ÐÎͼʱ£¬ÓÐʱÎÒÃÇÐèÒª½«Èô¸É¸öͼÐλæÖÆÔÚͼһ¸öͼÐδ°¿ÚÖУ¬Õâ¾ÍÐèÒª
7
ʹÓÃMATLABµÄͼÐηָÊýsubplot()£¬ÆäÓ÷¨ÊÇÔÚ»æÍ¼º¯Êýstem»òplot֮ǰ£¬Ê¹ÓÃͼÐηָÊýsubplot(n1,n2,n3)£¬ÆäÖеIJÎÊýn1£¬n2ºÍn3µÄº¬ÒåÊÇ£¬¸Ãº¯Êý½«°ÑÒ»¸öͼÐδ°¿Ú·Ö¸î³Én1xn2¸ö×Óͼ£¬¼´½«»æÖƵÄͼÐν«»æÖÆÔÚµÚn3¸ö×ÓͼÖС£
2.3ÐźŵÄʱÓò±ä»» 2.3.1 ÐźŵÄÊ±ÒÆ
ÐźŵÄÊ±ÒÆ¿ÉÓÃÏÂÃæµÄÊýѧ±í´ïʽÀ´ÃèÊö£º
ÉèÒ»¸öÁ¬ÐøÊ±¼äÐźÅΪx(t)£¬ËüµÄÊ±ÒÆy(t) ±íʾΪ£º
y(t) = x(t - t0) 1.3
ÆäÖУ¬t0ÎªÎ»ÒÆÁ¿¡£Èôt0ΪÕýÊý£¬Ôòy(t)µÈÓÚ½«x(t)ÓÒÒÆt0ÃëÖ®ºóµÄ½á¹û¡£·´Ö®£¬Èôt0Ϊ¸ºÊý£¬Ôòy(t)µÈÓÚ½«x(t)×óÒÆt0ÃëÖ®ºóµÄ½á¹û¡£
ÔÚMATLABÖУ¬Ê±ÒÆÔËËãÓëÊýѧÉÏϰ¹ß±í´ï·½·¨ÍêÈ«Ïàͬ¡£ ³ÌÐòProgram1_5¶Ô¸ø¶¨Ò»¸öÁ¬ÐøÊ±¼äÐźÅx(t) = e-0.5tu(t)£¬¶ÔËü·Ö±ð×óÒÆ2ÃëÖÓºÍÓÒÒÆ2ÃëÖӵõ½ÐźÅx1(t) = e-0.5(t+2)u(t+2)ºÍx2(t) = e-0.5(t-2)u(t-2)¡£
% Program1_5
% This program is used to implement the time-shift operation
% on a continuous-time signal and to obtain its time-shifted versions % and to draw their plots. clear,close all, t = -5:0.01:5;
x = exp(-0.5*t).*u(t); % Generate the original signal x(t)
x1 = exp(-0.5*(t+2)).*u(t+2); % Shift x(t) to the left by 2 second to get x1(t) x2 = exp(-0.5*(t-2)).*u(t-2); % Shift x(t) to the right by 2 second to get x2(t) subplot(311)
plot(t,x) % Plot x(t) grid on,
title ('Original signal x(t)') subplot (312)
plot (t,x1) % Plot x1(t) grid on,
title ('Left shifted version of x(t)') subplot (313)
plot (t,x2) % Plot x2(t) grid on,
title ('Right shifted version of x(t)') xlabel ('Time t (sec)')
2.3.2 ÐźŵÄʱÓò·´ñÞ
¶ÔÒ»¸öÐźÅx[n]µÄ·´ñÞÔËËãÔÚÊýѧÉϱíʾΪ
y[n] = x[-n] 1.4
ÕâÖÖ·´ñÞÔËË㣬ÓÃMATLABʵÏÖÆðÀ´Ò²ÊǷdz£¼òµ¥µÄ¡£ÓжàÖÖ·½·¨¿ÉÒÔʵÏÖÐźŵķ´ñÞ
8
ÔËËã¡£
·½·¨Ò»£¬Ð޸ĻæÍ¼º¯Êýplot(t,x)ºÍstem(n,x)ÖеÄʱ¼ä±äÁ¿tºÍn£¬¼´ÓÃ-tºÍ-nÌæ´úÔÀ´µÄtºÍn£¬ÕâÑù»æÖƳöÀ´µÄͼÐΣ¬¿´ÆðÀ´¾ÍÊÇÔÐźžʱÓò·´ñÞºóµÄ°æ±¾¡£
·½·¨¶þ£¬Ö±½ÓÀûÓÃÔÐźÅÓëÆä·´ñÞÐźŵÄÊýѧ¹ØÏµÊ½À´ÊµÏÖ¡£ÕâÖÖ·½·¨×î·ûºÏÐźŷ´ñÞÔËËãµÄʵ¼ÊÒâÒå¡£
·½·¨Èý£¬Ê¹ÓÃMATLABÄÚ²¿º¯Êýfliplr()À´ÊµÏÖÐźŵķ´ñÞÔËËã¡£ÆäÓ÷¨ÈçÏ£º y = fliplr(x)£ºÆäÖÐxΪÔÐźÅx(t)»òx[n]£¬¶øyÔòΪxµÄʱÓò·´ñÞ¡£ÐèҪ˵Ã÷µÄÊÇ£¬º¯Êýfliplr()¶ÔÐźÅ×÷ʱÓò·´ñÞ£¬½ö½ö½«ÐźÅÖи÷¸öÔªËØµÄ´ÎÐò×÷ÁËÒ»¸ö·´×ª£¬ÕâÖÖ·´×ª´¦ÀíÊǶÀÁ¢ÓÚʱ¼ä±äÁ¿tºÍnµÄ¡£Òò´Ë£¬Èç¹ûÐźÅÓëÆäʱ¼ä±äÁ¿Äܹ»ÓÃÒ»¸öÊýѧº¯ÊýÀ´±í´ïµÄ»°£¬ÄÇô½¨Ò齫ʱ¼ä±äÁ¿tºÍnµÄ·¶Î§Ö¸¶¨ÔÚÒ»¸öÕý¸º¶Ô³ÆµÄʱ¼äÇø¼ä¼´¿É¡£
2.3.3 ÐźŵÄʱÓò³ß¶È±ä»»
ÐźÅx(t)µÄʱÓò³ß¶È±ä»»ÔÚÊýѧÃèÊöΪ
y(t) = x(at)£¬ 1.5
ÆäÖÐaΪÈÎÒâ³£Êý¡£¸ù¾ÝaµÄ²»Í¬È¡Öµ£¬ÕâÖÖʱÓò³ß¶È±ä»»¶ÔÐźÅx(t)¾ßÓзdz£²»Í¬µÄÓ°Ïì¡£ µ±a = 1ʱ£¬y(t) = x(t)£»
µ±a = -1ʱ£¬y(t) = x(-t)£¬¼´y(t)¿ÉÒÔͨ¹ý½«x(t)·´ñÞÔËËã¶øµÃµ½£» µ±a > 1ʱ£¬y(t) = x(at)£¬y(t)Êǽ«x(t)ÔÚʱ¼äÖáÉϵÄѹËõ¶øµÃµ½£» µ±0 < a < 1ʱ£¬y(t) = x(at)£¬y(t)Êǽ«x(t)ÔÚʱ¼äÖáÉϵÄÀ©Õ¹¶øµÃµ½£»
µ± -1 < a < 0ʱ£¬y(t) = x(at)£¬y(t)Êǽ«x(t)ÔÚʱ¼äÖáÉϵÄÀ©Õ¹Í¬Ê±·×ª¶øµÃµ½£» µ± a < -1ʱ£¬y(t) = x(at)£¬y(t)Êǽ«x(t)ÔÚʱ¼äÖáÉϵÄѹËõͬʱ·×ª¶øµÃµ½£»
Óɴ˿ɼû£¬ÐźŵÄʱÓò³ß¶È±ä»»£¬³ýÁ˶ÔÐźŽøÐÐʱÓòѹËõ»òÀ©Õ¹Í⣬»¹¿ÉÄܰüÀ¨¶ÔÐźŵÄʱÓò·´ñÞÔËË㡣ʵ¼ÊÉÏ£¬MATLABÍê³Éʽ1.5µÄÔËË㣬²¢²»ÐèÒªÌØÊâµÄ´¦Àí£¬°´ÕÕÊýѧÉϵij£¹æ·½·¨¼´ÄÜÍê³É¡£
2.3.4ÖÜÆÚÐźÅ
ÔÚ¡¶ÐźÅÓëϵͳ¡·¿Î³ÌÖУ¬ÖÜÆÚÐźÅÊÇÒ»Àà·Ç³£ÖØÒªµÄÐźš£¸ø¶¨Ò»¸öÐźÅx(t)»òx[n]£¬Èç¹ûÂú×ã
x(t) = x(t+kT) 1.6 x[n] = x[n+kN] 1.7
Ôò¸ÃÐźŽÐ×öÖÜÆÚÐźš£ÆäÖУ¬kΪÈÎÒâÕûÊý£¬TºÍNΪ³£Êý£¬Í¨³£³ÆÎªÐźŵĻù±¾ÖÜÆÚ»ò×îСÖÜÆÚ¡£
ÖÜÆÚÐźſÉÒÔ¿´×÷ÊÇÒ»¸öʱÏ޵ķÇÖÜÆÚÐźž¹ýÖÜÆÚÑÓÍØÖ®ºóÐγɵġ£ÔÚÊý×ÖÐźŴ¦ÀíÖУ¬ÖÜÆÚÑÓÍØÕâÒ»ÐźŴ¦Àí·½·¨·Ç³£ÖØÒª¡£
ÏÂÃæµÄ³ÌÐò¶Î£¬¾ÍÊǽ«Ò»¸ö·ÇÖÜÆÚÐźÅx1(t) = e-2t[u(t)-u(t-2)]¾¹ýÖÜÆÚÑÓÍØÖ®ºó¶øµÃµ½Ò»¸öÖÜÆÚÐźţº
clear, close all; t = -4:0.001:4; T = 2; x = 0; for k = -2:2;
x = x+exp(-2*(t-k*T)).*(u(t-k*T)-u(t-(k+1)*T)); end
9
×ÐϸÔĶÁ¸Ã³ÌÐò£¬¿ÉÒÔ·¢ÏÖÆäËã·¨¾ÍÊÇ£º
x(t)?k????x(t?kT) 1.8
1?ÓÉÓÚkÎÞ·¨¼ÆËãµ½ÎÞÇ¶øÊÇÒÔÓÐÏÞÖµ¼ÓÒÔÌæ´ú£¬·´Ó³µ½ÓÐÏÞ¿í¶ÈͼÐδ°¿ÚÖеõ½µÄЧ¹ûÍêÈ«·ûºÏÒªÇó¡£
3 LTIϵͳµÄʱÓòÃèÊö 3.1ÏßÐÔʱ²»±äϵͳ
ÔÚ·ÖÎöLTIϵͳʱ£¬ÓйØLTIϵͳµÄÁ½¸öÖØÒªµÄÐÔÖÊÊDZØÐëÊ×ÏÈÕÆÎÕºÍÀí½âµÄ¡£Õâ¾ÍÊÇÏß
ÐÔÐÔ£¨Linearity£©ºÍʱ²»±äÐÔ£¨Time-invariance£©¡£ËùνÏßÐÔÐÔ¾ÍÊÇָϵͳͬʱÂú×ãÆë´ÎÐԺ͵þ¼ÓÐÔ¡£Õâ¿ÉÒÔÓÃÏÂÃæµÄ·½·¨À´ÃèÊö¡£
¼ÙÉèϵͳÔÚÊäÈëÐźÅx1(t)×÷ÓÃʱµÄÏìÓ¦ÐźÅΪy1(t)£¬ÔÚÊäÈëÐźÅx2(t)×÷ÓÃʱµÄÏìÓ¦ÐźÅΪy2(t)£¬¸ø¶¨Á½¸ö³£ÊýaºÍb£¬Èç¹ûµ±ÊäÈëÐźÅΪx(t)ʱϵͳµÄÏìÓ¦ÐźÅΪy(t)£¬ÇÒÂú×ã x(t) = x1(t) + x2(t) 1.9(a) y(t) = y1(t) + y2(t) 1.9(b) Ôò¸Ãϵͳ¾ßÓеþ¼ÓÐÔ£¨Additivity£©¡£Èç¹ûÂú×ã
x(t) = ax1(t) 1.10(a) y(t) = ay1(t) 1.10(b) Ôò¸Ãϵͳ¾ßÓÐÆë´ÎÐÔ£¨Homogeneity£©¡£Ò»¸öϵͳÈç¹ûÊÇÏßÐÔϵͳµÄ»°£¬ÄÇôÕâ¸öϵͳ±ØÐëͬʱ¾ßÓеþ¼ÓÐÔºÍÆë´ÎÐÔ¡£
ÓÖ¼ÙÉèϵͳÔÚÊäÈëÐźÅx(t)×÷ÓÃʱµÄÏìÓ¦ÐźÅΪy(t)£¬¶ÔÒ»¸ö¸ø¶¨Ê±¼ä³£Êýt0£¬Èç¹ûµ±ÊäÈëÐźÅΪx(t-t0)ʱ£¬ÏµÍ³µÄÏìÓ¦ÐźÅΪy(t-t0)µÄ»°£¬Ôò¸Ãϵͳ¾ßÓÐʱ²»±äÐÔ¡£
ͬʱ¾ßÓÐÏßÐÔÐÔºÍʱ²»±äÐÔµÄϵͳ£¬½Ð×öÏßÐÔʱ²»±äϵͳ£¬¼ò³ÆLTIϵͳ¡£LTIϵͳÓÐÁ¬ÐøÊ±¼äLTIϵͳºÍÀëɢʱ¼äLTIϵͳ֮·Ö¡£Á¬ÐøÊ±¼äϵͳµÄÊäÈëºÍÊä³öÐźŶ¼±ØÐëÊÇÁ¬ÐøÊ±¼äÐźţ¬¶øÀëɢʱ¼äϵͳµÄÊäÈëºÍÊä³öÐźŶ¼±ØÐëÊÇÀëɢʱ¼äÐźš£
3.2 LTIϵͳµÄµ¥Î»³å¼¤ÏìÓ¦ºÍ¾í»ýÄ£ÐÍ
¸ø¶¨Ò»¸öÁ¬ÐøÊ±¼äLTIϵͳ£¬ÔÚϵͳµÄ³õʼÌõ¼þΪÁãʱ£¬Óõ¥Î»³å¼¤ÐźŦÄ(t)×÷ÓÃÓÚϵͳ£¬
´ËʱϵͳµÄÏìÓ¦ÐźųÆÎªÏµÍ³µÄµ¥Î»³å¼¤ÏìÓ¦£¨Unit impulse response£©£¬Ò»°ãÓÃh(t)À´±íʾ¡£ÐèҪǿµ÷µÄÊÇ£¬ÏµÍ³µÄµ¥Î»³å¼¤ÏìÓ¦ÊÇÔÚ¼¤ÀøÐźÅΪ¦Ä(t)ʱµÄÁã״̬ÏìÓ¦£¨Zero-state response£©¡£ Àëɢʱ¼äLTIϵͳµÄµ¥Î»³å¼¤ÏìÓ¦µÄ¶¨ÒåÓëÁ¬ÐøÊ±¼äLTIϵͳµÄµ¥Î»³å¼¤ÏìÓ¦Ïàͬ£¬Ö»ÊÇÀëɢʱ¼äµ¥Î»³å¼¤º¯Êý¦Ä[n]µÄ¶¨ÒåÓÐËù²»Í¬¡£
ϵͳµÄµ¥Î»³å¼¤ÏìÓ¦ÊÇÒ»¸ö·Ç³£ÖØÒªµÄ¸ÅÄ¶ÔÓÚÒ»¸öϵͳ£¬Èç¹ûÎÒÃÇÖªµÀÁ˸ÃϵͳµÄµ¥Î»³å¼¤ÏìÓ¦£¬ÄÇô£¬¸Ãϵͳ¶ÔÈÎÒâÊäÈëÐźŵÄÏìÓ¦ÐźŶ¼¿ÉÒÔÇóµÃ¡£Ò²¾ÍÊÇ˵£¬ÏµÍ³µÄÊäÈëÐźÅx(t)¡¢x[n]ºÍÊä³öÐźÅy(t)¡¢y[n]Ö®¼äµÄ¹ØÏµ¿ÉÒÔÓÃÒ»¸öÊýѧ±í´ïʽÀ´ÃèÊö£¬Õâ¸öÊýѧ±í´ïʽΪ
y(t)?????x(?)h(t??)d? 1.11(a)
10