可预置报警器设计内容摘要:

序数 I 增加 1,相当于 IB最低位加 1 且逢 2 向高位进 1,即相当于 JB最高位加1 且逢 2 向低位进 1。 JB 的变化规律反映到 J 的变化分二种情况:如果 JB 的最高位是 0 (J=N/2),则直接由加 1 (J=J+N/2)得到下一个倒序值;如果 JB 的最高位是 1 (J=N/2),则要先将最高位变 0 (J=JN/2),再在次高位加 1 (J=J+N/4)。 但次高位加 1 时,同样要判断 0、 1 值,如果是 0 (JN/4),则直接加 1 (J=J+N/4),否则要先将次高位变 0 (J=JN/4),再判断下一位。 依此类推,直到完成最高位加 1,逢 2 向右进位的运算。 利用这一算法可按顺序数 I 的递增顺序,依次求得与之对应的倒序数 J。 为了节省内存,数据倒序可原址进行,当 I = J 时不需要交换,当 I ≠ J时需要交换数据。 另外,为了避免再次调换前面已经调换过的一对数据,只对 IJ 的情况进行数据交换即可实现数据倒序操作。 课程设计说明书 8 5 Matlab 程序实现 Matlab 提供的 FFT 函数是一个计算 DFT 的智能程序,能自动选择快速算法进行 DFT 运算。 用 作为例子,运行调试程序。 1. 程序运行开始 时,首先点 击 File→ New→ MFile, 出现一个名为EditorUntitled 的对话框,然后输入程序代码 ,。 2. 输入等程序代码在 ,如 51 所示。 图 51 代码输入窗口 3. 运行后就会出现如图 52 所示的窗口。 图 52 Matlab 界面 对图片进行进行 FFT 变换,经观察,编写 FFT 程序得 到的图片与 Matlab 中自带的 FFT 函数得到的图总是基本一致,但是有细微差别,这是因为编写的快课程设计说明书 9 速傅里叶变换计算信号的 N 点傅里叶变换要求 N 为 2 的整数次幂,不够的话信号将会被补零后运算,即参与运算的信号已经不同 (差别很小 ),所以 FFT 运算后的结果也不尽相同,所示图自然有细微的差别。 由用 Matlab 自带 FFT函数实现的频谱图与用 Matlab 编写的 FFT程序实现的频谱图相比较,可知,两个算法计算后的结果几乎相同,验证了自编算法的正确性。 课程设计说明书 10 6 系统人机对话界面 GUI 简介 图形用户界面 (GUI),是一种提供人机交互的工具和方法。 GUI 是包含图形对象,如窗口、图标、菜单和文本等图文并茂的用户界面。 界面设计 用 Matlab 图形用户界面开发环境设计 GUI 点的一般步骤是:。 M 语言编程。 以本设计要求 为例介绍 :首先运行 Matlab 软件,输入 GUIDE,出现一个窗口,如图 61 所示。 图 61 新建 GUI 窗口 第一步, 该 选择本 图形用户界面需要 的 控件: 点击 OK,就会出现 GUI 的设计界面。 按照设计 思路,用 七 个推按钮 (Push button), 六 个轴对象 (axes),摆好每个空间的位置, 并设计数值水平对齐,看起来更美观。 设计界面如图 62 所示。 课程设计说明书 11 图 62 设计界面 第二步, 设置控件属性 : 双击组件可以设置文本框,推按钮的属性,如显示大小,名称 和字体 等。 双击控件,出现属性菜单。 设置好属性后就保存,系统自动生成一个 .m文件。 第三步,编写回调函数: 组件事件的发生是通过回调函数进行工作的。 控件设置完成后保存,然后运行 GUI(操作为 ctrl+T),就会进入 editor 窗口, 加入各个控件功能的函数代码。 完成后保存即可,具体代码见附录。 第四步,运行 GUI: 运行 editor 窗口的程序后,会弹出已经激活的人机对话界面。 系统人机对话界面如图 63 所示。 图 63 系统人机对话界面 课程设计说明书 12 运行调试 运行 GUI,已经弹出图 63 所示的系统人机对话界面,然后点击各推按钮就会得到本设计的要求。 运行结果如图 64 所示。 如果运行结束,可以通过点击“退出”推按钮退出该人机对话界面,返回 Matlab。 图 64 运行结果 课程设计说明书 13 7 总结 为期两周的课程设计在紧张的节奏中接近尾声,时间虽然不是很长,但是这短时间的课设对我有很大的帮助,通过这次课设我发现了许多我应该注意的问题同时也学会了很多器件的用法。 从通过设计任务的分析到功能的划分再到确定总体的设计方案,再到最后的每个功能部分的具体实现,整个过程都需要我们组的人充分利用所学的知识进行思考借鉴。 可以说,本次课程设计是针对前面所学的知识的一次综合的检测。 总的来说,这次课设虽然很累,但非常充实。 本次实习的主要内容是通过用 Matlab 实现 FFT的设计 ,把自己编写的 FFT算法与 Matlab 自带 FFT 算法进行比较。 通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容, FFT 基本原理和 Matlab 实现方法。 让我掌握了如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。 本次课程设计使我还明白了怎样使用 Matlab 软件和 GUI 界面,如何正确的编写代码,如何合理的进行设计与运行。 程序运行调试初期,曾经多次出现错误、不能产生图形等问题,但在我翻阅资料认真改正及老师同学的帮助下基本功能还是完成了, 经过 1 个星期的 上机实习 , 程序已得到一些完善,能完成基本的要求的功能。 最后经过努力,又深入学习了图形用户界面( GUI),完成了选做要求的人机对话界面。 但在设计中还有很多不足之处,如果把所设计的应用到实践中,由于设计的时候设想的情况并不是很全面,所以还是需要提高的。 不过这都是我今后实践和学习的宝贵经验,以上的不足之处我一定会克服,争取在今后的实践中不再出现上述的情况。 我做完了课程设计学到了很多的知识与技能,从书本上学到的是我做课设的基础,是我学习的进一步的应用。 通过这次课设我学会了,综合运用课程中所学到的理论知识去独立完成一个设计课题,通过查阅手册和文献资料,培养了我独立分析 和解决实际问题的能力。 这次课设虽然困难重重但是我感觉我收获很大。 因为整个过程都需要充分利用自己所学的知识进行思考借鉴,而且还需要额外补充很多知识。 可以说,本次课程设计是针对前面所学的知识的一次比较综合的检测,又是对所学知识的一个补充。 课程设计说明书 14 参考文献 [1] 范寿康 .《 DSP 技术与 DSP 芯片》 .北京电子工业出版社, 2020 [2] 程佩青 .《数字信号处理教程》 .北京清华大学出版社出版, 2020 [3] 高西全,丁玉美等 .《数字信号处理》 .北京电子工业出版社, 2020 [4] 余成波,陶红艳 .《数字 信号处理及 MATLAB 实现》 .北京清华大学出版社, 2020 [5] 曹弋,赵阳 .《 MATLAB 实用教程》 .北京电子工业出版社, 2020 [6] 奥本海姆 .《 离散时间信号处理 》 .科学出版社, 2020 [7] 宗孔德 , 胡广书 .《 数字信号处理 》 .清华大学出版社, 1997 课程设计说明书 15 附录 1 Matlab 源程序: function image_process_FFT() x=imread(39。 39。 )。 scrsz=get(0,39。 ScreenSize39。 )。 figure(39。 position39。 ,[0 0 scrsz(3)1 scrsz(4)])。 set(gcf,39。 Name39。 ,39。 快速傅里叶变换 39。 )。 subplot(2,3,1)。 imshow(x)。 title(39。 原始图像 39。 )。 if ndims(x)==3 x=rgb2gray(x)。 end subplot(2,3,4)。 imshow(x)。 title(39。 灰度图像。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。