数字信号处理实验FFT变换.doc
文本预览下载声明
数字信号处理
实验报告
姓名: 胡剑烽 学 号: 1121302231 学 院: 计算机工程学院 专 业: 通信工程 题 目: FFT变换及其应用
2014 年 11 月
一 实验目的
1. 在理论课学习的基础上,通过本次实验,加深对 DFT 原理的理解,懂得频域DFT
与时域卷积的关系,进一步加深对DFT 基本性质的理解;
2. 研究 FFT 算法的主要途径和编程思路,掌握FFT 算法及其程序的编写过程,掌握最
基本的时域基-2FFT 算法原理及程序框图;
3. 熟悉应用 FFT 实现两个序列的线性卷积的方法,利用FFT 进行卷积,通过实验比较
出快速卷积优越性,掌握循环卷积和线性卷积两者之间的关系;
4. 熟悉应用 FFT 对典型信号进行频谱分析的方法,初步了解用周期图法作随机信号谱
分析的方法,了解应用FFT 进行信号频谱分析过程中可能出现的问题,以便在实际
中正确应用FFT;
5. 掌握使用 MATLAB 等基本开发工具实现对FFT 编程。
二 实验设备
1. Windows 2000 以上操作系统;
2. Visual C++6.0/ Visual Basic6.0/Delphi6.0/MatLab6.5 等以上版本的开发环境;
3. 每人一台 PC 机。
三 实验原理
(一)离散傅里叶变换(DFT)
有限长序列的离散傅里叶变换的定义为:
x(n)和 X (k)是一个有限长序列的离散傅里叶变换对,分别称为 DFT、IDFT。已知其
中的一个,就能惟一地确定另一个。
X (k)也可以看作序列x(n)的傅里叶变换 X (e jω ) 在区间[0, 2π]上的N 点等间隔采样,
其采样间隔为2 / N ω = π N ,这就是 DFT 的物理意义。
DFT 具有以下一些性质:线性、圆周移位、圆周卷积、有限长序列的线性卷积与圆周
卷积及共轭对称性等。
(二)快速傅里叶变换(FFT)
由于 DFT 运算过程复杂及耗时较大,诞生了FFT。这里仅讨论按时间抽取的基-2 FFT
设序列x(n)长度为 N,且满足N = 2M ,M 为正整数。按n的奇偶把x(n)分解为两个
N/2 点的子序列:
则x(n)的 DFT 转化为:
其中,
可见,一个N 点DFT 分解成两个N/2 点的DFT。
但由于1X (k)、 2X (k)只有 N/2 个点,而 X (k)却有 N个点,故计算得到的只是 X (k)
的前一半的结果,要用1X (k)、 2X (k)来表达全部的 X (k)值,还必须应用系数的周期性
即有:
因此得:
(三)用FFT 进行谱分析
由上面的分析可知,若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行
FFT 运算求得 X (k), X (k)就代表了序列在[0,2π ]之间的频谱值。
· 幅度谱:
· 相位谱:
若信号是模拟信号,用FFT 进行谱分析时,首先必须对信号进行采样,使之变成离散
信号,然后就可按照前面的方法用FFT 来对连续信号进行谱分析。按采样定理,采样频率s f
应大于2 倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤
波器。
用FFT 对模拟信号进行谱分析的方框图如下所示。
在运用FFT 进行频谱分析的时候可能有混淆现象、泄漏现象和栅栏效应。
(五)FFT 求解函数
MATLAB 提供了求解FFT 的函数。参见下表。
四 实验内容
(一)用 FFT 进行谱分析
1.高斯序列:
n=0:15;
p=8;
q=2;
x =exp(-1*(n-p).^2/q);
close all;
subplot(3,1,1);
stem(fft(x)) ; %利用fft 函数实现傅里叶变换
subplot(3,1,2);
stem(abs(fft(x))); %绘制幅度谱
subplot(3,1,3);
stem(angle(fft(x))) %绘制相位谱
结果如下图所示:
P=8,q=2
P=8,q=4
P=8,q=8
q=8,p=13
q=8,p=14
从上面的图中,根据p和q值相应的变化,可以看出:
固定p=8,改变q的值:随着q的增大,经过傅里叶变化后的图像显示值的变化比较缓慢,幅度谱变化随着q的变大而变大,但相位的变化较不同。
当固定q=8,随着p的增大,时域信号幅值变换的比较缓慢。
2.正弦序列
n=0:15; %定义序列长度
a=0.1;
f=0.0625;
x=exp(-a*n).*sin(2*pi*f*n);
close all;
subplot(2,1,1);
stem(x);
title(衰减正弦序列);
subplot(2,1,2);
stem(abs(
显示全部