实验11 离散傅里叶级数(DFS) (完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的w ord 格式会让很多部分格式错误,谢谢) XXXX 学号姓名处XXXX 一、实验目的 1、加深对离散周期序列傅里叶级数(DFS)基本概念的理解。 2、掌握用MATLAB 语言求解周期序列傅里叶级数变换和逆变换的方法。 3、观察离散周期序列的重复周期数对频谱特性的影响。 4、了解离散序列的周期卷积及其线性卷积的区别。 二、实验内容 1、周期序列的离散傅里叶级数。 2、周期序列的傅里叶级数变换和逆变换。 3、离散傅里叶变换和逆变换的通用子程序。 4、周期重复次数对序列频谱的影响。 5、周期序列的卷积和。 三、实验环境 MATLAB7.0 四、实验原理 用matlab 进行程序设计,利用matlab 绘图十分方便,它既可以绘制各种图形,包括二维图形和三位图形,还可以对图像进行装饰和控制。 1、周期序列的离散傅里叶级数 (1)连续性周期信号的傅里叶级数对应的第k 次谐波分量的系数为无穷多。而周期为N的周期序列,其离散傅里叶级数谐波分量的系数只有N 个是独立的。 (2)周期序列的频谱 也是一个以 N 为周期的周期序列。 2、周期序列的傅里叶级数变换和逆变换 例11-1 已知 一个周期性矩 形序列的脉 冲 宽 度 占 整 个周期的1/4,一个周期的采 样 点数为16 点,显 示 3 个周期的信号序列波形。要 求: (1)用傅里叶级数求信号的幅 度 频谱和相 位频谱。 (2)求傅里叶级数逆变换的图形,与 原 信号图形进行比 较 。 解 MATLAB 程序如 下: N=16; xn=[ones(1,N/4),zeros(1,3*N/4)]; xn=[xn,xn,xn]; n=0:3*N-1; k=0:3*N-1; Xk=xn*exp(-j*2*pi/N).^(n'*k); %离散傅里叶级数变换 x=(Xk*exp(j*2*pi/N).^(n'*k))/N; %离散傅里叶级数 逆变换 subplot(2,2,1),stem(n,xn); title('x(n)');axis([-1,3*N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,2),stem(n,abs(x)); %显示逆变换结果 title('IDFS|X(k)|'); axis([-1,3*N,1.1*min(x),1.1*max(x)]); subplot(2,2,3),stem(k,abs(Xk)); %显示序列的幅度谱 title('|X(k)|'); axis([-1,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([-1,3*N,1.1*min(angle(Xk)), 1.1*max(angle(Xk))]); 运行结果如图11-1 所示。 图11-1 ...