subplot(3,1,3);stem(angX,'fill'); title ('实指数序列的相位谱');
图3
3.3矩形序列的幅度谱及相位谱
程序
clear close all clc
n0=0;n1=-10;n2=10;n3=20; n=n1:n3;
x=[(n>=n0)&(n subplot(3,1,1);stem(n,x,'filled');title('矩形序列'); k=-25:25; X=x*(exp(-j*pi/20)).^((n)'*k); magX=abs(X); subplot(3,1,2);stem(magX);title('矩形序列的幅度谱'); 7 angX=angle(X); subplot(3,1,3);stem(angX); title ('矩形序列的相位谱') ; 图4 四、三种典型序列的时移 4.1时移原理 在序列运算中,x[n]的每一个样本都移动(即延迟)k个采样周期,设移位后的序列为y(n)。当k >0时每一个样本向右移动,称为x(n)的延时序列;当k<0时,每一个样本向左移动,称为x(n)的超前序列:y(n)=x(n-k) 在MATLAB中,如果原始的序列用x和nx表示,移位后的序列用y和yn表示,移位运算并不影响向量x的值,因此y=x。移位体现为位置向量的改变。ny的每个元素都比nx加了一个k,即ny=nx+k。y和ny就是移位后的向量的表述,说明y取k拍前的x值。向左移位可令k取负号,意味着y取k拍后的x值。在系统框图中用z?1进行标注,它被称为迟延算子,表示把输入序列右移一位;用 8 z进行标注,它是左移运算是右移算子的逆运算。实际上迟延算子取的是序列过去的值,具有物理可实现性;而左移算子是提前算子,它要知道序列未来的值,物理上无法实现。所以数字信号处理中通常都用z?1算子。 4.2单位采样信号的时移及时移后的频谱图 程序 n=1:100; x=zeros(1,100); t=30; x(t)=1; figure subplot(3,1,1); stem(x);title('单位采样序列的时移'); k=-50:50; X=x*(exp(-j*pi/25)).^(n'*k); magX=abs(X); subplot(3,1,2);stem(magX);title('单位采样序列时移的幅度谱'); angX=angle(X); subplot(3,1,3);stem(angX); title ('单位采样序列时移的相位谱'); 图5 9 4.3实指数序列的时移及时移后的频谱图 程序 n=0:40; a=1.2; t=45; x=power(a,(n-t)); figure subplot(3,1,1);stem((n+t),x,'fill');title('实指数序列的时移'); k=-20:20; X=x*(exp(-j*pi/10)).^((n-t)'*k); magX=abs(X); subplot(3,1,2);stem(magX,'fill');title('实指数序列时移的幅度谱'); angX=angle(X); subplot(3,1,3);stem(angX,'fill'); title ('实指数序列时移的相位谱'); 图6 10
相关推荐: