数字信号处理实验二用FFT做谱分析报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》
实践报告
题 目: 实验二 用FFT 做谱分析
1. 实验目的
(1) 进一步加深DFT 算法原理和基本性质的理解(因为 FFT 只是DFT 的一种快
速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。 (2) 熟悉FFT 算法原理和FFT 子程序的应用。
(3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的
分析误差及其原因,以便在实际中正确应用FFT 。 2. 实验步骤
(1) 复习DFT 的定义、性质和用DFT 作谱分析的有关容。 (2) 复习按时间抽选法FFT 算法原理及相应的运算流图 (3) 编制信号产生子程序,产生以下典型信号供谱分析用:
x1(n) = R4(n)
x 2(n) = ⎪⎩
⎪
⎨⎧≤≤-≤≤+n
n n n n 其他,074,
830,1
x 3(n) = ⎪⎩
⎪
⎨⎧≤≤-≤≤-n
n n n n 其他,074,
330,4 x 4(n) = cos(πn /4) x 5(n) = sin(πn /8)
x 6(t) = cos8πt + cos16πt + cos20πt
应当注意,如果给出的是连续信号x a (t),则首先要根据其最高频率确定抽样频率f s 以及由频率分辨率选择抽样点数N ,然后对其进行软件抽样(即计算 x(n)=x a (nT),
0≤n ≤N-1),产生对应序列 x(n)。对信x 6(t),频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差。请实验者根据DFT 的隐含周期性思考这个问题。
(4) 编写主程序。图2.1 给出了主程序框图,供参考。
对2中所给出的信号逐个进行谱分析。下面给出针对各信号的FFT变换区间N以及对连续信号x6(t)的抽样频率f s,供实验时参考。
x1(n) , x2(n) , x3(n) , x4(n) , x5(n):N = 8 , 16
x6(t):f s = 64(Hz) , N = 16 , 32 , 64
3、实验容
(1)x1(n) = R4(n)
程序代码:
x1=ones(1,4);
N=4;
n=[0:1:3];
stem(n,x1);
X1=fft(x1,8);
magX1=abs(X1);
k=[0:7];
stem(k,magX1);
x12=ones(1,4);
N=16;
n1=[0:3];
stem(n1,x12);
X12=fft(x12,16);
magX12=abs(X12);
k1=[0:15];
stem(k1,magX12);
subplot(2,2,1):stem(n,x1);
subplot(2,2,2):stem(n1,x12);
subplot(2,2,3):stem(k,magX1);
subplot(2,2,4):stem(k1,magX12);
(2)x 2(n) = ⎪⎩
⎪
⎨⎧≤≤-≤≤+n
n n n n 其他,074,
830,1 程序代码: x2=[1:4,4:-1:1]; n=[0:3,4:7]; stem(n,x2); X2=fft(x2,8); magX2=abs(X2); k=[0:7];
stem(k,magX2);
x2=[1:4,4:-1:1]; n1=[0:3,4:7]; stem(n,x2); X21=fft(x2,16); magX21=abs(X21); k1=[0:15];
stem(k1,magX21);
subplot(2,2,1):stem(n,x2); subplot(2,2,2):stem(n1,x2); subplot(2,2,3):stem(k,magX2); subplot(2,2,4):stem(k1,magX21);
(3)x 3(n) = ⎪⎩
⎪
⎨⎧≤≤-≤≤-n
n n n n 其他,074,
330,4 程序代码:
x3=[4:-1:1,1:4];
n=[0:3,4:7];
stem(n,x3);
X3=fft(x3,8);
magX3=abs(X3);
k=[0:7];
stem(k,magX3);
x3=[4:-1:1,1:4];
n1=[0:3,4:7];
stem(n,x3);
X31=fft(x3,16);
magX31=abs(X31);
k1=[0:15];
stem(k1,magX31);
subplot(2,2,1):stem(n,x3); subplot(2,2,2):stem(n1,x3); subplot(2,2,3):stem(k,magX3); subplot(2,2,4):stem(k1,magX31);
(4)x4(n) = cos(πn /4)
程序代码:
n=[0:7];
x4=cos(pi*n/4);
stem(n,x4);
X4=fft(x4,8);
magX4=abs(X4);
k=[0:7];
stem(k,magX4);
n1=[0:15];
x41=cos(pi*n1/4);
stem(n,x4);
X41=fft(x4,16);
magX41=abs(X41);
k1=[0:15];
stem(k1,magX41);
subplot(2,2,1):stem(n,x4); subplot(2,2,2):stem(n1,x41); subplot(2,2,3):stem(k,magX4); subplot(2,2,4):stem(k1,magX41);