重叠保留法重叠保留法
1、已知x(n)=n,0?n?99,h(n)=n+1, 0?n?4,使用C语言编译出重叠相加法,
再利用Matlab编写重叠相加法和重叠保留法程序,计算x(n)和h(n)的卷积。
(1) C语言程序及结果截图
#include
void main ()
{
int a[105], b[5],c[104];
int i,j,k,t,r=0,s=0,p;
a[0]=0;
int x[10][20],xnew[5][10][20],xnewl[10][18];
for(i=0;i0)
{...
重叠保留法
1、已知x(n)=n,0?n?99,h(n)=n+1, 0?n?4,使用C语言编译出重叠相加法,
再利用Matlab编写重叠相加法和重叠保留法程序,计算x(n)和h(n)的卷积。
(1) C语言程序及结果截图
#include
void main ()
{
int a[105], b[5],c[104];
int i,j,k,t,r=0,s=0,p;
a[0]=0;
int x[10][20],xnew[5][10][20],xnewl[10][18];
for(i=0;i<104;i++)//给数组赋值,生成序列x(n)
{
if(i<4)
a[i]=0;
else
a[i]=i-4;
}
for(j=0;j<5;j++)//给数组赋值,生成序列h(n)
{
b[j]=j+1;
}
int n,m;
for(i=0;i<10;i++)//把序列x(n)分成10组
{
if(i>0)
{
n=10*i;
m=10*(i+1)+3;
}
else
{
n=0;
m=13;
}
for(j=n,k=0;j<=m;j++,k++)
{
x[i][k]=a[j];
}
}
for(k=0;k<5;k++)//个小段分别与序列b[n]相乘
{
for(i=0;i<10;i++)
{
for(j=0;j<14;j++)
{
xnew[k][i][j]=x[i][j]*b[k];
}
}
}
for(i=0;i<5;i++)//把xnew乘b[n]所有段数组元素向后移动n位
{
for(j=0;j<10;j++)
{
for(k=13;k>=0;k--)
{
xnew[i][j][k+i]=xnew[i][j][k];
}
}
}
for(i=0;i<5;i++)//移动n位后,在数组前面补n个零
{
for(j=0;j<10;j++)
{
for(k=0;k
本文档为【重叠保留法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。