卷积的快速算法++教程文件Word格式.docx
《卷积的快速算法++教程文件Word格式.docx》由会员分享,可在线阅读,更多相关《卷积的快速算法++教程文件Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
二、设计任务
探寻一种运算量更少,算法步骤更简单的算法来实现卷积运算,文中主要通过阶梯函数卷积计算方法和斜体函数卷积计算方法对比来得出最终结论。
三、设计原理
1,什么是卷积?
卷积是数字信号处理中经常用到的运算。
其基本的表达式为:
换而言之,假设两个信号f1(t)和f2(t),两者做卷积运算定义为
f(t)
d
做一变量代换不难得出:
=f1(t)*f2(t)=f2(t)*f1(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)=
*
由于f(t)为阶梯函数,因此其导数也为冲击函数
及其延时的线性组合,如图1—2(a)
所示。
1—2
由于h(t)也为阶梯函数,所以其积分
也能方便地求得,其值为阶梯函数图像下方的面积,记作为H(t),如图1—2(b)所示:
冲击函数与其它函数的卷积有如下的关系:
*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的区间用宽度为
的矩形脉冲来近似的代替(显然
值。
也就是说,用阶梯形曲线xn(t)近似地代替x(t)的曲线,用hn(t)近似的代替h(t)(如图1—4)。
每一个矩形脉冲可用阶跃函数鄙视如下表2—1,2—2.
表达式又可以写成如下形式:
x(t)=
h(t)=
对式
(2)求微分有:
x
(t)=
1--4
设t=k
1—5
令H(t)=
1—5x(t),h(t)的微积分
1—6x(t),h(t)的卷积过程
由y(t)=x(t)*h(t)=x’*H(t)得到
Y(k
)=
1—6
由图1—6(a)可以看出如果计算从t=0至t=k
的N点的x(t)和h(t)的卷积,需要H(t)和x’(t)对应的个点分别相乘,由于H(t)和x’(t)也为N点序列,所以共需要N2次乘法,属于有效乘法,因为按照卷积定义直接计算也是N2次乘法。
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)及其延时的线性组合,
=u(t)-0.5u(t-1)-2u(t-2),如图3—2(a)所示。
3—2
由于h(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斜梯函数的二次微积分
假设要计算任意函数的卷积:
其中x(t),h(t)可谓无限长,分别如图3—4(a),(b)所示。
3—4连续时间函数
对上述x(t)和h(t),用宽度为
的梯形脉冲函数逼近,x(t)和h(t)就转化为斜梯函数,顾客用折现函数及其延时的线性组合表示,如图3—4(a),(b)中虚线所示。
t+c1][u(t-m
)-u(t-(m+1)
2—2
t+c1][u(t-n
)-u(t-(n+1)
2—3
此处c1,c2为常数,由于球x(t)和h(t)的微积分时,与此常数无关,所以此处可不必求出。
对式子2—2,求微分有:
x’(t)=
2—4
2—5
则x’(t)和h’(t)如图2—5(a),(b)所示:
3—5斜梯函数的一次微分与积分
X’’(t)=
2—6
H(-2)(t)=
2[2(n-1)h(0)+
2—7
式2—6,2—7如下图3—6所示。
3—6斜梯函数的二次额积分
令H(k
=h(-2)(t),
2—7x(t)和h(t)的卷机过程
(三)DIY手工艺品的“自助化”由y(t)=x(t)*h(t)=x’’(t)*H(t)得
.2—8
由图2—7可以清楚的看出如果计算从0到k
的也为N点序列,所以共需要N2次乘法,属于有效算法。
四、设计过程
假设有有一DSP系统,如果激励信号的的波形如图4—1所示,定义的时间区间是(t0,,t),
表示从t0到t之前的任意时刻。
对于任意输入信号的作用,可以看成是一系列具有相同宽度的矩形脉冲用近似表示e(
).把时间区间(t0,,t)分成相等的几段,每段宽度为
,即t1-t0=t2-t1=tk+1-tk=…=
.因此e(
)可以用图中的阶梯曲线来近似表示,即可以看成是一系列的矩形脉冲的合成。
这一系列的矩形脉冲可以通过单位脉冲函数和延迟的单位脉冲函数,即P
)和P
)来表示。
因此可以用上述矩形脉冲表示e(
大学生对手工艺制作兴趣的调研
“漂亮女生”号称全国连锁店,相信他们有统一的进货渠道。
店内到处贴着“10元以下任选”,价格便宜到令人心动。
但是转念一想,发夹2.8元,发圈4.8元,皮夹子9.8元,好像和平日讨价还价杀来的心理价位也差不多,只不过把一只20元的发夹还到5元实在辛苦,现在明码标价倒也省心省力。
e(
0)P
(
-
0)
+e(t1)P
1)
+e(t2)P
2)
+
…e(tk)P
k)
+…e(tn-1)P
n-1)
2--9
据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助。
输入信号P
)后,其响应为h
)对每一延迟的矩形脉冲P
),在时刻t观察到的相应的响应应为h
(t-tk),e(tk)P
e(tk)h
所以2—9式的输出信号应该为:
(3)年龄优势r
t-tk)
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。
不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。
现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
为了保证e(
)的阶梯矩形近似更接近真实e(
),令t0到t区间的脉冲数不断增加。
当t→
时,
→
,每个单位矩形脉冲变成冲击函数,h
变成了冲击函数h,e
变成了原来的激励e(
),响应r
同时上式的求和也变成了积分,tk变成了连续变量
,
于是有
r(t)=
其中t0为任意激励施加的时刻,t为待求响应对应的时刻。
特别的,当t0=0时,有
(4)创新能力薄弱r(t)=
2—10
7、你喜欢哪一类型的DIY手工艺制品?
式子1—10所示的积分就是卷积的积分。
因此,只要知道系统的冲击响应,对于任意的激励信号e(t)的作用,都可根据卷积的积分求出响应。
对于更为复杂的二阶系统,运用这种方法更能看出其优势,由于计算过程大致类似,我们应用MATLAB自带的命令计算结果绘制于4—2图中
4—2三种算法的比较
木质、石质、骨质、琉璃、藏银……一颗颗、一粒粒、一片片,都浓缩了自然之美,展现着千种风情、万种诱惑,与中国结艺的朴实形成了鲜明的对比,代表着欧洲贵族风格的饰品成了他们最大的主题。
当采样精度为0.5时,他们的结果相当接近,精度得到了保证。
当进一步提高采样率,结果更加精确了,已经能够满足实际需求。
(1)专业知识限制五、收获与体会
通过此次的课程设计,加深了我们对卷积的理解,也了解到了更多的卷积算法,也锻炼了我们查询资料,从所获取的资料中提取有用的知识的能力。
课程设计中的实验验证过程,写得有点草率,但是事出有因,以后我会吧验证过程写得更详尽,到位。
总而言之,收获颇多,做课程设计是一种运用学过的知识的过程,应当多做。