信号与系统_课程设计_卷积

信号与系统_课程设计_卷积

ID:42132957

大小:407.26 KB

页数:9页

时间:2019-09-08

信号与系统_课程设计_卷积_第1页
信号与系统_课程设计_卷积_第2页
信号与系统_课程设计_卷积_第3页
信号与系统_课程设计_卷积_第4页
信号与系统_课程设计_卷积_第5页
资源描述:

《信号与系统_课程设计_卷积》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、信号与系统课程设计报告学院电气与电子工程学院班级电气1004班学号U201011867姓名彭鸿昌信号与系统课程设计报告学院电气与电子工程学院班级电气1004班学号U201011867姓名彭鸿昌一设计题目循环卷积和离散卷积的计算机计算二设计目标设有两离散序列v[n],则两序列的循环卷积和离散卷积分别为:coy[n]=x[n]®v[n]=工x[i]v[n-i.modN]/=-0000y[n]=x[n*v[n]=工x[i^[n-i]i=—g画出计算此两卷积的程序框图,并用c语言编写计算程序,计算出结果。用C语言编程,分析计算结果。三设计原理在泛函分析中,卷积(卷积)、旋积或摺积(英

2、语:Convolution)是通过两个函数f和g生成第三个函数的一种数学算子,表徵函数f与经过翻转和平移与g的重叠部分的累积。如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理屮的卷积定理。利用该定理,可以将吋间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效的计算,节省运算代价。1离散卷积信号与线性系统屮,定义x[n],v[n],其卷积为8y[n]=x[n]*v[n]=工x[i^[n—i]匸-8计算离散卷积时,首先将x[n],v[n]中的离散时间序号n改

3、为i,得到信号x[i],v[i],下一步确定v[n-i]和乘积x[i]v[n-i]o信号v[n-i]是信号v[i]的反折和平移,通过对x[i]v[n~i]中的i求和即可计算出來,式中i取一定范围的的整数。计算离散卷积时需要用户输入x[n]和v[m]的值,这样便可以得到所要求的离散卷积的值。2循环卷积循环卷积比起线性卷积,在运算速度上有很大的优越性,它可以采用快速傅里叶变换(FFT)技术,若能利用循环卷积求线性卷积,会带来很大的方便。一般情况下,nMN时x[n]*v[n]并不等于零,x[n]*v[n]的N点DFT和这些值不一致。因此,有必要定义一种卷积运算,使得「0,1,…,N-

4、1之外的卷积信号x[n]*v[n]等于零,这就引岀循环卷积的概念。离散卷积和循环卷积Z间的唯一区别是:用折叠位移(模N)信号代替了离散卷积式小的折叠位移信号。对于循环卷积来说,不仅要知道这两组数而且要确定N值。四程序流程图1离散卷积流程图2循环卷积流程图五程序代码1离散卷积代码#ineludeusingnamespacestd;intmain(){intn,m,k,q;n二m=k=q=O;doublex[100],v[100],y[200];cout«"离散卷积y";cout<<“输入x[n]的长度”;cin»n;coutvv“输入v[m]的长度

5、”;cin>〉m;cout«"输入x[n]";for(k=0;k<=n-l;k++)cin>>x[k];cout«"输入v[m]";for(k=0;k<=m-l;k++)cin»v[k];for(q=0;q<=m+n・2;q++)for(k=0;k<=n-l;k++)if((q-k)>=0)y[q]=x[k]*v[q-k]+y[q];cout«n离散卷积y[n]为”;for(q=0;q<=m+n・2;q++)cout«Hy「vvqvv“]=“vvy[q]vv””;coutvv”其余值均为0”;return0;}2循环卷积代码#include

6、>usingnamespacestd;intmain(){inti,j;i=j=0;intt;doublex[100],v[100]M200];cout«"循环卷积y";cout«"输入N的值";cin»t;cout«"输入x[n]";for(i=0;i<=t-l;i++)cin>>x[i];cout«"输入v[m]";for(i=0;i<=t-l;i++)cin>>v[i];for(j=0;j<=t-l;j++)for(i=0;i<=t-l;i++)if((卜i)>=0)y[j]=x[i]*v[j-i]+y[j];elseif((j-i)<0)y[j]=x[i

7、]*v[j-i+t]+y[j];cout«"循环卷积y[n]为”;for(j=0;j<=t-l;j++)cout«,,y[',«j«n]=,,«yU]«,,n;return0;}六计算结果与验证编程软件使用Code::Blocks,编译器为GNUGCCCompiler1循环卷积验证循环卷积厂=x[0]v[0]+x[1]v[2]+x[2]v[1]=11,n=0y[n]=x[n]③v[n]J=x[0]v[1]+x[1]v[0]+x[2]v[2]=11,n=1=x[0]v[2]+x[1]v

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。