离散傅里叶变换和快速傅里叶变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称:信号分析与处理 指导老师 成绩: 实验名称:离散傅里叶变换和快速傅里叶变换 实验类型: 同组学生姓名: 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得
一、实验目的和要求
1. 掌握DFT 的原理和实现
2. 掌握FFT 的原理和实现,掌握用FFT 对连续信号和离散信号进行谱分析的方法。
二、实验内容和原理 2.1 DTFT 和DFT
序列x (n )的离散事件傅里叶变换(DTFT )表示为:n
j n j e
n x e
X Ω-∞
-∞
=Ω
∑=
)()(
,
如果x (n )为因果有限长序列,n =0,1,...,N-1,则x (n )的DTFT 表示为:n j N n j e n x e
X Ω--=Ω
∑=1
)()(
,
x(n)的离散傅里叶变换(DFT )表达式为:)1,...,1,0()()(21
-==
--=∑N k e
n x k X nk N
j
N n π
,
序列的N 点DFT 是DTFT 在 [0,2π]上的N 点等间隔采样,采样间隔为2π/N 。通过DFT ,可以完成由一组有限个信号采样值x (n )直接计算得到一组有限个频谱采样值X (k )。X (k )的幅度谱为)()()(22k X k X k X I R +=,X R (k)和X I (k)分别为X(k)的实部和虚部。X (k )的相位谱
为)
()
(arctan
)(k X k X k R I =ϕ。
离散傅里叶反变换(IDFT )定义为)1,...,1,0()(1
)(21
-==
∑-=N n e
k X N
n x nk N
j
N n π
。
2.2 FFT
快速傅里叶变换(FFT )是DFT 的快速算法,它减少了DFT 的运算量,使数字信号的处理速度大大提高。
三、主要仪器设备
PC 一台,matlab 软件
四、实验内容 4.1第一题
求有限长离散时间信号x (n )的离散时间..傅里叶变换(DTFT )X (e j Ω
)并绘图。 (1)已知⎩⎨
⎧≤≤-=其他
0221)(n n x ;(2)已知1002
)(≤≤=n n x n
。
4.1.1理论分析
1) 由DTFT 计算式,
()25 2.5 2.52
0.50.52
e 1e e e sin(2.5)
()()e
e
1e e e sin(0.5)
j j j j j n
j n
j j j n n X x n Ω-ΩΩ-Ω+∞
-Ω-Ω-Ω
Ω-Ω=-∞
=---ΩΩ=
=
=
==
--Ω∑∑ X (Ω)是实数,可以直接作出它的图像。
Figure 1 X (Ω)曲线
2) 由DTFT 计算式:
1111111110
12e 2e ()()e
2e
12e 12e
j j j n
n j n
j j n n X x n -Ω-Ω+∞
-Ω-Ω-Ω-Ω
=-∞
=--Ω=
==≈--∑∑ 11
2()12e
j X -Ω
Ω≈- 可以发现X (Ω)周期为2π;而X (Ω)的相位在2π周期内有约十次振荡。
4.1.2编程计算作图
编写一个计算DTFT 的函数。
function DTFT(x,n1,n2)
w=-2*pi:2*pi/1000:2*pi; %表示Ω X=zeros(size(w));
for i=n1:n2 %DTFT 计算式
X=X+x(i-n1+1)*exp((-1)*j*w*i); end angle(X); subplot(2,1,1); plot(w, abs(X),'r');
xlabel('\Omega');ylabel('|X(\Omega)|');hold on ; %作幅频图 subplot(2,1,2); plot(w,angle(X),'b');
xlabel('\Omega');ylabel('\angle(\Omega)'); %作相频图 end
输入序列x ,和n 的取值范围,即可计算其DTFT 。
1)输入:
x=[1 1 1 1 1];
DTFT(x,-2,2);
(因为X(Ω)是实数,所以实际计算过程中对相频曲线取了绝对值)
结果:
Figure 2 X(Ω)的频谱
可以看出,X(Ω)的相位只有0和π两种取值,X(Ω)是实函数,而且其幅度频谱与理论计算得到的相同。
2)输入:
n=0:10;
x=2.^n;
DTFT(x,0,10)
结果:
Figure 3 第1题(2)中X(Ω)的频谱
4.2第二题
已知有限长序列x(n)={8,7,9,5,1,7,9,5},试分别采用DFT和FFT求其离散傅里叶变换X(k)的幅度、相位图。
4.2.1理论分析
由FFT蝶形运算得到,X(k)= 51,7,-9-j4,7,3,7,-9+j4,7
4.2.2编程计算作图
1.DFT
编写一个计算DTFT的函数。DFT(序列x,长度N)
function DFT(x,N)
k=0:N-1;
X=zeros(size(k));
for n=0:N-1
X=X+x(n+1)*exp((-1)*j*2*pi/N*n*k);%DFT计算式
end
subplot(2,1,1);
stem(k,abs(X),'.'); xlabel('k');ylabel('|X(k)|');hold on; %幅频图subplot(2,1,2);
stem(k,angle(X),'*');xlabel('k');ylabel('Angle(k)');%相频图
end
输入:
x=[8 7 9 5 1 7 9 5];
DFT(x,8);
结果:
Figure 4 第2题DFT结果