stem(x,'fill');
xlabel('时间(n)');
ylabel('幅度x(n)');
title('矩阵序列时域波形');
2.2时移、频移与傅里叶变换原理
2.2.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进行标注,它是左移运算是右移算子的逆运算。
实际上迟延算子取的是序列过去的值,具有物理可实现性;而左移算子是提前算子,它要知道序列未来的值,物理上无法实现。
所以数字信号处理中通常都用算子。
2.2.2频移原理
若,则
结论:
将信号乘以因子,对应于将频谱函数沿轴右移;将信号乘以因子,对应于将频谱函数沿轴右移。
2.2.3傅里叶变换(DFT)原理
离散傅里叶变换的结果为有限长和离散的,它实质上是对序列傅里叶变换在频域均匀离散的结果,因而使数字信号处理可以在频域采用数字运算的方法进行,大大增加傅里叶变换的灵活性和使用性。
离散傅里叶变换的定义如下
其中为旋转因子,N为变换区间长度。
第3章设计实现
3.1单位采样序列的谱分析及特性实现
clear
closeall
clc
n=1:
50;
x=zeros(1,50);
x
(1)=1;
subplot(3,1,1);stem(x);title('单位采样序列');
N=25;
k=-N:
N;
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('单位采样序列的相位谱');
n=1:
50;
x=zeros(1,50);
t=10;
x(t)=1;
figure
subplot(3,1,1);stem(x);title('单位采样序列的时移');
k=-25:
25;
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('单位采样序列时移的相位谱');
n=1:
50;
x=zeros(1,50);
x
(1)=1;
l=5;
y=exp(-j*pi/25*l).^n;
z=x.*y;
figure
subplot(3,1,1);stem(z);title('频移后单位采样序列');
k=-25:
25;
X=z*(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('频移后单位采样序列的相位谱');
3.2实指数序列的谱分析及特性实现
clearall
closeall
clc
n=0:
20;
a=1.2;
x=power(a,n);
subplot(3,1,1);stem(x,'fill');title('实指数序列时域波形');
k=-10:
10;
X=x*(exp(-j*pi/10)).^(n'*k);
magX=abs(X);
subplot(3,1,2);stem(magX,'fill');title('实指数序列的幅度谱');
angX=angle(X);
subplot(3,1,3);stem(angX,'fill');title('实指数序列的相位谱');
n=0:
20;
a=1.2;
t=5;
x=power(a,(n-t));
figure
subplot(3,1,1);stem((n+t),x,'fill');title('实指数序列的时移');
k=-10:
10;
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('实指数序列时移的相位谱');
n=0:
19;
a=1.2;
x=power(a,n);
l=5;
y=exp(-j*pi/10*l).^n;
z=x.*y;
figure
subplot(3,1,1);stem(z,'fill');title('频移后实指数序列');
k=-10:
10;
X=z*(exp(-j*pi/10)).^(n'*k);
magX=abs(X);
subplot(3,1,2);stem(magX,'fill');title('频移后实指数序列幅度谱');
angX=angle(X);
subplot(3,1,3);stem(angX,'fill');title('频移后实指数序列的相位谱')