数字信号处理:线性卷积、循环卷积、圆周卷积计算
记录一下前期没搞懂的卷积的内容,主要是线性卷积计算方法和使用线性卷积计算圆周卷积的方法。为此学习了一下之前从来没有接触过的 LaTeX 语法,😂一直使用的是 Word 里面内嵌的 Unicode Math 语法。不得不说,LaTeX 挺香
同步发布在我的博客 爆米花手册 中,欢迎来踩踩
线性卷积
线性卷积一般使用不进位乘法(或称对位相乘相加法)进行计算
例题:
设线性时不变系统的单位脉冲响应 h(n) 和输入序列 x(n) 如下,求输出序列 y(n) = x(n) * h(x)
x(n)=\{1,2,\underline4,3\}\\ h(n)=\{\underline2,3,5\}
解:
如题,x(n) 最右侧的数字 3 距离下划线的距离为 1,故 n=1
h(n) 最右侧的数字 5 距离下划线的距离为 2,故 n=2
将 x(n) 和 h(n) 列为竖式乘法的形式,并在最右侧标注 n 的值
\begin {array}{ccc} &1&2&4&3&\leftarrow n=1\\ \times &&2&3&5&\leftarrow n=2\\ \hline \end {array}
接下来进行常规的竖式乘法计算
\begin {array}{ccc} &&&1&2&4&3&\leftarrow n=1\\ \times &&&&2&3&5&\leftarrow n=2\\ \hline &&&5&10&20&15\\ &&3&6&12&9\\ &2&4&8&6\\ \hline \end {array}
然后进行竖式乘法相加,注意计算结果不进位
\begin {array}{ccc} &&&1&2&4&3&\leftarrow n=1\\ \times &&&&2&3&5&\leftarrow n=2\\ \hline &&&5&10&20&15\\ &&3&6&12&9\\ &2&4&8&6\\ \hline &2&7&19&28&29&15 \end {array}
最后将 x(n) 和 h(n) 的 n 相加,得到 n=1+2=3 写在结果后面
\begin {array}{ccc} &&&1&2&\underline4&3&\leftarrow n=1\\ \times &&&&\underline2&3&5&\leftarrow n=2\\ \hline &&&5&10&20&15\\ &&3&6&12&9\\ &2&4&8&6\\ \hline &2&7&\underline{19}&28&29&15&\leftarrow n=3 \end {array}
故从右往左数第 n+1 个数为 y(0)
按顺序写下不进位乘法结果即为答案
y(n)=\{2,7,\underline{19},28,29,15\}
循环卷积、圆周卷积
循环卷积和圆周卷积是一个意思,之后文章里统一使用圆周卷积来作说明
圆周卷价一般使用矩阵相乘法求解
但是这里给出一个更简单的方法,使用线性卷积间接计算圆周卷积
例题:
设线性时不变系统的单位脉冲响应 h(n) 和输入序列 x(n) 如下,求它们的 4 点圆周卷积、 5 点圆周卷积和 7 点圆周卷积
x(n)=\{1,2,\underline4,3\}\\ h(n)=\{\underline2,3,5\}
解:
由上面例题的求解过程可以知道它们的线性卷积为
y(n)=\{2,7,\underline{19},28,29,15\}
y(n) 的序列长度为 6
对于 4 点圆周卷积
由于 4 点小于线性卷积的 6 点,其中的两点存在混杂现象,那么将第五点的值加到第一点上,第六点的值加到第二点上,故 4 点圆周卷积为
z^1(n)=\{31,22,\underline{19},28\}
同理,对于 5 点圆周卷积
其中一点存在混杂现象,那么只需要将第六点加到第一点上,故 5 点圆周卷积为
z^2(n)=\{17,7,\underline{19},28,29\}
对于 7 点圆周卷积
由于 7 点大于线性卷积的 6 点,没有发生混杂现象,只需要在线性卷积右侧使用 0 补足 7 点即可,故 7 点圆周卷积为
z^3(n)=\{2,7,\underline{19},28,29,15,0\}
本作品采用《CC 协议》,转载必须注明作者和本文链接