2.3 信号在MATLAB中的运算
利用MATLAB进行离散时间序列的基本运算,掌握基本的MATLAB函数的编写和调试方法,
同时了解对连续时间信号的时域运算,加深对信号的时域运算的理解。
信号的时移、反折和尺度变换
离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、尺度变换等。
在MATLAB中,离散序列的相加、相乘等运算是两个向量之间的运算,因此参加运算法的两个序列向量必须具有相同的维数,否则应进行相应的处理。
% E_2_17.m % 离散序列的时移、反折、尺度变换的实现。 clc; clear; close all; k = -12:12; k1 =
2.*k+4; f = -[stepfun(k,-3)-stepfun(k,-1)] +... 4.*[stepfun(k,-1)-stepfun(k,0)]
+... 0.5*k.*[stepfun(k,0)-stepfun(k,11)]; f1 = -[stepfun(k1,-3)-stepfun(k1,-1)]
+... 4.*[stepfun(k1,-1)-stepfun(k1,0)] +...
0.5*k1.*[stepfun(k1,0)-stepfun(k1,11)]; subplot(221); stem(k,f); axis([-12 12
-1 6]); grid on; xlabel('n'); ylabel('h(n)'); text(-8,3,'f[k]'); title('原离散序列')
subplot(222); stem(k+1,f); axis([-12 12 -1 6]); grid on; xlabel('n');
ylabel('h(n)'); text(-9.5,3,'f[k-1]'); title('离散序列的时移') subplot(223);
stem(k,f1); axis([-12 12 -1 6]); grid on; xlabel('n'); ylabel('h(n)');
text(-8,3,'f[2k+4]'); title('离散序列的尺度变换+时移') subplot(224); stem(2-k,f);
axis([-12 12 -1 6]); grid on; xlabel('n'); ylabel('h(n)');
text(5.5,3,'f[2-k]'); title('离散序列的反折')