卷积/圆周卷积
圆周卷积
线性卷积的延拓
若x1(n)和x2(n)分别为N1与N2的有限长序列,则它们的线性卷积y1(n)的长度为N1+N2-1的有限长序列。而它们以N点做圆周卷积y2(n)则有以下两种情况:
①当N<N1+N2-1时,会发生混叠,即y2(n)是由y1(n)的前N点和后(N1+N2-1-N)点圆周移位后的叠加而成。
②N> N1+N2-1时,圆周卷积等同于线性卷积,即y2(n)的前N1+N2-1的点刚好是y1(n)的全部非零序列,其中剩下的N-(N1+N2-1)个点上的序列则是补充的零。
同时对于圆周卷积必须考虑点数。
当N>N1+N2-1时,圆周卷积成为线性卷积。
下面比较两种卷积c语言算法:
代码1.
int convolution_numberical(double a[10], double b[10],double count1,double count2)
{
double c[10][10];
double sum[19] = { 0 };//不初始化有乱码
for (int i = 0; i < count1&&i < count2; i++)
{
for (int j = 0; j < count1&&j < count2; j++)
{
c[j][i] = a[j] * b[i];
for (int k = 0; k < 19; k++)
{
if (j + i == k)
{
//cout << i << j<< k<<endl;