实验4DFT变换的性质及应用.docx
《实验4DFT变换的性质及应用.docx》由会员分享,可在线阅读,更多相关《实验4DFT变换的性质及应用.docx(14页珍藏版)》请在冰点文库上搜索。
实验4DFT变换的性质及应用
课程编号
实验项目序号
本科学生实验卡和实验报告
信息科学与工程学院
通信工程专业2013级 1301班
课程名称:
数字信号处理
实验项目:
DFT变换的性质及应用
2015~~2016学年第二学期
学号:
2_姓名:
___王少丹_____专业年级班级:
____通信1301______
_____四合院____实验室组别________实验日期__2016年_5月__22日
课程名称
数字信号处理
实验课时
4
实验项目名称
和编号
DFT变换的性质及应用
同组者姓名
实验目的
1、实现信号的DFT变换
2、了解DFT应用:
(1)用DFT计算卷积
1、 线性卷积
y(n)=x(n)*h(n)
设两序列分别的长度是N和M,线性卷积后的序列长度为(N+M-1)
2、 循环卷积
和的N点DFT分别为:
X1(k)=DFT[]
X2(k)=DFT[]
如果X(k)=X1(k)X2(k),0≤k≤N-1
则:
x(n)=IDFT[X(k)]=
x(n)
3、 循环卷积的计算
由于DFT有快速算法FFT,当N很大时,在频域计算的速度快得多,因而常用DFT(FFT)计算循环卷积。
4、 利用循环卷积计算线性卷积
在实际应用中,为了分析时域离散线性系统对序列进行滤波处理等,需要计算两个序列的线性卷积。
与计算循环卷积一样,为了提高运算速度,也希望用DFT(FFT)计算线性卷积。
而DFT只能直接用来计算循环卷积。
(2)用DFT对序列进行谱分析
所谓信号的谱分析,就是计算信号的傅立叶变换。
连续信号与系统的傅立叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT是一种时域和频域均离散化的变换,适合数值运算。
对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。
1、用DFT对连续信号进行谱分析
傅立叶变换理论:
若信号持续时间有限长,则其频谱无限宽;若频谱有限宽,则其持续时间无限长。
所以,严格地讲,持续时间有限的带限信号是不存在的。
但在工程中,常用DFT对连续信号进行谱分析。
对于持续时间无限长的信号,采样点数太多以至无法存储和计算,只好截取有限点;对于频谱很宽的信号,为防止时域采样后频谱混叠失真,可用预滤波法滤除幅度较小的高频成分,使连续信号的带宽小于折叠频率。
这样,连续信号持续时间为有限长,为有限带宽。
为了利用DFT对进行频谱分析,先对进行时域采样得x(n),再对x(n)进行DFT得到X(k),X(k)为x(n)的傅立叶变换在频率区间[0,2p]上的N点等间隔采样。
这里X(k)和x(n)均为有限长。
所以用DFT对连续信号进行谱分析是近似的,其近似程度与信号带宽、采样频率和截取长度有关。
2、用DFT进行谱分析存在的问题
栅栏效应:
只能看见N个离散采样点的谱特性,看不到的全部频谱特性。
由于栅栏效应,有可能漏掉(挡住)大的频谱分量。
为了把原来被“栅栏”挡住的频谱分量检测出来,可以采用在原序列尾部补零的方法,改变序列长度N(即改变DFT变换区间长度),从而增加频域采样点数和采样点位置,使原来漏掉的某些频谱分量被检测出来。
实验环境
MATLAB
实验内容
和原理
实验步骤
方法
关键代码
Dft1.m:
function[am,pha]=dft1(x)
N=length(x);
w=exp(-j*2*pi/N);
fork=1:
N
sum=0;
forn=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);
实验结果:
用三种不同的DFT程序计算x(n)=(0.9)^n(n=0,1,2,…,7)的傅立叶变换X(k),并比较三种程序的计算机运行时间
T1任务2、给定x(n)=nR16(n),h(n)=R8(n)利用DFT实现两序列的线性卷积运算,并研究DFT的点数与混叠的关系,并用stem(n,y)画出相应的图形
代码:
dft4.m:
%%%%%%%%%%%%%%%%%%%ÈÎÎñ2%%%%%%%%%%%%%%%%
%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);
holdon
%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');
任务3、讨论序列补零及增加数据长度对信号频谱的影响
(1)求出序列x(n)=cos(0.48n)+cos(0.52n)基于有限个样点n=10的频谱;
(2)求n=100时,取x(n)的前10个,后90个设为零,得到x(n)的频谱;
(3)增加x(n)有效的样点数,取100个样点得到x(n)的频谱
实验代码:
任务一:
n=[0:
7];
x=(0.9).^n;
figure
(1)
[am,pha]=dft1(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);
任务三:
dft5.m:
%%%%%%%%%%%%%%ÈÎÎñ3%%%%%%%%%%%%%%%%%
%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('signalx(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('signalx(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('signalx(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])
测试记录
分析
结论
实验数据与理论相符。
小结
离散傅里叶变换(DiscreteFourierTransform,缩写为DFT),是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样。
在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。
即使对有限长的离散信号作DFT,也应当将其看作其周期延拓的变换。
在实际应用中通常采用快速傅里叶变换计算DFT。
离散傅里叶变换的性质:
线性,循环移位定理,循环卷积定理,
以下由实验教师填写
记事
评议
成绩评定
平时成绩_______实验报告成绩________综合成绩_________
指导教师签名: