数字信号处理实验二Word格式文档下载.docx
- 文档编号:21610635
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:16
- 大小:169.20KB
数字信号处理实验二Word格式文档下载.docx
《数字信号处理实验二Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验二Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
(2)熟悉FFT算法原理和FFT子程序的应用。
(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验步骤:
(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。
(2)复习FFT算法原理与编程思想,并对照DIT—FFT运算流图和程序框图,读懂本实验提供的FFT子程序。
(3)编制信号产生子程序,产生以下典型信号供谱分析用:
=R4(n)
=cos(pi/4*n)
=sin(pi/8*n)
=cos(pi*8*t)+sin(pi*16*t)+cos(20*pi*t)
应当注意,如果给出的是连续信号xa(t),则首先要根据其最高频率确定采样速率fs以及由频率选择采样点数N,然后对其进行软件采样(即计算x(n)=xa(nT),0<
=n<
=N-1),产生对应序列x(n)。
对信号x6(t),频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。
对周期序列,最好截取周期的整数倍进行分析,否则有可能产生较大的分析误差。
请实验者根据DFT的隐含周期性思考这个问题。
(4)编写主程序。
下图给出了主程序框图,供参考。
本实验提供FFT子程序和通用绘图子程序。
三、上机实验内容
(1)对2中所给出的信号逐个进行谱分析。
下面给出针对各信号的FFT变换区间N以及对连续信号
的采样频率fs。
:
N=8,16
fs=64(hz),N=16,32,64
实验结果:
1.
=R4(n)
原程序:
n=[0:
7];
x=[11110000]
f1=fft(x,8)
f2=fft(x,16)
subplot(2,2,1)
stem(n,x);
axis([0802])
xlabel('
n'
)
ylabel('
x1(n)'
title('
x1的波形'
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([01605])
k'
|x1(k)|'
x1(n)的8点fft'
subplot(2,2,3)
7]
stem(k,abs(f1));
axis([01005])
得到的波形图如下:
2.
x=[12344321]
axis([0804])
x2(n)'
x2的波形'
axis([016020])
|x2(k)|'
x2(n)的8点fft'
axis([010020])
波形图:
3.
x=[43211234]
x3(n)'
x3的波形'
|x3(k)|'
x3(n)的8点fft'
axis([08020])
4.
=cos(pi/4*n)
x=cos(0.25*pi*n)
axis([08-44])
x4(n)'
x4的波形'
subplot(2,2,2)
axis([016-44])
|x4(k)|'
x4(n)的16点fft'
x4(n)的8点fft'
5.
=sin(pi/8*n)
x=sin((pi*n)/8)
x5(n)'
x5的波形'
x=sin(0.125*pi*n)
|x5(k)|'
x5(n)的16点fft'
x5(n)的8点fft'
6.
=cos(pi*8*t)+sin(pi*16*t)+cos(20*pi*t)
Ts=1/64;
n=0:
15;
Xa=cos(8*n*Ts*pi)+cos(16*n*Ts*pi)+cos(20*n*Ts*pi);
f1=fft(Xa,16);
subplot(3,2,1);
stem(n,Xa);
axis([015-23]);
);
X6(n)'
X6(n)N=16'
%显示x6(n)N=16
k=0:
15
subplot(3,2,2);
axis([016015]);
|X6(k)|'
X6(n)N=16的16点FFT'
%显示X6(n)的16点FFT
31;
Xb=cos(8*n*Ts*pi)+cos(16*n*Ts*pi)+cos(20*n*Ts*pi);
f2=fft(Xb,32);
subplot(3,2,3);
stem(n,Xb);
axis([032-23]);
X6(n)N=32'
%显示x6(n)N=32
subplot(3,2,4);
stem(abs(f2));
axis([032020]);
X6(n)N=32的32点FFT'
%显示X6(n)的32点FFT
63;
Xc=cos(8*n*Ts*pi)+cos(16*n*Ts*pi)+cos(20*n*Ts*pi);
f3=fft(Xc,64);
subplot(3,2,5);
stem(n,Xc);
axis([064-23]);
X6(n)N=64'
%显示x6(n)N=64
subplot(3,2,6);
stem(abs(f3));
axis([064040]);
X6(n)N=64的64点FFT'
%显示X6(n)的64点FFT
(2)令
,用FFT计算8点和16点离散傅立叶变换,
,并根据DFT的对称性,由
求出
和
并与
(1)中所得结果比较。
提示(取N=16时,
,
x=cos(0.25*pi*n)+sin(0.125*pi*n)
x7(n)'
x7的波形'
|x7(k)|'
x7(n)的16点fft'
x7(n)的8点fft'
15];
f1=fft(x,16)
Re=(f1+conj(f1))/2
Im=(f1-conj(f1))/2
stem(n,abs(Re));
|Re(x7(k))|'
恢复后的x4(k)'
stem(abs(Im));
|Im(x7(k))|'
恢复后的x5(k)'
(3)令
,重复
(2)
x=cos(0.25*pi*n)+j*sin(0.125*pi*n)
stem(n,abs(f1));
axis([016010])
|x8(k)|'
x8(n)的16点fft'
7
f2=fft(x,8)
axis([08010])
x8(n)的8点fft'
f=fft(x,16)
k
(1)=conj(f
(1))
m=2:
16
k(m)=conj(f(16-m+2))
fe=(f+k)/2
fo=(f-k)/2
xr=ifft(fe,16)
xo=ifft(fo,16)/j
stem(n,xr);
axis([016-11])
|x4(n)|'
x4(n)的波形'
stem(n,abs(fe));
|x8e(k)|'
stem(n,xo);
|x5(n)|'
x5(n)的波形'
stem(n,abs(fo));
|x8o(k)|'
三、实验心得体会
通过本次实验,我进一步加深了对DFT的算法原理和基本性质的理解,FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质。
进一步熟悉了FFT算法原理和FFT子程序的应用,学会了用FFT对连续信号和时域离散信号进行谱分析的方法,了解了可能出现的分析误差及其原因,以便在实际中正确应用FFT。
本次实验运用到了以前所学的数字信号处理知识,使我对DFT的定义、性质和用DFT作谱分析有了更深的理解。
本次实验还运用了FFT的算法原理与编程思想。
根据主程序给出的DIT-FFT运算流图和程序框图编写了MATLAB程序。
总之,通过本次实验,使我熟悉了MATLAB的上机环境,也使我的实践动手能力有了更进一步的提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验