傅立叶级数和离散傅里叶变换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
(3)求这个有限长序列补零到N=100时的DFT,并与DTFT结果进行比较。 解答: N = 100; xn = [7,6,5,4,3,2,zeros(1,N-6)]; n = 0:N-1; k = 0:N-1; Xk = xn*exp(-j*2*pi/N).^(n'*k); x = (Xk*exp(j*2*pi/N).^(n'*k))/N; subplot(2,1,1),stem(k,abs(Xk)); title('|X(k)|'); subplot(2,1,2),stem(k,angle(Xk)); title('arg|X(k)|'); axis([0,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))])
傅立叶级数和离散傅里叶变换
一、实验目的 (1)加深对离散周期序列傅立叶级数(DFS)和离散傅里叶变换(DFT)基本概念 的理解。 (2)掌握用Matlab语言求解周期序列傅里叶级数和离散傅里叶变换的变换和逆变换 的方法。 (3)观察离散周期序列的重复周期数对频谱特性的影响,理解离散序列周期卷积及 其线性卷积的区别 (4)了解有限长序列傅立叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时 间傅里叶变换(DTFT)的联系。
值, 是在单位圆上 N 个等间距的点上取值。因此,连续谱 经插值后得到。
可以由离散谱
7
3
5、求x(n)=[ 7,6,5,4,3,2],0≤n≤5的DTFT,将 2 , 2 区间分成500份。要求:百度文库
(1)画出原信号;
(2)画出由DTFT求出的幅度谱 X e j 和相位谱 arg X e j 的图形。
解答: xn = [7 6 5 4 3 2]; N = length(xn); n = 0:N-1; w = linspace(-2*pi,2*pi,500); X = xn*exp(-j*n'*w); figure,subplot(3,1,1),stem(n,xn) title('x(n)'); subplot(3,1,2),plot(w,abs(X)); axis([-2*pi,2*pi,1.1*min(abs(X)),1.1*max(abs(X))]); title('幅度谱'); subplot(3,1,3),plot(w,angle(X)); axis([-2*pi,2*pi,1.1*min(angle(X)),1.1*max(angle(X))]); title('相位谱');
6
解: Fs = 64; N = 16; for r=0:2 n = 0:N-1; k = 0:N-1; xn =cos(8*pi*n/Fs)+cos(16*pi*n/Fs)+cos(20*pi*n/Fs); Xk = xn*exp(-j*2*pi/N).^(n'*k); subplot(3,1,r+1),stem(k,abs(Xk)); title(['|X(k)| N=',num2str(N)]); N=N*2; End
for r=0:1 n = 0:N-1; k = 0:N-1; x1 = [ones(1,4),zeros(1,N-4)]; x2=[4,3,2,1,1,2,3,4,zeros(1,N-8)]; x3=sin(n*pi/8); X1k = x1*exp(-j*2*pi/N).^(n'*k); X2k = x2*exp(-j*2*pi/N).^(n'*k); X3k = x3*exp(-j*2*pi/N).^(n'*k); subplot(3,2,r+1),stem(k,abs(X1k)); title(['|X1(k)| N=',num2str(N)]); subplot(3,2,r+3),stem(k,abs(X2k));
1
3、已知有限长序列x(n)=[7,6,5,4,3,2],求x(n)的DFT和IDFT,要求:
(1) 画出DFT对应的 X k 和 arg X k 的图形。
(2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较xn = [7 6 5 4 3 2]; 解答: N = length(xn); n = 0:N-1; k = 0:N-1; Xk = xn*exp(-j*2*pi/N).^(n'*k); x = (Xk*exp(j*2*pi/N).^(n'*k))/N; figure,subplot(2,2,1),stem(n,xn); title('x(n)'); subplot(2,2,2),stem(n,abs(x)); title('IDFT|X(k)|'); subplot(2,2,3),stem(k,abs(Xk)); title('|X(k)|'); subplot(2,2,4),stem(k,angle(Xk)); title('arg|X(k)|'); axis([0,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))])
5
6、先用 MATLAB 产生出下列三个数字信号:
x1(n) R4(n) (长度为4的矩形窗)
4 n, 0 n 3
x2(n) n 3
4n7
0
其它n
x3(n) sin( n) 8
然后逐个用DFT进行谱分析,分别取DFT的长度N=16,32,画出信号的幅谱图,
分析实验结果。
解:
N = 16;
四、实验报告 1、列写调试通过的使用程序,打印实验程序产生的曲线图形。 2、回答思考题: (1)离散周期序列的频谱有何特点?离散序列的周期重复次数对信号的幅度频谱有 何影响? 答:离散周期序列的频谱的特点在于:当信号序列的周期数越多时,那么频谱就会 越是向几个频点集中。当信号序列的周期趋于无穷大时,频谱则会转化为离散谱。 (2)DFT与DTFT、DFS分别有和联系和区别?DFT有何特点? 答: 1、长序列傅立叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时间傅里叶变换 (DTFT)的区别与联系:将周期序列的傅里叶级数变换对与有限长序列离散傅里叶
2
4、一周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期周期重复次数为3次时的DFS。要 求: (1)画出原主值和信号周期序列信号;
(2)画出序列傅里叶变换对应的 X k 和 arg X k 的图形。
解答: xn = [7 6 5 4 3 2]; N = length(xn); n = 0:3*N-1; k = 0:3*N-1; xn1 = xn(mod(n,N)+1); Xk = xn1*exp(-j*2*pi/N).^(n'*k); figure,subplot(2,2,1),stem(xn); title('原主值信号(n)'); subplot(2,2,2),stem(n,xn1); title('周期序列信号');axis([0,3*N,min(xn1),1.1*max(xn1)]) subplot(2,2,3),stem(k,abs(Xk)); title('|X(k)|');axis([0,3*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]) subplot(2,2,4),stem(k,angle(Xk)); title('arg|X(k)|');axis([0,3*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))])
title(['|X2(k)| N=',num2str(N)]); subplot(3,2,r+5),stem(k,abs(X3k)); title(['|X3(k)| N=',num2str(N)]); N=N+16;
end
7、先用MATLAB产生出如下模拟信号: x4(t) cos(8t) cos(16t) cos(20t) 设采样频率 Fs 64 Hz,然后用DFT进行谱分析,分别取DFT的长度N=16,32, 64,画出信号的幅谱图,横轴打印模拟频率。讨论DFT长度与频率分辨率的关 系,要在频谱图上分离出上述3个频率,DFT长度至少取多大?
二、实验任务 1、阅读并输入实验原理中介绍的例题程序,观察输出的图形曲线,理解每一条语句 的含义。 2、已知一个信号序列的主值为x(n)=[0,1,2,3,2,1,0],显示两个周期的信号序列波形, 要求: (1) 用DFS求信号的幅度频谱和相位频谱,用图形表示; (2)求IDFS的图形,并与原信号进行比较。 解答: N = 7; xn = [0,1,2,3,2,1,0]; xn = [xn xn]; n = 0:2*N-1; k = 0:2*N-1; Xk = xn*exp(-j*2*pi/N).^(n'*k); x = (Xk*exp(j*2*pi/N).^(n'*k))/(2*2*N); subplot(2,2,1),stem(n,xn); title('x(n)');axis([-2,2*N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,2),stem(n,abs(x)); title('IDFS|X(k)|');axis([-2,2*N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,3),stem(k,abs(Xk)); title('|X(k)|');axis([-2,2*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk)); title('arg|X(k)|');axis([-2,2*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);
级数变换对进行比较,可以看出它们之间的区别:两者仅仅是将周期序列 换成 了有限长序列换成了有限长序列 x(n),同时,由于式中 WNnk 的周期性,因而有限 长序列的离散傅里叶变换实际上隐含着周期性。 2、离散时间傅里叶变换(DTFT)是指信号在时域上是离散的、非周期的,而在频域
上则是连续的、周期性的。 与有限长序列相比,序列的频谱 仅在单位圆上取
相关文档
最新文档