数字信号处理课程设计报告
- 格式:doc
- 大小:159.50 KB
- 文档页数:9
目录1.设计概述(目的和要求) 32.设计任务 33.设计题目(简要描述三个题目) 44.内容及结果 45.思考及体会14一、课程设计目的及要求数字信号处理是一门理论性和实践性都很强的学科,通过课程设计可以加深理解掌握基本理论,培养学生分析问题和解决问题的综合能力,为将来走向工作岗位奠定坚实的基础,因此做好课程设计是学好本课程的重要教学辅助环节。
本指导书结合教材《数字信号处理教程》的内容,基于MATLAB程序语言提出课程设计的题目及要求,在做课程设计之前要求学生要尽快熟悉MATLAB语言,充分预习相关理论知识,独立编写程序,以便顺利完成课程设计。
二、课程设计任务课程设计的过程是综合运用所学知识的过程。
课程设计主要任务是围绕数字信号的频谱分析、特征提取和数字滤波器的设计来安排的。
根据设计题目的具体要求,运用MATLAB语言完成题目所规定的任务及功能。
设计任务包括:查阅专业资料、工具书或参考文献,了解设计课题的原理及算法、编写程序并在计算机上调试,最后写出完整、规范的课程设计报告书。
课程设计地点在信息学院机房,一人一机,在教师统一安排下独立完成规定的设计任务。
三、课程设计题目根据大纲要求提供以下三个课程设计题目供学生选择,根据实际情况也可做其它相关课题。
1.DFT在信号频谱分析中的应用1. 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。
并与MA TLAB中的内部函数文件fft.m作比较。
2. 对离散确定信号()cos(0.48)cos(0.52)x n n n ππ=+ 作如下谱分析:(1) 截取()x n 使()x n 成为有限长序列N(0≤≤n N -1),(长度N 自己选)写程序计算出()x n 的N 点DFT ()X k ,并画出相应的幅频图()~X k k 。
(2) 将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点DFT 1()X k ,并画出相应的图1()~X k k 。
数字信号处理课程设计实验报告一、课程设计内容要求1、课程设计题目设计并实现一个流程如图所示的信号处理演示系统,该系统包含信号发生器、频谱分析、滤波器设计、数字滤波和输出信号分析5个主要模块,各模块的具体功能要求如下:1)信号发生器根据信号类型不同可分为两大类:(1)静态型:直接输入测试信号系列。
(2)动态型:输入如下式所示的由多个不同频率正弦信号叠加组合而成的模拟信号公式,指定采样频率和采样点数,动态生成该信号的采样序列,作为测试信号。
100sin(2pif1t)+100sin(2pif2t)+…+100sin(2pifnt)2)频谱分析是用FFT对产生的测试信号进行频域变换,展示其幅频、相频特性,指定需要滤出或保留的频带,通过选择滤波器类型(IIR或FIR),确定对应的滤波器技术指标(低通、高通、带通、带阻)。
3)滤波器设计根据IIR/FIR数字滤波器技术指标设计滤波器,生成相应的滤波器系数,并展示对应的滤波器幅频、相频特性。
(1)IIR DF设计:使用双线性变换法,可选择滤波器类型(巴特沃斯/切比雪夫型);(2)FIR DF 设计:使用窗口法,可选择窗口类型。
4)数字滤波根据设计的滤波器系数,对测试信号进行滤波,得到滤波后信号。
(1) IIR DF:要求通过差分方程迭代实现滤波,未知初值置0处理;(2) FIR DF:要求通过快速卷积实现滤波,可以选择使用重叠相加或重叠保留法进行卷积运算,并动态展示卷积运算的详细过程。
5)输出信号分析展示滤波后信号的幅频和相频特性,分析是否满足滤波要求。
对同一滤波要求,根据输出信号频谱,对比分析各类滤波器的差异。
2、设计题目要求使用MATLAB编程实现上述信号处理演示系统,具体要求如下:(1)系统应使用图形用户界面(GUI);(2)系统功能至少包括非语音信号的低通和高通滤波;(3)滤波器设计模块应避免使用MATLAB工具箱函数;(4)IIR DF设计必须可选基于巴特沃斯或切比雪夫1型;(5)FIR DF设计必须可选择各类窗口,且FIR滤波可选长序列卷积方法。
《数字信号处理》课程设计报告卷积运算及算法实现专业:通信工程班级:通信08-2BF组次:第10组姓名:学号:卷积运算及算法实现一、 设计目的卷积运算是一种有别于其他运算的新型运算,是信号处理中一种常用的工具。
随着信号与系统理论的研究的深入及计算机技术发展,卷积运算被广泛地运用到现代地震勘测,超声诊断,光学诊断,光学成像,系统辨识及其他诸多新处理领域中。
了解并灵活运卷积运算用去解决问题,提高理论知识水平和动手能力,才是学习卷积运算的真正目的。
通过这次课程设计,一方面加强对《数字信号处理》这门课程的理解和应用,另一方面体会到学校开这些大学课程的意义。
二、设计任务探寻一种运算量更少,算法步骤更简单的算法来实现卷积运算,文中主要通过阶梯函数卷积计算方法和斜体函数卷积计算方法对比来得出最终结论。
三、设计原理1,什么是卷积?卷积是数字信号处理中经常用到的运算。
其基本的表达式为:()()()∑=-=nm m n x m h n y 0换而言之,假设两个信号f 1(t)和f 2(t),两者做卷积运算定义为 f(t)d做一变量代换不难得出: f(t)d =f 1(t)*f 2(t)=f 2(t)*f 1(t)在教材上,我们知道用图解法很容易理解卷积运算的过程,在此不在赘述。
2,什么是阶梯函数所谓阶梯函数,即是可以用阶梯函数u(t) 和u(t-1)的线性组合来表示的函数,可以看做是一些矩形脉冲的集合,图1-1给除了两个阶梯函数的例子。
1—1其中f(t)=2u(t)+u(t-1)-2u(t-2)-u(t-3),h(t)= 2u(t)-u(t-1)+2u(t-2)-3u(t-3).以图1—1中两个阶梯函数为例介绍本文提出的阶梯函数卷积算法。
根据卷积的性质(又称为杜阿美尔积分),上述f(t)与h(t)的卷积等于f(t)的导数与h(t)的积分的卷积,即:f(t)*h(t)=*由于f(t)为阶梯函数,因此其导数也为冲击函数及其延时的线性组合,如图1—2(a)所示。
《数字信号处理》课程设计报告设计一信号的基本运算【一】设计目的熟悉信号的基本运算,通过仿真结果加深理解。
【二】设计内容1.现有一段以采样频率8192Hz采样得到的语音数据x(k),为了模仿出回音的效果,可以对数据进行如下处理:x(k)=x(k)+a*x(k-d),其中d为时延,a为时延信号的衰减幅度。
根据上述原理,进行仿真实验,并演示回声的效果。
(参数:时延d=0.4秒,衰减幅度a=0.5)2.对上述语音信号进行时间反转x(-k)、上采样x(2k)、下采样x(k/2)操作,并演示这些运算的效果。
【三】设计过程,调试,分析。
数字信号处理的主要研究对象是语音信号和图像信号,语音信号的研究可以从时域和频域两个方面来进行。
其中时域的分析处理有两种方法: 一种是进行语音信号分析, 这属于线性处理的范畴,主要是通过信号的加减、时移、倍乘、卷积、求相关函数等来实现;另一种是生成和变换成各种调制信号, 这属于非线性的范畴,主要是对信号平均累加器的动态范围进行压缩扩张, 用门限方法对噪声的抑制。
对频域分析处理, 即对信号的频率特性在频谱中加以分析研究, 这拓展了信号分析的范围, 是对不确定信号分析的主要方法。
在实际应用中, 信号的时域频分析经常同时进行。
1 语音信号的采集与时频分析1. 1 语音信号的采集利用 PC 机上的声卡和WINDOWS操作系统可以进行数字信号的采集。
将话筒输入计算机的语音输入插口上, 启动录音机。
按下录音按钮, 接着对话筒说话/大家好0 ,说完后停止录音, 屏幕左侧将显示所录声音的长度。
点击放音按钮,可以实现所录音的重现。
以文件名/ dajiahao0 保存入 g:\MATLAB\ work中。
可以看到, 文件存储器的后缀默认wav。
在 Matlab 软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x,同时把x的采样频率Fs= 8000Hz和数据位Nbits= 8Bit放进了MATALB的工作空间。
数字信号处理课程设计报告实验三目录1. 实验三概述 (2)1.1 实验目的 (2)1.2 实验要求 (3)1.3 实验内容 (4)2. 实验原理 (5)2.1 数字信号处理的简介 (6)2.2 数字滤波器的类型 (6)2.3 FIR和IIR滤波器的区别 (7)3. 实验软件与硬件环境 (9)3.1 软件环境 (10)3.2 硬件环境 (12)3.3 实验设备介绍 (13)4. 实验步骤 (14)4.2 设计数字滤波器 (15)4.3 滤波器实现与调试 (16)4.4 实验数据分析 (17)5. 实验设计 (18)5.1 数字滤波器的设计方法 (19)5.2 滤波器参数的选择 (20)5.3 滤波器实现代码实现 (21)6. 实验结果 (22)6.1 滤波前后的信号对比 (24)6.2 滤波效果分析 (25)6.3 滤波器性能指标评价 (26)7. 实验讨论 (27)7.1 实验中发现的问题 (29)7.2 解决问题的方法与思考 (29)8. 实验心得 (32)8.1 数字信号处理的理解加深 (33)8.2 编程能力的提升 (34)8.3 对实验中遇到的挑战的看法 (35)1. 实验三概述本实验课题为“数字滤波器设计与分析”,旨在使学生深入理解数字滤波器的原理及设计方法,并掌握使用仿真工具进行实际滤波器设计与性能分析的能力。
实验通过MATLAB平台,分别实现低通、高通及带通滤波器的设计与模拟,并进行频率响应分析、时域响应分析以及信号处理效果的评价。
不同类型的数字滤波器设计方法原理介绍,包括IIR和FIR滤波器。
不同设计方法的优缺点分析,并结合实际应用场景选择合适的滤波器类型。
使用MATLAB自带函数和滤波器设计工具包进行滤波器设计,以及根据不同指标对滤波器参数进行调整。
通过完成本实验,学生将能掌握数字滤波器的理论知识和应用技能,并对其优缺点及应用场景有更深入的理解。
1.1 实验目的加载、分析和可视化语音信号:学生需学会使用高级软件工具加载语音信号数据,并运用绘图工具展示信号的时域波形及频谱图。
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
目录1.信号课程设计内容、目的 (3)1.1课程设计的内容、目的1.2课程设计程序语言的选用2.课程设计 (5)2.1课程设计原理2.2课程设计结构图2.3程序运行及分析3.调试及结果讨论 (32)3.1调试出现的问题3.2讨论分析结果4.课程设计心得体会 (33)5.参考资料 (33)6.附录 (34)信号课程设计报告1.信号课程设计内容、目的1.1 课程设计的内容及目的开学初,鉴于上学期的信号处理课程的学习,学院安排了为期两周的信号课程设计。
此次课程设计的目的是:1.全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来。
2.提高综合运用所学知识独立分析和解决问题的能力。
3.熟练使用一种高级语言进行编程实现。
课程设计的内容包括下几个大块:(一).信号分析1.编制信号生成程序,产生下述各序列,绘出它们的时域波形,其中包括:单位抽样序列()n、矩形序列()NR n、三角波序列、反三角波序列、Gaussian(高斯)序列、正弦序列、衰减正弦序列。
2. 对上述信号完成下列信号分析1)对三角波序列3()x n和反三角波序列4()x n,作N=8点的FFT,观察比较它们的幅频特性,说明它们有什么异同?绘出两序列及其它们的幅频特性曲线。
在3()x n和4()x n的尾部补零,作N=16点的FFT,观察它们的幅频特性发生了什么变化?分析说明原因。
2)观察高斯序列5()x n,固定信号5()x n中的参数p=8,令q分别等于2,4,8,观察它们的时域和幅频特性,了解当q取不同值时,对信号序列的时域幅频特性的影响;固定q=8,令p分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
3)对于正弦序列4()x n,取数据长度N分别等于8,16,32,分别作N点FFT,观察它们的的时域和幅频特性,说明它们的差别,简要说明原因。
《数字信号处理》课程设计报告设计题目:数字滤波器的设计与应用专业:电子信息工程班级:B110301姓名:刘云飞学号:B11030114指导教师:张峰杨永侠2014年6月20日1.课程设计目的(1)了解心电信号的频率特点。
(2)掌握IIR和FIR数字滤波器的设计方法。
(3)学会利用IIR和FIR数字滤波器进行信号的处理。
(4)对两种常用数字滤波器的特点有全面的认识。
2.课程设计题目描述和要求本次课程设计的题目为《数字滤波器的设计及应用》,是通过我们所学到的理论知识,将实际与其相结合,通过对心电信号的处理,熟练掌握IIR数字滤波器和FIR数字滤波器的设计方法,对实现模拟滤波器的两种方法的掌握,以及它们滤波时所需的不同条件,幅频特性及相频特性,比较两种滤波器的优缺点。
3.课程设计报告内容3.1 采集心电图信号心电信号采样频率为Fs=100Hz,采样点数为56点。
3.2 读入心电图信号,做频谱分析主要程序如下,心电图信号如下运行结果所示:fid=fopen('xinhao.txt','r');x=fscanf(fid,'%f');fclose(fid);fs=100;n=0:55;subplot(211);stem(n,x,'.');axis([0,56,-100,50]);hold on;n=0:60;m=zeros(61);plot(n,m); xlabel('n'); ylabel('x(n)');title('心电图信号采样序列');grid on;NFFT=128;Xk=fft(x,NFFT);k=0:1:NFFT/2-1;f=fs*k/NFFT;subplot(212);plot(f,abs(Xk(1:NFFT/2)));title('信号频谱');grid on ;运行结果:分析:心电信号频率较低,85%以上的能量集中在15Hz以内。
数字信号处理课程设计实验报告(基础实验篇)实验一离散时间系统及离散卷积一、实验目的和要求实验目的:(1)熟悉MATLAB软件的使用方法。
(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。
(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。
(4)熟悉离散卷积的概念,并利用MATLAB计算离散卷积。
实验要求:(1)编制实验程序,并给编制程序加注释;(2)按照实验内容项要求完成笔算结果;(3)验证编制程序的正确性,记录实验结果。
(4)至少要求一个除参考实例以外的实例,在实验报告中,要描述清楚实例中的系统,并对实验结果进行解释说明。
二、实验原理δ的响应输出称为系统1.设系统的初始状态为零,系统对输入为单位脉冲序列()n的单位脉冲响应()h n。
对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。
单位脉冲响应是系统的一种描述方法,若已知了系统的系统函数,可以利用系统得出系统的单位脉冲响应。
在MATLAB中利用impz 由函数函数求出单位脉冲响应()h n2.幅频特性,它指的是当ω从0到∞变化时,|()|Aω,H jω的变化特性,记为()相频特性,指的是当ω从0到∞变化时,|()|∠的变化特性称为相频特性,H jωϕω。
离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同记为()频率的输入序列的处理情况。
三、实验方法与内容(需求分析、算法设计思路、流程图等)四、实验原始纪录(源程序等)1.离散时间系统的单位脉冲响应clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];impz(a,b,30);%离散时间系统的冲激响应(30个样值点)title('系统单位脉冲响应')axis([-3,30,-2,2]);2.(1)离散系统的幅频、相频的分析方法21-0.3()1 1.60.9425j j j e H z e e ωωω---=-+clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];%a 分子系数,b 分母系数 [H,w]=freqz(a,b,'whole'); subplot(2,1,1);plot(w/pi,abs(H));%幅度 title('幅度谱');xlabel('\omega^pi');ylabel('|H(e^j^\omega)'); grid on;subplot(2,1,2);plot(w/pi,angle(H));%相位 title('相位谱');xlabel('\omega^pi'); ylabel('phi(\omega)'); grid on;(2)零极点分布图clc; clear all a=[1,-0.3];b=[1,-1.6,0.9425]; zplane(a,b);%零极图 title('零极点分布图')3.离散卷积的计算111()()*()y n x n h n =clcclear all% x=[1,4,3,5,3,6,5] , -4<=n<=2 % h=[3,2,4,1,5,3], -2<=n<=3 % 求两序列的卷积 clear all;x=[1,4,3,5,3,6,5]; nx=-4:2; h=[3,2,4,1,5,3];nh=-2:3;ny=(nx(1)+nh(1)):(nx(length(x))+nh(length(h))); y=conv(x,h);n=length(ny);subplot(3,1,1);stem(nx,x);xlabel('nx');ylabel('x'); subplot(3,1,2);stem(nh,h);xlabel('nh');ylabel('h');subplot(3,1,3);stem(ny,y);xlabel('n');ylabel('x 和h 的卷积')五、实验结果及分析(计算过程与结果、数据曲线、图表等)1.离散时间系统的单位脉冲响应051015202530-2-1.5-1-0.500.511.52n (samples)A m p l i t u d e系统单位脉冲响应2.离散系统的幅频、相频的分析方法00.20.40.60.81 1.2 1.4 1.6 1.82102030幅度谱ωp i|H (e j ω)0.20.40.60.811.21.41.61.82-2-1012相位谱ωp ip h i (ω)-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r t零极点分布图3.离散卷积的计算-4-3-2-1012nxx-2-1.5-1-0.500.51 1.522.53nhh -6-4-20246nx 和h 的卷积六、实验总结与思考实验二 离散傅立叶变换与快速傅立叶变换一、实验目的和要求实验目的:(1)加深理解离散傅里叶变换及快速傅里叶变换概念; (2)学会应用FFT 对典型信号进行频谱分析的方法; (3)研究如何利用FFT 程序分析确定性时间连续信号; (4)熟悉应用FFT 实现两个序列的线性卷积的方法; 实验要求:(1)编制DFT 程序及FFT 程序,并比较DFT 程序与FFT 程序的运行时间。
课程设计任务书学生姓名:杨茜专业班级:电信1206班指导教师:黄朝兵工作单位:信息工程学院题目:IIR带阻滤波器的设计初始条件:具备数字信号处理的理论知识;具备Matlab编程能力;熟悉带阻滤波器的设计原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计中心频率为200Hz,带宽为150Hz的IIR数字带阻滤波器;2、独立编写程序实现3、完成符合学校要求的设计说明书时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日摘要数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或是装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,已达到信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
使用MATLAB信号处理箱和BW(巴特沃斯)设计低通滤波器。
IIR数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。
递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的脉冲响应。
关键字:数字滤波器IIR MATLABAbstractDigital filter is made up of digital multiplier, adder and delay time of an algorithm, or device.The function of the digital filter is the input discrete signal processing of digital code, has reached the purpose of the signal spectrum.Due to the development of the computer technology and large scale integrated circuit, the digital filter has been available computer software implementation, large-scale integrated digital real-time hardware implementation is also ing the MATLAB signal processing box and BW, butterworth low-pass filter design.IIR digital filter, also known as "infinite impulse response digital filter", or "recursive filter".Recursive filter, also known as the name implies, IIR digital filter, with feedback, generally credited with infinite impulse response.Key word:Digital filter IIR MATLAB目录1.绪论 (1)2. 数字滤波器的设计 (2)2.1数字滤波器的分类 (2)2.2带阻数字滤波器的设计指标 (2)2.3带阻数字滤波器设计的方案选择 (2)2.3.1模拟滤波器的选择 (2)2.3.2数字滤波器的转化方法选择 (3)2.4数字滤波器的设计原理 (3)2.4.1数字滤波器的设计步骤 (3)2.4.2数字滤波器的设计框图 (3)2.4.3数字滤波器的原理说明 (4)3. IIR数字带阻滤波器的设计 (6)3.1IIR数字带阻滤波器的设计步骤 (6)3.2MATLAB函数的调用 (7)3.3MATLAB程序代码 (7)3.4仿真结果 (9)3.5设计结果分析 (11)4.总结 (12)5.参考文献 (13)本科生课程设计成绩评定表 (14)1.绪论在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。
数字信号处理课程设计报告《应用Matlab对信号进行频谱分析及滤波》
专业:
班级:
姓名:
指导老师:
二0 0五年一月一日
目录
设计过程步骤()
2.1 语音信号的采集()
2.2 语音信号的频谱分析()
2.3 设计数字滤波器和画出其频谱响应()
2.4 用滤波器对信号进行滤波()
2.5滤波器分析后的语音信号的波形及频谱()
●心得和经验()
设计过程步骤
2.1 语音信号的采集
我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。
接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。
通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。
其程序如下:
[x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]);
sound(x,fs,bite);
2.2 语音信号的频谱分析
首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。
到此,我们完成了课程实际的第二部。
其程序如下:
n=1024;
subplot(2,1,1);
y=plot(x(50:n/4));
grid on ;
title('时域信号')
X=fft(x,256);
subplot(2,1,2);
plot(abs(fft(X)));
grid on ;
title('频域信号');
运行程序得到的图形:
2.3 设计数字滤波器和画出其频谱响应
紧接着着我们做了一个数字滤波器:
采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz通带衰减小于1dB,阻带衰减大于20dB,我们主要使用双线性变换法由模拟滤波器原型设计数字滤波器。
程序最后我们还利用Matlab中的函数freqz 画出了该滤波器的频率响应。
其程序如下:
%采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz
%通带衰减小于1dB,阻带衰减大于20dB
%使用双线性变换法由模拟滤波器原型设计数字滤波器
T=0.1; FS=1/T;
fp=3;fs=4;
wp=fp/FS*2*pi;
ws=fs/FS*2*pi;
Rp = 1; % 通带衰减
As = 20; % 阻带衰减
% 频率预畸
OmegaP = (2/T)*tan(wp/2); % Prewarp Prototype Passband freq
OmegaS = (2/T)*tan(ws/2); % Prewarp Prototype Stopband freq
%设计butterworth低通滤波器原型
N = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS )));
OmegaC = OmegaP/((10^(Rp/10)-1)^(1/(2*N)));
[z,p,k] = buttap(N); %获取零极点参数
p = p*OmegaC;
k = k*OmegaC^N;
B = real(poly(z));
b0 = k;
cs = k*B;
ds = real(poly(p));
% 双线性变换
[b,a] = bilinear(cs,ds,FS);
% 绘制结果
freqz(b,a,512,FS);
运行程序得到的图形:
2.4 用滤波器对信号进行滤波
我们做的是IIR滤波器,所以我们利用函数filter对信号进行滤波。
其程序如下:
z=filter(b,a,x);
subplot(2,1,1);
plot(z);
title('滤波后信号波形');
Z=fft(z,256);
subplot(2,1,2);
plot(abs(Z));
title('滤波后信号频谱');
2.5滤波器分析后的语音信号的波形及频谱
运行2.4程序得到滤波后的语音信号的波形及频谱图如下:
●心得和经验
心得和经验
在这次“应用Matlab对信号进行频谱分析及滤波”的课程设计中,我们首先感谢我们班的班主任韩国军老师在我们课程设计的过程中所给予的热情帮助和细心辅导,他在课程设计刚开始就很有耐性向我们讲解怎样从几方面来进行这次的课程设计和当设计过程出现问题时应该从那些方面检查错误,以及应该注意的设计滤波器常见的问题,特别是怎样正确运用Matlab。
他的敬业精神,对学生耐心辅导深深地鼓舞着我们以一种热情和自信的心态投入在本次课程设计当中。
做课程设计是为了加深我们对平时学习的理论知识的理解,在理论和实验教学基础上进一步巩固所学基本理论和提高应用所学知识并加以综合应用的能力,培养学生将所学知识应用于实际的思想,提高分析和解决问题的能力,增强学生的综合能力,开发学生的智力,激发学生的创新精神,为毕业设计和以后工作打下必要基础。
这次为期一周的数字信号处理课程设计,使我们弄明白了不少的知识,也学到了不少的东西。
首先我们认识到了MATLAB工具箱的强大的功能和方便的操控性,通过软件可以使设计简化,运算简单,而且可以使设计者腾出时间来把重点放在一些困难概念的理解和掌握上。
MATLAB的功能很强大,可用于电子,通信,图像等领域的信号处理与系统设计。
要精通MATLAB并不是件很容易的事,这得花较多的时间来研究和分析。
通过使用软件,我们不仅加深了对书本知识
的了解,还将理论与实际相结合,提高了自己实际思考问题、独立分析问题、冷静解决问题的能力,对数字信号处理这门课也更加充满了兴趣。
设计滤波器是数字信号处理中最为重要的应用之一,因此学好滤波器的设计及分析,对于我们大学生来说是十分重要的。
这次设计我们最大的收获是掌握了滤波器设计的步骤和方法,比如用到双线性变换法,可以在确定滤波器的系统函数后,用双线性变换公式带入而求得结果。
还有就是学习过程中的不足,这主要体现在做课程设计的过程中,我们深深感觉到自身所学知识的有限,书本上没有提及的环节,我们基本都没有去研究过,做的过程有时突然间觉得有点茫然,虽然通过查阅可以解决问题,但还是浪费了许多时间,这一点是我们在以后的学习中必须加以改进的地方,同时在以后的学习过程中也要督促自己不断地完善自我,超越自我,对知识的汲取应该如饥似渴。
另外要提的一点,就是团队精神,在这次课程设计中我们遇到问题都是聚在一起讨论,一起思考、寻找解决问题的方法,讨论的过程也是互相学习互相促进的过程。
所谓”当局者迷,旁观者清”,有些问题自己写的是时候感觉没什么错误,偏偏运行的时候就是有错误,让队友帮忙看了一下,才发现其实是个很小的错误。
还有就是分工要明确,大家根据个人的优势分工,干起事情来才有效率。
所以说,团队精神是很重要的一点。
通过这次的课程设计,我们深深地体会到数字信号处理的有用性和重要性。
同时也发现了自身存在的不少不足之处,这给今后的学习敲响了警钟,也提供了经验教训。
做设计就如做人一样,都是要扎扎
实实、一步一个脚印去做,天下事有难易乎,为之,则难者亦易矣;不为,则易者亦难矣。
所以说我们做什么事都要认真、踏实地去做,无论成功与否,只要自己曾经努力过,就可以无悔了,而你在做事过程中的经历是任何人都不会有的宝贵的财富。