线性卷积、循环卷积、周期卷积的定义、计算方法及三者之间的关系

 

文章目录
前言
一、卷积的物理意义及性质
1. 物理意义
2. 卷积性质
二、线性卷积定义及计算方法
1. 定义公式
2. 适用范围
3. 计算方法
三、循环卷积定义及计算方法
1. 定义公式
2. 适用范围
3. 计算方法
四、周期卷积定义及适用范围
1. 定义公式
2. 适用范围
总结
1. 线性卷积和循环卷积的关系
2. 三者之间的关系
参考

 


前言
本文首先介绍了卷积的物理意义及卷积的性质(交换律、结合律、分配律),并简单阐述了线性时不变系统;之后分别就定义、适用范围及计算方法对线性卷积、循环卷积、周期卷积进行了介绍;最后总结了线性卷积、循环卷积、周期卷积之间的关系。

一、卷积的物理意义及性质
1. 物理意义
卷积的物理意义:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。

对于线性时不变系统,如果知道该系统的单位响应,那么将单位响应和输入信号求卷积,就相当于把输入信号的各个时间点的单位响应加权叠加,就直接得到了输出信号。

线性时不变系统:既满足叠加原理又具有时不变特性。
1)叠加定理:f ( a + b ) = f ( a ) + f ( b ) f(a+b) = f(a) + f(b)f(a+b)=f(a)+f(b);
2)时不变特性:特定输入的输出结果不会随时间变化。

2. 卷积性质
卷积积分满足交换律、结合律以及分配律:
1)交换律:f ( t ) ∗ g ( t ) = g ( t ) ∗ f ( t ) f(t)∗g(t)=g(t)∗f(t)f(t)∗g(t)=g(t)∗f(t);
2)结合律:f ( t ) ∗ g ( t ) ∗ h ( t ) = f ( t ) ∗ ( g ( t ) ∗ h ( t ) ) f(t)∗g(t)∗h(t)=f(t)∗(g(t)∗h(t))f(t)∗g(t)∗h(t)=f(t)∗(g(t)∗h(t));
3)分配律:f ( t ) ∗ ( g ( t ) + h ( t ) ) = f ( t ) ∗ g ( t ) + f ( t ) ∗ h ( t ) f(t)∗(g(t)+h(t))=f(t)∗g(t)+f(t)∗h(t)f(t)∗(g(t)+h(t))=f(t)∗g(t)+f(t)∗h(t);

 

二、线性卷积定义及计算方法
1. 定义公式
y ( n ) = x ( n ) ∗ h ( n ) = ∑ x ( k ) h ( n − k ) y(n)=x(n)∗h(n)= ∑x(k)h(n−k)
y(n)=x(n)∗h(n)=∑x(k)h(n−k)

线性时不变离散系统中,若序列x ( n ) x(n)x(n)是系统的输入信号,h ( n ) h(n)h(n)是系统在单位脉冲作用下的单位脉冲响应,由于输入离散时间序列x ( n ) x(n)x(n)可表示为一系列脉冲的线性组合,根据线性系统的齐次性和可加性,x ( n ) x(n)x(n)作用于系统所引起的零状态响应y ( n ) y(n)y(n)就是序列x ( n ) x(n)x(n)与h ( n ) h(n)h(n)的卷积和。

2. 适用范围
线性卷积表示一个信号通过一个系统的输出,这个信号可以是无限长的,也可以是有限长的,可以的离散的也可以是连续的。

3. 计算方法
被卷积序列x [ n ] x[n]x[n]与h [ n ] h[n]h[n]的序列长度分别为M MM和N NN,则卷积得到的y [ n ] y[n]y[n]序列长为L = M + N − 1 L=M+N-1L=M+N−1,计算线性卷积的简单方法为进位保留法。

 

 

复制代码
/*****************************************************************
*    线性卷积函数
*****************************************************************/

