燕山大学课程设计---移位与卷
积
LT
燕山大学课程设计说明书
燕山大学课程设计说明书
燕山大学课程设计说明书
燕山大学课程设计说明书
设
计
要
求
(1)绘出x1(n)及其移位与循环移位
序列波形(mod等)
(2)绘出x1、x2波形,并完成有限长
序列x1和x2的卷积与循环卷积并
显示出结果,并验证线性卷积与循
环卷积的关系(circonv等)
参
考
资
料
数字信号处理方面资料
MATLAB方面资料
周次前半周后半周
应
完
成
内
容
收集消化资料、学习
MATLAB软件,进
行相关参数计算
编写仿真程序、调
试
燕山大学课程设计说明书
6
指导
教
师签
字
基层
教学
单位
主任
签字
说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科
燕山大学课程设计说明书
目录
第一章、MATLAB简述·························1
第二章、基本原理介绍························2
第三章、命令介绍、仿真及结论················4
3.1命令介绍·······························4
3.2仿真···································4
3.2.1仿真总程序···························4
3.2.2仿真图·························8
3.3从程序仿真与仿真图得出的结论···········9
第四章、心得体会··························10
参考文献··································11
燕山大学课程设计说明书
0
第一章MATLAB简述
MATLAB是一个可视化的计算程序,被广
泛地应用在科学运算领域里。它具有功能强大、
使用简单等特点,内容包括:数值计算、符号
计算、数据拟合、图形图像处理、系统模拟和
仿真分析等功能。此外,用Matlab还可以进
行动画设计、有限元分析等。
MATLAB系统包括五个主要部分:
开发环境:这是一组帮助你使用MATLAB
的函数和文件的工具和设备。这些工具大部分
是图形用户界面。它包括MATLAB桌面和命令
窗口,命令历史,和用于查看帮助的浏览器,
工作空间,文件和查找路径。
MATLAB数学函数库:这里汇集了大量计算
的算法,范围从初等函数如:求和,正弦,余
弦和复数的算术运算,到复杂的高等函数如:
矩阵求逆,矩阵特征值,贝塞尔(Besl)函数
和快速傅立叶变换等。
MATLAB语言:这是一种高水平的矩阵/数
燕山大学课程设计说明书
1
组语言,含有控制流语句,函数,数据结构,
输入/输出,和面向对象编程特征。它允许“小
型编程”以迅速创立快速抛弃型程序,以及“大
型编程”以创立完整的大型复杂应用程序。
句柄制图:这是MATLAB制图系统。它包
括高级别的二维、三维数据可视化,图像处理,
动画,以及表现图形的命令。它还包括低级别
的命令,这使你不但能在MATLAB的应用中建
立完整的图形用户界面,而且还能完全定制图
形的外观。
MATLAB应用程序界面(API):这是使你编
写与MATLAB相合的C或Fortran程序的程序
库。它包括从MATLAB中调用程序(动态链接),
调用MATLAB为计算引擎,和读写MAT-文件的
设备。
MATLAB的重要作用与此次课程设计的关系
MATLAB是一款在数学类科技应用软件中
特别是在数值计算方面首屈一指的软件,它可
以进行矩阵运算、绘制函数和数据、实现算法、
燕山大学课程设计说明书
2
创建用户界面、连接其他编程语言的程序等,
主要应用于工程计算、控制设计、信号处理与
通讯、图像处理、信号检测、金融建模设计与
分析等领域。而线性卷积和循环卷积在工程上
的应用亦非常广泛,在MATLAB软件处理下,
实现任意两个序列的线性和循环卷积对于工程
上的辅助是相当重要的。卷积关系最重要的一
种情况,就是在信号与线性系统或数字信号处
理中的卷积定理。利用该定理,可以将时间域
或空间域中的卷积运算等价为频率域的相乘运
算,从而利用FFT等快速算法,实现有效的计
算,节省运算代价。
第二章基本原理介绍
2.1移位定义
燕山大学课程设计说明书
3
如果有限长序列为x(n),则序列()xnm表示
将序列x(n)进行移位。当m>0时,x(n-m)
表示将序列x(n)依次右移m位;x(n+m)表
示将序列x(n)依次左移m位。
2.2循环移位定义
如果有限长序列为x(n),长度为N,将x(n)
左移m位,则y(n)=x((n+m)
L
)R
L
(n)。x(n)
左移m位的过程可由以下步骤获得:
(1)将()xn以N为周期进行周期延拓,得到
()(())
L
xnxn;
(2)将(n)x
~左移m位,得到m)(nx
~
;
(3)取m)(nx
~
的主值序列,得到x(n)循环移
位序列y(n)。
有限长序列的移位也称为循环移位,原因
是将x(n)左移m位时,移出的m位又依次从右
端进入主值区。
2.3线性卷积的定义与计算
这里先介绍系统的单位取样响应:设系统
的输入x(n)=δ(n),系统输出y(n)的初始状
燕山大学课程设计说明书
4
态为零,定义这种条件下系统输出称为系统的
单位取样响应,用h(n)表示。换句话说,单位
取样响应即是系统对于δ(n)的零状态响应。
用公式表示为:h(n)=T[δ(n)]。
设系统的输入用x(n)表示,表示成单位采
样序列移位加权和为:
()()()
m
xnXmnm
那么系统输出为:
()[()()]
m
ynTXmnm
根据线性系统的叠加性质:
()()[()]
m
ynXmTnm
又根据时不变性质:
()()()()*()
l
m
ynXmhnmxnhn
(2-3-1)
式中的符号“*”表示卷积运算,由式
(1-3-1)可见在这类卷积运算中有翻转、移
位、相乘和相加,因此称这类卷积为线性卷积,
简称卷积。式(1-3-1)表示线性是不变系统
燕山大学课程设计说明书
5
的输出等于输入序列的该系统的单位取样响应
的卷积。只要知道系统的单位取样响应,按照
式(1-3-1),对于任意输入x(n)都可以求出系
统的输出。下面介绍图解法求解卷积运算的过
程。
按照(1-3-1)可得,1)将x(n)和h(n)用x(m)
和h(n)表示,并将h(n)进行翻转,形成h(-m)。
2)将h(-m)移位n,得到h(n-m)。当n>0时,
序列x(m)右移;n<0时,序列左移。3)x(m)
和h(n-m)相同m的序列值对应相乘后相加。按
照以上三个步骤可得到卷积结果y(n)。为计算
所有时刻的y(n),必须对所有的n,重复上述
2)、3)步骤。
2、4循环卷积定理
两个序列离散傅里叶变换的乘积等于此
两个序列的循环卷积的离散傅里叶变换,如果
x1(n)和x2(n)满足
X1(k)=DFT[x1(n)],X2(k)=DFT[x2(n)],且
X(k)=X1(k)X2(k),N>max[N1,N2],则
燕山大学课程设计说明书
6
1
12
0
1
21
0
()[()]()(())()
[()(())]()
N
cLL
m
N
LL
m
ynIDFTXkxmxnmRn
xmxnmRn
(2-4-1)
一般称上式所表示的运算为x1(n)和x2(n)的
循环卷积。还可记为:
x(n)=x1(n)x2(n)=x2x1(n)。
根据(2-4-1),L称为循环卷积区间长度。
n和m的变化区间均是[0,L-1],直接计算该式
比较麻烦。计算机中采用矩阵相乘或快速傅里
叶变换(FFT)的方法计算循环卷积。用矩阵
相乘的方法计算两个序列的循环卷积,这里关
键是先形成循环卷积矩阵。如果h(n)的长度
N
3)线性卷积与循环卷积的关系
()()()
L
cl
q
nnqLnyy
R
上式说明,yc(n)等于yl(n)以L为周期的
周期延拓序列的主值序列。yl(n)的长度为
N+M-1,因此仅当循环卷积长度L≥N+M-1时,
燕山大学课程设计说明书
7
yl(n)以L为周期进行周期延拓才无混叠。因
此取其主值序列就满足yc(n)=yl(n)。即满足
L≥N+M-1。
第三章命令介绍及仿真
3.1命令介绍
1)zeros是用来表示线性代数的0矩阵。比
如:zeros(3,3)表示3行3列0矩阵。
2)mod(a,b)就是求的是a除以b的余数。
比方mod(100,3)=1,mod(17,6)=5。
3)length是求某一个矩阵或者向量的长度。
4)conv是系统自带的函数,用来卷积运算,
同时也可以做多项式的乘法。
5)stem构建一组横轴和纵轴数据,方便画
图。
6)subplot(a,b,c)函数,对图像空间进行
子图划分,a表示行数,b表示列数,,c表示
子图序号。
燕山大学课程设计说明书
8
7)figure(n),为当前工作空间的第n个图像。
8)title('x1序列'),是规定子图名称,在图
正中显示序列名称。xlabel('n')和ylabel('
幅度'),规定图的横纵坐标。
3.2仿真
3.2.1仿真程序
(1)仿真总程序
clearall
cloall
clc
figure(1)
n=0:1:9;
x1=(0.8).^n;
subplot(3,3,1);
stem(n,x1);
title('x1原图');
xlabel('n');
ylabel('x1(n)');
n=0:1:9;
x1=(0.8).^n;
subplot(3,3,2);%移位
stem(n+2,x1);
title('x1(n-2)');
xlabel('n');
ylabel('x1(n-2)');
subplot(3,3,3);
stem(n-2,x1);
title('x1(n+2)');
xlabel('n');
ylabel('x1(n+2)');
y1=xuhuanyiwei(x1,2,15);%循环移位
燕山大学课程设计说明书
9
y2=xuhuanyiwei(x1,-2,15);
y3=xuhuanyiwei(x1,2,19);
y4=xuhuanyiwei(x1,-2,19);
y5=xuhuanyiwei(x1,2,20);
y6=xuhuanyiwei(x1,-2,20);
n1=0:1:14;
subplot(3,3,4);
stem(n1,y1);
title('x1循环移位m=-2N=15');
xlabel('n');
ylabel('y1');
subplot(3,3,5);
stem(n1,y2);
title('x1循环移位m=2N=15');
xlabel('n');
ylabel('y2');
n2=0:1:18;
subplot(3,3,6);
stem(n2,y3);
title('x1循环移位m=-2N=19');
xlabel('n');
ylabel('y3');
subplot(3,3,7);
stem(n2,y4);
title('x1循环移位m=2N=19');
xlabel('n');
ylabel('y4');
n3=0:1:19;
subplot(3,3,8);
stem(n3,y5);
title('x1循环移位m=-2N=20');
xlabel('n');
ylabel('y5');
subplot(3,3,9);
stem(n3,y6);
title('x1循环移位m=2N=20');
xlabel('n');
ylabel('y6');%移位程序结束
燕山大学课程设计说明书
10
figure(2)
x1=(0.8).^n;
subplot(2,3,1);
stem(n,x1);
title('x1原图');
xlabel('n');
ylabel('x1(n)');
x2=0.6.^n;
subplot(2,3,2);
stem(n,x2);
title('x2原图');
xlabel('n');
ylabel('x2(n)');
n1=0:1:18;
y1=conv(x1,x2);%卷积
subplot(2,3,3);
stem(n1,y1);
title('x1和x2线性卷积');
xlabel('n');
ylabel('y1(n)');
N=length(x1)+length(x2);%N=20,循环卷积
y2=xunhuanjuanji(x1,x2,N-1);%19
y3=xunhuanjuanji(x1,x2,N);%20
y4=xunhuanjuanji(x1,x2,N-5);%15
n2=0:1:N-2;
n3=0:1:N-1;
n4=0:1:N-6;
subplot(2,3,4);
stem(n2,y2);
title('x1和x2对N=19的循环卷积');
xlabel('n');
ylabel('y2(n)');
subplot(2,3,5);
stem(n3,y3);
title('x1和x2对N=20的循环卷积');
xlabel('n');
ylabel('y3(n)');
subplot(2,3,6);
stem(n4,y4);
燕山大学课程设计说明书
11
title('x1和x2对N=15的循环卷积');
xlabel('n');
ylabel('y4(n)');%卷积结束
(2)循环卷积函数
function[y]=xunhuanjuanji(x1,x2,N)
%N点循环卷积
%y输出
%x1输入1
%x2输入2
iflength(x1)>N
error('N必须>=x1的长度')
end
iflength(x2)>N
error('N必须>=x2的长度')
end
x1=[x1zeros(1,N-length(x1))];
x2=[x2zeros(1,N-length(x2))];
m=[0:1:N-1];
x2=x2(mod(-m,N)+1);
H=zeros(N,N);
forn=1:1:N
H(n,:)=xuhuanyiwei(x2,n-1,N);
end
y=x1*H';
End
(3)循环移位函数
function[y]=xuhuanyiwei(x,m,N)
%y为输出
%x=长度<=N的序列
%m=移位
%N=周期
iflength(x)>N
燕山大学课程设计说明书
12
error('N必须>=x的长度')
end
x=[xzeros(1,N-length(x))];
n=[0:1:N-1];
y=x(mod(n-m,N)+1);
End
3.2.2仿真图
图3.1移位与循环移位图
图3.2卷积与循环卷积图
燕山大学课程设计说明书
13
3.3从程序仿真与仿真图得出的结论
从3.2的程序仿真与仿真图中可以得出下
面结论:
设两个序列的长度分别为N和M,设较大
的是N,则循环卷积区间长度L必须大于N,在
仿真的过程中尝试L取N+1、N+2····、N+M-1、
N+M、N+M+1等等。可以得到当N
时,两个序列的循环卷积和线性卷积是不一样
的。当L≥N+M-1时,两个序列的循环卷积和
线性卷积是一样的。
燕山大学课程设计说明书
14
第四章心得体会
这次的课程设计比较和以往的不同,不一
样就在于:设计的工具与课程是分离的,就是
一门课程的设计需要另外的一门课程做辅助,
现在的辅助工具是MATLAB,由于以前没有接触
过MATLAB,刚开始拿到这个课题时,心里没底,
这使得我在拿到了课题后一段时间没法开始我
的课题,于是努力查阅资料,不论是网上的资
料或者是图书馆借的关于MATLAB的书都能让
我学到许多知识,渐渐的找到了上手的感觉了。
但是,就是在这样的课程设计的过程中让我更
好的学好,加深对数字信号处理这门课程的理
解及也对MATLAB有了比较深的体会。
燕山大学课程设计说明书
15
在做这个课程设计过程中走了不少的弯
路。但是我认为,每个软件,每个语言对于同
一结果的实验都是有不同的方案可以选择,不
同的路径可以走,那是毫无疑问的。所以对于
初学者这也是必然的,捷径也都是靠自己摸索
出来的,我所说的更深的体会也就体现在这个
环节上的。
我知道虽然我做完了这个设计,但是我的
程序还是有许多需要改进的地方,但是,经过
这次我已经对MATLAB和数字信号处理这门课
程有了一点点的理解,相信在以后学习和工作
的过程的中,我会比较轻松的掌握好MATALB
和数字信号处理的模拟,以及MATLAB在其他
数字信号方面的运用的。
燕山大学课程设计说明书
16
参考文献
[1]谢平,王娜,林洪彬.信号处理原理及应
用.机械工业出版社
[2]张德丰.详解MATLAB数字信号处理.电
子工业出版社
[3]郭仕剑.MATLAB7.X数字信号处理.人民
邮电出版社
燕山大学课程设计说明书
17
燕山大学课程设计说明书
燕山大学课程设计评审意见表
指导教师评语:
①该生学习态度(认真较认真不认真)
②该生迟到、早退现象(有无)
③该生依赖他人进行设计情况(有无)
平时成绩:
年月日
图面及其它成绩:
答辩小组评语:
①设计巧妙,实现设计要求,并有所创新。
②设计合理,实现设计要求。
③实现了大部分设计要求。
④没有完成设计要求,或者只实现了一小部分的设计要求。
答辩成绩:
年月日
课程设计总成绩:
答辩小组成员签字:
年
月日
本文发布于:2022-12-28 14:58:00,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/47245.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |