卷积/圆周卷积

本文介绍了卷积和圆周卷积的概念,特别关注了当序列长度与卷积长度的关系对结果的影响。在圆周卷积中,当N小于序列总长度时,会出现混叠现象;当N大于等于序列总长度时,圆周卷积等同于线性卷积。文章还提供了C语言实现圆周卷积的代码示例,探讨了如何通过调整点数N来实现不同情况下的卷积,并预告了关于快速傅里叶变换(FFT)在卷积中的应用。
摘要由CSDN通过智能技术生成

卷积/圆周卷积

圆周卷积
线性卷积的延拓

若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;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值