欢迎来到天天文库
浏览记录
ID:24841091
大小:285.50 KB
页数:16页
时间:2018-11-15
《数字信号课程设计报告-用fft实现快速卷积》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、课程设计报告课程名称__________数字信号处理_____________设计题目_______用FFT实现快速卷积__________专业_____________通信工程______________课程设计任务书设计题目:_________用FFT实现快速卷积___________________________________________________________________________设计内容与要求:FFT的出现,使DFT在数字通信、语音信号处理、图像处理、功率谱估计、系统分析与仿真、雷达信号
2、处理、光学、地震及数值分析等各个领域都得到广泛应用。然而,各种应用一般都以卷积和相关运算为依据。在实际应用中,为了分析时域离散LTI系统或者序列滤波时,需要计算两个序列的线性卷积。为了提高运算速度,可以利用FFT来实现。要求:参考课本上第90页的内容(3.4.1用DFT计算线性卷积),设计并编写程序来实现重叠相加法计算线性卷积。课程设计评语成绩:指导教师:_______________年月日目录 第1章设计任务31.1原理41.1.2算法基本思想5第2章程序设计72.1程序设计思路82.1.1函数juanji(x1,x2,
3、L)设计82..1.2函数chongdie(x,h,N)设计82.2程序流程图8第3章分析与测试93.1循环卷积设计103.1.1程序103.1.2测试103.1.3分析123.2线性卷积设计123.2.1程序123.2.2测试12第4章实验结果144.1实验结果14第5章总结15第6章参考文献16第1章设计任务计算1个给定序列与输入序列的卷积。功能:对给定的数据进行卷积运算,要求分段卷积由循环卷积实现。要求设计有数据导入界面,各种参数从软件界面可以输入,其中给定序列可以由界面输入,对运算前后的数据绘制曲线。要求:1)初步
4、完成总体设计,搭好框架,确定人机对话的界面,确定函数功能,控制参数的输入方法;2)设计线性卷积的实现方案;3)编写两序列作循环卷积的程序;4)通过直接做线性卷积来检验最后结果。设计步骤:1)用结构化设计方法。一个程序划分成若干模块,每一个模块的函数功能要划分好,总体设计应画出流程图;2)输入输出界面要友好;3)源程序书写要规范,加必要的注释;4)要提供通过直接卷积进行检验的结果;5)程序一定要要能运行起来。1.1原理1.1.1算法产生背景DFT是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里
5、叶变换频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的。DFT具备明确且合理的物理含义,适合应用于数字系统,同时可以方便地由计算机进行运算。对于线性非移变离散系统,可由线性卷积表示时域输入输出关系,即y(n)=x(n)*h(n)=通常采用循环卷积降低运算量,但实际中往往无法满足对信号处理的实时性要求。因此,产生了重叠相加法和重叠保留法两种典型的算法,用以快速计算线性卷积,成为了DFT的一个重要应用。1.1.2算法基本思想重叠相加法是将待过滤的信号分割成长为N的若干段,,每一段都可以和有限时宽单位取样回应作卷积
6、,再将过滤后的各段重叠相加。在实际应用中利用FFT来计算两个序列的圆周卷积从而实现计算其线性卷积,但是常遇到的问题是参加卷积的两个序列的长度相差较大,这样长度小的序列就需要补很多的零点,这样就需要大的存储量,运算时间也会变长。所以常用重叠相加法来解决。如以下情况:h(n)长度为N,x(n)长度为无限长x(n)取M点,且与N尽量接近可采用如下方法来解决x(n)与h(n)的卷积为图1-1重叠相加法的卷积示意图重叠相加法的步骤如下(1)将h(n)补零延长到L=M+N-1,并计算长为L的FFT,得到H(k)。(2)分别将xk(n)
7、补零延长到L=M+N-1,并计算长为L的FFT,得到Xk(k)(3)计算,并求长为L的反变换,即(4)将yk(n)的重叠部分相加,最后得到结果为第2章程序设计2.1程序设计思路2.1.1函数juanji(x1,x2,L)设计(1)x1(n)进行N点快速傅里叶变换得X1k(2)x2(n)进行N点快速傅里叶变换得X2k(3)进行频域相乘Yk=X1k*X2k(4)对Yk进行反变换得到时域卷积结果y(n)2..1.2函数chongdie(x,h,N)设计(1)首先取圆周卷积的周期L(即进行L点的快速傅里叶变换)(2)计算每一分段的
8、大小N(3)填充序列使得循环中对序列的索引不会超出范围(4)计算分段数K(5)对序列进行分段调用juanji()函数计算圆周卷积(6)各段重叠相加(7)取出实际的输出序列2.2程序流程图开始对x1(n)进行FFT运算对x(2)进行FFT运算频域相乘Yk=X1k*X2k对Yk进行反变换得到时域结果y(n)
此文档下载收益归作者所有