专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
DSP
序列的运算
2019-07-13 20:25
发布
生成海报
站内文章
/
DSP
10142
0
975
class="markdown_views prism-github-gist">
序列的运算
基本运算
调制
相乘
相加
时移
反褶
卷积
不做卷积得到某一项的值
有限长序列卷积
卷积后的长度
用多项式乘法快速计算卷积
抽样率转换
基本运算
调制
两个序列样本值的乘积,指的是将两个序列的样本值逐点对应相乘,从而得到新的序列:
y
[
n
]
=
x
[
n
]
w
[
n
]
y[n]=x[n]w[n]
y
[
n
]
=
x
[
n
]
w
[
n
]
在一些应用中,序列的乘积也叫做调制,实现该运算的器件称为调制器。
相乘
一个序列的每个样本值都乘以标量A以产生新的序列
y
[
n
]
=
A
x
[
n
]
y[n]=Ax[n]
y
[
n
]
=
A
x
[
n
]
实现相乘运算的器件称为乘法器。
相加
把两个序列的样本值逐点的相加得到新的序列
y
[
n
]
=
x
[
n
]
+
w
[
n
]
y[n]=x[n]+w[n]
y
[
n
]
=
x
[
n
]
+
w
[
n
]
实现该运算的器件称为加法器。
时移
时移运算表现为
y
[
n
]
=
x
[
n
−
N
]
y[n]=x[n-N]
y
[
n
]
=
x
[
n
−
N
]
若
N
>
0
N>0
N
>
0
,则称之为延迟运算,若
N
<
0
N<0
N
<
0
则称之为超前运算。
单位延迟为延迟一个单位,即
y
[
n
]
=
x
[
n
−
1
]
y[n]=x[n-1]
y
[
n
]
=
x
[
n
−
1
]
在
Z
Z
Z
变换中,延迟一个单位相当于乘以
z
−
1
z^{-1}
z
−
1
,所以在方框图用
z
−
1
z^{-1}
z
−
1
表示延迟一个单位
同理,单位超前一个单位可以写为
y
[
n
]
=
x
[
n
+
1
]
y[n]=x[n+1]
y
[
n
]
=
x
[
n
+
1
]
在
Z
Z
Z
变换中,超前一个单位相当于乘以
z
z
z
,所以在方框图用
z
z
z
表示超前一个单位
反褶
序列的反褶表现为
y
[
n
]
=
x
[
−
n
]
y[n]=x[-n]
y
[
n
]
=
x
[
−
n
]
下面给出一些序列运算的例子,我将以图形的形式给出
调制
相加
单位延迟
单位超前
反褶
大多数的应用都是采用上述基本运算的组合。
卷积
x
[
n
]
x[n]
x
[
n
]
和
h
[
n
]
h[n]
h
[
n
]
为两个序列,这两个序列通过卷积后产生新的序列是
y
[
n
]
=
∑
m
=
−
∞
∞
x
[
m
]
h
[
n
−
m
]
y[n]=sum_{m=-infty}^{infty}x[m]h[n-m]
y
[
n
]
=
m
=
−
∞
∑
∞
x
[
m
]
h
[
n
−
m
]
至于为什么会有卷积和这种运算,在离散时间系统那里详细介绍过,卷积和可以说是信号与系统分析中最重要的运算之一。
观察卷积的表达式,发现卷积也是由基本运算组成的:首先对
h
[
m
]
h[m]
h
[
m
]
进行反褶得到
h
[
−
m
]
h[-m]
h
[
−
m
]
,然后进行时移运算,由
h
[
−
m
]
h[-m]
h
[
−
m
]
得到
h
[
−
(
m
−
n
)
]
=
h
[
n
−
m
]
h[-(m-n)]=h[n-m]
h
[
−
(
m
−
n
)
]
=
h
[
n
−
m
]
,然后进行调制运算
x
[
m
]
h
[
n
−
m
]
x[m]h[n-m]
x
[
m
]
h
[
n
−
m
]
,最后进行相加运算得到
y
[
n
]
=
∑
m
=
−
∞
∞
x
[
m
]
h
[
n
−
m
]
y[n]=sum_{m=-infty}^{infty}x[m]h[n-m]
y
[
n
]
=
∑
m
=
−
∞
∞
x
[
m
]
h
[
n
−
m
]
,所以一个卷积运算是由反褶,时移,调制,相加等基本运算组成的。
其实在实际的计算,计算过程就是由我上面所说的过程组成,从这里就可以看到,其实做卷积运算是比较麻烦的,在学习变换域时,有更好的办法进行卷积运算。
卷积和一般也写成
y
[
n
]
=
x
[
n
]
∗
y
[
n
]
=
∑
m
=
−
∞
∞
x
[
m
]
h
[
n
−
m
]
y[n]=x[n]*y[n]=sum_{m=-infty}^{infty}x[m]h[n-m]
y
[
n
]
=
x
[
n
]
∗
y
[
n
]
=
m
=
−
∞
∑
∞
x
[
m
]
h
[
n
−
m
]
我们对上面的式子做一个变换,令
m
=
n
−
k
m=n-k
m
=
n
−
k
,则:
y
[
n
]
=
∑
k
=
−
∞
∞
h
[
k
]
x
[
n
−
k
]
=
h
[
n
]
∗
x
[
n
]
y[n]=sum_{k=-infty}^{infty}h[k]x[n-k]=h[n]*x[n]
y
[
n
]
=
k
=
−
∞
∑
∞
h
[
k
]
x
[
n
−
k
]
=
h
[
n
]
∗
x
[
n
]
所以卷积满足交换律。
不做卷积得到某一项的值
如何快速展开得到卷积某一项的值,比如想得到
y
[
2
]
y[2]
y
[
2
]
的值。
假设
x
[
n
]
,
w
[
n
]
x[n],w[n]
x
[
n
]
,
w
[
n
]
的起点都是
0
0
0
,那么可以快速写出
y
[
2
]
=
x
[
0
]
w
[
2
]
+
x
[
1
]
w
[
1
]
+
x
[
2
]
w
[
0
]
y[2]=x[0]w[2]+x[1]w[1]+x[2]w[0]
y
[
2
]
=
x
[
0
]
w
[
2
]
+
x
[
1
]
w
[
1
]
+
x
[
2
]
w
[
0
]
观察表达式可以得到
x
x
x
的下标和
w
w
w
的下标加起来等于
2
2
2
,所以想快速得到卷积后某一项的值可以快速的写出来,只要
x
x
x
的下标加上
w
w
w
的下标等于
n
n
n
。
那么
y
[
3
]
y[3]
y
[
3
]
可以写为
y
[
3
]
=
x
[
0
]
w
[
3
]
+
x
[
1
]
w
[
2
]
+
x
[
2
]
w
[
1
]
+
x
[
3
]
w
[
0
]
y[3]=x[0]w[3]+x[1]w[2]+x[2]w[1]+x[3]w[0]
y
[
3
]
=
x
[
0
]
w
[
3
]
+
x
[
1
]
w
[
2
]
+
x
[
2
]
w
[
1
]
+
x
[
3
]
w
[
0
]
这里假设
x
x
x
和
w
w
w
都是从
0
0
0
开始的,并且
x
x
x
和
w
w
w
都能取到
x
[
3
]
x[3]
x
[
3
]
和
w
[
3
]
w[3]
w
[
3
]
。
当然对于不是从
0
0
0
开始的也成立,假设
x
x
x
是从
−
1
-1
−
1
开始的,
w
w
w
是从
0
0
0
开始的,那么
y
[
2
]
=
x
[
−
1
]
w
[
3
]
+
x
[
0
]
w
[
2
]
+
x
[
1
]
w
[
1
]
+
x
[
2
]
w
[
0
]
y[2]=x[-1]w[3]+x[0]w[2]+x[1]w[1]+x[2]w[0]
y
[
2
]
=
x
[
−
1
]
w
[
3
]
+
x
[
0
]
w
[
2
]
+
x
[
1
]
w
[
1
]
+
x
[
2
]
w
[
0
]
上述表达式成立前提是
x
x
x
有
x
[
2
]
x[2]
x
[
2
]
和
w
w
w
有
w
[
3
]
w[3]
w
[
3
]
。
有限长序列卷积
卷积后的长度
假设序列
x
[
n
]
x[n]
x
[
n
]
的有值区间为
N
1
≤
n
≤
N
2
N_1leq n leq N_2
N
1
≤
n
≤
N
2
,长度为
N
=
N
2
−
N
1
+
1
N=N_2-N_1+1
N
=
N
2
−
N
1
+
1
,
w
[
n
]
w[n]
w
Ta的文章
更多
>>
所有参数模块元件购齐
0 个评论
电源分配系统及电源完整性
0 个评论
序列的运算
0 个评论
嵌入式Linux简单字符设备驱动程序---helloworld
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