《数字信号处理实验》课件第11章_第1页
《数字信号处理实验》课件第11章_第2页
《数字信号处理实验》课件第11章_第3页
《数字信号处理实验》课件第11章_第4页
《数字信号处理实验》课件第11章_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1市场与市场营销1.2我国汽车市场的发展与现状复习思考题实验11离散傅里叶级数(DFS)一、实验目的

(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。

解由于需要调用子程序,其中通用子程序仅适用于对主值区间进行傅里叶级数变换和逆变换,周期次数无法传递给通用子程序,因此程序执行的结果仅显示图11-1中一个周期的情况。程序如下:

N=16;

xn=[ones(1,N/4),zeros(1,3*N/4)];

n=0:N-1;

Xk=dfs(xn,N);%离散傅里叶级数变换

xn1=idfs(Xk,N);%离散傅里叶级数逆变换

subplot(2,2,1),stem(n,xn);

axis([0,N-1,0,1.1*max(xn)]);

title(¢x(n)¢);

subplot(2,2,2),stem(n,abs(xn1));%显示逆变换 结果

axis([0,N-1,0,1.1*max(abs(xn1))]);

title(¢idfs|X(k)|¢);

subplot(2,2,3),stem(n,abs(Xk));%显示序列的 幅度谱

title(¢|X(k)|¢);

subplot(2,2,4),stem(n,angle(Xk));%显示序列 的相位谱

title(¢arg|X(k)|¢);

4.周期重复次数对序列频谱的影响

理论上讲,周期序列不满足绝对可积条件,因此不能用傅里叶级数变换来表示。要对周期序列进行分析,可以先取K个周期进行处理,然后再让K无限增大,研究其极限情况。由这一分析思路,可以观察信号序列由非周期到周期变化时,频谱由连续谱逐渐向离散谱过渡的过程。

下面举例说明信号采用不同的重复周期次数对序列频谱的影响。

例11-3

已知一个矩形序列的脉冲宽度占整个周期的1/2,一个周期的采样点数为10点,用傅里叶级数变换求信号的重复周期数分别为1、4、7、10时的幅度频谱。

解MATLAB程序如下:

xn=[ones(1,5),zeros(1,5)];%建立一个周期 的时域信号

Nx=length(xn);

Nw=1000;dw=2*pi/Nw;%把2p分为Nw份,频率 分辨率为dw

k=floor((-Nw/2+0.5):(Nw/2+0.5));%建立关于0 轴对称的频率向量

forr=0:3

K=3*r+1;

nx=0:(K*Nx-1);%周期延拓后的时间向量

x=xn(mod(nx,Nx)+1);%周期延拓后的时间信号x

Xk=x*(exp(-j*dw*nx¢*k))/K;%进行傅里叶级数变换

subplot(4,2,2*r+1),stem(nx,x);

axis([0,K*Nx-1,0,1.1]);ylabel(¢x(n)¢);

subplot(4,2,2*r+2),plot(k*dw,abs(Xk));

axis([-4,4,0,1.1*max(abs(Xk))]);ylabel(¢X(k)¢

);

end

程序运行结果如图11-2所示。

图11-2周期重复次数对序列频谱的影响注意mod函数的用法,由于MATLAB中变量的下标由1开始,而mod函数的结果却从零开始,因此语句中加1。

由图11-2可以看出,信号序列的周期数越多,则频谱越是向几个频点集中。当信号序列的周期数趋于无穷大时,频谱转化为离散谱。

*5.周期序列的卷积和

时域周期序列的卷积和与频域周期序列的积相互对应。若 ,则

注意:周期序列的卷积和与非周期序列的卷积和有所区别。

(1) 和 均为变量为m,周期为N的周期序列,故它们的乘积也是周期序列。

(2)卷积求和是在一个周期内进行的,即从m=0到m=N-1。

(3)如果x1(n)和x2(n)的周期长度不同,则卷积和的长度取N=max[N1,N2]。

下面举例说明。

例11-4

已知两个周期序列分别为 =[1,1,1,0,0,0], =[0,1,2,3,0,0],用图形表示它们的周期卷积和 。

解为了讨论问题的方便,例题选择两个序列均以N=6为周期,以动态图形演示其卷积和的过程。程序如下:

clf; %图形窗清屏

n=0:5; %建立时间向量n

xn1=[0,1,2,3,0,0];%建立xn1序列主值

xn2=[1,1,1,0,0,0];%建立xn2序列主值

N=length(xn1);

nx=(-N:3*N-1);

hxn2=xn2(mod(nx,N)+1);%将xn2序列周期延拓

u=[zeros(1,N),xn2,zeros(1,2*N)];%按xn2周期延拓后的长度重建主值信号

xn12=fliplr(xn1);%将xn1作左右反折

hxn1=xn12(mod(nx,Nx)+1);%将xn1反折后的序列周期延拓

N1=length(hxn1);

y=zeros(1,4*N);%将y存储单元初始化

fork=0:N-1%动态演示绘图开始

p=[zeros(1,k+1),hxn1(1:N1-k-1)];%使 hxn1向右循环移位

y1=u.*p;%使输入和翻转移位的脉冲过渡函数逐项 相乘

yk=sum(y1);%相加

y([k+1,k+N+1,k+2*N+1,k+3*N+1])=yk;[KG*2]%将结果放入数组y

subplot(4,1,1);stem(nx,hxn2);

axis([-1,3*N,0,1.1]);ylabel(¢x2(n)¢);

subplot(4,1,2);stem(nx,p);

axis([-1,3*N,0,3.3]);ylabel(¢x1(n)¢);

subplot(4,1,3);stem(k,yk);%作图表示主值区每 一次卷积的结果

axis([-1,3*N,0,6.6]);holdon[KG-1]%在图 形窗上保留每一次运行的图形结果

ylabel(¢主值区¢);

subplot(4,1,4);stem(nx,y);

axis([-1,3*N,0,6.6]);ylabel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论