第一篇:数字信号处理课程设计探索学术论文
摘要:本文针对数字信号处理课程设计实践课程,提出了通过团队学习模式培养应用型人才的方法,采用团队学习模式的课程设计理念,培养学生的创新和实践能力,激发学生学习的自觉性、主动性与参与性,实现了数字信号处理课程设计理论与实践紧密结合、提高人才培养质量的目的。
关键词:数字信号处理课程论文
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)11-0145-02
数字信号处理课程是电子信息类相关专业重要的核心课程之一,是一门理论性与实践性都较强的专业主干课,在学科课程体系中占有非常重要的地位。数字信号处理课程设计这一实践课程是为了更好地配合数字信号处理课程教学而设立的,是确保学生加深理解和掌握课程理论和方法的重要实践教学环节,是专业课和专业基础课理论教学环节的延续、深入和发展,是培养学生综合运用所学知识解决信号处理实际问题能力的有效手段,对学生加深理解和灵活运用所学的理论知识具有不可替代的作用,对于培养学生的素养、创新意识以及创新能力都具有重要的作用[1,2]。通过数字信号处理课程设计的学习与训练,有助于提高学生对相关理论、技术内容的理解与掌握。如何在数字信号处理课程设计中进行创新性探索、培养学生创新和实践能力、激发学生学习的主动性和应用知识的能力是课程改革的目的[3,4]。以学生创新能力培养为目的,对课程设计教学模式进行研究,通过构建基于团队学习的培养模式,提高学生的协同学习能力和创新学习能力[5-9],对数字信号处理课程设计的教学研究具有重要意义。
一、课程改革目标
课程改革的目标是形成与课程内容紧密结合的团队学习教学模式方案,改变学生的学习态度,激发学生学习的主动性,培养激发学生的创新思维与能力,提高学生分析及解决问题的能力和综合素质及团队合作意识与能力,加深学生的理论基础,锻炼学生的实践能力和适应社会发展的综合应用能力[10-12]。
二、数字信号处理课程设计教学过程现状
本校学生在学习数字信号处理课程设计这门课程之前,尚未真正接触到信号处理的工程应用,没有对于信号处理与应用主要知识的直接和深入的切身体会。当面对综合性、应用性问题时,学生仅凭个人的努力很难解决,这就使得现有的课程设计教学模式影响了培养质量,具体表现在如下几个方面。
(一)在学生自身的综合设计能力方面
学生进行综合设计的能力较弱,对实际的信号处理问题的感性认识也较少,缺乏解决实际信号处理问题的能力。在以往的课程设计过程中,通常是以单个人的形式开展,在缺乏团队合作精神和团队学习能力的情况下,学生不能综合运用所学知识来分析和解决实际问题,不利于学生综合设计能力的培养和创新能力的提高。
(二)在课程设计方式的组织和激发学生学习的主动性方面
教学中教师以内容为中心进行课程设计指导,重视教学内容的传授,教师主导整个课程设计过程的安排与设计,这样不能充分调动学生学习的自觉性和主动性。学生被动地参与整个教学过程,往往会感觉理论脱离实际,遇到具体的问题不能利用所学知识去解决。
(三)在学生综合能力的培养方面
课程设计中,主要重视对学生个人能力的培养和训练,学生团队意识淡薄,参与项目团队的协同开发能力较弱,主动与团队成员沟通的意识或能力较差。信号处理技术日新月异,学生个体对知识的认识广度及深度是有限的,需要构建学习团队,提高对知识的综合分析和提炼能力。
三、数字信号处理课程设计的改革实践
(一)构建团队学习的教学模式方案
我们设计了符合本校学生自身特点的、实施和开展团队学习模式的有效方式,做到因材施教。指导教师在制定设计目标时,准确、灵活地把握相应职责与定位,将科研成果纳入课程设计之中,明确定义分层任务和评价标准,观察学生在团队设计中的活动表现,发现学生在专业知识与团队技巧方面的薄弱环节,帮助学生提高自学习、自组织的能力及在自我实践中学习知识与技能的技巧,为学生创造了实践性的教学情境,有效地引导学生思考并完成各种任务,培养了学生的团队意识。学生运用所学知识解决问题,依靠团队的力量和信息资源的支持来完成相应的学习任务,充分调动和发挥了教师的主导作用和学生的主体作用,激发了学生内心自主学习的强烈愿望,学生的能动性、创造性得到了充分发挥,最大限度地开发了学生的学习潜能,达到了较好的实施效果。
(二)优化教学内容,促进团队学习
指导教师更新了教学理念,在课程设计内容安排上,对于许多经典理论的认识进行了补充、修正或加入了新的观点,反映了当代信息科学的飞速发展前景。教师深入企业完成课题,清晰了解产业需求,以科研进展带动教学,增加了授课信息量,注重经典理论与现代技术的结合,使得科研融合成为教学的内容。教师设计了适宜团队学习的有价值、有创新、有突破、有梯度的课程设计任务,将实用性、综合性和多样化作为团队学习课程设计模式的选题原则,设计任务有趣,设计内容更加充实,与实际应用结合更加紧密,激发了学生的兴趣和团队合作的热情,使学生及时掌握前沿知识,成功地实施了课程设计中的团队学习,并鼓励学生个性化创新设计,引导学生主动追踪学科的最新进展,培养了学生的探索精神。
(三)建立学生自主学习的氛围,培养学生在团队学习中的责任意识
在团队学习目标中,确保每位同学都能意识到课程设计所获得的结果是由团队全体成员完成的,而非仅仅是个别人的成果,提升团队的总体质量。为保证每个人都对团队有贡献,我们研究了团队学习中强化学生责任意识的方法和对团队成员贡献的评价方法,帮助学生适应这种合作学习模式,帮助学生提升思维能力,进而提升其创新能力。总之,将团队学习教学模式引入数字信号处理课程设计的教学实践探索中,在课程设计中以社会对信号与信息处理的实际需求形成设计内容,以科研内容带动课程设计,以结合工程应用实际的设计任务促进课程设计教学工作,重视学生的主体参与。学生通过自身的设计活动,实现对知识的理解和灵活运用,逐步培养提出问题、研究问题和解决问题的能力,并在课程设计学习的过程中获得收获和发展,提高创新能力。
四、效果
我们在本校信息与通信工程学院电子信息工程系的学生中开展数字信号处理课程设计的创新实践,教师设计了多个分层分工合作的适合团队学习的任务。例如,在《测速仪设计》任务中,全面要求学生掌握理论基础和实际应用能力。学生需要通过需求分析,调研并设计系统的处理带宽,按技术指标要求确定发射信号形式、载波频偏范围和工程实际应用中的采样频率,制定信号的滤波方法,按照实际情况确定测速精度和测量范围,分析测速精度系统参数的关系,研究加权对降低滤波器副瓣的影响,完成基于快速傅里叶变换算法的长序列分段卷积算法的实现和编程,并在数字信号处理器上实现,由五人一组组成团队,完成这一系列任务。通过设计,学生可以按照需求实现测速仪系统,很好地完成测速功能和性能指标。相比传统教学模式,我们在课程设计理念、学生创新和实践能力培养以及激发学习的自觉性、主动性方面进行了实践,较好地适应了数字信号处理课程设计课程的特点,改变了学生被动接受教师传授知识为主的学习方式,强调培养学生的创新精神和实践能力,有利于学生对知识的获取,也有助于激发学生的自主学习和创新能力,使学生在快乐中学习和发展。
五、结论
通过课程设计实践,形成了有效的团队学习教学模式方案,提高了学生的实践能力和创新能力,激发了学生的学习热情,扩展了学生的知识视野,加深了学生对理论知识的理解与掌握,提高了学生的沟通技巧和团队合作意识。学生能够运用所学的理论知识分析、解决设计中的具体问题,更好地将所掌握的知识应用到工程实际中,掌握信息处理的思维方法和信息在传输与处理中的分析思想,进而提高了培养质量,取得了很好的成果,多名学生在大学生电子竞赛中获奖,更好地满足了学生的就业需求和社会需求。
参考文献:
[1]傅洪亮,樊超《.数字信号处理课程设计》教学内容改革[J].电子质量,2013,(2):50-52.[2]刘婷,王帆,杨婷《.数字信号处理》综合性课程设计的改革与探索[J].山西电子技术,2015,(2):82-84.[3]杨智明,彭喜元,俞洋.数字信号处理课程实践型教学方法研究[J].实验室研究与探索,2014,(9):180-183.[4]欧阳华,钱美,邵英.电气工程专业“数字信号处理”课程改革研究与实践[J].中国电力教育,2013,(8):54-55.[5]高映红,刘晓莹.论大学生团队学习的有效性[J].中国电力教育:下,2009,(1):135-136.[6]赵国安,郁斌.以学生团队学习和课题开发模式改革嵌入式课程[J].现代教育技术,2009,(6):136-138.[7]杨光松,严嘉瑛.团队学习模式在嵌入式课程教学中的实践[J].高教论坛,2011,(4):34-35.[8]王雁飞,杨怡.团队学习的理论与相关研究进展述评[J].心理科学进展,2012,(7):1052-1061.[9]赵守飞.团队学习互动教学方法研究[J].黑龙江教育学院学报,2011,(2):63-65.[10]陈孝杨,宋晓梅.基于团队学习的本科生课堂教学互动模式研究[J].科教文汇,2015,(7):25-26.[11]陈秉岩,朱昌平,郑忠梅,等.团队培养本科生科技创新能力的实践研究[J].实验技术与管理,2013,(12):158-162.
第二篇:数字信号处理课程设计
目 录
摘要...........................................................................................................................................1 1 绪论..............................................................................................................................................2
1.1 DSP系统特点和设计基本原则......................................................................................2 1.2 国内外研究动态.............................................................................................................2 2系统设计........................................................................................................................................3 3硬件设计........................................................................................................................................5
3.1 硬件结构...........................................................................................................................5 3.2 硬件电路设计...................................................................................................................7
3.2.1 总输入电路...........................................................................................................7 3.2.2 总输出电路...........................................................................................................7 3.2.3 语音输入电路.......................................................................................................9 3.2.4 语音输出电路.......................................................................................................9 实验结果及分析.........................................................................................................................10 4.1 实验结果.........................................................................................................................10 4.2 实验分析.........................................................................................................................12 5 总结与心得体会.........................................................................................................................13 参考文献.........................................................................................................................................14 致谢................................................................................................................................................15
摘要
基于DSP的语音信号处理系统,该系统采用TMS320VC5509作为主处理器,TLV320AIC23B作为音频芯片,在此基础上完成系统硬件平台的搭建和软件设计,从而实现对语音信号的采集、滤波和回放功能,它可作为语音信号处理的通用平台。
语音是人类相互之间进行交流时使用最多、最自然、最基本也是最重要的信息载体。在高度信息化的今天,语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。通常这些信号处理的过程要满足实时且快速高效的要求,随着DSP技术的发展,以DSP为内核的设备越来越多,为语音信号的处理提供了良好的平台。本文设计了一个基于TMS320VC5509定点的语音信号处理系统,实现对语音信号的采集、处理与回放等功能,为今后复杂的语音信号处理算法的研究和实时实现提供一个通用平台。
关键词:语音处理;DSP;TMS320VC5509;TLV320AIC23B
1 绪论
语音是人类相互间所进行的通信的最自然和最简洁方便的形式,语音通信是一种理想的人机通信方式。语音通信的研究涉及到人工智能、数字信号处理、微型计算机技术、语言声学、语言学等许多领域,所以说语音的通信是一个多学科的综合研究领域,其研究成果具有重要的学术价值。另外通过语音来传递信息是人类最重要的、最有效、最常用的交换信息的形式。语言是人类特有的功能,声音是人类常用的工具,是相互传递信息的主要手段。同时也是众构成思想交流和感情沟通的最主要的途径。
1.1 DSP系统特点和设计基本原则
DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
1.2 国内外研究动态
语音信号处理作为一个重要的研究领域,已经有很长的研究历史。但是它的快速发展可以说是从1940年前后Dudley的声码器和Potter等人的可见语音开始的;20世纪60年代中期形成的一系列数字信号处理的理念和技术基础;到了80年代,由于矢量量化、隐马尔可夫模型和人工神经网络等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。
在通信越来越发达的当今世界,尤其最近几十年,语音压缩编码技术在移动 通信、IP电话通信、保密通信、卫星通信以及语音存储等很多方面得到了广泛的应用。因此,语音编码一直是通信和信号处理的研究热点,并其取得了惊人的进展,目前在PC机上的语音编码已经趋于成熟,而如何在嵌入式系统中实时实现语音压缩编码则是近些年来语音信号处理领域的研究热点之一。
2系统设计
在实际生活中,当声源遇到物体时会发生反射,反射的声波和声源声波一起传输,听者会发现反射声波部分比声源声波慢一些,类似人们面对山体高声呼喊后可以在过一会儿听到回声的现象。声音遇到较远物体产生的反射会比遇到较近的反射波晚些到达声源位置,所以回声和原声的延迟随反射物体的距离大小改变。同时,反射声音的物体对声波的反射能力,决定了听到的回声的强弱和质量。另外,生活中的回声的成分比较复杂,有反射、漫反射、折射,还有回声的多次反射、折射效果。
当已知一个数字音源后,可以利用计算机的处理能力,用数字的方式通过计算模拟回声效应。简单的讲,可以在原声音流中叠加延迟一段时间后的声流,实现回声效果。当然通过复杂运算,可以计算各种效应的混响效果。如此产生的回声,我们称之为数字回声。
本次实验的程序流程图如下:
图2.1 程序流程图
本次实验的系统框图如下:
图2.2 系统框图
3硬件设计
3.1 硬件结构
图3.1是系统的硬件结构框图, 系统主要包括VC5509和A IC23 两个模块。
图3.1系统硬件结构框图
利用VC5509 的片上外设I2C(Inter-Integrated Circuit, 内部集成电路)模块配置AIC23 的内部寄存器;通过VC5509 的McBSP(Multi channel Buffered Serial Ports, 多通道缓存串口)接收和发送采样的音频数据。控制通道只在配置AIC23 的内部寄存器时工作, 而当传输音频数据时则处于闲置状态。
AIC23通过麦克风输入或者立体声音频输入采集模拟信号, 并把模拟信号转化为数字信号, 存储到DSP的内部RAM中,以便DSP处理。
当DSP完成对音频数据的处理以后, AIC23再把数字信号转化为模拟信号, 这样就能够在立体声输出端或者耳机输出端听到声音。
AIC23能够实现与VC5509 DSP的McBSP端口的无缝连接, 使系统设计更加简单。接口的原理框图, 如下图所示。
图3.2 AIC23与VC5509接口原理图
系统中A IC23的主时钟12 MHz直接由外部的晶振提供。MODE接数字地, 表示利用I2 C控制接口对AIC23传输控制数据。CS接数字地, 定义了I2 C总线上AIC23的外设地址, 通过将CS接到高电平或低电平, 可以选择A IC23作为从设备在I2 C总线上的地址。SCLK和SDIN是AIC23控制端口的移位时钟和数据输入端,分别与VC5509的I2C模块端口SCL和SDA相连。
收发时钟信号CLKX1和CLKR1由A IC23的串行数据输入时钟BCLK提供, 并由A IC23的帧同步信号LRCIN、LRCOUT启动串口数据传输。DX1和DR1分别与A IC23 的D IN 和DOUT 相连, 从而完成VC5509与AIC23间的数字信号通信。
3.2 硬件电路设计
3.2.1 总输入电路
图3.3 总输入电路
从左到右各部分电路为:
话筒,开关,语音输入电路,UA741高增益放大电路,有源二阶带 通滤波器。
3.2.2 总输出电路
图3.4 总输出电路
从左到右各部分电路为:
LM386高频功率放大器及其外围器件连接电路,语音输出电路,开关,扬声器。
3.2.3 语音输入电路
图3.5语音输入电路
3.2.4 语音输出电路
图3.6 语音输出电路
语音信号通道包括模拟输入和模拟输出两个部分。模拟信号的输入输出电路如图所示。上图中MICBIAS 为提供的麦克风偏压,通常是3/4 AVDD,MICIN为麦克风输入,可以根据需要调整输入增益。下图中LLINEOUT 为左声道输出,RLINEOUT为右声道输出。用户可以根据电阻阻值调节增益的大小,使语音输入输出达到最佳效果。从而实现良好的模拟语音信号输入与模拟信号的输出。4 实验结果及分析
4.1 实验结果
按“F5”键运行,注意观察窗口中的bEcho=0,表示数字回声功能没有激活。这时从耳机中能听到麦克风中的输入语音放送。将观察窗口中bEcho的取值改成非0值。这时可从耳机中听到带数字回声道语音放送。
分别调整uDelay和uEffect的取值,使他们保持在0-1023范围内,同时听听耳机中的输出有何变化。
当uDelay和uEffect的数值增大时,数字回声的效果就会越加的明显。
图4.1 修改前程序图
图4.2 修改前程序图
图4.3 频谱分析
图4.4 左声道及右声道波形 4.2 实验分析
所以,从本实验可知当已知一个数字音源后,可以利用计算机的处理能力,用数字的方式通过计算模拟回声效应。简单的讲,可以在原声音流中叠加延迟一段时间后的声流,实现回声效果。当然通过复杂运算,可以计算各种效应的混响效果。
声音放送可以加入数字回声,数字回声的强弱和与原声的延迟均可在程序中设定和调整。5 总结与心得体会
通过本次课程设计,我明白了细节决定成败这句话的道理,在实验中,有很多注意的地方,都被忽视了,导致再花费更多的时间去修改,这严重影响了试验的进度。同时,在本次实验中我了解了ICETEK – VC5509 – A板上语音codec芯片TLV320AIC23的设计和程序控制原理,并进一步掌握了数字回声产生原理、编程及其参数选择、控制,以及了解了VC5509DSP扩展存储器的编程使用方法。
这一学期的理论知识学习加上这次课程设计,使我对DSP有了更加深刻的了解,对数字信号的处理功能,软硬件相结合,语音信号的采集与放送等等方面都有了很深的了解,相信本次课程设计,无论是对我以后的学习,还是工作等方面都有一个很大的帮助。因此,本次课程设计让我受益匪浅。
参考文献
[1]李利.DSP原理及应用[M].北京:中国水利水电出版社,2004.[2]王安民,陈明欣,朱明.TMS320C54xxDSP实用技术[M].北京:清华大学出版社,2007 [3]彭启琮,李玉柏.DSP技术[M].成都:电子科技大学出版社,1997 [4]李宏伟,等.基于帧间重叠谱减法的语音增强方法[J].解放军理工大学学报,2001(1):41~44 [5]TexasInstrumentsIncorporated.TMS320C54x系列DSP的CPU与外设[M].梁晓雯,裴小平,李玉虎,译.北京:清华大学出版社,2006 [6]赵力.语音信号处理[M].北京:机械工业出版社,2003比较图4和图5,可以看到1200Hz以上的频谱明显得到了抑制。
[7]江涛,朱光喜.基于TMS320VC5402的音频信号采集与系统处理[J].电子技术用,2002,28(7):70~72[8]TexasInstrumentsIncorporated:TMS320VC5402Datasheet,2001
致谢
在本次课程设计的即将完成之际,笔者的心情无法平静,本文的完成既是笔者孜孜不倦努力的结果,更是指导老师樊洪斌老师亲切关怀和悉心指导的结果。在整个课程设计的选题、研究和撰写过程中,老师都给了我精心的指导、热忱的鼓励和支持,他的精心点拨为我开拓了研究视野,修正了写作思路,对课程设计的完善和质量的提高起到了关键性的作用。另外,导师严谨求实的治学态度、一丝不苟的工作作风和高尚的人格魅力,都给了学生很大感触,使学生终生受益。在此,学生谨向老师致以最真挚的感激和最崇高的敬佩之情。
另外,还要感谢这段时间来陪我一起努力同学,感谢我们这个小团队,感谢每一个在学习和生活中所有给予我关心、支持和帮助的老师和同学们,几年来我们一起学习、一起玩耍,共同度过了太多的美好时光。我们始终是一个团结、友爱、积极向上的集体。
第三篇:数字信号处理课程设计..
课程设计报告
课程名称: 数字信号处理 课题名称: 语音信号的处理与滤波
姓 名: 学 号: 院 系: 专业班级: 指导教师: 完成日期: 2013年7月2日
目录
第1部分 课程设计报告………………………………………3 一.设计目的……………………………………………3 二.设计内容……………………………………………3 三.设计原理……………………………………………3 四.具体实现……………………………………………5 1.录制一段声音…………………………………5 2.巴特沃斯滤波器的设计………………………8 3.将声音信号送入滤波器滤波…………………13 4.语音信号的回放………………………………19 5.男女语音信号的频谱分析……………………19 6.噪声的叠加和滤除……………………………22 五. 结果分析……………………………………………27 第2部分 课程设计总结………………………………28 一. 参考文献……………………………………………28
第1部分 课程设计报告
一.设计目的
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
二.设计内容
录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;换一个与你性别相异的人录制同样一段语音内容,分析两段内容相同的语音信号频谱之间有什么特点;再录制一段同样长时间的背景噪声叠加到你的语音信号中,分析叠加前后信号频谱的变化,设计一个合适的滤波器,能够把该噪声滤除;
三.设计原理
1.在Matlab软件平台下,利用函数wavrecord(),wavwrite(),wavread(),wavplay()对语音信号进行录制,存储,读取,回放。
2.用y=fft(x)对采集的信号做快速傅立叶变换,并用[h1,w]=freqz(h)进行DTFT变换。
3.掌握FIR DF线性相位的概念,即线性相位对h(n)、H()及零点的约束,了解四种FIR DF的频响特点。
4.在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波。
5.抽样定理
连续信号经理想抽样后时域、频域发生的变化(理想抽样信号与连续信号频谱之间的关系)
理想抽样信号能否代表原始信号、如何不失真地还原信号即由离散信号恢复连续信号的条件(抽样定理)
理想采样过程描述: 时域描述:
ˆa(t)xa(t)T(t)xa(t)(tnT)xa(nT)(tnT)xnnT(t)频域描述:利用傅氏变换的性质,时域相乘频域卷积,若
n(tnT)ˆa(t)Xa(j)xXa(j)xa(t)T(j)T(t)
则有
ˆ(j)1X(j)(j)XaaT2121ˆXa(j)Xa(jjk)Xa(jjks)TkTTkˆ(j)与X(j)的关系:理想抽样信号的频谱是连续信号频谱的Xaa
周期延拓,重复周期为s(采样角频率)。如果:
X(j)Xa(j)a0s/2s/2即连续信号是带限的,且信号最高频率不超过抽样频率的二分之一,则可不失真恢复。
奈奎斯特采样定理:要使实信号采样后能够不失真还原,采样频率必须大于信号最高频率的两倍:s2h 或 fs2fh
四.具体实现
1.录制一段声音
1.1录制并分析
在MATLAB中用wavrecord、wavread、wavplay、wavwrite对声音进行录制、读取、回放、存储。
程序如下:
Fs=8000;%抽样频率 time=3;%录音时间 fprintf('按Enter键录音%ds',time);%文字提示 pause;%暂停命令 fprintf('录音中......');x=wavrecord(time*Fs,Fs,'double');%录制语音信号 fprintf('录音结束');%文字提示 fprintf('按Enter键回放录音');pause;%暂停命令
wavplay(x,Fs);%按任意键播放语音信号
wavwrite(x,Fs,'C:UsersacerDesktop数字信号sound.wav');%存储语音信号
N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(2);subplot(2,1,1);plot(x);%录制信号的时域波形 title('原始信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(x);%快速傅立叶变换 figure(2);subplot(2,1,2);plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 title('原始信号的频谱图');%加标题
grid;%加网格
图1.1 原始信号的时域与频谱图
1.2滤除无效点
针对实际发出声音落后录制动作半拍的现象,如何拔除对无效点的采样的问题: 出现这种现象的原因主要是录音开始时,人的反应慢了半拍,导致出现了一些无效点,而后而出现的无效的点,主要是已经没有声音的动作,先读取声音出来,将原始语音信号时域波形图画出来,根据己得到的信号,可以在第二次读取声音的后面设定采样点,取好有效点,画出滤除无效点后的语音信号时域波形图,对比可以看出。这样就可以解决这个问题。
x=wavread('C:UsersacerDesktop数字信号sound.wav', 7
[4000,24000]);%从4000点截取到24000结束 plot(x);%画出截取后的时域图形 title('截取后的声音时域图形');%标题 xlabel('频率');ylabel('振幅');grid;%画网格
图1.2 去除无效点
2.巴特沃斯滤波器的设计
2.1设计巴特沃思低通滤波器
MATLAB程序如下。滤波器图如图3.3所示。
%低通滤波
fp=1000;fs=1200;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯低通滤波器');xlabel('频率(HZ)');ylabel('耗损(dB)');gridon;9
图2.1 巴特沃思低通滤波器
2.2设计巴特沃思高通滤波器
MATLAB程序如下。滤波器图如图3.5所示。%高通滤波
fp=4800;fs=5000;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);10
[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'high','s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯高通滤波器');xlabel('频率(HZ)');ylabel('耗损(dB)');grid on;
图2.2巴特沃思高通滤波器
2.3设计巴特沃思带通滤波器
MATLAB程序如下。滤波器图如图3.7所示。%带通滤波
fp=[1200,3000];fs=[1000,3200];Fs=8000;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(4);[h,w]=freqz(Bz,Az,512,Fs1*1000);plot(w,abs(h));title('巴特沃斯带通滤波器');xlabel('频率(HZ)');ylabel('耗损(dB)');grid on;12
图2.3巴特沃思带通滤波器
3.将声音信号送入滤波器滤波
x=wavread('C:UsersacerDesktop数字信号sound.wav');%播放原始信号
wavplay(x,fs);%播放原始信号 N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(4);subplot(4,2,1);plot(x);%录制信号的时域波形
title('原始信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(x);%快速傅立叶变换 subplot(4,2,3);plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 title('原始信号的频谱图');%加标题 grid;%加网格
3.1低通滤波器滤波 fs=8000;beta=10.056;wc=2*pi*1000/fs;ws=2*pi*1200/fs;width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi /width);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);
ys=fftfilt(h,x);%信号送入滤波器滤波,ys为输出 fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 figure(4);subplot(4,2,2);%在四行两列的第二个窗口显示图形 plot(ys);%信号的时域波形
title('低通滤波后信号的时域波形');%加标题 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 grid;%网格
subplot(4,2,4);%在四行两列的第四个窗口显示图形 plot(f, abs(fftwave(n1)));%绘制模值 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义
title('低通滤波器滤波后信号的频谱图');%标题 grid;%加网格
wavplay(ys,8000);%播放滤波后信号
3.2高通滤波器滤波 fs=8000;beta=10.056;ws=2*5000/fs;wc=2*4800/fs;
width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi/width);h=fir1(n,wn/pi, 'high',kaiser(n+2,beta));[h1,w]=freqz(h);ys=fftfilt(h,x);%将信号送入高通滤波器滤波 subplot(4,2,5);%在四行两列的第五个窗口显示图形 plot(ys);%信号的时域波形 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 title('高通滤波后信号的时域波形');%标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%网格
fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 subplot(4,2,7);%在四行两列的第七个窗口显示图形 plot(f,abs(fftwave(n1)));%绘制模值 axis([0 1 0 50]);xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义
title('高通滤波器滤波后信号的频谱图');%标题 grid;%加网格
wavplay(ys,8000);%播放滤波后信号
3.3带通滤波器 fs=8000;beta=10.056;wc1=2*pi*1000/fs;wc2=2*pi*3200/fs;ws1=2*pi*1200/fs;ws2=2*pi*3000/fs;width=ws1-wc1;wn1=(ws1+wc1)/2;wn2=(ws2+wc2)/2;wn=[wn1 wn2];n=ceil(12.8/width*pi);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);ys1= fftfilt(h,x);%将信号送入高通滤波器滤波 figure(4);subplot(4,2,6);%在四行两列的第六个窗口显示图形 plot(ys1);%绘制后信号的时域的图形 title('带通滤波后信号的时域波形');%加标题 xlabel('频率w/pi');ylabel('幅值/A');%显示纵坐标表示的意义 grid;%网格
fftwave=fft(ys1);%对滤波后的信号进行快速傅立叶变换 subplot(4,2,8);%在四行两列的第八个窗口显示图形
plot(f, abs(fftwave(n1)));%绘制模值 axis([0 1 0 50]);xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 title('带通滤波器滤波后信号的频谱图');%加标题 grid;%网格
wavplay(ys1,8000);%播放滤波后信号 图形如下:
原始信号的时域波形幅值/A0-1012x 10原始信号的频谱图34幅值/A1低通滤波后信号的时域波形0.50-0.5012频率w/pi3400.51频率w/pi高通滤波后信号的时域波形幅值/A0幅值/A0幅值/Ax 10高通滤波器滤波后信号的频谱图5012频率w/pi34幅值/A0.20-0.2幅值/A2001000x 10低通滤波器滤波后信号的频谱图200100000.51频率w/pi带通滤波后信号的时域波形0.50-0.501234频率w/pix 10带通滤波器滤波后信号的频谱图50幅值 00.5频率w/pi1000.5频率w/pi1
分析:三个滤波器滤波后的声音与原来的声音都发生了变化。其中低
通的滤波后与原来声音没有很大的变化,其它两个都又明显的变化
4.语音信号的回放
sound(xlow,Fs,bits);%在Matlab中,函数sound可以对声音进行回放,其调用格式: sound(xhigh, Fs,bits);%sound(x, Fs, bits);sound(xdaitong, Fs,bits);5.男女语音信号的频谱分析
5.1 录制一段异性的声音进行频谱分析
Fs=8000;%抽样频率 time=3;%录音时间 fprintf('按Enter键录音%ds',time);%文字提示 pause;%暂停命令 fprintf('录音中......');x=wavrecord(time*Fs,Fs,'double');%录制语音信号 fprintf('录音结束');%文字提示 fprintf('按Enter键回放录音');pause;%暂停命令 wavplay(x,Fs);%按任意键播放语音信号
wavwrite(x,Fs,'C:UsersacerDesktop数字信号sound2.wav');%存储语音信号
5.2 分析男女声音的频谱
x=wavread(' C:UsersacerDesktop数字信号sound2.wav ');%播放原始信号,解决落后半拍
wavplay(x,fs);%播放原始信号 N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;
f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(1);subplot(2,2,1);plot(x);%录制信号的时域波形
title('原始女生信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(x);%快速傅立叶变换 subplot(2,2,2);plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始女生信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 grid;%加网格
[y,fs,bits]=wavread(' C:UsersacerDesktop数字信号sound.wav ');% 对语音信号进行采样
wavplay(y,fs);%播放原始信号 N=length(y);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 subplot(2,2,3);plot(y);%录制信号的时域波形
title('原始男生信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(y);%快速傅立叶变换
subplot(2,2,4);%在四行两列的第三个窗口显示图形 plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始男生信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 grid;%加网格
5.3男女声音的频谱图
原始女生信号的时域波形0.50-0.5-1150100原始女生信号的频谱图幅值/A幅值 012345000x 10原始男生信号的时域波形0.50.5频率w/pi原始男生信号的频谱图1300200幅值/A0幅值 012x 1034100-0.5000.5频率w/pi1
图5.3男女声音信号波形与频谱对比
分析:就时域图看,男生的时域图中振幅比女生的高,对于频谱图女生的高频成分比较多
6.噪声的叠加和滤除
6.1录制一段背景噪声
Fs=8000;%抽样频率 time=3;%录音时间 fprintf('按Enter键录音%ds',time);%文字提示 pause;%暂停命令 fprintf('录音中......');x=wavrecord(time*Fs,Fs,'double');%录制语音信号
fprintf('录音结束');%文字提示 fprintf('按Enter键回放录音');pause;%暂停命令 wavplay(x,Fs);%按任意键播放语音信号 wavwrite(x,Fs,'C:UsersacerDesktop数字信号噪音.wav');%存储语音信号
6.2 对噪声进行频谱的分析
[x1,fs,bits]=wavread(' C:UsersacerDesktop数字信号噪音.wav ');%对语音信号进行采样
wavplay(x1,fs);%播放噪声信号 N=length(x1);%返回采样点数 df=fs/N;%采样间隔
n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(5);subplot(3,2,1);plot(x1);%信号的时域波形 title('噪声信号的时域波形');grid;ylabel('幅值/A');y0=fft(x1);%快速傅立叶变换
subplot(3,2,2);plot(f,abs(y0(n1)));%噪声信号的频谱图 ylabel('幅值');title('噪声信号的频谱图');
6.3原始信号与噪音的叠加
fs=8000;[x,fs,bits]=wavread(' C:UsersacerDesktop数字信号sound.wav ');%对录入信号进行采样
[x1,fs,bits]=wavread(' C:UsersacerDesktop数字信号噪音.wav ');%对噪声信号进行采样
yy=x+x1;%将两个声音叠加
6.4叠加信号的频谱分析:
wavplay(yy,fs);%播放叠加后信号 N=length(yy);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(5);subplot(3,2,3);plot(yy,'LineWidth',2);%信号的时域波形
title('叠加信号的时域波形');xlabel('时间/t');ylabel('幅值/A');grid;y0=fft(yy);%快速傅立叶变换 subplot(3,2,4);plot(f,abs(y0(n1)));%叠加信号的频谱图 title('叠加信号的频谱图');xlabel('频率w/pi');ylabel('幅值/db');grid;
6.5 设计一个合适的滤波器将噪声滤除 fs=18000;%采样频率 Wp=2*1000/fs;%通带截至频率 Ws=2*2000/fs;%阻带截至频率 Rp=1;%最大衰减 Rs=100;%最小衰减
[N,Wn]=buttord(Wp,Ws,Rp,Rs);%buttord函数(n为阶数,Wn为截至频率)
[num,den]=butter(N,Wn);%butter函数(num为分子系数den为分母系数)
[h,w]=freqz(num,den);%DTFT变换
ys=filter(num,den,yy);%信号送入滤波器滤波,ys为输出 fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 figure(5);subplot(3,2,5);plot(ys);%信号的时域波形
title('低通滤波后信号的时域波形');%加标题 ylabel('幅值/A');%显示标表示的意义 grid;%网格 subplot(3,2,6);plot(f, abs(fftwave(n1)));%绘制模值 title('低通滤波器滤波后信号的频谱图');%标题 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 grid;%加网格
wavplay(ys,8000);%播放滤波后信号 grid;图形如下:
噪声信号的时域波形1100噪声信号的频谱图幅值/A0-1幅值0123450000.5叠加信号的频谱图1x 10叠加信号的时域波形10-101时间/t2200幅值/db34幅值/A100000.5频率w/pi1x 10低通滤波后信号的时域波形0.5低通滤波器滤波后信号的频谱图200幅值/A0-0.5幅值/A012x 1034100000.5频率w/pi1
图6.1噪音的叠加与滤除前后频谱对比
7.结果分析
1.录制刚开始时,常会出现实际发出声音落后录制动作半拍,可在[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav')加 窗[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav',[100 10000]),窗的长度可根据需要定义。
2.语音信号通过低通滤波器后,把高频滤除,声音变得比较低沉。当通过高通滤波器后,把低频滤除,声音变得比较就尖锐。通过带通滤波器后,声音比较适中。
3.通过观察男生和女生图像知:时域图的振幅大小与性别无关,只与说话人音量大小有关,音量越大,振幅越大。频率图中,女生高 27
频成分较多。
4.叠加噪声后,噪声与原信号明显区分,但通过低通滤波器后,噪声没有滤除,信号产生失真。原因可能为噪声与信号频率相近无法滤除。
第2部分 课程设计总结
通过本次课程设计,使我们对数字信号处理相关知识有了更深刻的理解,尤其是对各种滤波器的设计。在设计的过程中遇到了很多问题,刚刚开始时曾天真的认为只要把以前的程序改了参数就可以用了,可是问题没有我想象中的那么简单,单纯的搬程序是不能解决问题的。通过查阅资料和请教同学收获了很多以前不懂的理论知识。再利用所学的操作,发现所写的程序还是没有能够运行,通过不断地调试,运行,最终得出了需要的结果。整个过程中学到了很多新的知识,特别是对Matlab的使用终于有些了解。在以后的学习中还需要深入了解这方面的内容。在这次的课程设计中让我体会最深的是:知识来不得半点的马虎。也认识到自己的不足,以后要进一步学习。
八.参考文献
[1]数字信号处理教程(第三版)程佩青 清华大学出版社 [2]MATLAB信号处理 刘波 文忠 电子工业出版社 [3]MATLAB7.1及其在信号处理中的应用 王宏 清华大学出版社
[4]MATLAB基础与编程入门 张威 西安电子科技大学出版社
[5] 数字信号处理及其MATLAB实验 赵红怡 张常 化学工业出版社
[6]MATLAB信号处理详解 陈亚勇等 人民邮电出版社 [7] 数字信号处理
钱同惠 机械工业出版社 29
第四篇:数字信号处理(DSP)课程设计报告
中南大学
数字信号处理课程设计报告
专业班级: 通信工程1201
指导老师:李宏
姓
名:
学
号:
完成日期:2014年10月18日
前
言
现代信号处理是将信号表示并处理的理论和技术,而数字信号处理与模拟信号处理是信号处理的子集。在本次课程设计中主要以数字信号处理来解决问题。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波,因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户接口、连接其它编程语言的程序等。
一、课程设计目的:
1.全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来。
2.掌握信号分析与处理的基本方法与实现
3.提高综合运用所学知识独立分析和解决问题的能力; 4.熟练使用一种高级语言进行编程实现。
二、课程设计题目:
(一):
1)生成信号发生器:能产生频率(或基频)为10Hz的周期性正弦波、三角波和方波信号。绘出它们的时域波形
2)为避免频谱混叠,试确定各信号的采样频率。说明选择理由。3)对周期信号进行离散傅立叶变换,为了克服频谱泄露现象,试确定截取数据的长度,即信号长度。分析说明选择理由。4)绘出各信号频域的幅频特性和相频特性
5)以正弦周期信号为例,观察讨论基本概念(频谱混叠、频谱泄漏、整周期截取等)。
(二):
已知三个信号aip(n),经调制产生信号s(n)aip(n)cos(in/4),其中ai为
i1常数,p(n)为具有窄带特性的Hanning信号。将此已调信号通过信道传输,描述该信道的差分方程为
y(n)1.1172y(n1)0.9841y(n2)0.4022y(n3)0.2247y(n4)0.2247x(n)0.4022x(n1)0.9841x(n2)1.1172x(n3)x(n4)
得到接收信号y(n)s(n)*h(n)
1)分析Hanning信号p(n)的时域与频域特性 2)分析已调信号s(n)的时域与频域特性 3)分析系统的单位脉冲响应h(n)4)分析接收信号y(n)的频谱
5)设计带通滤波器从接收信号y(n)中还原出三个已调信号。
3(三):图像信号相关处理
1)读入一幅彩色图像
2)将彩色图像进行三原色分解,分解出R、G、B分量,并用图像显示出来
3)将彩色图像灰度化,转换为灰度图像并显示
4)对灰度图像用几种典型的边缘检测算子进行边缘检测,显示检测出的边缘。
三、调试及结果分析(截图):
(一):
1)
频率为10Hz的周期性正弦波:
频率为10Hz的周期性三角波:
频率为10Hz的周期性方波:
2)采样频率不能过低,必须fs>=2fm,即采样频率必须大于或等于最高截止频率的二倍(对采样频率的要求,即采样频率要足够大,采样的值要足够多,才能不失真的恢复原信号)。题目中信号频率为10Hz,则采样频率应该大于或等于20Hz,这样的话采样离散信号才能够无失真的恢复到原来的连续信号。3)截取数据长度(即信号长度)N=T*fs=2 4)
频率为10Hz的周期性正弦波的幅频特性和相频特性:
频率为10Hz的周期性三角波的幅频特性和相频特性:
频率为10Hz的周期性方波的幅频特性和相频特性:
5)
频谱混叠:一个信号的最高频率比如是fmax,那它的频谱就是在-fmax~fmax之间有值。对这个信号进行时域采样(就是取离散的点),设采样率为fs。有一个定理:对信号进行时域fs的采样,信号的频谱就会在频域以fs为周期重复。那么如果fs>=2fmax,可想而知,频域宽度为fs的频带内,是可以放得下一整个完整的频谱的,所以不会混叠。如果fs<2fmax,频域每间隔fs就会出现一个频谱,必定会有相邻的频谱叠在一起的情况,就是混叠。
频谱泄露:对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。但是,在利用DFT求它的频谱做了截短,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄露”出去的,这种现象称 为频谱“泄露”。
整周泣截取:与周期函数一样,周期信号是每隔时间T以后,信号重复出现。T就称为信号的周期。
N取100时:
N取200时:
(二):
1)Hanning信号p(n)的时域与频域特性:
2)已调信号s(n)的时域与频域特性:
3)系统的单位脉冲响应h(n):
4)接收信号y(n)的频谱:
5)(设计带通滤波器)从接收信号y(n)中还原出三个已调信号:
(三):
1)读入一幅彩色图像:
2)将彩色图像进行三原色分解,分解出R、G、B分量,并用图像显示出来:
3)将彩色图像灰度化,转换为灰度图像并显示:
4)对灰度图像用几种典型的边缘检测算子进行边缘检测,显示检测出的边缘:
四、源程序:
(一): 1):
周期性正弦波: fs=10;w=2*pi*fs;t=0:0.01:2;y=sin(w*t);plot(t,y);grid on;axis([0 2-2 2]);title('正弦信号');
周期性三角波: t=-0.3:0.01:0.3;y=sawtooth(10*pi*t,0.5);plot(t,y);grid on;axis([-0.3 0.3-1.5 1.5]);title('三角波信号')
周期性方波: t=0:0.001:0.5;y=square(2*pi*10*t,50);plot(t,y);grid on;axis([0 0.5-1.5 1.5]);title('周期方波信号')
4):
周期性正弦波: t=0:0.001:0.999;subplot(311)a=sin(20*pi*t);plot(t,a);grid on;title('sin20pi*t');xlabel('T');b=fft(a);subplot(312);stem(t*1000,abs(b)/1000,'fill');xlabel('Hz');axis([-10 50 0 0.5]);grid on;title('幅频特性')subplot(313)stem(t*1000,angle(b)/1000,'fill');xlabel('Hz');axis([0 100-0.004 0.004])grid on;title('相频特性')
周期性三角波: t=-0.3:0.01:0.3;a=sawtooth(10*pi*t,0.5);subplot(311)plot(t,a);grid on;axis([-0.3 0.3-1.5 1.5]);title('三角波信号')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 0.5]);grid on;title('幅频特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 25-0.04 0.04]);grid on;title('相频特性')周期性方波: t=0:0.001:0.5;a=square(2*pi*10*t,50);subplot(311)plot(t,a);grid on;axis([0 0.5-1.5 1.5]);title('周期方波信号')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 4]);grid on;title('幅频特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 5-0.04 0.04]);grid on;title('相频特性')
5):
N=100(或:N=200);T=1;
t=linspace(0,T,N);x=sin(2*pi*10*t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;subplot(2,1,1)plot(t,x)
title('x=sin(2*pi*50*t)')xlabel('t')
ylabel('Amplitude')axis([0,1,-1,1]);subplot(2,1,2)plot(f,abs(F))xlabel('Frequency');ylabel('|X(e^{jw})|')
(二): 1): N=100;n=0:99;Rn=[ones(1,N-1)zeros(1, 101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;subplot(211);stem(n,pn);title('汉宁信号');[H,w]=freqz(pn,1,200);magH=abs(H);length(w);length(H);magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);2):
N=100;n=0:99;
Rn=[ones(1,N-1)zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;
sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4));subplot(211);stem(n,sn);
title('已调信号');
[H,w]=freqz(sn,1,200);magH=abs(H);length(w);length(H);
magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);
3):
a=[1-1.1172 0.9842-0.4022 0.2247];b=[0.2247-0.4022 0.9842-1.1172 1];n=1:49;
hn=impz(b,a,n);stem(n,hn,'k','f');ylabel('脉冲响应 ¨h(n)');xlabel('序号(n)');title('单位脉冲响应');
4):
a=[1-1.1172 0.9842-0.4022 0.2247];b=[0.2247-0.4022 0.9842-1.1172 1];k=0:0.1:100;p=0.5-0.5*cos(2*pi*k./74);s=p.*(cos(pi*k/4)+2*cos(pi*k/2)+3*cos(3*pi*k/4));y=filter(b,a,s);z1=fft(y,256);plot([-128:127],fftshift(abs(z1)));axis([-30 30 0 120]);grid on;
5):
wp=200;ws=200;wp1=[0.2,0.3];ws1=[0.1,0.4];wp2=[0.4,0.6];ws2=[0.3,0.7];wp3=[0.7,0.8];ws3=[0.6,0.9];ap=1;as=20;N=100;n=0:99;
Rn=[ones(1,N-1)zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;
sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4));a=[1-1.1172 0.9841-0.4022 0.2277];b=[0.2277-0.4022 0.9841-1.1172 1];yn=filter(b,a,sn);
[n,wc]=cheb1ord(wp,ws,ap,as);[bz,az]=cheby1(n,ap,wc);subplot(311)bz1=bz;az1=az;x1=filter(bz1,az1,yn);plot(x1);subplot(312)bz2=bz;az2=az;x2=filter(bz2,az2,yn);plot(x2);subplot(313)bz3=bz;az3=az;x3=filter(bz3,az3,yn);plot(x3)
(三):
1):
clc;a=imread('F:星空.jpg');imshow(a),title('原彩色图像');2):
clc;a=imread('F:星空.jpg');subplot(3,2,1),imshow(a),title('原彩色图像');
ar=a(:,:,1);ag=a(:,:,2);ab=a(:,:,3);subplot(3,2,4),imshow(ar),title('R');
subplot(3,2,5),imshow(ag),title('G');subplot(3,2,6),imshow(ab),title('B');3):
clc;a=imread('F:星空.jpg');subplot(2,1,1),imshow(a),title('原彩色图像');b=rgb2gray(a);subplot(2,1,2),imshow(b),title('灰度图像');4):
a=imread('F:星空.jpg');b=rgb2gray(a);b1=edge(b,'sobel');b2=edge(b,'prewitt');b3=edge(b,'roberts');b4=edge(b,'log');b5=edge(b,'canny');subplot(3,2,1);imshow(b);title('灰度图像');subplot(3,2,2);imshow(b1);title('Sobel边缘检测');subplot(3,2,3);imshow(b2);title('Prewitt边缘检测');subplot(3,2,4);imshow(b1);title('Roberts边缘检测');subplot(3,2,5);imshow(b1);title('LoG边缘检测');subplot(3,2,6);imshow(b1);title('Canny边缘检测');
五、总结与心得体会:
在课程设计的这段时间,我获益匪浅,不但进一步掌握了数字信号处理的基础知识及MATLAB的基本操作,还详细了解并掌握了信号的产生、采样及频谱分析的方法。我进一步了解到凡事都需要耐心,细心仔细是成功的重要保证之一。虽然在做的过程中遇到了一些问题,但是在研究生学姐、班级同学的帮助以及自己的努力下,问题最终都得以解决。这次课程设计对我各方面的能力有了很大的提高,对我以后的工作、实践都有很大的帮助。
在此次课程设计当中,我经常把C语言的语法知识照搬到MATALAB设计中,从而导致调试失败,所以下次用此类语言做课程设计时,应事先学习下这类语言的基本语法,以免与其他语言相混淆。还有就是有些不定参数存在时,可先取定值,用于调试,这样可以节约调试时间,从而提高效率。
本次课程设计不但让我又学到了一些知识,而且也提高了我的综合能力,使我在各个方面都得到了锻炼。以后有这样的机会一定会更加的很好利用,它不仅可以提高学习的针对性而且可以很好的锻炼动手能力以及自己的逻辑设计能力和处理问题的能力,希望在以后的学习生活中会有更多的机会来加强这方面的能力。
参考文献:
[1] 《数字信号处理(第二版)》.丁玉美等 西安电子科技大学出版社 [2] 《数字信号处理及其MATLAB实现》,陈怀琛等译,电子工业出版社;
[3] 《MATLAB及在电子信息课程中的应用》,陈怀琛等,电子工业出版社
第五篇:数字信号处理课程设计参考题目
数字信号处理课程设计资料
使用MATLAB(或其他开发工具)编程实现下述内容并写出课程设计报告。
一、课程设计参考题目与设计内容(也可自行选题)
设计一基于DFT的信号频谱分析 主要要求:
1.对离散确定信号作如下谱分析:
(1)截取x(n)使x(n)成为有限长序列N,(长度N自己选)写程序计算出x(n)的N点DFT的 X(k),并画出时域序列图和相应的幅频图。
(2)将(1)中x(n)补零加长至M点,长度M自己选(,为了比较补零长短的影响,M可以取两次值,一次取较小的整数,一次取较大的整数),编写程序计算x(n)的M点DFT, 画出时域序列图和两次补零后相应的DFT幅频图。
2.研究信号频域的物理分辨率与信号频域的分析分辨率,明白两者的区别。(1)采集数据x(n)长度取N=16点,编写程序计算出x(n)的16点DFTX(k),并画出相应的幅频图。
(2)采集数据x(n)长度N=16点,补零加长至M点(长度M自己选),利用补零DFT计算 x(n)的频谱并画出相应的幅频图。
(3)采集数据x(n)长度取为M点(注意不是补零至M),编写程序计算出M点采集数据x(n)的的频谱并画出相应的幅频图。
3.对比设计内容1、2中各个仿真图,说明补零DFT的作用。补零DFT能否提高信号的频谱分辨率,说明提高频谱物理分辨率与频谱频域分辨率的措施各是什么?
设计二用窗函数法设计FIR数字低通滤波器 主要要求:
1.熟悉各种窗函数,在MATLAB命令窗下浏览各种窗函数,绘出(或打印)各种窗函数图。
2.编写计算理想低通滤波器单位抽样响应的m函数文件。
3根据指标(低通FIR滤波器的指标自行选择)要求选择窗函数的形状与长度N。4.编写m程序文件,通过调用设计内容2、3的m程序文件,计算所设计的实际低通FIR滤波器的单位抽样响应和频率响应,并打印在频率区间[O,π]上的幅频响应特性曲线,幅度用分贝表示。6.验证所设计的滤波器是否满足指标要求。
7.比较所选窗长N相同但窗形状不同对滤波器设计结果的影响以及选同一种窗函数但窗长N不同时对滤波器设计结果的影响,将结论写在报告中。
设计三 FIR数字滤波器设计 主要要求:
1.分别设计低通、带通、带阻和高通四种数字滤波器(FIR数字滤波器的指标自行选择);
2.说明设计目的,并分别阐述上述四类滤波器的设计原理、设计步骤,并给出所编写的相应的m程序;
3.仿真并打印上述四种滤波器的单位抽样响应和频率响应(频率区间[O,π]上的幅频响应特性曲线),并分析各个滤波器的特点,将结论写在报告中。
设计四
IIR数字滤波器设计 主要要求:
1.分别设计低通、带通、带阻和高通四种数字滤波器(FIR数字滤波器的指标自行选择);
2.说明设计目的,并分别阐述上述四类滤波器的设计原理、设计步骤,并给出所编写的相应的m程序;
3.仿真并打印上述四种滤波器的单位抽样响应和频率响应(频率区间[O,π]上的幅频响应特性曲线),并分析各个滤波器的特点,将结论写在报告中。
设计五语音信号去噪处理 主要要求:
1.在Windows环境下利用录音机或其他软件,录制一段自己的语音信号,时间控制在1秒左右,并对所录制的语音信号进行采样处理; 2.对语音信号做频谱分析,即画出采样后语音信号的时域波形和频域图;在语音信号中加入噪声信号(至少两种不同噪声信号),画出加噪语音信号的时域波形和频域图;
3.根据上步加噪语音信号频谱分析结果,确定数字滤波器的技术指标,设计合适的数字滤波器滤除噪声信号,并画出滤波器的频率响应曲线;
4.用所设计的数字滤波器对加噪语音信号进行滤波,并画出滤波后语音信号的时域波形和频域图,对滤波前后的语音信号进行对比,分析信号的变化; 5.利用MATLAB软件中的sound(x)函数实现对去噪语音信号的回放,验证设计效果。
二、课程设计撰写具体要求 1.阐述所选题目设计目的和要求;
2.阐述所选题目的设计思想(各种理论推导和计算)、系统功能结构及功能说明,并列出相应重要的MATLAB程序; 3.绘出设计中要求的各种曲线,并做出说明;
4.结合设计过程,归纳得出结论,并分析设计中遇到的问题及解决思路和方法; 5.写出设计体会; 6.参考文献;
7.程序源代码清单(放入课程设计报告册附录中)。
8.课程设计内容要求充实,叙述完整,语言流畅,格式规范,15~20页,A4纸打印。
9.课程设计报告封面要求:
10.设计报告要包含摘要关键词(3-5个)11.目录
一设计目的与要求………………………………………页码 二总体设计方案…………………………………………页码 三设计原理、结果与仿真分析…………………………页码 四结论……………………………………………………页码 五心得体会………………………………………………页码 参考文献…………………………………………………页码 附录………………………………………………………页码
特别注意:
1.所有的图要有编号和图名,所有的表也要有编号和表名; 2.数学公式要居中,公式编号右对齐。