综合性实验报告1

重庆交通大学

信息科学与工程学院

综合性实验报告

姓    名: 学    号

班        级:  通信工程专业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的相关性质有了更进一步的了解。

 

第二篇:(面向对象程序设计1301)综合性实验报告 (1)

综合性、设计性实验报告

          姓名                  学号               

          姓名                  学号               

          专业    通信工程     班级 13级通信1301

          实验课程名称          面向对象程序设计    

          指导教师及职称      邵金侠 讲师           

          开课学期   20##    2015   学年    学期

          上课时间     2014 12 18           

湖南科技学院教务处编印

一、实验设计方案

二、实验报告

相关推荐