典型序列的频谱分析.docx
《典型序列的频谱分析.docx》由会员分享,可在线阅读,更多相关《典型序列的频谱分析.docx(12页珍藏版)》请在冰豆网上搜索。
典型序列的频谱分析
天津城市建设学院
课程设计任务书
2012—2013学年第1学期
计算机与信息工程学院电子信息工程系电子信息科学与技术专业
课程设计名称:
数字信号处理
设计题目:
典型序列的频谱分析
完成期限:
自2012年12月17日至2012年12月28日共2周
设计依据、要求及主要内容:
1.课程设计依据
《数字信号处理》是电子信息类专业极其重要的一门专业基础课程,这门课程是将信号和系统抽象成离散的数学模型,并从数学分析的角度分別讨论信号、系统、信号经过系统、系统设计(主要是滤波器)等问题。
采用仿真可帮助学生加强理解,在掌握数字信号处理相关理论的基础上,根据数字信号处理课程所学知识,利用Matlab产生典型信号并进行频谱分析。
2.课程设计内容
1、对于三种典型序列-…-单位采样序列、实指数序列、矩形序列,要求:
(1)画出以上序列的时域波形图:
(2)求出以上序列的傅里叶变换:
(3)画出以上序列的幅度谱及相位谱,并对相关结果予以理论分析;(4)对以上序列分别进行时移,画出时移后序列的频谱图,验证傅里叶变换的时移性质:
(5)对以上序列的频谱分別进行频移,求岀频移后频谱所对应的序列,并画岀序列的时域波形图,验证傅里叶变换的频移性质。
2、自行设计一个周期序列,要求:
(1)画出周期序列的时域波形图:
(2)求周期序列的DFS.并画出幅度特性曲线:
(3)求周期序列的FT,并画岀幅频特性曲线:
(4)比较DFS和FT的结果,从中可以得出什么结论。
3.课程设计要求
1.要求独立完成设计任务。
2.课程设讣说明书封而格式要求见《天津城市建设学院课程设计教学工作规范》附表1
3.课程设讣的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
4.测试要求:
根据题目的特点,编写Matlab程序,绘制结果图形,并从理论上进行分析。
5.课设说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)详细介绍运用的理论知识和主要的Matlab程序。
3)绘制结果图形并对仿真结果进行详细的分析。
指导教师(签字):
系/教研室主任(签字):
批准日期:
2012年12月13日
第一章设计任务及要求4
1.1课程设计任务4
1.2课程设计要求4
第二章设计原理5
2.1三种典型序列的频谱及程序5
2.1.1.三种典型序列5
2.12典型序列生成程序5
2.1.3移位和频移6
2.2周期序列6
221周期延括原理6
2.2.2周期的DFS6
第三章设计实现8
3.1典型序列8
3.1.1.单位采样序列8
3.1.2实指数序列8
3.1.3矩形序列8
3.2时移和频移8
3.2.1时移8
3.2.2频移9
33周期序列9
第四章设计结果及分析10
4.1典型序列10
4丄1运行结果10
第五章总结11
参考文献12
附录:
13
第一章设计任务及要求
1.1课程设计任务
1、对于三种典型序列-…-单位采样序列、实指数序列、矩形序列。
要求:
(1)画出以上序列的时域波形图:
(2)求出以上序列的傅里叶变换;
<3)画出以上序列的幅度谱及相位谱,并对相关结果予以理论分析;
(4)对以上序列分别进行时移,画出时移后序列的频谱图,验证傅里叶变换的时移性质;
(5)对以上序列的频谱分别进行频移,求出频移后频谱所对应的序列,并画出序列的时域波形图,验证傅里叶变换的频移性质。
2、自行设计一个周期序列。
要求:
(1)画出周期序列的时域波形图:
(2)求周期序列的DFS,并画出幅度特性曲线:
(3)求周期序列的FT,并画出幅频特性曲线;
(4)比较DFS和FT的结果,从中可以得岀什么结论。
1-2课程设计要求
1.要求独立完成设计任务。
2.课程设计说明书封而格式要求见《天津城币建设学院课程设il•教学工作规范》附表1
3.课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、淸楚、规范。
4.测试要求:
根据题目的特点,编写Matlab程序,绘制结果图形,并从理论上进行分析。
5.课设说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)详细介绍运用的理论知识和主要的Matlab程序。
3)绘制结果图形并对仿真结果进行详细的分析。
第二章设计原理
2.1三輕典型序列的频谱及程序
2.1.1.三种典型序列一单位采样序列、实指数序列、矩形序列公式表达
&、P"=°
J(77)=
(1)单位釆样序列公式表示:
1°"丰°
单位采样序列也称为单位脉冲序列,特点是仅在11=0的时候取值为1,其他的均为0,
实指数序列公式表示:
班舁)="为实数
(2)
如果|a|(3)矩形序列公式表示:
、
心S)T
10~力*“1
0其它
式中的N成为矩形序列的长度。
2.12典型序列生成程序
(1)单位采样序列:
nl=-3;ii2=4;n0=0;
n=nl:
ii2;
x=[n=n0];
stem(n,x,'filled');xlabel('时间(n));ylabelC幅度x(n)');title('单位脉冲序歹『);
(2)实指数序列:
n=0:
10;a=0.5;
x=a.An;
stem(n,x/filled,);
xlabelC时间(町);ylabelC幅度x(n));titleC实指数序列);
(3)矩形序列:
n=l:
20
x=sign(sign(10-n)+1);
closeall;
stem(x);
xlabelC时间(诃);沁1(’幅度x®));titleC矩形序列)
2.1.3移位和频移
1•移位:
在这个序列运算中,x[n]的每一个样本都移动(即延迟)k个采样周期,设移位后的序列为y(n)。
当k>0时每一个样本向右移动,称为x(n)的延时序列;当k<0时,每一个样本向左移动,称为x(n)的超前序列。
在MATLAB中,如果原始的序列用x和nx表示,移位后的序列用y和yn表示,移位运算并不影响向量x的值,因此y=x。
移位体现为位垃向量的改变。
ny的每个元素都比nx加了一个k,即ny=nx+k。
y和ny就是移位后的向量的表述,说明y取k拍前的x值。
向左移位可令k取负号,意味着丫取*拍后的x值。
在系统框图中用z"进行标注,它被称为迟延算子,表示把输入序列右移一位:
用z进行标注,它是左移运算是右移算子的逆运算。
实际上迟延算子取的是序列过去的值,具有物理可实现性:
而左移算子是提前算子,它要知道序列未来的值,物理上无法实现。
所以数字信号处理中通常都用z"算子。
2.频移:
若/⑴<->F{co),则/(/)•R如RF(e一①))
2.2周期序列
.结论:
将信号/(I)乘以因子严",对应于将频谱函数沿轴㈢右移©o;将信号/(/)乘以因子ejaot,对应于将频谱函数沿轴㈢右移
2.2.1周期延括原理
x[n]=x[n+kN](2.2)
则乂[n]称为周期序列。
满足上述关系的最小N称为基本周期。
用MATLAB把一个周期序列{x(n),OvnvN-1},拓展为有K个周期的序列xtide(n)一般有两种方法。
简单复制法:
设x是一个已賦值的行向虽:
,英长度为N=leiigth(x),耙它复制K次,得到的xtide长度为K?
N。
因此有,xtide=[X.X.……X]:
iixtide=O:
K:
N-1。
这个方法在K太大时容易数错,不是很好。
余函数mod法:
函数nl=(nmodN)o这个算式把大于等于N的n值,减去N的整倍数,使余数nl在0与N-1之间。
对于小于等于0的n值,则加以N的整倍数。
也使nl在0与N-1之间。
把这一运算用到位苣向量上,就可以方便的实现有限序列的周期延拓。
先设置位置向量,要复制K个x,则新向量的长度应为K*N.貝中N为x的长度,也就是所取的周期。
2.2.2周期的DFS
对周期信号哭㈤由DFS有
即2-如<
—lim恥$全农已血)
当NS时,N,令NF有
瑕严)二fx(必一仙
DTFT
显然,嵐9心)对G是以2兀为周期的。
将其与表达式比较有:
2%
5
稔)二丄V的
叫5
于是:
当MTOD时,£O)Tx®),切JT©,呦T伽,
当k在一个周期范用内变化时,上切在2兀范用内变化,所以积分区间是2叭表明:
d©
i
离散时间序列可以分解为频率在2兀区间上连续分布的、幅度为2兀的复指数
分量的线性组合。
第三章设计实现
3.1典型序列
3.1.1.单位釆样序列
n=l:
50;
x=zeros(l,50);x(l)=l;closeall;subplot(3JJ);stem(x);title('单位采样序列');
k=-25:
25;X=x*(exp(-j*pi/25)).A(n*k);magX=abs(X):
subplot(3丄2);stem(inagX):
title(‘单位采样序列的幅度谱工
angX=angle(X);subplot(3J,3):
stem(aiigX);title(*单位采样序列的相位谱)
3.1.2实指数序列
n=0:
20;a=1.2;x=a.An;subplot(311);stem(n»x/fiir),gndon;titleC实指数序列)
k二10:
10;X=x*(exp(-j0)).A(n**k);magX=abs(X);subplot(312);stein(magX);title(,实指数序列的幅度谱*);
angX=angle(X);subplot(3⑶;st亡m(angX):
title(*实指数序列的相位谱'))
3.1.3矩形序列
nl=-10;n2=10:
n3=40;n0=0;n=nl:
n3;n4=0;x=[(n>=n0+n4)&(ncloseall;subplot(3,1,1);stem(n>x/filled,);title(t矩形序列
k=-20:
20;X=x*(exp(-j*pi/20)).A((n+ii4尸k);inagX=abs(X);subplot(3,l?
2);stem(magX);title(,矩形序列的幅度谱工
angX=angle(X);subplot(3,1,3);stem(aiigX);title(*矩形序列的相位谱')
angX=angle(X);subplot(3,1,3);stem(angX);title('矩形序列的相位谱')
3.2时移和频移
3.2.1时移
1.单位采样序列的时移:
n=l:
50;x=zeros(l,50);t=10:
x(t+l)=l;closeall;subplot(3,l、l);stem(x);title(‘单位釆样序列的时移');k=-25:
25;X=x*(exp(-j*pi/12.5)).A(n*k);
magX=abs(X):
subplot(3,1,2);stem(magX);title('单位采样序列时移的幅度谱);
angX=angle(X);subplot(3J,3):
stem(aiigX);title(*单位采样序列时移的相位谱)
2.实指数序列的时移:
n=0:
20;
a=1.2;t=5;x=a.A(n-t);subplot(311);stem(n+t,x/fiir).gridon;title('时移实指数序列J
k二10:
10;X=x*(exp(-j*pi/l0)).A((n+t),*k):
inagX=abs(X);subplot(312);stem(magX);titlef时移实指数序列的幅度谱');
angX=angle(X);subplot(3⑶;stem(angX):
title(,时移实指数序列的相位谱)
3•时移的矩形序列
nl=-10;n2=10;n3=40;n0=0;n=nlm3:
n4=10;x=[(n>=n0+n4)&(nsubplot(3,1,1);stein(n^/filledr);title(,时移的矩形序列’);k=-20:
20;X=x*(exp(-j*pi/20))A((n+n4)**k);magX=abs(X);subplot(3,l,2);stem(magX);title(*时移矩形序列的幅度谱*);
angX=angle(X);subplot(3.1,3);stem(aiigX);title('时移矩形序列的相位谱)
3.2.2频移
1.单位采样序列频移:
n=l:
50;x=zeros(l,50);x(l)=l;^=pi*l;y=exp(j*w*n);z=x.*ycloseall;subplot(3丄l);stem(z);
titleC频移后单位采样序列k=-25:
25;
X=z*(exp(-j*pi/25)).A(n*k);magX=abs(X);subplot(3,1,2);stem(magX):
title('频移后单位采样序幅度谱*);
angX=angle(X);subplot(3.1,3);stem(aiigX):
title(,频移后单位采样序列的相位谱*)
2.实指数序列的频谱:
n=0:
20;a=1.2;x=a.An;\v=pi;y=exp(j*w*n);z=x.*y;subplot(311);sten^n^x/fill^^gridon;title('频移后的实指数序列')k二10:
10:
X=z*(exp(-j*pi/10)).A(n*k);magX=abs(X);subplot(312);stem(magX);title(濒移后的实指数序列的幅度谱*);angX=angle(X);subplot(3⑶;st亡m(angX):
title('频移后的实指数序列的相位谱,)
3.矩形序列的频移:
nl=-10;n2=10:
n3=40;n0=0;n=nl:
n3;n4=0;x=[(n>=n0+n4)&(ny=exp(j*w*n);z=x.*y;closeall;subplot(3,l,l);stem(n,xJfilled°);titleC频移后的矩形序列');
k=-20:
20;X=z*(exp(-j*pi/20)).A((n+n4),*k);niagX=abs(X);subplot(3.L2);stein(inagX);title(,频移后的矩形序列的幅度谱);angX=angle(X):
subplot(3,1,3);stem(angX);title('频移后的矩形序列的相位谱)
3.3周期序列
离散时间信号频域具有周期性•但是在却是连续的频谱;我们仍希望能够让频域也离敬,那么只有使这些离散的时间序列进行周期性拓展,成为周期离散信号的DTFT(当拓展无穷个周期,就是DFS),以获取离散的频谱。
使用matlab编程为:
N=16;
xii=[ones(1,N/4),zeros(1,3*N/4)];
xti=[xii,xn,xii];n=0:
3*N-l;k=0:
3*N-l;
Xk=xii*exp(-j*2*pi/N)A(n,*k);
subplot(311),stem(n,xn);title(*/:
]期!
f列x(n)‘);
axis(卜1,3*N,1.1*nini(xii),l.l*niax(xii)]);
subplot(312),stem(k,abs(Xk));title(,X(k));%显示序列幅度谱
axis(卜1,3扌N,1.1*niui(abs(Xk))J.1*max(abs(Xk))]);
subplot(313),stem(k,angle(Xk));title('argX(k));%就示庁列III位谱
axis([-1z3*N,1・l*min(angle(Xk))r1・l*max(angle(Xk))]);
第四章设计结果及分析
4.1典型序列
4.1.1运行结果
*
1
M
M
»<
&05
■€4
♦2
ei
0
!
IF
1
2
旷!
厂
1
06
III11
o歹c5巾“直n衍…为3
是黔序刖的檢宴谒
£
1?
30亠血刑丨kg咖8心.
7J>3«?
3»>|»佃4S
范影序X的相
n
亠曾q?
£VP?
0b今1?
nx
4
tl»5M2$MM4®45
M
«v
■■
■
•v
q
>1C«n25
时那Mlfi"以K81•厦il
s
B
o
»
9
0QQQ今q9Y?
!
lt?
?
9^QQOQ
£.
510«a25
时诊三馆片序丹的希仪if
f?
Tq?
o.
仏…Yc
4
i
律°4
510
ha»
第五章总结
总结:
数字信号处理是利用计算机或专用处理设备,以数值讣算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
典型序列是对连续信号进行等间隔采样得到的,学习典型序列的知识对后来对离散信号学习有重要意义,对典型序列的频谱分析有助于今后对采样定理,DFS和FT的理解。
从课题中心来看,课题“典型序列的频谱分析”是希望通过此次课程设计加深对典型序列的理解,同时学会运用数字信号处理的知识和MATLAB对信号进行频谱分析,这就要求我们对频域域采样泄理的理解要透彻,同时要求对DFS和FT的原理有更透彻的理解。
明白DFS和FT的区别与联系,并学会运用DFS和FT对序列进行频谱分析。
本课题的特色在于要很好的掌握理论知识,要学会用MATLAB解决本次课程设计的问题,熟悉的掌握典型序列的特性,把数字信号处理的知识学以至用,运用理论对典型序列的频谱加以分析,这就是把理论运用到实践中来。
在实际操作中也遇到很多问题,最终通过询问老师和同学把问题一一解决了,同时也阅读了很多图书和文献,并学会了如何撰写课程设计。
通过这次课程设计,我学会了很多东西,总之这次课程设讣最大的收益这还是自己。
参考文献
[1]高西全.丁玉美一.数字信号处理.四安电子科技大学出版社,2008,第3版
[2]刘泉.阙大顺.数字信号处理原理与实现.电子工业出版社,2005
[3]赵之劲.刘顺兰.数字信号处理实验.浙江大学出版社,2007
[4]张威.\IATLAB基础与编程入门.西安电子科技大学岀版社,2006
[习陈怀探.数字信号处理教程一MATALAB释义与实现.电子工业出版社,2005
附录:
主要程序:
n=l:
50;%泄义序列的长度是50x=zeros(l,50);%注意:
MATLAB中数组下标从1开始x(l)=l;
closeall;
subplot(3丄l);stem(x);title(f单位采样序列');k=-25:
25;
X=x*(exp(-j*pi/25))A(n*k);magX=abs(X);%绘制x(n)的幅度谱subplot(3.1,2);stem(magX):
title('#-位采样序列的幅度谱*);angX=angle(X):
%绘制x(n)的相位谱subplot(3,1,3);stem(angX);title('单位采样序列的相位谱')n=l:
50;%立义序列的长度是50x=zeros(l,50);%注意:
MATLAB中数组下标从1开始t=10;
x(t+l)=l;
closeall;
subplot(3,1,1);stem(x);title('单位采样序列的时移");k=-25:
25;
X=x*(exp(-j*pi/12.5))A(n,*k);magX=abs(X);%绘制x(n)的幅度谱subplot(3.1,2);stem(niagX):
title('#-位采样序列时移的幅度谱);angX=angle(X):
%绘制x(n)的相位谱subplot(3,1,3);stem(angX);title('单位采样序列时移的相位谱')x=zeros(l,50);%注意:
MATLAB中数组下标从1开始x(l)=l;
^=pi*l;
yuexpG%%);z=x.*ycloseall;
subplot(3.1,l);stem(z);title(*频移后单位采样序列);k=-25:
25;
X=z*(exp(-j*pi/25))A(n*k);magX=abs(X);%绘制x(n)的幅度谱subplot(3.1,2);stem(niagX);title('频移后单位采样序列的幅度谱angX=angle(X);%绘制x(n)的相位谱subplot(3,1,3);stem(angX);titleC频移后单位采样序列的相位谱)N=16;
xii=[ones(1,N/4),zeros(1,3*N/4)];
xii=[xii,xn,xii];
n=0:
3*N-l;
k=0:
3*N-l;
Xk=xn*exp(-j*2*pi/N).A(n,*k);
subplot(3ll),stem(n,xn);title('川期!
f列x(n)‘);
axis([-13*N,1.1*niui(xii),l.l*niax(xii)]);
subplot(312),stem(k.abs(Xk));titleCX(k));%显示序列幅度谱axis(卜1,3*N,1.1*miii(abs(Xk)),1.1*max(abs(Xk))]);
subplot(313),stem(k5angle(Xk));title(argX(k):
);%51<示'f列III位谱axis([-l3*N?
1.1*niui(angle(Xk)),1.1*niax(angle(Xk))]);