文章目录前言一、卷积的物理意义及性质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 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 2. 三者之间的关系1)周期卷积是线性卷积以一定序列长度(设为L)为周期的周期延拓。2)对周期卷积取主值序列得到循环卷积。 参考https://blog.csdn.net/abc123mma/article/details/120251384https://blog.csdn.net/weixin_45810064/article/details/121322948?https://blog.csdn.net/qq_39408570/article/details/110429928https://blog.csdn.net/qq_45732223/article/details/110526379 参考链接 线性卷积、循环卷积、周期卷积的定义、计算方法及三者之间的关系 MATLAB实现 有限长序列的线性卷积和圆周卷积