重庆交通大学
信息科学与工程学院
综合性实验报告
姓 名: 学 号
班 级: 通信工程专业20##级3 班
实验项目名称: DFT变换的性质及应用
实验项目性质: 综合性实验
实验所属课程: 数字信号处理
实验室(中心): 软件实验中心
指 导 教 师 : 张 颖
实验完成时间: 2013 年 12 月 12 日
一、实验目的
1、实现信号的DFT变换
2、了解DFT应用
(1)用DFT计算卷积
(2)用DFT对序列进行谱分析
二、实验内容及要求
任务一:用三种不同的DFT程序计算x(n)=R8(n)的傅里叶变换X(k),并比较三种程序的计算机运行时间。
A.用for循环语句编制函数文件dft1.m,实现循环计算X(k);
B.编写矩阵运算的函数文件dft2.m,实现矩阵计算X(k);
根据定义: 为序列x(n)的DFT则
C.调用FFT函数直接计算X(k),如程序函数dft3.m
D.分别利用上述三种不同的方式编写的DFT程序计算序列X(n)的DFT变换X(k),并画出幅频和相频特性,并比较3个程序的运行时间。
任务二:给定x(n)=nR16(n),h(n)=R8(n)利用DFT实现两序列的线性卷积运算,并研究DFT的点数和混叠的关系,并利用stem(n,y)画出相应的图形。参考程序dft4.m。
任务三:讨论序列补零及增加数据长度对信号频谱的影响
(1)求出序列x(n)=cos(0.48n)+cos(0.52n)基于有限个样点n=10的频谱
(2)求n=100时,取x(n)的前10个,后90个设为0,得到x(n)的频谱
(3)增加x(n)有效的样点数,去100个样点得到x(n)的频谱
三、实验原理
实际上, 任何周期为N的周期序列 都可以看作长度为N的有限长序列x(n)的周期延拓序列, 而x(n)则是 的一个周期, 即:
如果x(n)的长度为N, 且 (n)=x((n))N, 则可写出 (n)的离散傅里叶级数表示为:
有:
1、离散傅里叶变换的定义
设一个有限长序列x(n), n= 0,1,2…,N-1,定义N为其序列长度。
离散傅里叶变换定义为
反变换公式为:
DFT是借用了DFS,这样就假定了序列的周期性,但定义式本身对区间作了强制
约束,以符合有限长特点,这种约束不改变周期性的实质,或者说,DFT隐含了周期
性。
2、DFT的性质
(1) 线性性质
如果x1(n)和x2(n)是两个有限长序列, 长度分别为N1和N2。
y(n)=ax1(n)+bx2(n)
式中a、 b为常数, 即N=max[N1, N2], 则y(n)的 N 点DFT为:
Y(k)=DFT[y(n)]=aX1(k)+bX2[k], 0≤k≤N-1
其中X1(k)和X2(k)分别为x1(n)和x2(n)的 N 点DFT。
(2) 圆周移位性质
A. 序列的循环移位
定义x(n) 的N点圆周移位序列 y(n) 为:
B.时域循环移位定理
设x(n) 是长度为N的有限长序列, y(n)为x(n)的循环移位, 即:
则:
(3)卷积特性 [循环(圆周)卷积定理]
(4)帕斯维尔定理
该性质的第二个关系式表明了时域能量和频域能量的守恒性。
四、实验仪器、材料
PC机一台
MATLAB7.0软件
五、实验过程及原始记录
任务一:
d ft1.m:
function[am,pha]=det1(x)
N=length(x);
w=exp(-j*2*pi/N);
for k=1:N
sum=0;
for n=1:N
sum=sum+x(n)*w^(k-1)*(n-1);
end
am(k)=abs(sum);
pha(k)=angle(sum);
End
Dft2.m:
function [am,pha]=dft2(x)
N=length(x);
n=[0:N-1];
k=[0:N-1];
w=exp(-j*2*pi/N);
nk=n'*k;
wnk=w.^(nk);
Xk=x*wnk;
am=abs(Xk);
pha=angle(Xk)
Dft3.m:
function [amfft,phafft]=dft3(x)
N=length(x);
Xk=fft(x);
amfft=abs(Xk);
phafft=angle(Xk);
主函数:
x=ones(1,8);
figure(1)
[am,pha]=det1(x);
t1=cputime
subplot(3,1,1);
stem(x);
subplot(3,1,2);
stem(am);
subplot(3,1,3);
stem(pha);
figure(2)
[am,pha]=dft2(x)
t2=cputime
subplot(3,1,1);
stem(x);
subplot(3,1,2);
stem(am);
subplot(3,1,3);
stem(pha);
figure(3)
[amfft,phafft]=dft3(x)
t3=cputime
subplot(3,1,1);
stem(x);
subplot(3,1,2);
stem(am);
subplot(3,1,3);
stem(pha);
任务二:
%N1+N2-1=23<32
N=32;
x=[0:15];
xx=[x,zeros(1,16)];
h=[ones(1,8),zeros(1,24)];
Xk=fft(xx,N);
Hk=fft(h,N);
Yk=Xk.*Hk;
y=ifft(Yk,N);
n=0:N-1;
stem(n,y);
hold on
%N=N1=16
N1=16;
x1=[0:15];
h1=[ones(1,8),zeros(1,8)];
Xk1=fft(x1,N1);
Hk1=fft(h1,N1);
Yk1=Xk1.*Hk1;
y1=ifft(Yk1,N1);
n1=0:N-1;
stem(n1,y1,'.','m');
任务三:
%x(n)基于10个样点的频谱
figure(1)
n=[0:1:99];
x=cos(0.48*pi*n)+cos(0.52*pi*n);
n1=[0:1:9];y1=x(1:1:10);
subplot(2,1,1);stem(n1,y1);title('signal x(n),0<=n<=9');xlabel('n')
axis([0,10,-2.5,2.5])
Y1=fft(y1);magY1=abs(Y1(1:1:6));
k1=0:1:5;w1=2*pi/10*k1;
subplot(2,1,2);stem(w1/pi,magY1);title('10点DFT');
xlabel('w/pi'),axis([0,1,0,10])
%在10个样点的基础上添90个零,得到密度高的频谱
figure(2)
n3=[0:1:99];y3=[x(1:1:10) zeros(1,90)];%添90个零,得到100个数据
subplot(2,1,1);stem(n3,y3);title('signal x(n),0<=n<=9+90');xlabel('n')
axis([0,100,-2.5,2.5])
Y3=fft(y3);magY3=abs(Y3(1:1:51));
k3=0:1:50;w3=2*pi/100*k3;
subplot(2,1,2);stem(w3/pi,magY3);title('100点DFT');
xlabel('w/pi'),axis([0,1,0,10])
%增加x(n)有效的样点数,取100个样点
figure(3)
n=[0:1:99];
x=cos(0.48*pi*n)+cos(0.52*pi*n);
subplot(2,1,1);stem(n,x);title('signal x(n),0<=n<=99');xlabel('n')
axis([0,100,-2.5,2.5])
X=fft(x);magX=abs(X(1:1:51));
k=0:1:50;w=2*pi/100*k;
subplot(2,1,2);stem(w/pi,magX);title('100点DFT');
xlabel('w/pi'),axis([0,1,0,60])
六、实验结果及分析
本次实验总共包括三个任务。在第一个任务实验中,用不同的DFT程序运算傅里叶变换,通过观察计算机的运行时间来判别运算的复杂度。本次我选择的样点个数为8,通过实验可知在循环计算过程中总共计时t1=118.7500,矩阵计算中运算时间t3= 118.8906,而在FFT函数直接计算时运算时间t3=119.0156,由此可知以上三种运算的复杂程度由低到高分别是循环计算、矩阵计算、FFT函数直接运算。
在第二个任务实验中,利用DFT实现两个序列的线性卷积运算,并观察DFT的点数与混叠现象,实验结果显示,DFT的混叠现象与两个取样点的点数有关,当L>=M+N=1时没有混叠现象,当L1/2>=L>=L1时存在部分混叠,当L<L1/2就会发生完全混叠现象。因此,可总结出一个结论,即在一定条件下,圆周卷积和线性卷积是相等的,可以采用计算圆周卷积来代替线性卷积的计算。
在第三个任务实验中,讨论了补零及增加数据长度对信号频谱的影响,通过实验结果显示可知:在原运算的基础上补零可以发现其频谱图发生了明显的变化,由于x=cos(0.48*pi*n)+cos(0.52*pi*n)其频率分别是0.48和0.52,可发现补零后频谱图中集中在0.4到0.6之间。但在后面增加数据的有效长度后发现,频谱图依然发生了明显的变化,其频谱图十分准确的显示了其频率0.48和0.52。
七、实验体会
通过本次综合性实验,探究了DFT变换的性质和应用,巩固了我们平时课堂上学习的有关离散傅里叶变换的知识点。通过实际动手编写程序以及观察实验结果可让我们发现自己平时学习过程中的盲点、误点以及遗漏,对微码掌握知识点是一个不断更新和完善的过程。同时,通过本次综合性实验,也巩固了大二时期学习的MATLAB相关知识点。总之,在本次综合性试验中,让我对DTF的相关性质有了更进一步的了解。
综合性、设计性实验报告
姓名 学号
姓名 学号
专业 通信工程 班级 13级通信1301 班
实验课程名称 面向对象程序设计
指导教师及职称 邵金侠 讲师
开课学期 20## 至 2015 学年 上 学期
上课时间 2014年 12 月 18 日
湖南科技学院教务处编印
一、实验设计方案
二、实验报告
综合性实验报告格式请同学们按照论文的格式书写综合性实验报告共有四个实验游离氨基酸可溶性蛋白质淀粉酶同工酶请大家理论结合实际通过实验…
本科生综合性实验报告学号084130091姓名张微学院旅游与地理科学学院专业班级08地理科学B班实验课程名称地理信息系统教师及职称…
本科学生综合性实验报告学号094120xx5姓名陈小华学院生命科学学院专业班级09应用生物教育B班实验课程名称胡萝卜的细胞悬浮培养…
综合性设计性实验报告本科学生姓名袁国明学号20xx034125专业生物科学班级08级生物班实验课程名称微生物学实验教程指导教师及职…
数据库系统概论实验报告一实验题目设计图书馆图书管理数据库系统二实验要求进行需求分析设计ER图设计数据库结构建立必要的视图和索引用s…
开放性实验报告题目:函数信号发生器的设计专业:通信工程学生姓名:班级学号:指导老师:日期:20##/12/26一.设计内容:采用集…
开放性实验报告实验名称机构创新组合与设计开放性实验院系机械与材料工程学院专业机械与材料工程学院班级学号学生姓名指导老师起止时间20…
综合性设计性实验报告实验课程传感器与检测技术姓名班级指导教师实验日期20xx1224实验六位移检测传感器应用一实验类型综合性实验二…
广州大学化学化工学院本科学生综合性实验报告实验课程实验项目药物的合成和鉴定专业班级学号姓名指导教师及职称开课学期实验时间药物合成与…
一实验目的1学会运用Matlab解决实际问题2进一步掌握Matlab的一些基本操作3通过范例体会Matlab的初步建模过程4学会用…