数字信号的 FFT 分析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP 实验报告

实验名称: 实验二 数字信号的 FFT 分析

1.实验要求

数字信号处理的一个重要分支就是信号分析,而信号分析的基本工具是离散傅立叶变换。利用傅立叶变换和级数所形成的频谱分析技术作为处理连续信号的重要工具已经应用得很久了,1956年库力(Cooley )和图基(Tukey )所发展的近似频谱的快速算法为频谱分析的数字信号的谱分析铺平了道路。因此,DFT (FFT )得到广泛应用。本次实验设计了两个内容: (1) 已知信号

0n N-1

()0 n 0, n N

n Q x n ⎧≤≤=⎨<≥⎩

这里,N=25,Q= 0.9+j0.3。可以推导出 ,

11,011)()()(k

k

1

nk

1

0-=--===∑∑-=-=N k QW Q QW W n x k X N N

n

N N n N

N n , 首先根据这个式子计算X(k) 的理论值,然后计算输入序列x(n) 的32个值,再利用基

2时间抽选的FFT 算法,计算x(n) 的DFT X(k),与X(k) 的理论值比较(要求计算结果最少6位有效数字)。

(2) 假设信号 x(n) 由下述信号组成:

()0.001*cos(0.45)sin(0.3)cos(0.302)4

x n n n n π

πππ=+--

这个信号有两根主谱线 0.3pi 和 0.302pi 靠的非常近,而另一根谱线 0.45pi 的幅度很小,请选择合适的长度 N 和窗函数,用 DFT 分析其频谱,得到清楚的三根谱线。 通过本次实验,应该掌握:

(a) 用傅立叶变换进行信号分析时基本参数的选择。

(b) 经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT ) 后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。

(c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。

(d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。

(e) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio 。

2. 程序分析

第一部分:

1.25点DFT变换

Q= 0.9+j*0.3;

N=25;

n=0:1:N-1;

k=0:1:N-1;

WN=exp(-j*2*pi/N);

X=(1-Q.^N)./(1-Q*WN.^k);

X=vpa(X,6)

magX=abs(X(1:1:25)); %abs为幅值

k=0:1:24;

w=2*pi*k/25;

stem(w/pi,magX); %stem函数作图

title('25点DFT');

xlabel('2π内幅度特性');

得到X(k)的理论值为:

X =[ 1.83992 + 2.88851*i, 10.0793 + 7.6341*i, 0.751948 - 5.86055*i, 0.231478 - 2.56282*i, 0.28018 - 1.62973*i, 0.333453 - 1.18569*i, 0.374736 - 0.920169*i, 0.407012 - 0.73897*i, 0.433275 - 0.603825*i, 0.455542 - 0.496182*i, 0.475155 - 0.405862*i, 0.493047 - 0.326701*i, 0.50991 - 0.254627*i, 0.526307 - 0.18669*i, 0.542748 - 0.120528*i, 0.559746 - 0.0540151*i, 0.577892 + 0.0150219*i, 0.597934 + 0.0890957*i, 0.620917 + 0.171456*i, 0.64843 + 0.266736*i,

0.683099 + 0.382148*i, 0.729676 + 0.529983*i, 0.797838 + 0.733482*i, 0.910733 + 1.04306*i,

1.13973 + 1.59277*i]

2.计算输入序列x(n)的32个值

n=0:1:N-1;

x=[Q.^n,zeros(1,32-N)]; %zeros为零矩阵

x=vpa(x,6)

序列的后几位数添为0,得到结果为

x =[ 1.0, 0.9 + 0.3*i, 0.72 + 0.54*i, 0.486 + 0.702*i, 0.2268 + 0.7776*i, - 0.02916 + 0.76788*i, - 0.256608 + 0.682344*i, - 0.43565 + 0.537127*i, - 0.553224 + 0.352719*i, - 0.603717 + 0.15148*i, - 0.588789 -

0.0447828*i, - 0.516476 - 0.216941*i, - 0.399746 - 0.35019*i, - 0.254714 - 0.435095*i, - 0.0987144 -

0.467999*i, 0.0515569 - 0.450814*i, 0.181645 - 0.390265*i, 0.28056 - 0.296745*i, 0.341528 - 0.182903*i, 0.362246 - 0.0621539*i, 0.344667 + 0.0527352*i, 0.29438 + 0.150862*i, 0.219684 + 0.22409*i, 0.130488 + 0.267586*i, 0.0371637 + 0.279974*i, 0, 0, 0, 0, 0, 0, 0]

3.利用基2时间抽选的FFT算法,计算x(n) 的DFT X(k)

相关文档
最新文档