DFT实现频谱分析与线性卷积实验四.docx

上传人:b**** 文档编号:14646310 上传时间:2023-06-25 格式:DOCX 页数:11 大小:380.74KB
下载 相关 举报
DFT实现频谱分析与线性卷积实验四.docx_第1页
第1页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第2页
第2页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第3页
第3页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第4页
第4页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第5页
第5页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第6页
第6页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第7页
第7页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第8页
第8页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第9页
第9页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第10页
第10页 / 共11页
DFT实现频谱分析与线性卷积实验四.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DFT实现频谱分析与线性卷积实验四.docx

《DFT实现频谱分析与线性卷积实验四.docx》由会员分享,可在线阅读,更多相关《DFT实现频谱分析与线性卷积实验四.docx(11页珍藏版)》请在冰点文库上搜索。

DFT实现频谱分析与线性卷积实验四.docx

百度文库-让每个人平等地提升自我

实验报告

实验名称DFT实现频谱分析与线性卷积

课程名称数字信号处理实验

11

院系部:

电气学院

学生姓名:

庞思颜

指导教师:

范杰清

实验日期:

2017-11-15

专业班级:

电网1501

学号:

1151600115

成绩:

华北电力大学

DSP4:

DFT实现频谱分析与线性卷积

一、实验目的

1.应用离散傅里叶变换(DFT),分析离散信号x(n)的频谱。

2.深刻理解DFT分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。

3.应用离散傅里叶变换(DFT),实现离散信号与系统的线性卷积,并理解实现条件。

二、实验原理—DFT实现频谱分析

根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT)与四种确定信号傅里叶变换的之间的关系,实现由DFT分析其频谱。

四种信号的频谱函数

连续非周期信号x(t)

连续周期信号

离散非周期信号x(n)

离散周期信号

四种信号的频谱函数之间的相互关系

信号的傅里叶变换建立了信号的时域与频域之间的一一对应关系,如果信号在时域存在某种联系,则在其频谱函数之间必然存在联系。

若离散非周期信号x(n)是连续非周期信号x(t)的等间隔抽样序列,则信号x(n)的频谱函数是信号x(t)的频谱函数的周期化;若离散周期信号是离散非周期信号x(n)的周期化,则信号的频谱函数是信号的频谱函数的离散化。

信号在时域的离散化导致其频谱函数的周期化

信号在时域的周期化导致其频谱函数的离散化

通过离散周期序列的频谱可以近似分析连续非周期信号的频谱

利用DFT可以直接计算离散周期信号的频谱

DFT:

IDFT:

Matlab中提供了fft函数,FFT是DFT的快速算法

X=fft(x):

用于计算序列x的离散傅里叶变换(DFT)

X=fft(x,n):

对序列x补零或截短至n点的离散傅里叶变换。

当x的长度小于n时,在x的尾部补零使x的长度达到n点;

当x的长度大于n时,将x截短使x的长度成n点;

x=ifft(X)和x=ifft(X,n)是相应的离散傅里叶反变换。

fftshift(x)将fft计算输出的零频移到输出的中心位置。

利用DFT计算离散周期信号的频谱

分析步骤为:

(1)确定离散周期序列的基本周期N;

(2)利用fft函数求其一个周期的DFT,得到X(k);

(3)X(k)为的一个周期。

已知一个周期序列,利用FFT计算其频谱并与理论分析相比较。

N=16;

n=0:

N-1;

x=cos(n.*pi./8+pi/3)+0.5*cos(0.875*pi.*n);

X=fftshift(fft(x));

subplot(2,1,1);

stem(n-N/2,abs(X));

title('幅频特性');

subplot(2,1,2);

stem(n-N/2,angle(X));

title('相频特性');

利用DFT计算离散非周期信号x(n)的频谱

分析步骤为:

(1)确定序列的长度M当序列为无限长时,需要根据能量分布,利用窗函数进行截短。

(2)确定作FFT的点数N;根据频域取样定理,为使时域波形不产生混叠,必须取。

(3)使用fft函数作N点FFT计算X(k)。

利用DFT分析序列x(n)=的频谱。

k=0:

30;

x=0.8.^k;

subplot(2,1,1);

stem(k,x);%画出序列的时域波形

subplot(2,1,2);

w=k-15;

plot(w,abs(fftshift(fft(x))));%画出序列频谱的幅度谱

二、实验原理—DFT实现线性卷积

当x(n)与h(n)的圆周卷积长度N≥N1+N2-1时,N点圆周卷积能代表二者的线性卷积。

这就是利用DFT计算线性卷积的方法和要求,即选择长度大于等于的两序列线性卷积长度的DFT运算计算线性卷积。

利用DFT计算线性卷积:

用圆周卷积代替,要求圆周卷积的点数L>=N1+N2-1

