用FFT对信号作频谱分析_实验报告

时间:2024.4.14

用FFT对信号作频谱分析_实验报告

1. 实验目的与原理

(1) 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法, 所以FFT的运算结果必然满足DFT的基本性质)。

(2) 熟悉FFT算法原理和FFT子程序的应用。

(3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

2. 实验内容与步骤

(1)复习DFT的定义、 性质和用DFT作谱分析的有关内容。

(2)复习FFT算法原理与编程思想, 并对照DIT-FFT运算流图和程序框图。

(3)编制信号产生程序,并逐个进行谱分析(即画出幅频特性)。 下面给出针对各信号的FFT变换区间N以及对连续信号x6(t)的采样频率fs, 供实验时参考。

x1(n), x2(n), x3(n), x4(n), x5(n): N=8, 16

x6(t): fs=64(Hz), N=16, 32, 64(n=0:1:69)

x1(n)?R4(n)

?n?1,?x2(n)??8?n

??0

?4?n?x3(n)??n?3

?0?0?n?34?n?70?n?34?n?7

x4(n)?cos

x5(n)?sin?4nn,0?n?19,0?n?19?

8

x6(t)?cos8?t?cos16?t?cos20?t

(4)令x(n)=x4(n)+x5(n),用FFT计算8点和16点离散傅里叶变换,X(k)=DFT[x(n)]

(5)令x(n)=x4(n)+jx5(n),重复(2)。

3. 实验原程序

n1=0:3;

x1=[1,1,1,1];%产生信号

figure,subplot(311),stem(n1,x1),xlabel('n'),ylabel('x_1(n)'),title('原始序列'); subplot(312),stem(0:7,abs(fft(x1,8)),'r'),title('x_1(n)8点DFT');%8点FFT subplot(313),stem(0:15,abs(fft(x1,16)),'g'),title('x_1(n)16点DFT');%16点FFT

n2=0:7,

x2=[1,2,3,4,4,3,2,1];%产生信号

figure,subplot(311),stem(n2,x2),xlabel('n'),ylabel('x_2(n)'),title('原始序列'); subplot(312),stem(0:7,abs(fft(x2,8)),'r'),title('x_1(n)8点DFT');%8点FFT subplot(313),stem(0:15,abs(fft(x2,16)),'g'),title('x_1(n)16点DFT');%16点FFT

n3=0:7,

x3=[4,3,2,1,1,2,3,4];%产生信号

figure,subplot(311),stem(n3,x3),xlabel('n'),ylabel('x_3(n)'),title('原始序列'); subplot(312),stem(0:7,abs(fft(x3,8)),'r'),title('x_1(n)8点DFT');%8点FFT subplot(313),stem(0:15,abs(fft(x3,16)),'g'),title('x_1(n)16点DFT');%16点FFT

n4=0:19;

x4=cos(n4*pi/4);

figure,subplot(311),stem(n4,x4),xlabel('n'),ylabel('x_4(n)'),title('原始序列'); subplot(312),stem(0:7,abs(fft(x4,8)),'r'),title('x_4(n)8点DFT');%8点FFT subplot(313),stem(0:15,abs(fft(x4,16)),'g'),title('x_4(n)16点DFT');%16点FFT

n5=0:19;

x5=sin(n5*pi/8);%产生信号

figure,subplot(311),stem(n5,x5),xlabel('n'),ylabel('x_5(n)'),title('原始序列'); subplot(312),stem(0:7,abs(fft(x5,8)),'r'),title('x_5(n)8点DFT');%8点FFT subplot(313),stem(0:15,abs(fft(x5,16)),'g'),title('x_5(n)16点DFT');%16点FFT

n6=0:69;

x6=cos(pi/8*n6)+cos(pi/4*n6)+cos(pi/16*5*n6);%产生信号

figure,subplot(221);stem(n6,abs(x6)),xlabel('n'),ylabel('x_6(n)'),title('原始序列'); subplot(222),stem(0:15,abs(fft(x6,16)),'r'),title('x_6(n)16点DFT');%16点FFT subplot(223),stem(0:31,abs(fft(x6,32)),'r'),title('x_6(n)32点DFT');%32点FFT subplot(224),stem(0:63,abs(fft(x6,64)),'r'),title('x_6(n)64点DFT');%64点FFT

n7=0:19;

x=x4+x5;%产生信号

figure,subplot(311),stem(n7,x),xlabel('n'),ylabel('x'),title('原始序列'); subplot(312),stem(0:7,abs(fft(x,8)),'r'),title('x8点DFT');%8点FFT

subplot(313),stem(0:15,abs(fft(x,16)),'g'),title('x16点DFT');%16点aFFT

n8=0:19;

xk=x4+j*x5;%产生信号

figure,subplot(311),stem(n8,x),xlabel('n'),ylabel('xk'),title('原始序列'); subplot(312),stem(0:7,abs(fft(xk,8)),'r'),title('xk8点DFT');%8点FFT

subplot(313),stem(0:15,abs(fft(xk,16)),'g'),title('xk16点DFT');%16点aFFT


第二篇:用FFT对信号作频谱分析的程序


实验(1

function shiyan1

x1=[1,1,1,1];

n1=0:3;

n2=4:7;

xa=n1+1;

xb=8-n2;

x2=[xa,xb];

xa1=4-n1;

xb1=n2-3;

x3=[xa1,xb1];

X18=fft(x1,8);

k1=0:8-1;

subplot(3,2,1);

stem(k1,abs(X18),'.');

axis([0,8,0,1.2*max(abs(X18))]);

title('8点DFT[x1]');ylabel('幅度');

X116=fft(x1,16);

k2=0:16-1;

subplot(3,2,2);

stem(k2,abs(X116),'.');

axis([0,16,0,1.2*max(abs(X116))]);

title('16点DFT[x1]');ylabel('幅度');

X28=fft(x2,8);

subplot(3,2,3);

stem(k1,abs(X28),'.');

axis([0,8,0,1.2*max(abs(X28))]);

title('8点DFT[x2]');ylabel('幅度');

X216=fft(x2,16);

subplot(3,2,4);

stem(k2,abs(X216),'.');

axis([0,16,0,1.2*max(abs(X216))]);

title('16点DFT[x2]');ylabel('幅度');

X38=fft(x3,8);

subplot(3,2,5);

stem(k1,abs(X38),'.');

axis([0,8,0,1.2*max(abs(X38))]);

title('8点DFT[x3]');ylabel('幅度');

X316=fft(x3,16);

subplot(3,2,6);

stem(k2,abs(X316),'.');

axis([0,16,0,1.2*max(abs(X316))]);

title('16点DFT[x3]');ylabel('幅度');

实验(2

function shiyan2

n1=0:8-1;

n2=0:16-1;

x48=cos(pi/4*n1);

x58=cos(pi/4*n1)+cos(pi/8*n1);

x416=cos(pi/4*n2);

x516=cos(pi/4*n2)+cos(pi/8*n2);

X48=fft(x48,8);

X416=fft(x416,16);

X58=fft(x58,8);

X516=fft(x516,16);

k1=0:8-1;

k2=0:16-1;

subplot(2,2,1);

stem(k1,abs(X48),'.');

axis([0,8,0,5]);

title('8点DFT[x4]');ylabel('幅度');

subplot(2,2,2);

stem(k2,abs(X416),'.');

axis([0,16,0,10]);

title('16点DFT[x4]');ylabel('幅度');

subplot(2,2,3);

stem(k1,abs(X58),'.');

axis([0,8,0,10]);

title('8点DFT[x5]');ylabel('幅度');

subplot(2,2,4);

stem(k2,abs(X516),'.');

axis([0,16,0,10]);

title('16点DFT[x5]');ylabel('幅度');

实验(3

function shiyan3

Fs=64;T=1/Fs;

N1=16;N2=32;N3=64;

n1=0:N1-1;

n2=0:N2-1;

n3=0:N3-1;

x816=cos(8*pi*n1*T)+cos(16*pi*n1*T)+cos(20*pi*n1*T);

x832=cos(8*pi*n2*T)+cos(16*pi*n2*T)+cos(20*pi*n2*T);

x864=cos(8*pi*n3*T)+cos(16*pi*n3*T)+cos(20*pi*n3*T);

X816=fft(x816,16);

X816=fftshift(X816);

X832=fft(x832,32);

X832=fftshift(X832);

X864=fft(x864,64);

X864=fftshift(X864);

Tp=N1*T;F=1/Tp;

k=-N1/2:N1/2-1;fk=k*F;

subplot(3,1,1);stem(fk,abs(X816),'.');

title('16点DFTx8');xlabel('f(Hz)');ylabel('幅度');

Tp=N2*T;F=1/Tp;

k=-N2/2:N2/2-1;fk=k*F;

subplot(3,1,2);stem(fk,abs(X832),'.');

title('32点DFTX8');xlabel('f(Hz)');ylabel('幅度');

Tp=N3*T;F=1/Tp;

k=-N3/2:N3/2-1;fk=k*F;

subplot(3,1,3);stem(fk,abs(X864),'.');

title('64点DFTX8');xlabel('f(Hz)');ylabel('幅度');

更多相关推荐:
实验三:用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析实验报告一实验目的与要求学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验原理用FFT对信号作频分析是学习数字信号处理的重要...

数字信号《用FFT对信号作频谱分析》实验完整模版

计算机科学与工程学院数字信号处理实验报告3计算机科学与工程学院数字信号处理实验报告2计算机科学与工程学院数字信号处理实验报告3计算机科学与工程学院数字信号处理实验报告4计算机科学与工程学院数字信号处理实验报告5...

用FFT对信号作频谱分析实验报告

实验一报告用FFT对信号作频谱分析一实验目的学习用FFT对连续信号和时域离散信号进行频谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验内容1对以下序列进行频谱分析xnR4nn1x2n8n04n...

实验三 用FFT对信号作频谱分析

实验三用FFT对信号作频谱分析1实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT2实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容经常需要...

实验三:用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析实验报告一实验目的与要求学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验原理用FFT对信号作频分析是学习数字信号处理的重要...

实验3 用FFT对信号作频谱分析

实验三用FFT对信号作频谱分析1031实验指导1实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT2实验原理用FFT对信号作频谱分析是学习数字信号处理的...

实验三 用FFT对信号作频谱分析

实验三用FFT对信号作频谱分析一实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验内容1对以下序列进行谱分析程序x1nones14M8xa1M2x...

实验四 FFT信号的频谱分析实验Microsoft Word 文档

clearallT111000n0641000T1A444128a50sqrt20w050sqrt20pixn1AexpanT1sinw0nT1Xk1fftxn11024subplot322stemnxn139...

实验二 用FFT对信号作频谱分析

实验二用FFT对信号作频谱分析一实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验步骤及内容1对以下序列进行谱分析x1nR4nn10n3x2n8n...

实验三:用FFT对信号作频谱分析

实验三用FFT对信号做频谱分析12通信3班崔文磊20xx41302321一实验目的学习用FFT对连续信号和时域离散信号进行频谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验原理用FFT对信号作...

实验二 用FFT对信号作频谱分析

实验二用FFT对信号作频谱分析1实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT2实验原理与方法用FFT对信号作频谱分析是学习数字信号处理的重要内容经...

实验三:用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析实验报告一实验目的与要求学习用FFT对连续信号和时域离散信号进行谱分析的方法了解可能出现的分析误差及其原因以便正确应用FFT二实验原理用FFT对信号作频分析是学习数字信号处理的重要...

用fft对信号作频谱分析实验报告(12篇)