数字信号课设.docx
- 文档编号:23803828
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:21
- 大小:362.20KB
数字信号课设.docx
《数字信号课设.docx》由会员分享,可在线阅读,更多相关《数字信号课设.docx(21页珍藏版)》请在冰豆网上搜索。
数字信号课设
燕山大学
课程设计说明书
题目:
移位与卷积运算
学院(系):
电气工程学院
年级专业:
学号:
学生姓名:
指导教师:
教师职称:
燕山大学课程设计(论文)任务书
院(系):
电气工程学院基层教学单位:
仪器科学与工程系
学号
学生姓名
专业(班级)
设计题目
移位与卷积运算
设
计
技
术
参
数
其循环移位序列为
。
M取2和-2两种情况,N分别取10,20,30。
,
,
。
设
计
要
求
(1)绘出x(n)及其移位与循环移位序列波形
(2)绘出x1、x2波形,并完成有限长序列x1和x2的卷积与循环卷积并显示结果,并验证线性卷积与循环卷积的关系(circonv等)
工
作
量
数字信号处理方面资料
MATLAB方面资料
工
作
计
划
收集消化资料、学习MATLAB软件,进行相关参数计算,编写仿真程序、调试
参
考
资
料
《数字信号处理基础及matlab实现》,北京希望电子出版社,周辉董正宏编
《数字信号处理的matlab实现》,科学出版社,万永革编;
《matlab7.x数字信号处理》,人民邮电出版社,郭仕剑王宝顺贺志国编;
《matlab程序设计及在信号处理中的应用》,西安交大出版社,聂祥飞,王海宝,谭泽富编;
《matlab5,x应用与技巧》,科学出版社,蒙以正,柳成茂编;
《信号处理原理及应用》,机械工业出版社,谢平,王娜,林洪彬编。
指导教师签字
基层教学单位主任签字
说明:
此表一式四份,学生、指导教师、基层教学单位、系部各一份。
年月日
目录
摘要………………………………………………………………………………第3页
第一章概述…………………………………………………………………………第4页
第二章离散时间信号卷积的实现…………………………………………………第5页
第三章仿真中用到的命令介绍……………………………………………………第10页
第四章仿真程序与仿真图…………………………………………………………第11页
第五章线性卷积与循环卷积的验证与比较………………………………………第15页
课程设计总结………………………………………………………………………第17页
参考文献……………………………………………………………………………第18页
评审意见表…………………………………………………………………………第19页
摘要
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。
数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。
数字信号处理的核心算法是离散傅里叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。
而使数字信号处理从理论走向实用的是快速傅里叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。
广义来说,数字信号处理是研究用数字方法对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门技术学科。
但很多人认为:
数字信号处理主要是研究有关数字滤波技术、离散变换快速算法和谱分析方法。
随着数字电路与系统技术以及计算机技术的发展,数字信号处理技术也相应地得到发展,其应用领域十分广泛。
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
第一章概述
数字信号处理就是对时间变量均为离散的信号进行变换、加工和处理的技术。
数字信号处理主要研究的是数字系统(离散系统),核心算法是离散傅里叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。
而使数字信号处理从理论走向实用的是快速傅里叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。
由于客观世界中大量存在的是模拟信号,因此,在工程应用中常常是用“数字系统”处理模拟信号。
数字信号处理技术是一门理论性、技术性都很强的科学,涉及知识面非常广,涉及信号分析、离散系统分析、综合实现技术等。
数字信号处理的过程包含变换、运算和识别;对象既有确定信号由于随机信号;处理方法涉及时域、频域和复频域;实现方法不同于模拟处理系统,可以分为软件实现和硬件实现。
软件实现是指按照原理和算法,在通用计算机上编程实现对数字信号的处理;硬件实现指的是按照具体要求,单独设计硬件结构。
本次课设主要研究线性卷积与循环卷积的计算过程,并设计程序用matlab实现卷积计算的过程。
第二章离散时间信号卷积的实现
在科学技术飞速发展的今天,现代通信技术正在蓬勃发展,如何快速准确、方便、易行地进行远距离信息传递,这时我们人类追求的目标。
要实现这一目标必须进行离散信号卷积的计算。
一、线性卷积
1、定义及计算步骤
设系统输入x(n)=δ(n),系统输出y(n)的初始状态为零,定义这种条件下系统输出为系统的单位取样相应,用h(n)表示,换句话说,单位取样相应即是系统对于δ(n)的零状态相应。
用公式表示为
h(n)=T[δ(n)]
设系统的输入用x(n)表示,按照式(3.2.3)表示成单位采样序列移位加权和为
x(n)=
那么系统输出为
X(n)=T[
]
根据线性系统的叠加性质
y(n)=
又根据时不变性质
y(n)=
式中的符号“*”代表卷积运算,由式可见,这类卷积运算中有翻转、位移、相乘和相加,因此称这类卷积为线性卷积,简称卷积。
式表示线性是不变系统的输出等与输入序列和该系统的单位取样响应的卷积。
只要知道系统的单位取样响应,由公式可知,对于任意输入x(n)都可以求出系统的输出。
计算离散信号卷积时,最常见的方法就是图解法,通过对信号h(n)的翻转、平移、乘积、取和等步骤完成计算。
下面介绍图解法计算线性卷积的具体步骤:
首先应该将x(n)和h(n)中的变量n用变量m替换,得到x(m)和h(m)。
依据离散信号卷积运算过程(包括翻转,平移、乘积及取和),然后根据信号h(m)的图形作其翻转信号h(-m)的图形和平移信号h(n-m)的图形,当n>0时,序列右移;当n<0时,序列左移。
然后将x(m)和h(n-m)相同m的序列值对应相乘后再相加。
按照以上三个步骤可以得到卷积结果y(n)。
为计算所有的y(n),必须对所有的n。
重复上述步骤。
2性质及作用
线性是不变系统的线性卷积服从交换律、结合律和分配律。
它们分别用公式表示如下:
(3.3.3)
(3.3.4)
(3.3.5)
设
和
分别是两个系统的单位取样相应,x(n)表示输入序列。
按照式(3.3.4)的右端,信号通过
系统后再通过
系统,等效于按照式(3.3.4)左侧,信号通过一个系统,该系统的单位采样响应
,如图3.3.2(a)(b)所示。
该式还表明两系统级联,其等效系统的单位取样响应等于两系统分别的单位取样响应的卷积。
按照式(3.3.5),信号同时通过两个系统后相加,等效于信号通过一个系统,该系统的单位取样响应的等于两个系统分别的单位取样响应之和,如图3.3.2(c)和(d)所示。
换句话说,系统并联的等效系统的单位取样响应,等于两个系统分别的单位取样响应之和。
)
(a)
x(n)y(n)
(b)x(n)y(n)
(c)x(n)y(n)
(d)x(n)y(n)
图3.3.2卷积的结合律和分配律
再考查式(3.2.3),它也是一个线性卷积公式,它表示序列本身与单位取样序列的线性卷积等于序列本身,表示如下:
X(n)
(3.3.6)
对于延时
的离散时间时移系统,当输入为x(n)时,输出为x(n-
),即
(3.3.7)
进一步,如果两个离散时间时移系统级联。
其中一个系统延时
,另一个系统延时
,则系统总延时为
+
,即
(3.3.8)
若
,则有
(3.3.9)
二、循环移位性质
在DFT变换中,由于x(n)为有限长序列,且具有隐含周期性,因此其移位方式和性质有所不同。
序列的循环移位,令x(n)是长度为N的有限长序列,若沿坐标n右移M后仍在0到N-1区间内取值,则将发生信息损失。
为避免此情况,定义x(n)的循环移位
此式表明,将x(n)以N为周期进行周期延拓得到
再将
左移m位得到
,最后取
的主值序列
,则得到x(n)循环移位序列y(n),其长度仍为N的有限长序列。
循环移位过程实质是将x(n)左移m位,而移出主值区间0到N-1的序列值又依次从右侧N-1处进入主值区间,循环因此得名。
三、循环卷积定理
两序列离散傅里叶变换的乘积等于此两序列的循环卷积的离散傅里叶变换,即x1(n)和x2(n)满足式
的条件,且x(k)=
,N>=max[N1,N2],则
一般称此式所表示的运算为x1(n)和x2(n)的循环卷积,还可记为
线性卷积是求离散系统响应的主要方法之一,许多重要应用都建立在这一理论基础上,如卷积滤波等。
循环卷积,又称圆周卷积,它的计算速度要远远快于线性卷积,如果选择圆周卷积的长度L>=N1+N2-1,则可以用圆周卷积取代线性卷积。
循环卷积的计算过程为:
先将
周期化,形成
,再反转形成
,去主值序列移位n,得到
,通常称之为
的循环反转。
将
的循环反转序列移位n,得到
。
当n>0时,序列右移;n<0时,序列左移。
当n=0,,1,2,……,N-1时,分别将
和
对应相乘再对在(0,N-1)区间求和。
按照以上三个步骤可得到循环卷积结果x(n)。
循环卷积即可以在时域直接计算,也可以按框图所示在频域计算。
由于DFT有快速算法FFT,当N很大时,在频域计算得速度快的多,因而常有DFT(FFT)计算循环卷积。
而在实际应用中,遇到的大多是线性卷积问题,如为了分析线性非时变系统的时域响应或者进行滤波处理等问题中,信号x(n)通过系统h(n)后,其输出为线性卷积y(n)=x(n)*h(n)。
为提高运算速度,也希望用DFT(FFT)计算线性卷积。
而由时域线性卷积定理可知,线性卷积对应的是序列的傅里叶变换(DTFT),循环卷积对应的是计算机可实现的DTF。
若x(n)、h(n)都是有限长序列,且序列长为M、N,它们的线性卷积和循环卷积分别表示为
其中,
(n)等于
以L为周期延拓的序列的主值序列。
我们知道,
长度为N+M-1,因此只有当循环卷积长度L>=N+M-1时,
以L为周期进行周期延拓才无混叠现象。
此时取主值序列显然满足
。
由此证明循环卷积等于线性卷积的条件是L>=N+M-1。
如果L=N+M-1,则可用DFT(FFT)计算线性卷积,计算框图如下:
第三章仿真中用到的命令介绍
第一,conv(x1,x2)是用来实现卷积运算的,对x1序列和x2序列进行卷积,其中x1序列长为N,x2序列长为M,输出的结果的长度为L=N+M-1。
第二,figure(n),为当前工作空间的第n个图像。
第三,subplot(a,b,c)函数,对图像空间进行子图划分,a表示行数,b表示列数,,c表示子图序号。
第四,stem(n,m)函数,画离散点的波形。
第五,title('x1序列'),是规定子图名称,在图正中显示序列名称。
xlabel('n')和ylabel('幅度'),规定图的横纵坐标。
第六,length(x),取序列x的长度,x1=[x1zeros(1,N-length(x1))],若x1序列不够N则在x1后补零。
第四章仿真程序与仿真图
1、circonvt函数的源程序(均以.m文件保存)
functiony=circonvt(x1,x2,N)
%计算x1与x2的循环卷积,长均为N,即y(n)=sum(x1(m)*x2(n-m)modN)
%检查x1的长度Detailedexplanationgoeshere
iflength(x1)>N
error('N必须>=x2的长度')
end
%检查x2的长度
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,:
)=cirshfit(x2,n-1,N);
end
y=x1*H';
end
2、cirshfit函数的源程序
functiony=cirshfit(x,m,N)
%将长度为N的序列x循环移m位,即y(n)=x((n-m)modN)
iflength(x)>N
error('N必须>=x的长度')
end
x=[xzeros(1,N-length(x))];
n=[0:
1:
N-1];
n=mod(n-m,N);
y=x(n+1);
end
3、线性卷积程序
n=0:
9;x1=(0.8).^n;x2=(0.6).^n;
figure
(1),subplot(3,1,1);stem(x1);title('x1序列')
xlabel('n');ylabel('幅度');
figure
(1),subplot(3,1,2);stem(x2);title('x2序列')
xlabel('n');ylabel('幅度');
y=conv(x1,x2)
y=[1.00001.40001.48001.40001.24961.07740.90860.75490.62070.50660.29790.17390.10050.05720.03180.01710.00870.00390.0014]
figure
(1),subplot(3,1,3);stem(y);title('x1,x2线性卷积')
xlabel('n');ylabel('幅度');
线性卷积的仿真波形图:
4、循环移位程序
n=0:
9;x1=(0.8).^n;x2=(0.6).^n;%%生成x1,x2序列
figure
(1),subplot(3,2,1);stem(n,x1);title('x1序列')
xlabel('n');ylabel('幅度');%生成标题为‘x1序列’的子图
figure
(1),subplot(3,2,2);stem(n,x2);title('x2始序列')
xlabel('n');ylabel('幅度');
N=10;x1=[x1zeros(1,N-length(x1))];
x2=[x2zeros(1,N-length(x2))];
xn1=cirshfit(x1,2,10)
xn1=[0.16780.13421.00000.80000.64000.51200.40960.32770.26210.2097]
figure
(1),subplot(3,2,3);stem(n,xn1);title('x1循环移位序列,m=2')
xlabel('n');ylabel('幅度');
xn2=cirshfit(x2,2,10)
xn2=[0.01680.01011.00000.60000.36000.21600.12960.07780.04670.0280]
figure
(1),subplot(3,2,4);stem(n,xn2);title('x2循环移位序列,m=2')
xlabel('n');ylabel('幅度');
xn1=cirshfit(x1,-2,10)
xn1=[0.64000.51200.40960.32770.26210.20970.16780.13421.00000.8000]
figure
(1),subplot(3,2,5);stem(n,xn1);title('x1循环移位序列,m=-2')
xlabel('n');ylabel('幅度');
xn2=cirshfit(x2,-2,10)
xn2=[0.36000.21600.12960.07780.04670.02800.01680.01011.00000.6000]
figure
(1),subplot(3,2,6);stem(n,xn2);title('x2循环移位序列,m=-2')
xlabel('n');ylabel('幅度');
循环移位的仿真波形图:
5、循环卷积的程序
n=0:
9;x1=(0.8).^n;x2=(0.6).^n;%生成x1,x2序列
N=10;x1=[x1zeros(1,N-length(x1))];%把x1补为N-1的有限长序列
x2=[x2zeros(1,N-length(x2))];%%把x1补为N-1的有限长序列
y=circonvt(x1,x2,N)%对x1和x2求循环卷积
y=[1.29791.57391.58051.45721.28141.09460.91730.75880.62210.5066]%循环卷积序列
figure
(1),subplot(3,1,1);stem(y);title('N=10时,x1与x2的循环卷积序列')
xlabel('n');ylabel('幅度');
循环卷积的仿真波形图
第五章验证与比较
线性卷积的计算结果为:
y=[1.00001.40001.48001.40001.24961.07740.90860.75490.62070.50660.29790.17390.10050.05720.03180.01710.00870.00390.0014]
循环卷积的结果为
y=
1.00001.40001.48001.40001.24961.07740.90860.75490.62070.50660.29790.17390.10050.05720.03180.01710.00870.00390.001400000
000000
通过对比线性卷积与循环卷积的计算结果,可以看出对于循环卷积当N取值不同时结果不同,所以只有当循环卷积长度L>=N+M-1时,循环卷积的计算结果才与线性卷积结果相同,循环卷积的周期延拓无混叠线性。
因此线性卷积与循环卷积的关系得以验证。
课程设计心得
通过一周的课设,对数字信号处理和matlab有了全新的认识。
通过课程设计我学习了很多,也收获了很多。
这次我第一次接触matlab软件,从大一到大三一直都比较困惑,不知道自己所学的专业有什么意义,经过这次课设之后,我知道我们可从事的工作非常广泛,也产生了更加深刻的认识,对此我也产生了浓厚的兴趣。
本次设计,首先针对题目进行分析,将所涉及的波形,频谱及相关函数做了研究,大体上能够把握了设计的流程以及思路。
再通过查阅相关资料,能对相关的知识做正确的记录,以便随时查看。
在问题的分析阶段中,就原始信号的频率和载波信号的频率做了比较,确定了具体的方案后,在针对MATLAB中的有关画图处理函数进行学习和分析,这样就提高了学习的针对性,同时节约了设计的时间。
在设计过程中,也遇到了许多的困难。
由于一开始对知识的掌握程度不够,所以课程设计曾一度停滞不前,但在后面的学习及讨论过程中,最终解决了问题。
此外在分析所设计的图中,根据相关的通信原理知识可以对结果作出判断,这样就提高了自己的相关知识,同时加深了对MATLAB的运用。
由于本次设计运用了不同的知识,这样我就可以更好的将不同科目的知识进行联系学习,对牢靠的学习有着巨大的支持。
这一个星期的数字信号处理课程设计,通过老师们的讲解和自己的动手不但使我熟悉了数字信号课程设计的基本思想和基础知识,初步掌握了其应用软件matlab的使用,而且更为深入的体会了数字电路在现代高科技信息产业领域中的重要地位,当遇到了自己无法解决的困难与问题的时候,还请教老师给予指导和帮助。
本着认真的态度,我回到宿舍后又对原理图进行了修改,并改变了相应的模块图,波形图,工作量非常大,但我认为这是自己必须要做的。
这次实训给我最深的印象就是扩大自己的知识面,了解更多与本专业有关的科技信息,与时代共同进步,才能在将来成为有用的科技人才。
通过简单的电路设计,提高了我得独立思考能力,并延伸了我在课堂上学到的知识,作为一名工科学生,这样的数字信号处理课程设计是非常有意义的。
在课程设计中,通过思考、发问,自己解惑并动手设计的过程,将课本上的知识学以致用,不仅强化了自己原有的知识体系,并扩展了自己的思维。
经过这次课程设计,我相信在以后的课程设计中我们会吸取经验教训,做出更好的设计来。
参考文献
1、《数字信号处理基础及matlab实现》,北京希望电子出版社,周辉董正宏编
2、《数字信号处理的matlab实现》,科学出版社,万永革编;
3、《matlab7.x数字信号处理》,人民邮电出版社,郭仕剑王宝顺贺志国编;
4、《matlab程序设计及在信号处理中的应用》,西安交大出版社,聂祥飞,王海宝,谭泽富编;
5、《matlab5,x应用与技巧》,科学出版社,蒙以正,柳成茂编;
6、《信号处理原理及应用》,机械工业出版社,谢平,王娜,林洪彬编。
燕山大学课程设计评审意见表
指导教师评语:
成绩:
指导教师:
年月日
答辩小组评语:
成绩:
评阅人:
年月日
课程设计总成绩:
答辩小组成员签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号