三、实验内容

1.利用FFT分析信号的频谱;

(1)确定DFT计算的参数;

(2)进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。

N=16;

n=0:

N-1;

x=0.5.^n.*[ones(1,N)];

X=fftshift(fft(x,N));

subplot(2,1,1);

plot(n-N/2,abs(X),'--');holdon

stem(n-N/2,abs(X));

title('幅频特性');

subplot(2,1,2);

stem(n-N/2,angle(X));holdon

plot(n-N/2,angle(X),'--');

title('相频特性');

2.某周期序列由3个频率组成:

,利用FFT分析其频谱。

如何选取FFT的点数N?

此3个频率分别对应FFT计算结果X(k)中的哪些点?

若选取的N不合适,FFT计算出的频谱X(k)会出现什么情况?

N=32;%应为32的整数倍,否则会出现频谱泄漏

k=0:

N-1;

x=cos(7*pi.*k./16)+cos(9*pi.*k./16)+cos(pi.*k./2);

X=fftshift(fft(x,N));

subplot(2,1,1);

stem(k-N/2,abs(X));

title('幅频特性');

subplot(2,1,2);

stem(k-N/2,angle(X));

title('相频特性');

3.某离散序列,利用FFT分析其频谱。

(1)对x(n)做64点FFT,绘出信号频谱,能分辨出其中的两个频率吗?

(2)对x(n)补零到256点后计算FFT,能分辨出其中的两个频率吗?

(3)选用非矩形窗计算FFT,能够分辨出其中的两个频率吗?

(4)若不能够很好地分辨出其中的两个频谱,应采取哪些措施?

N=64;%周期约为195

k=0:

N-1;

x=cos(2*pi.*k./15)+0.75*cos(2.3*pi.*k./15);

X=fftshift(fft(x,N));

subplot(2,2,1);

stem(k-N/2,abs(X));title('幅频特性');

subplot(2,2,2);

stem(k-N/2,angle(X));title('相频特性');

X=fftshift(fft(x,4*N));

subplot(2,2,3);

stem(abs(X));title('幅频特性');

subplot(2,2,4);

stem(angle(X));title('相频特性');

4.用FFT实现序列和的线性卷积,并将该结果与直接求解线性卷积的结果进行对比。

N=17;

n=0:

11;

x=0.8.^n.*ones(1,12);

h=ones(1,6);

X=fftshift(fft(x,N));

H=fftshift(fft(h,N));

Y=X.*H;

y1=ifft(Y,N);

subplot(2,1,1);

stem(abs(y1));

subplot(2,1,2);

y2=conv(x,h);

stem(y2);

5.设x1(n)和x2(n)是如下给出的两个4点序列:

①求它们的线性卷积x3(n)。

②计算圆周卷积x4(n)使它等于x3(n)。

N=7

x1=[1,2,2,1];x2=[1,-1,-1,1];

x3=conv(x1,x2);

X1=fft(x1,N);X2=fft(x2,N);X4=X1.*X2;

x4=ifft(X4)

subplot(2,1,1);stem(x3);

subplot(2,1,2);stem(x4);

6.已知序列

利用FFT分析下列信号的幅频特性,频率范围为,N=500点。

(1)

(2)若将上述x(n)乘以cos(pn/2),重做

(1)

N=500

n=-50:

50;

x1=exp(-0.005*n.^2);

y1=exp(-0.02*n.^2);

y2=exp(-0.02*n.^2).*cos(n.*pi);

Y1=fftshift(fft(y1,N));

Y2=fftshift(fft(y2,N));

subplot(2,2,1);stem(y1);title('信号波形');

subplot(2,2,3);stem(abs(Y1));

subplot(2,2,2);stem(y2);title('信号波形');

subplot(2,2,4);stem(abs(Y2));

实验思考题

1.既然可直接由DTFT定义计算序列DTFT,为何利用DFT分析序列的频谱?

DFT用于分析有限长序列更方便。

DFT本身是一个序列,适合计算机计算。

2.若序列持续时间无限长,且无解析表达式,如何利用DFT分析其频谱?

利用窗函数截短。

3.在利用DFT分析离散信号频谱时,会出现哪些误差?

如何克服或改善?

频谱混叠,频率泄露,使频率无法分辨,应该增加抽样点数N,选择合适的窗函数。

4.在利用DFT分析离散信号频谱时,如何选择窗函数?

尽量宽,不要突变。

5.序列补零和增加序列长度都可以提高频谱分辨率吗?

两者有何本质区别?

①不能,②能。

信号长度N决定分辨率高低。

N一定时无论补零多少,分辨率不变。

补零是DFT中常用的方法,只能使序列的频谱变得细致,但不能提高序列的频率分辨率。

只有从序列中增加有效长度,才能得到序列的高分辨率频谱。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2