已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字信号处理课程设计数字信号处理课程设计 题目 题目 基于 MATLAB 的卷积演示系统 学院 学院 专业 专业 班级 班级 学号 学号 姓名 姓名 指导教师 指导教师 目目 录录 摘要摘要 3 ABSTRACTABSTRACT 4 第一章第一章 背景背景 5 1 1MATLAB 的优点 5 1 2 MATLAB 的组成 6 第二章第二章 设计原理及分析设计原理及分析 8 2 1 卷积的定义 8 2 2 线性卷积的运算 8 2 3 循环卷积的运算 9 第三章第三章 设计内容与分析设计内容与分析 10 3 1 设计内容 10 3 2 线性卷积的分析 10 3 3 循环卷积的分析 10 第四章第四章 实验代码及结果实验代码及结果 11 4 1 线性卷积的 MATLAB 设计源程序 11 4 2 循环卷积的 MATLAB 设计源程序 12 4 3 分析两类卷积关系 14 4 4 动态演示基于重叠相加法的长序列快速卷积 14 4 5 用 MATLAB 设计一个卷积演示界面 17 第五章第五章 收获与体会收获与体会 20 致谢致谢 21 参考文献参考文献 22 摘要摘要 本文讲述的是运用 MATLAB 软件编写线性卷积和循环卷积 运行程序并得到 正确结果 附上运行结果图让大家参照对比 MATLAB 是一款在数学类科技应用软件中特别是在数值计算方面首屈一指的 软件 它可以进行矩阵运算 绘制函数和数据 实现算法 创建用户界面 连 接其他编程语言的程序等 主要应用于工程计算 控制设计 信号处理与通讯 图像处理 信号检测 金融建模设计与分析等领域 而线性卷积和循环卷积在 工程上的应用亦非常广泛 在 MATLAB 软件处理下 实现任意两个序列的线性和 循环卷积对于工程上的辅助是相当重要的 卷积关系最重要的一种情况 就是 在信号与线性系统或数字信号处理中的卷积定理 利用该定理 可以将时间域 或空间域中的卷积运算等价为频率域的相乘运算 从而利用 FFT 等快速算法 实现有效的计算 节省运算代价 本文从线性卷积和循环的定义出发 分析其运算原理以及相关的公式 程序 着重介绍并分析了卷积的运算过程 让大家明白什么是卷积 程序运行 之后得到正确的结果 将运行后正确的波形图放在本次论文中让大家直观的做 比较 关键词关键词 MATLAB 线性卷积 循环卷积 波形图 Abstract This is about using MATLAB software linear convolution and cyclic convolution operation procedure and get the right result enclosed operation result diagram let everybody reference MATLAB is a type of technology in applications of mathematics especially in numerical calculation of the leading software which can be matrix calculation and data mapping function the realization of algorithms creation of user interface connected to other procedures such as programming languages the main application in engineering computing control design signal processing and communications image processing signal detection financial modeling in areas such as design and analysis And linear convolution in the application of engineering has a very wide range of software in MATLAB the realization of any two sequences of linear convolution support for projects is very important Convolution relationship between the most important case that is linear in the signal and digital signal processing system or the convolution theorem Use of the theorem can be time domain or space domain to the convolution operation in frequency domain equivalent of the multiplication operation thus the use of FFT and other fast algorithms the calculation of effective cost saving operation From linear convolution and circulation of the definition analyzes its operation principle and relevant formula procedures and emphatically introduces and analyses the convolution operation process let everyone know what convolution After the program is running properly after operation the results will be put on the right of the waveform Desmond tutu paper let everybody intuitive to compare Key words MATLAB Linear convolution Circular convolution Sequence Wave 第一章第一章 背景背景 1 1MATLAB 的优的优点点 MATLAB 编程语言又称为 M 语言 是一种交互式的高级编程语言 一种高 阶的矩阵 数组语言 它具有以下的特点和优势 1 语法简单和编程效率高 2 便于用户使用和扩充 3 方便高校的矩阵和数组运算 4 方便的图形和图像操作功能 5 功能强大的工具箱 1 1 11 1 1 语法简单编程效率高语法简单编程效率高 MATLAB是一个高级的矩阵 阵列语言 它包含控制语句 函数 数据结 构 输入和输出和面向对象编程特点 新版本的MATLAB语言是基于最为流行的 C 语言基础上的 因此语法特征与C 语言极为相似 而且更加简单 更加符 合科技人员对数学表达式的书写格式 使之更利于非计算机专业的科技人员使 用 1 1 21 1 2 便于用户使用和补充便于用户使用和补充 新版本的MATLAB可以利用MATLAB编译器和C C 数学库和图形库 将自己的 MATLAB程序自动转换为独立于MATLAB运行的C和C 代码 允许用户编写可以和 MATLAB进行交互的C或C 语言程序 作为强大的科学计算软件 MATLAB提供了图形界面的设计与开发功能 MATLAB 中的基本图形用户界面对象分为三类 用户界面控制对象 下拉式菜单对象和 内容式菜单对象 1 1 31 1 3 方便高效的矩阵和数组运算方便高效的矩阵和数组运算 MATLAB是一个包含大量计算算法的集合 其拥有600多个工程中要用到的数 学运算函数 可以方便的实现用户所需的各种计算功能 函数所能解决的问题 其大致包括矩阵运算和线性方程组的求解 微分方程及偏微分方程的组的求解 符号运算 傅立叶变换和数据的统计分析 工程中的优化问题 稀疏矩阵运算 复数的各种运算 三角函数和其他初等数学运算 多维数组操作以及建模动态 仿真等 在高校中 MATLAB以成为数学 信息 控制等诸多学科有关课程的有 效教学工具 1 1 41 1 4 方便图形和图像操作功能方便图形和图像操作功能 MATLAB 自产生之日起就具有方便的数据可视化功能 以将向量和矩阵用图 形表现出来 并且可以对图形进行标注和打印 它对一些特殊的可视化要求 例如图形对话等 MATLAB 也有相应的功能函数 保证了用户不同层次的要求 1 1 51 1 5 功能强大的工具箱功能强大的工具箱 MATLAB 对许多专门的领域都开发了功能强大的模块集和工具箱 一般来说 它们都是由特定领域的专家开发的 用户可以直接使用工具箱学习 应用和评 估不同的方法而不需要自己编写代码 1 2 MATLAB 的组成的组成 MATLAB很重要的特点 是附加了一个解决专门问题的应用程序大家族 叫 工具箱 它对于MATLAB用户是非常重要的 能让用户学习和应用专门的技术 工具箱是MATLAB函数的全面集合 扩展了MATLAB解决特殊类型问题的环境 工 具箱可以应用的领域包括信号处理 控制系统 神经网络 磨具逻辑 子波 模拟等方面 MATLAB这个名字 代表MATRIX LABOROATOR MATLAB系统由5个主要 部分组成 1 2 11 2 1 开发环境开发环境 这是一组工具程序 帮助用户使用MATLAB功能和文件 许多工具是图形用 户界面 包括MATLAB桌面和命令窗口 命令的历史窗口 编辑器和差错程序 观看帮助信息的浏览器 工作区 文件和收索路径 1 2 21 2 2 MATLABMATLAB的数学函数库的数学函数库 这是一个计算算法的巨大集合 范围从初等函数 入求和 正弦 余弦和 复数运算 到更高级别的函数 像矩阵求逆 矩阵特征值 贝赛尔函数和快速 傅里叶变换 1 2 31 2 3 MATLABMATLAB语言语言 一个高级的矩阵和数组运算 具有控制流语句 函数 数据结构 输入和 输出 面向对象的程序特点 用这种语言能够快速建立运行快且短小的程序 也能建立大的和复杂的应用程序 1 2 41 2 4 图形图形 MATLAB有广泛的程序 用于把向量和矩阵显示为图形 以及注解和打印这 些图像 它包括高级功能 用于二维和三维数据的形象化 图像处理 动画和 演示图形 包括低级功能 让用户完全定制图形外观 以及为用户的应用程序 建立完全的图形用户界面 1 2 51 2 5 MATLABMATLAB应用程序接口 应用程序接口 APIAPI 这是一个程序库 允许用户写 C 和 FORTRAN 程序与 MATLAB 交互 其中包含 的程序 用于从 MATLAB 调用例行程序 调用 MATLAB 作为计算引擎 以及读取 MAT 文件 第二章第二章 设计原理及分析设计原理及分析 2 1 卷积的定义卷积的定义 任意信号f t 都可以根据不同需要进行不同的分解 如信号f t 可以分解 为直流分量和交流分量 也可以分解为奇分量和偶分量 或分解为实部分量和 虚部分量 如果信号费解为冲击信号 那么信号分解为一系列不同强度 不同 时延的冲击信号的叠加 这个过程称为卷积积分 一般而言 如果有两个函数 1 tf 和 2 tf 则它们的积分 dtffty 21 称为 1 tf 与 2 tf 的卷积积分 简称卷积 表达式为 21 tftfty 即 dtfftftfty 2121 2 2 线性卷积的运算线性卷积的运算 卷积运算是线性时不变系统分析的重要工具 很多滤波器的设计中都要用 到卷积运算 给出线性卷积运算的定义 设有离散信号 x n 和 y n 其线性卷 积为 nmymxmCxy 线性卷积有四步运算 卷积运算时 y n 要先反折得到 y n m 0 表 示 y n 序列右移 m 1 x1 x1 zeros 1 N length x1 把序列x1按点数扩展 不足补零 x2 x2 zeros 1 N length x2 把序列x1按点数扩展 不足补零 m 0 N 1 x zeros N N N行N列矩阵 for n 0 N 1 n取1 2 N 1 每个值都执行for循环中的代码一 次 x n 1 x2 mod n m N 1 end yn x1 x subplot 3 1 3 画出运行结果图形 stem m yn r title 序列x1和序列x2的循环卷积结果 图形命名 运行程序 输入序列x1 x2 x1 1 2 3 5 x2 6 7 10 4 12 N 10 循环卷积结果如图2 图图2 2 N 10N 10时循环卷积运行结果图时循环卷积运行结果图 当输入序列x1 1 2 3 5 x2 6 7 10 4 12 N 8时 结果如图3 图图3 3 N 8N 8时循环卷积运行结果图时循环卷积运行结果图 4 34 3 分析两类卷积关系分析两类卷积关系 循环卷积是线性卷积进行循环移位后的结果 当循环卷积的点数 N 线性 卷积两个信号长度的和减 1 则循环卷积与线性卷积的结果是一样的 假设 lfm 信号长度是 N lfm back 长度是 N 循环卷积的长度是 L 则 L 应该 2 N 1 4 44 4 动态演示基于重叠相加法的长序列快速卷积动态演示基于重叠相加法的长序列快速卷积 1 1 重叠相加法快速卷积源程序如下 重叠相加法快速卷积源程序如下 N 8 分段的长度 也就是做fft的长度 h 1 3 2 1 系统冲击响应h n for i 0 9 定义x n x i 1 5 i end for i 10 18 x i 1 i 15 end Lenx length x M length h M1 M 1 重叠部分的长度 L N M1 不重叠部分的长度 h fft h N K ceil Lenx L 分的段数 for i Lenx K L 1 将x n 补成长度为K L的序列 x i 1 0 end Y zeros K N 保存结果矩阵初始化 YY zeros 1 K 1 L N 最终结果矩阵初始化 for k 0 K 1 xk x k L 1 k L L zeros 1 M1 Y k 1 ifft fft xk h YY k L 1 k L N YY k L 1 k L N Y k 1 end 运行后结果如下 4 54 5 用用 MATLABMATLAB 设计一个卷积演示界面设计一个卷积演示界面 1 1 启动 启动 MATLABMATLAB R2010aR2010a 在正确完成 MATLAB 的安装并启动计算机之后 选择 开始 所有程序 MATLAB R2010a MATLAB R2010a 命令 或者直接双击桌面上的 MATLAB 的快捷 方式图标 启动 MATLAB R2010a 2 2 MATLABMATLAB R2010aR2010a 的主界面的主界面 MATLAB 的默认窗口如图 4 所示 其中包括主菜单栏 工具栏 命令窗口 历史命令窗口 工作区浏览器和当前路径窗口等 图图 4 4 MATLAB 默认窗口默认窗口 3 3 点击工具栏的按钮 将弹出以下的菜单 如图 5 图图 5 5 MATLAB 窗口窗口 在空白处写下所要实现的卷积源程序代码 如图 6 图图 6 6 程序输入窗口 程序输入窗口 4 4 源程序代码写好后 此时按下 源程序代码写好后 此时按下 F5F5 按钮 将弹出以下的菜单 如图按钮 将弹出以下的菜单 如图 7 7 图图 7 7 保存程序窗口 保存程序窗口 点击保存按钮 将弹出以下界面 如图 8 图图 8 8 运行程序窗口 运行程序窗口 5 5 输入 输入X1 1X1 1 2 2 3 3 5 5 X2 6X2 6 7 7 10 10 4 4 12 12 后 按下后 按下EnterEnter键 出现以下结键 出现以下结 果 果 同时弹出以下的运行界面 如图9 图图9 程序运行结果图 程序运行结果图 第五章第五章 收获与体会收获与体会 总结本次数字信号处理课程设计 我受益匪浅 首先就是方案的确定 由于这个学期我学习了数字信号处理这门课程 课 程中我了解到要实现两信号的卷积 可以通过定义来实现 也可以通过DFT来计 算线性卷积 对于有限长序列 存在两种形式的卷积 线性卷积与循环卷积 由于循环卷积可以采用DFT的快速算法 快速傅里叶变换进行运算 运算速度 上有很大的优越性 其中 设计线性卷积有4个步骤 翻转 移位 相乘 求和 而循环卷积 则是通过循环移位后得到的矩阵与序列相乘 根据上数字信号处理课上老师讲 的求法 画出了思路的流程图 然后根据流程图写出程序 事半功倍 将结果 与直接调用MATLAB自带的函数比较 结果显示 自己设计的程序是正确的 通过这次课程设计 我对线性卷积和循环的定义 原理 以及实现方法都 有了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超市岗位工作规划
- 药店加盟发展规划
- 平面设计大学生实习报告(集合10篇)
- 六年级英语下学期教学工作总结
- 教师学习心得体会范文锦集4篇
- 不忘初心匠心筑梦主题演讲稿7篇
- 重阳节主题演讲稿集锦15篇
- 毕业生的求职信15篇
- 顶岗实习报告模板锦集七篇
- 识字教案模板集合7篇
- Grid Coffee品牌介绍模版
- 国家开放大学《酒店餐饮服务与管理》形考任务1-4参考答案
- 江苏省南京市秦淮区2023-2024学年八年级上学期期末语文试题(解析版)
- 期末模拟测试卷(试题)-2024-2025学年统编版语文二年级上册
- 2024年下半年广东省广州越秀区总工会招聘工会组织员7人易考易错模拟试题(共500题)试卷后附参考答案
- 11260软件工程-国家开放大学2023年1月至7月期末考试真题及答案(共2套)
- 大模型技术深度赋能保险行业白皮书2024
- GB/T 22924-2024复合肥料中缩二脲含量的测定
- 2024年1月辽宁省普通高中学业水平合格性考试物理试题(含答案解析)
- 污水处理运营维护方案
- 5G网络性能测试方法
评论
0/150
提交评论