matlab离散傅里叶级数dfs,数字信号处理实验(MATLAB版)实验11离散傅里叶级数(DFS).ppt...

一、实验目的  (1)加深对离散周期序列傅里叶级数(DFS)基本概念的理解。  (2)掌握用MATLAB语言求解周期序列傅里叶级数变换和逆变换的方法。  (3)观察离散周期序列的重复周期数对频谱特性的影响。  (4)了解离散序列的周期卷积及其与线性卷积的区别。 二、实验涉及的MATLAB子函数  1.mod  功能:模除求余。  调用格式:  mod(x,m);x整除m取正余数。  2.floor  功能:向-∞舍入为整数。  调用格式:  floor(x);将x向-∞舍入为整数。 三、实验原理  1.周期序列的离散傅里叶级数  离散时间序列x(n)满足x(n)=x(n+rN),称为离散周期序列,用 表示。其中,N为信号的周期,x(n)称为离散周期序列的主值。  周期序列可以用离散傅里叶级数(DFS)表示: 其中, 是周期序列离散傅里叶级数第k次谐波分量的系数,也称为周期序列的频谱,可表示为  由上面两式可以看出,它们也是周期序列的一对傅里叶级数变换对。   令,以上傅里叶级数变换对又可以写成:  (11-1)   (11-2)   与连续性周期信号的傅里叶级数相比较,周期序列离散傅里叶级数有着如下特点:  (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 例11-1周期序列与傅里叶级数变换和逆变换结果   由离散傅里叶级数逆变换图形可见,与原信号相比,幅度扩大了32倍。这是因为周期序列为原主值序列周期的3倍,做逆变换时未做处理。可以将逆变换程序改为  x=Xk*exp(j*2*pi/N).^(n¢*k)/(3*3*N);   3.离散傅里叶级数变换和逆变换的通用子程序  由例11-1可见,周期序列进行傅里叶级数变换和逆变换,是依据变换公式进行程序编写的,无论信号序列如何变化,求解的公式总是一样的。因此,可以将其编写成通用子程序。   (1)离散傅里叶级数变换通用子程序dfs.m:  function=dfs(xn,N)  n=0:N-1;  k=0:N-1;  WN=exp(-j*2*pi/N);  nk=n¢*k;  Xk=xn*WN.^nk;   (2)离散傅里叶级数逆变换通用子程序idfs.m:  function=idfs(Xk,N)  n=0:N-1;  k=0:N-1;  WN=exp(j*2*pi/N);  nk=n¢*k;  xn=(Xk*WN.^nk)/N;   例11-2 利用上述两个子程序,再做一遍例11-1。  解 由于需要调用子程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值