卷积运算及算法实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字信号处理》

课程设计报告

卷积运算及算法实现

专业:通信工程

班级:通信08-2BF

组次:第10组

*名:**

学号:***********

卷积运算及算法实现

一、 设计目的

卷积运算是一种有别于其他运算的新型运算,是信号处理中一种常用的工具。随着信号与系统理论的研究的深入及计算机技术发展,卷积运算被广泛地运用到现代地震勘测,超声诊断,光学诊断,光学成像,系统辨识及其他诸多新处理领域中。了解并灵活运卷积运算用去解决问题,提高理论知识水平和动手能力,才是学习卷积运算的真正目的。通过这次课程设计,一方面加强对《数字信号处理》这门课程的理解和应用,另一方面体会到学校开这些大学课程的意义。

二、设计任务

探寻一种运算量更少,算法步骤更简单的算法来实现卷积运算,文中主要通过阶梯函数卷积计算方法和斜体函数卷积计算方法对比来得出最终结论。

三、设计原理

1,什么是卷积?

卷积是数字信号处理中经常用到的运算。其基本的表达式为:

()()()∑=-=

n

m m n x m h n y 0

换而言之,假设两个信号f 1(t)和f 2(t),两者做卷积运算定义为 f(t)= ∫f1(τ)∞

−∞f2(t −τ)d τ 做一变量代换不难得出:

f(t)= ∫f1(τ)∞−∞f2(t −τ)d τ=f 1(t)*f 2(t)=f 2(t)*f 1(t)

在教材上,我们知道用图解法很容易理解卷积运算的过程,在此不在赘述。 2,什么是阶梯函数

所谓阶梯函数,即是可以用阶梯函数u(t) 和u(t-1)的线性组合来表示的函数,可以看做是一些矩形脉冲的集合,图1-1给除了两个阶梯函数的例子。

1—1 其中

f(t)=2u(t)+u(t-1)-2u (t-2)-u(t-3), h(t)= 2u(t)-u(t-1)+2u(t-2)-3u(t-3).

以图1—1中两个阶梯函数为例介绍本文提出的阶梯函数卷积算法。

根据卷积的性质(又称为杜阿美尔积分),上述f(t)与h(t)的卷积等于f(t)的导数与 h(t)的积分的卷积,即: f(t)*h(t)=

df(t)dt

*∫h (τ)dτ.t

−∞

由于f(t)为阶梯函数,因此其导数也为冲击函数δ(t )及其延时的线性组合, 如图1—2(a ) 所示。

1—2

由于h(t)也为阶梯函数,所以其积分∫h (τ)dτ.t

−∞也能方便地求得,其值为阶梯函数图像下方的面积,记作为H(t),如图1—2(b)所示:

冲击函数与其它函数的卷积有如下的关系:δ(t −T )*f(t)=f(t-T), 因此 f(t)*h(t)=2H(t)+2H(t-1)-H(t-2)-H(t-3).

即f(t)和(t)的卷积等于H(t)及其延时的线性组合,如图1-3所示:

1—3

从以上分析可以看到,两个阶梯函数的卷积等于其中一个函数的积分H(t)及其延迟H(t −τ)的线性组合,组合系数对应于各个冲击函数的系数。 对于任意函数的卷积,可以先将他们的用矩形脉冲函数来逼近只要时间间隔足够小就能达到足够的逼近精度。逼近所得到的函数即为阶梯函数,然后又采用上述方法即可得到任意两个函数的卷积。

假设要计算任意两个函数的卷积:y(t)=x(t)*h(t)

其中x(t),h(t)可谓无限长,分别如图1—4(a ),(b)所示。

现将x(t)和h(t)在0到t 的区间用宽度为∆的矩形脉冲来近似的代替(显然∆越小,逼近的精度越高,每一个矩形脉冲的高度分别等于该脉冲前沿的函数 值。也就是说,用阶梯形曲线x n (t)近似地代替x(t)的曲线,用h n (t)近似的代替h(t)(如图1—4)。每一个矩形脉冲可用阶跃函数鄙视如下表2—1,2—2.

表达式又可以写成如下形式:

x(t)=∑[x (m∆)−x((m −1)∆]u (t −m∆),∞m=0 1—2 h(t)=∑[h (n∆)−h((n −1)∆]u (t −n∆),∞n=0 1—3 对式(2)求微分有:

x ’(t)=∑[x (m∆)−x((m −1)∆]δ(t −m∆),∞m=0 1--4 设t=k ∆,对(3)式求积分有:∫h (τ)dτ=∑h(n∆)∆k−1n=0t

0 1—5

令H(t)=∫h (τ)dτ=H(k t

0∆),则x ′(t )和H (k∆)如图1—5(a ),(b )所示:

1—5 x(t),h(t)的微积分

1—6 x(t),h(t)的卷积过程 由y(t)=x(t)*h(t)=x ’*H(t)得到

Y(k ∆)=∑[x (m∆)−x((m −1)∆]H(k∆−m∆)k n=0 1—6

由图1—6(a)可以看出如果计算从t=0至t=k ∆的N 点的x(t)和h(t)的卷积,需要H(t)和x ’(t)对应的个点分别相乘,由于H(t)和x ’(t)也为N 点序列,所以共需要N 2次乘法,属于有效乘法,因为按照卷积定义直接计算也是N 2次乘法。 3,什么是斜梯函数? 所谓斜梯函数,表现为一条折线的形式,用诸如at+b 形式的段组合在一起表示的函数。图3—1给出了输入函数为斜梯函数的例子。

3—1 其中f(t)=t[u(t)-u(t-1)+u(t-1)+

(0.5t+0.5)[u(t-1)-u(t-2)]+(-1.5t+4.5)[u(t-2)-u(t-3),

h(t)=3t[u(t)-u(t-1)+(-t+4)[u(t-1)-u(t-2)]+(-2t+6)[u(t-2)-u(t-3)] 根据卷积的性质,上述f(t)和h(t)的卷积等于f(t)的二次导数与h(t)的二重积分的卷积【1】,即:

由于f(t)为斜梯函数,因此其导数变为阶梯函数u(t)及其延时的线性组合,

df(t)dt

=u(t)-0.5u(t-1)-2u(t-2),如图3—2(a)所示。

3—2

由于h(t)也为斜梯函数,所以其积分∫h (τ)dτ.t

−∞也能方便的求得,其值为折现函数图象下方的面积,记作为h (-1)(t),如图3—2(b)所示。此时已经与阶梯函数卷积计算方法类似了,只是对于h (-1)(t)其为一二次曲线,继续求积分比较困难,实际应用中其可以用折现计算,从而引入一定的误差,这也是采用次逼近所付出的代价。

接下来对f(t)和h (-1)(t)再次进行微分与积分处理,则f ’’(t)变为冲击脉冲序列,如图3—3(a)所示,h (-2)(t)用对应折线下的买年纪也可算得对应如图3—3(b)所示。

3—3斜梯函数的二次微积分 假设要计算任意函数的卷积:y(t)=x(t)*h(t)

其中x(t),h(t)可谓无限长,分别如图3—4(a ),(b)所示。

相关文档
最新文档