• 编程实现 DTFT
1
2
3
4
5
6
7
8
function [Xejw]=dtft(xn,w)
N=length(xn);
X=0;
for i=1:N
X=xn(i)*exp(-j*w*(i-1))+X;
end
Xejw=X;

  • 编程实现 DFT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function [Xk]=dft(xn, N)
l=length(xn);
if l<N
xn=[xn,zeros(1,N-l)];
end
Xk=zeros(1,N);
k=zeros(1,N);
for i=1:N
k(i)=i-1;
end

for i=1:N
Xk=Xk+xn(i)*exp(-j*2*pi/N*(i-1)*k);
end

  • 调用上述 dtft 函数计算序列x(n)=R4(n)的DTFT,给出其X(ⅇ^jw )~ω_k幅频特性图,要求频谱分析的范围为0-6π,横坐标对π进行归一化为ω/π,即幅频特性绘制语句为:plot(w/pi,abs(Xejw))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
clc,clear,close all
xn=[1,1,1,1];
M=1000;
k=0:1:M-1;
w=6*pi/M*k;
Xejw=dtft(xn,w);
subplot(311)
stem(xn);
grid on
title("序列xn");
xlabel("n");
ylabel("xn")
subplot(312)
plot(w/pi,abs(Xejw));
grid on
title('幅度谱')
xlabel('\omega/\pi');
ylabel('X(ejw)');
subplot(313)
plot(w/pi,angle(Xejw));
grid on
title('相位谱')
xlabel('\omega /\pi');
ylabel('相位, ');