- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信号与系统课程设计卷积
信号与系统
课程设计报告
学院 电气与电子工程学院
班级 电气1004班
学号 U201011867
姓名 彭鸿昌
一 设计题目
循环卷积和离散卷积的计算机计算
二 设计目标
设有两离散序列和,则两序列的循环卷积和离散卷积分别为:
画出计算此两卷积的程序框图,并用C语言编写计算程序,计算出结果。
用C语言编程,分析计算结果。
三 设计原理
在泛函分析中,卷积(卷积)、旋积或摺积(英语:Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表徵函数f 与经过翻转和平移与g 的重叠部分的累积。如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。
卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利用该定理,可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效的计算,节省运算代价。
1 离散卷积
信号与线性系统中,定义x[n],v[n],其卷积为 计算离散卷积时,首先将x[n],v[n]中的离散时间序号n改为i,得到信号x[i],v[i],下一步确定v[n-i]和乘积x[i]v[n-i]。信号v[n-i]是信号v[i]的反折和平移,通过对x[i]v[n-i]中的i求和即可计算出来,式中i取一定范围的的整数。
计算离散卷积时需要用户输入x[n]和v[m]的值,这样便可以得到所要求的离散卷积的值。
2 循环卷积
循环卷积比起线性卷积,在运算速度上有很大的优越性,它可以采用快速傅里叶变换(FFT)技术,若能利用循环卷积求线性卷积,会带来很大的方便。一般情况下,n≧N时x[n]*v[n]并不等于零,x[n]*v[n]的N点DFT和这些值不一致。因此,有必要定义一种卷积运算,使得n=0,1,…,N-1之外的卷积信号x[n]*v[n]等于零,这就引出循环卷积的概念。离散卷积和循环卷积之间的唯一区别是:用折叠位移(模N)信号代替了离散卷积式中的折叠位移信号。
对于循环卷积来说,不仅要知道这两组数而且要确定N值。
四 程序流程图
1 离散卷积流程图
2 循环卷积流程图
五 程序代码
1 离散卷积代码
#include iostream
using namespace std;
int main()
{
int n,m,k,q;
n=m=k=q=0;
double x[100],v[100],y[200];
cout离散卷积y\n;
cout输入x[n]的长度\n;
cinn;
cout输入v[m]的长度\n;
cinm;
cout输入x[n]\n;
for(k=0;k=n-1;k++)
cinx[k];
cout输入v[m]\n;
for(k=0;k=m-1;k++)
cinv[k];
for(q=0;q=m+n-2;q++)
for(k=0;k=n-1;k++)
if((q-k)=0)
y[q]=x[k]*v[q-k]+y[q];
cout离散卷积y[n]为\n;
for(q=0;q=m+n-2;q++)
couty[q]=y[q]\n;
cout其余值均为0\n;
return 0;
}
2 循环卷积代码
#include iostream
using namespace std;
int main()
{
int i,j;
i=j=0;
int t;
double x[100],v[100],y[200];
cout循环卷积y\n;
cout输入N的值\n;
cint;
cout输入x[n]\n;
for(i=0;i=t-1;i++)
cinx[i];
cout输入v[m]\n;
for(i=0;i=t-1;i++)
cinv[i];
for(j=0;j=t-1;j++)
for(i=0;i=t-1;i++)
if((j-i)=0)
y[j]=x[i]*v[j-i]+y[j];
else if((j-i)0)
y[j]=x[i]*v[j-i+t]+y[j];
cout循环卷积y[n]为\n;
for(j=0;j=t-1;j++)
couty[j]=y[j]\n;
return 0;
}
六 计算结果与验证
编程软件使用Code::Blocks,编译器为GNU GCC Compiler
1 循环卷积
验证循环卷积
=x[0]v[0]+x[1]v[2]+x[2]v[1]=11, n=0
y[n]=x[n] ③v[n] =x[0]v[1]+x[1]v[0]+x[2]v[2]=11, n=1
您可能关注的文档
- 人体解剖学和生理学试题.doc
- 人大法学考研各方向录取人数预测及竞争激烈程度分析.doc
- 人大法学考研各方向竞争激烈程度分析.doc
- 人感染H7N9禽流感诊疗及防控知识培训试题2.doc
- 人感染甲型流感预防控制技术指南.doc
- 人教版一年级(上)识字卡片可打印.doc
- 人教版《英语必修1》(普通高中课程标准实验教科书).doc
- 人教版一年级下册生字可打印.doc
- 人教版三年级数学第五单元两位数乘两位数(不进位)教案.doc
- 人教版三年级语文上册生字表(一)硬笔字.doc
- 中小学生快乐暑假汇报分享英文介绍PPT课件.pptx
- 轻食主义轻食理念宣传培训讲座PPT课件.pptx
- 全民健身日运动健康教育宣传讲座主题通用PPT课件.pptx
- 中小学生抵制邪教从我做起反邪教教育主题班会PPT课件.pptx
- 儿童虫林探险家夏令营活动策划方案PPT课件.pptx
- 全民健身日运动健康教育宣传讲座主题PPT课件.pptx
- 你好8月未来工作计划总结分享PPT课件.pptx
- 专题03 盛世大唐 - 高考历史二轮复习高频考点追踪分析与预测(全国).docx
- 高考生物一轮复习 选择性必修3 生物技术与工程测试卷(解析版).docx
- 专题04 宋元时期 - 高考历史二轮复习高频考点追踪分析与预测(全国).docx
文档评论(0)