void convolution(double input1[], double input2[], double output[], int n, int m)
{
    int k = 0;
    int i = 0;
    int j = 0;

    for (k = 0; k < m + n - 1; k++) 
    {
        output[k] = 0;
    }

    //开始卷积
    //利用时延效果,记录所有乘积后,时间位置一样的相加
    for (i = 0; i < m; i++) 
    {
        for (j = 0; j < n; j++) 
        {
            output[i + j] += input1[i] * input2[j];
        }
    }
}
复制代码

 

三、循环卷积定义及计算方法
1. 定义公式
设序列h ( n ) h(n)h(n)和x ( n ) x(n)x(n)的长度分别为N NN和M MM,h ( n ) h(n)h(n)与x ( n ) x(n)x(n)的L LL点循环卷积定义为:

式中,L LL称为循环卷积区间长度,L ≥ m a x [ N , M ] L≥max[N,M]L≥max[N,M],x ( ( n − m ) ) L x\big((n-m)\big)_Lx((n−m))
L

是以L LL为周期的周期信号,n nn和m mm的变化区间均是[ 0 , L − 1 ] [0,L-1][0,L−1]。

2. 适用范围
循环卷积(圆周卷积)针对离散信号,是一个有限长序列通过一个系统后的输出序列,在计算这个序列之前,必须先定义卷积运算的点数,不然这个运算就无法确定。

3. 计算方法
循环卷积相较于线性卷积区别在于卷积结果的序列长度与被卷积序列长度(输入信号)相同。由上面公式可知,直接计算比较复杂,通常采用线性卷积、矩阵相乘或FFT的方法计算循环卷积。

1)利用线性卷积计算循环卷积

 

 

2)利用循环卷积矩阵计算循环卷积

 

 

取L = m a x ( M , N ) L = max(M,N)L=max(M,N),则x ( n ) x(n)x(n)的L LL点“循环卷积矩阵”,其特点是:

① 第一行是序列 {x ( 0 ) , x ( 1 ) , x ( 2 ) , ⋯ , x ( L − 1 ) x(0),x(1),x(2),⋯,x(L−1)x(0),x(1),x(2),⋯,x(L−1)} 的循环倒相序列。
注:如果x ( n ) x(n)x(n)的长度M < L M<LM<L,则需要在x ( n ) x(n)x(n)末尾补 L-M 个零后,再形成第一行的循环倒相序列;
② 第一行以后的各行均是前一行向右循环移1位形成的;
③ 矩阵的各主对角线上的序列值均相等。

3)利用FFT计算循环卷积

 

 

① 4点DFT

x1=[1,2,3,4];
x2=[1,2,3];

X1=fft(x1,4);
X2=fft(x2,4);
Y=X1.*X2;
y=ifft(Y);

② 6点DFT

x1=[1,2,3,4];
x2=[1,2,3];

X1=fft(x1,6);
X2=fft(x2,6);
Y=X1.*X2;
y=ifft(Y);

四、周期卷积定义及适用范围
1. 定义公式


2. 适用范围
周期卷积针对离散信号,是无限长周期离散信号通过一个离散系统后的输出。

总结
设卷积序列x [ n ] x[n]x[n]与h [ n ] h[n]h[n]的序列长度分别为M MM和N NN,则卷积得到的y [ n ] y[n]y[n]序列长为L LL

1. 线性卷积和循环卷积的关系
1)当L<N+M-1时,循环卷积是线性卷积长度为L的混叠;
2)当L=N+M-1时,循环卷积=线性卷积;
3)当L>N+M-1时,循环卷积是线性卷积末尾补L-(N+M-1)个零;

2. 三者之间的关系
1)周期卷积是线性卷积以一定序列长度(设为L)为周期的周期延拓。
2)对周期卷积取主值序列得到循环卷积。

参考
https://blog.csdn.net/abc123mma/article/details/120251384
https://blog.csdn.net/weixin_45810064/article/details/121322948?
https://blog.csdn.net/qq_39408570/article/details/110429928
https://blog.csdn.net/qq_45732223/article/details/110526379

 

参考链接

  线性卷积、循环卷积、周期卷积的定义、计算方法及三者之间的关系

  MATLAB实现 有限长序列的线性卷积和圆周卷积

 

posted @   博客园—哆啦A梦  阅读(6010)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示