基于matlab的语音信号滤波处理——数字信号处理课程设计
基于MATLAB的“数字信号处理”实验平台的制作毕业设计
目录中文摘要 (i)英文摘要 ................................................................................................................................ I V 1 绪论 . (1)1.1 问题提出及研究意义 (1)1.2 设计的基本内容 (1)2 系统设计工具简介 (2)2.1 MATLAB概述 (2)2.2 图形用户界面(GUI)设计 (3)2.2.1 创建GUI的步骤 (3)2.2.2 GUI编程 (7)2.2.3 GUI的设计流程和设计原则 (8)2.2.4 控件的使用 (9)3 系统总体设计思路 (10)3.1 系统总体设计的步骤 (10)3.2 系统总体设计的结构 (10)4 系统图形用户界面设计 (13)4.1 图形用户界面外观设计 (13)4.1.1 控件对象 (13)4.1.2 控件属性的设置 (14)4.1.3 窗口属性的设置 (15)4.1.4 菜单的设计 (16)4.2 图形用户界面控件编程 (16)4.2.1 输入函数 (17)4.2.2 输出函数 (18)4.2.3 回调函数 (18)5 系统用户界面的实现 (18)5.1 引导模块 (19)5.1.1 回调函数的编写 (19)5.1.2 界面功能 (20)5.2系统说明模块 (20)5.3 主界面模块 (21)5.3.1 回调函数的编写 (21)5.3.2 界面功能 (21)5.4 基本信号的产生模块 (22)5.4.1 回调函数编写的基本原理 (22)5.4.2 界面功能 (24)5.4.3 界面使用演示 (25)5.5 序列基本计算模块 (25)5.5.1 回调函数编写的基本原理 (25)5.5.2 界面功能 (26)5.5.3 界面使用演示 (27)5.6 数据采集模块 (27)5.6.1 回调函数编写的基本原理 (27)5.6.2 界面功能 (28)5.6.3 界面使用演示 (29)5.7 卷积模块 (30)5.7.1 回调函数编写的基本原理 (30)5.7.2 界面功能 (30)5.7.3 界面使用演示 (30)5.8 傅里叶变换模块 (32)5.8.1 回调函数编写的基本原理 (32)5.8.2 界面功能 (32)5.8.3 界面使用演示 (33)5.9 Z变换模块 (35)5.9.1 回调函数编写的基本原理 (35)5.9.2 界面功能 (36)5.9.3 界面使用演示 (37)5.10 滤波器设计模块 (40)5.10.1 回调函数编写的基本原理 (41)5.10.2 界面功能 (43)5.10.3 界面使用演示 (43)致谢 (49)参考文献 (50)附录 (51)毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
基于matlab的语音信号滤波处理
一.实验目的:数字信号课程设计,屌丝们有福了综合计运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。
并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。
二.实验环境:数字信号课程设计,屌丝们有福了Matlab7.0.1 WindowsXP系统三.实验内容:1、语音信号的采集数字信号课程设计,屌丝们有福了利用Windows下的录音机, 录制一段自己的话音, 时间在几秒内。
然后在Matlab软件平台下, 利用函数wavread对语音信号进行采样, 记住采样频率和采样点数。
[y,fs,bits]=wavread();2、语音信号的频谱分析首先画出语音信号的时域波形,然后对语音信号进行频谱分析。
在Matlab 中, 可以利用函数fft对信号进行快速傅里叶变换, 得到信号的频谱特性。
3、用滤波器对语音信号进行滤波设计滤波器对采集的信号进行滤波, 比较滤波前后语音信号的波形及频谱。
要求自己确定滤波器的性能指标,用冲激响应不变法、双线性变换法或窗函数法设计3种滤波器:低通、高通和带通滤波器。
4、回放语音信号在Matlab中, 函数sound 可以对声音进行回放,其调用格式:sound (x, fs, bits);四.实验原理:1.数字滤波器数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。
在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。
数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。
数字信号处理课程设计基于 matlab 的音乐信号处理和分析
《数字信号处理》课程设计设计题目:基于MATLAB 的音乐信号处理和分析一、课程设计的目的本课程设计通过对音乐信号的采样、抽取、调制、解调等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生掌握的基本理论和分析方法知识得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计基本要求1学会MATLAB 的使用,掌握MATLAB的基本编程语句。
2掌握在Windows 环境下音乐信号采集的方法。
3掌握数字信号处理的基本概念、基本理论和基本方法。
4掌握MATLAB 设计FIR 和IIR 数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、设计数字滤波器的编程方法。
三、课程设计内容1、音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;③使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
Wavread格式说明:[w,fs,b]=wavread(‘语音信号’),采样值放在向量w中,fs表示采样频率(hz),b表示采样位数。
上机程序:[y,fs,bit]=wavread('I do片段')%读取音乐片段,fs是采样率size(y)%求矩阵的行数和列数y1=y( : ,1);%对信号进行分列处理n1=length(y1);%取y的长度t1=(0:n1-1)/fs;%设置波形图横坐标 figuresubplot(2,1,1);plot(t1,y1); %画出时域波形图 ylabel('幅值');xlabel('时间(s )'); title('信号波形'); subplot(2,1,2); Y1=fft(y1);w1=2/n1*(0:n1-1);%设置角频率 plot(w1,abs(Y1));%画频谱图 title('信号频谱'); xlabel('数字角频率'); ylabel('幅度'); grid on ;sound(y,fs); 实验结果:123456幅值时间(s )信号波形信号频谱数字角频率幅值1、通过观察频谱知,选取音乐信号的频谱集中在0~0.7*pi 之间,抽样点数fs=44100;2、当采样频率问原来0.5(0.5*fs )倍时:音乐片段音调变得非常低沉,无法辨认原声,播放时间变长;抽样频率减小,抽样点数不变时,其分辨力增大,记录长度变长,声音失真。
基于MATLAB的语音信号滤波处理毕业设计(论文)
学号14112220266毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作者夏杰届别2015届院别信息与通信工程学院专业电子信息工程指导教师罗朝明职称副教授完成时间2015年5月17日摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。
本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。
在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。
关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image processing, communication, bio-medical engineering and many other fields.This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice signal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;V oice signal;Filter;Simulation;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 语音信号滤波处理的简介 (1)1.2 数字滤波器的概念 (1)1.3 MATLAB软件的介绍 (2)1.4 论文各章节的安排 (3)第二章语音信号的频谱分析 (5)2.1 快速傅里叶算法的原理 (5)2.2语音信号的采集及频谱分析 (10)2.3语音信号的加噪处理及频谱分析 (12)第三章数字滤波器的设计 (15)3.1数字滤波器的设计原理 (15)3.2 用窗函数法设计FIR数字滤波器 (17)3.3 用双线性法设计IIR数字滤波器 (21)第四章语音信号的滤波 (24)4.1 语音信号的滤波测试 (24)4.2加噪语音信号的滤波处理 (27)第五章总结和展望 (29)5.1 课题总结 (29)5.2课题展望 (29)参考文献 (30)致谢 (31)第一章绪论1.1语音信号滤波处理的简介语音信号的基本组成单位是“音素”。
课程设计基于MATLAB的语音信号录制采集和分析的程序设计
MA TLAB课程设计说明书摘要语音信号的采集与分析技术是一门涉及面很广的交叉科学,它的应用和发展与语音学、声音测量学、电子测量技术以及数字信号处理等学科紧密联系。
该设计主要介绍语音信号的采集与分析方法,通过PC机录制自己的一段声音,运用Matlab提供的函数进行仿真分析,并画出采样后语音信号的时域波形和频谱图,对所采集的语音信号加入干扰随机高斯噪声,对加入噪声的信号进行播放,并进行时域和频谱分析;对比加噪前后的时域图和频谱图,分析讨论采用什么样的滤波器进行滤除噪声。
关键词:语音信号;采集与分析;Matlab目录摘要 (I)1 语音信号的录制 (1)2 语音信号的采集 (3)3 语音信号的分析 (4)3.1语音信号时域分析 (4)3.2语音信号频域分析 (5)4 语音信号的加噪处理 (7)5 滤噪设计分析 (11)6 设计总结 (12)参考文献 (13)附录 (14)1 语音信号的录制为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。
语音信号经过预滤波和采样后,由A/D变换器变换为二址制数字码。
这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。
市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。
将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。
操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。
实际工作中,我们可以利用windows自带的录音机录制语音文件,图1是基于PC机的语音信号录制过程,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。
数字信号处理课程设计报告--基于MATLAB的语音去噪处理
数字信号处理课程设计报告--基于MATLAB的语音去噪处理《数字信号处理》课程设计报告基于MATLAB的语音去噪处理专业: 通信工程班级: 通信1101班组次: 第7组姓名及学号: 胡政权(2011013825) 姓名及学号: 潘爽(2011013836)第1页组员承担任务负责程序的编写,并检验程序是否错误,利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集胡政权与整理,对课程设计要求进行最后审核。
负责课程设计实验MATLAB仿真对实验结果进行分析,上网查阅材料对实验发表自己看法同时对实验要求进行扩展。
对论文进行抒写,排版潘爽使实验课程设计更加完善。
指导教师评价意见第2页基于MATLAB的语音去噪处理1、设计目的(1)巩固所学的数字信号处理理论知识,理解信号的采集、处理、加噪、去噪过程; (2)综合运用专业及基础知识,解决实际工程技术问题的能力; (3)学习资料的收集与整理,学会撰写课程设计报告。
2、设计任务(1)语音信号的录制。
(2)在MATLAB平台上读入语音信号。
(3)绘制频谱图并回放原始语音信号。
(4)利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。
(5)利用MATLAB 编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号。
(6)通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。
其大概流程框图可如下表示:(图2-1)图2-1 课程设计的流程第3页3、设计原理3.1 去噪原理3.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5,10倍;采样定理又称奈奎斯特定理。
1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的2倍频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1?Δt),f(t1?2Δt),...来表示,只要这些采样点的时间间隔Δt?1/2F,便可根据各采样值完全恢复原来的信号f(t)。
基于matlab的语音信号滤波处理——数字信号处理课程设计
数字信号处理课程设计题目:基于matlab的语音信号滤波处理摘要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。
这为我们的本次设计提供了强大并良好的环境!本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。
再在Matlab中分别设计不同形式的FIR数字滤波器。
之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。
对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。
最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。
目录1.设计内容 (4)2.设计原理 (4)2.1语音信号的时域分析 (4)2.2语音信号的频域分析 (5)3.设计过程 (5)3.1实验程序源代码 (6)3.1.1原语音信号时域、频域图 (6)3.1.2低通滤波器的设计 (6)3.1.3高通滤波器的设计 (7)3.1.4带通滤波器的设计 (8)3.1.5语音信号的回放 (9)3.2调试结果描述 (10)3.3所遇问题及结果分析 (15)3.3.1所遇主要问题 (16)3.3.2结果分析 (16)4.体会与收获 (17)5.参考文献 (17)1.设计内容:1.首先录制好一段自己的语音。
2.用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。
3.用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。
4.用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异。
基于matlab的语音信号处理
数字信号处理设计报告题目:基于Matlab的语音信号处理系别信息工程学院专业班级通信工程1342学生姓名范泉指导教师吉李满提交日期 2016年6月 10日摘要数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。
数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。
本设计的具体内容是基于MATLAB的语音信号处理,核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。
然后添加噪声信号,选用合适的滤波器对噪声信号进行滤除,使数字信号处理从理论走向实用。
MATLAB功能强大,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
用MATLAB来解算问题要比用其他语言简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
关键词:数字信号处理器;离散傅立叶变换;MATLAB目录第一章绪论 (1)1.1课题研究的目的 (1)1.2课题研究的意义和现状 (1)1.2.1课题研究的意义 (1)1.2.2课题研究的现状 (1)第二章课题研究方案的确定 (3)2.1概要设计 (3)2.1.1主要工作 (3)2.1.2研究步骤 (3)2.2方案选择 (3)2.2.1运行的环境 (3)2.2.2总体方案 (4)第三章课题研究内容 (5)3.1 Matlab简单介绍 (5)3.2语音信号的采样理论依据 (5)3.2.1采样频率 (5)3.2.2采样位数 (5)3.2.3采样定理 (6)3.3语音信号的采集 (6)3.4设计数字滤波器 (6)3.4.1数字滤波器设计的基本思路 (6)3.4.2 IIR数字滤波器概述 (6)3.4.3 FIR数字滤波器概述 (7)3.4.4 FIR数字滤波器和IIR数字滤波器比较 (7)3.4.5低通高通及带通滤波器 (7)3.5程序流程图 (8)第四章软件仿真调试结果分析 (9)4.1语音信号的时频分析 (9)4.2语音信号加噪与频谱分析 (10)4.3滤波器的设计 (12)4.3.1设计FIR滤波器 (12)4.3.2设计IIR滤波器 (12)4.3.3双线性变换法和窗函数法 (12)4.4验证所设计的滤波器 (13)4.5滤波 (15)第五章 GUI界面 (17)5.1 GUI界面概述 (17)5.2创建GUI界面 (17)第六章总结与展望 (20)参考文献 (21)附录I设计FIR和IIR数字滤波器 (1)附录II比较滤波前后语音信号的波形及频谱 (7)附录III 源程序代码 (16)第一章绪论1.1课题研究的目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法。
数字信号处理课程设计--基于 MATLAB 的语音去噪处理
数字信号处理课程设计课程名称数字信号处理基于MATLAB 的语音去噪处理题目名称专业班级13级通信工程本一学生姓名学号指导教师二○一五年十二月二十七日引言滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。
利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。
课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。
通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。
在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。
通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。
关键词数字滤波器 MATLAB 窗函数法巴特沃斯切比雪夫双线性变换目录1 绪论 (4)2 课程设计内容 (5)3 课程设计的具体实现 (5)3.1 语音信号的采集 (4)3.2 语音信号的时频分析 (4)3.3 语音信号加噪与频谱分析 (6)3.4 利用双线性变换法设计低通滤波器 (8)3.5 用滤波器对加噪语音信号进行滤波 (9)3.6 分析滤波前后语音信号波形及频谱的变化 (10)3.7回放语音信号 (10)3.8小结 (11)结论 ···········································································错误!未定义书签。
(完整word版)基于matlab的语音信号分析与处理
基于matlab的语音信号分析与处理摘要:滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。
Matlab功能强大、编程效率高, 特别是Matlab具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。
基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。
使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR 数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。
关键词:数字滤波器;MATLAB;切比雪夫Abstract:Filter design in digital signal processing plays an extremely important role, FIR digital filters and IIR filter is an important part of filter design. Matlab is powerful, programming efficiency, Matlab also has a particular signal analysis toolbox, it need not have strong programming skills can be easily signal analysis, processing and design. MATLAB based on the noise issue speech signal processing design and implementation of digital signal processing integrated use of the theoretical knowledge of the speech signal plus noise, time domain, frequency domain analysis and filtering. The corresponding results obtained through theoretical derivation, and then use MATLAB as a programming tool for computer implementation.Implemented in the design process, using the windowfunction method to design FIR digital filters with Butterworth, Chebyshev and bilinear Reform IIR digital filter design and use of MATLAB as a supplementary tool to complete the calculation and graphic design Drawing.Keywords:digital filter; MATLAB; Chebyshev语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
数字信号处理课程设计报告--基于MATLAB的语音去噪处理
数字信号处理课程设计报告--基于MATLAB的语音去噪处理《数字信号处理》课程设计报告基于MATLAB的语音去噪处理专业: 通信工程班级: 通信1101班组次: 第7组姓名及学号: 胡政权(2011013825) 姓名及学号: 潘爽(2011013836)第1页组员承担任务负责程序的编写,并检验程序是否错误,利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集胡政权与整理,对课程设计要求进行最后审核。
负责课程设计实验MATLAB仿真对实验结果进行分析,上网查阅材料对实验发表自己看法同时对实验要求进行扩展。
对论文进行抒写,排版潘爽使实验课程设计更加完善。
指导教师评价意见第2页基于MATLAB的语音去噪处理1、设计目的(1)巩固所学的数字信号处理理论知识,理解信号的采集、处理、加噪、去噪过程; (2)综合运用专业及基础知识,解决实际工程技术问题的能力; (3)学习资料的收集与整理,学会撰写课程设计报告。
2、设计任务(1)语音信号的录制。
(2)在MATLAB平台上读入语音信号。
(3)绘制频谱图并回放原始语音信号。
(4)利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。
(5)利用MATLAB 编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号。
(6)通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。
其大概流程框图可如下表示:(图2-1)图2-1 课程设计的流程第3页3、设计原理3.1 去噪原理3.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5,10倍;采样定理又称奈奎斯特定理。
1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的2倍频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1?Δt),f(t1?2Δt),...来表示,只要这些采样点的时间间隔Δt?1/2F,便可根据各采样值完全恢复原来的信号f(t)。
基于matlab语音信号合成与处理课程设计
摘要语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息的手段,所以对其研究就显得尤为重要。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以讲声音文件变成离散的数据文件,然后用其强大的矩阵运算能力处理数据。
这为本次课程设计提供了强大并良好的环境。
本设计要求自己通过手机清唱一段歌曲,并用windows自带的录音机录制下来,保存格式为.wav格式,而且要求对所录的语音进行频率均衡和加入混响效果。
从网上下载相应的歌曲伴奏,经过截取、加噪、消噪后,与混响后的清唱语音进行合成,制作成一首歌曲。
采用语音合成可帮助学生加强理解,MATLAB里面有很多应用示波器滤波,利用这些滤波器可以很容易地实现语音信号的消噪过程,利用MATLAB的声音处理函数设计一组语音合成实验,配合Windows操作系统支持的语音媒体播放器可以很方便地将经过数字处理后的语音效果直观地体现出来,对于学生深刻理解数字信号处理中抽象数学运算的现实物理意义很有帮助。
关键字:信号处理语音合成加噪混响一、设计目的与任务录制各自的一段清唱歌曲语音信号,并对其进行频谱分析;然后在时域用数字信号处理的方法将信号加入延时与混响。
然后从网上下载一段该歌曲的伴奏,对伴奏进行截取、格式转换、加噪和去噪后,与伴唱歌曲进行合成,制作成一首歌曲,在分析其频谱,并与原始伴唱语音信号频谱进行比较。
通过数字信号处理的课程设计,巩固和运用数字信号处理课程中的理论知识和实践技能,掌握最基本的运用Matlab软件处理信号的理论和方法,培养发现问题,分析问题和解决问题的能力。
二、设计的基本要求1.录制的语音清晰,分析语音信号的特点;2.探讨语音分析、加噪、去噪、混响以及合成的基本方法;3.写出各个步骤的Matlab的程序代码;4.分析录制的语音信号的时域波形与频谱;分析加噪、去噪与合成前后的语音信号波形与频谱;5.熟悉加强滤波器的设计原理和滤波的过程;三、设计思路图-1语音合成的方案设计方框图整体设计思路:将录制的语音信号进行频谱分析,并进行频率均衡和加入混响效果。
数字信号处理(DSP)课程设计—利用Matlab实现对三种音频信号的采样和分析
数字信号处理课程设计报告姓名:蒲钇霖学号:201021030619学院:微固利用Matlab实现对三种音频信号的采样和分析一、前言:数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多方面而又广泛应用于很多领域的学科。
它是一种使用数学手段转换或提取信息,来处理现实信号的方法。
随着信息时代和数字世界的到来,数字信号处理技术得到了迅速的发展,已经成为了一个极其重要的研究领域。
本次课程设计可以算是对于数字信号处理技术一个基础的应用实例,主要是通过Matlab软件对现实中的音频信号进行采样以及分析研究。
二、设计目的:通过此次课程设计,让我们能够更好地巩固和运用在数字信号课程中学习到的理论知识和实验方法,加强我们将理论知识化为实践技巧的能力,主要是熟悉和学习如何使用Matlab对信号进行采集、截取、显示、存储和分析。
在这过程中同时培养我们发现问题、分析问题以及解决问题的能力。
三、主要内容:这次课程设计将对三种音频信号进行分析研究与相互比较,其中的两种信号是用Matlab软件来录制的一段自己发出的声音和用汤匙敲击不锈钢杯的声音,然后再截取出它们的有效部分。
另一种是从电脑里找的Windows XP的开机启动声音。
完成这三种信号的采集工作之后,就分别用音频分析软件spectrogram和Matlab两种手段对它们进行分析研究和相互比较,得出相应的结论,从而完成课程设计的任务。
四、设计步骤:1.采集声音信号Windows XP开机启动的声音可直接由电脑中找出,这里主要是采集自己发出的声音和汤匙敲击不锈钢杯的声音。
一般来说,我们采集声音信号最简便的方法就是直接使用Windows自带的录音器。
但为了帮助学习Matlab,这里我们使用该软件来进行声音的录制。
下面就是录制自己发出的声音的一段程序(参照了网上查找的一个例子):>>fs=8000;>>channel=1;>>t=3;>>fprintf('按任意键后开始 %d秒录音:',t);pause;>>fprintf('录音中...');>>x=wavrecord(t*fs,fs,channel,'double');>>fprintf('录音结束\n');>>wavwrite(x,fs,'C:\Program Files\MATLAB\R2007a\work\UESTC.wav')>>fprintf('按任意键后回放:');pause>>wavplay(x,fs);这里不同于一般的命令操作方式,而是采用的编程操作方式。
基于matlab的语音信号滤波处理课程设计报告
信息工程学院2014/ 2015学年第一学期课程设计报告课程名称:基于MATLAB的语音信号滤波处理班级学号统本通信学生姓名 XXX XXX 指导教师 XXX任务书基于matlab的语音信号滤波处理摘要:本课程设计的主要目的是在MATLAB环境下,使用窗口设计法设计一个滤波器,并对语音信号进行滤波去噪。
开发平台为MATLAB,设计方法为窗口设计法。
用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用凯塞窗设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。
在滤波前后语音信号波形的变化中,由于我们录制的语音信号噪声不大,所以观察并不明显,但在频域波形中,我们可以明显的看到设计的滤波器对语音信号进行了滤波处理,将噪声进行了滤除。
此次滤波基本达到了要求,完成了设计指标。
关键词:滤波去噪;FIR滤波器;凯塞窗;MATLAB目录1 课程设计研究内容 (1)1.1课程设计研究内容 (1)1.2课程设计步骤及流程图 (1)1.3课程设计要求 (3)2 设计原理 (3)2.1 MATLAB简介 (3)2.2 滤波器 (3)3 设计与实现过程 (3)3.1实现方法 (3)3.1.1 FIR滤波器 (3)3.1.2窗口设计法 (4)3.1.3凯塞窗 (4)3.2 设计过程 (4)3.2.1录制语音信号 (5)3.2.2 对原信号加入噪声 (5)3.2.2 滤波器的设计 (7)3.2.2信号的滤波处理 (9)3.3 仿真结果与分析 (10)4 调试问题与解决方案 (10)5总结与展望 (11)致谢 (11)参考文献 (12)附录 (13)附录1. 滤波器脉冲响应源程序 (13)附录2. 理想低通滤波器计算源程序 (14)1 课程设计研究内容1.1课程设计研究内容1.语音信号的采集在Windows下录制一段格式为.wav的语音,利用函数wavread对语音信号进行采样。
基于matlab的语音信号滤波器设计实现
数字信号处理课程设计基于MATLAB的语音信号数字滤波器的设计和实现一.方案论述1.1 方案总述此次“基于MATLAB的语音信号滤波器的设计与实现”课程设计要求要求自行采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
1.2 声音信号的录制和处理利用WINDOWS自带的媒体录音工具录制长度适中的一段声音。
保存文件时,利用计算机上的A/D转换,把声音信号由模拟信号转换成离散量化的数字信号(放音时,再通过A/D转换器转换成模拟声音信号)。
然后在MATLAB中,调入此声音文件,再利用函数Wavread对已录制的语音信号进行采样,然后对语音信号进行频谱分析。
噪音信号的生成,需要自行在在MATLAB中人为设计一个干扰信号,运用MATLAB 软件对语音信号和干扰信号进行合成。
1.3 滤波器的设计滤波器的设计是本次设计的重点,也是难点所在。
数字滤波器分为FIR滤波器和IIR滤波器。
采用软件设计来实现,主要方法有脉冲响应不变法,双线性变换法,窗函数法。
本设计是用双线性变换法设计一个低通滤波器。
通过对语音信号的数据分析,对滤波器的参数性能设定,可以成功滤除干扰信号,从而利用软件仿真完成硬件滤波器的功能。
设计时要考虑滤波器的类型,阶数,截止频率,衰减幅度等。
二.方案实现2.1 语音信号采集在本论文中,需要一个相对无噪声的语音信号来进行与固定频率的噪声信号的合成,并对合成后信号通过语音滤波器进行滤波处理。
由于绝对无噪声的语音信号是不存在的,所以现在使用PC机在相对安静无噪声的环境下录取一段语音信号来作为相对无噪声的语音信号。
在一台装有MATLAB的多媒体PC机上,利用PC 机上的声卡和WINDOWS 操作系统中的录音软件就可以进行语音信号的采集(即录音)。
在 PC机上加一个语言输入设备(麦克风),接着在WINDOWS的桌面上依次点击:【开始】、【所有程序】、【附件】、【录音机】,启动录音机,然后单击录音键,录制一段长度适中的语音信号。
基于MATLAB的语音信号分析与处理系统的设计
数字信号处理大作业基于MATLAB的语音信号分析与处理系统的设计班级:物联网1401学号:姓名:zk目录一、设计目的 (2)二、设计内容及要求 (2)2.1设计内容 (2)2.2设计要求 (3)三、详细设计过程 (3)3.1语音信号的采集 (3)3.2 原始语音信号的时域频域分析 (3)3.3原始语音信号加噪 (5)3.4设计滤波器 (6)3.5 MATLAB语音信号处理界面设计 (8)3.6 利用C语言得出声音带宽 (11)四、调试结果 (11)五、结论 (12)参考文献 (13)一、设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB和C语言作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
二、设计内容及要求2.1设计内容①录制一段自己的语音信号(我是物联网1401班的张坤),并对录制的信号进行采样。
②画出采样后语音信号的时域波形和频谱图。
③给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应。
④利用设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化,回放语音信号。
⑤用 MATLAB 设计一信号处理系统界面。
⑥利用C语言对录制语音信号进行FFT变换(取其中的1024进行),计算出自己声带的带宽。
2.2设计要求①学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。
②掌握在 Windows 环境下语音信号采集的方法。
③掌握数字信号处理的基本概念、基本理论和基本方法。
④掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法。
⑤学会用 MATLAB 对信号进行分析和处理。
⑥学会用C语言进行FFT程序的编写和算法效果的仿真。
三、详细设计过程3.1语音信号的采集利用PC 机上的声卡和Windows 操作系统实现语音信号的的采集。
基于matlab的数字音效处理器——数字信号处理课设报告
实验题目专业:通信工程班级: 114班姓名: XXXXX 学号: XXXXXXXX指导教师: XXXXX一、实验类型综合研究性实验二、实验目的1.掌握采样定理及FFT谱分析的基本原理及其利用Matlab的实现方法;2. 掌握数字滤波器的设计原理和方法;3. 学习用MATLAB编程实现语音数字滤波系统。
三、实验要求1. 利用Windows下的录音机设备采集语音信号;2. 对语音信号进行采样并混进加性噪声,作频谱分析;3. 通过频谱分析选择合适的滤波器性能指标,设计合适的数字滤波器,并对含噪音的语音信号进行数字滤波;4. 设计处理系统的用户界面(GUI),在所设计的系统界面上可以选择滤波器的参数,显示滤波器的频率响应,选择信号等。
四、数字滤波器的设计原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。
其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。
FIR数字滤波器的单位脉冲响应是有限长序列。
它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。
在对滤波器实际设计时,整个过程的运算量是很大的。
设计阶数较高的IIR 滤波器时,计算量更大,设计过程中改变参数或滤波器类型时都要重新计算。
设计完成后对已设计的滤波器的频率响应要进行校核。
要得到幅频、相频响应特性,运算量也是很大的。
平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候要根据设计要求和滤波效果不断地调整,以达到设计的最优化。
MatLab对语音信号进行频谱分析及滤波
数字信号处理综合实验报告综合实验名称:应用Matlab对语音信号进行频谱分析及滤波系:学生姓名:班级:通信学号:11成绩:指导教师:开课时间:2011-2012学年上学期一.综合实验题目应用MatLab对语音信号进行频谱分析及滤波二.主要内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;课程设计应完成的工作:1、语音信号的采集;2、语音信号的频谱分析;3、数字滤波器的设计;4、对语音信号进行滤波处理;5、对滤波前后的语音信号频谱进行对比分析;三.具体要求1、学生能够根据设计内容积极主动查找相关资料;2、滤波器的性能指标可以根据实际情况作调整;3、对设计结果进行独立思考和分析;4、设计完成后,要提交相关的文档;1)课程设计报告书(纸质和电子版各一份,具体格式参照学校课程设计管理规定),报告内容要涵盖设计题目、设计任务、详细的设计过程、原理说明、、频谱图的分析、调试总结、心得体会、参考文献(在报告中参考文献要做标注,不少于5篇)。
2)可运行的源程序代码(电子版)在基本要求的基础上,学生可以根据个人对该课程设计的理解,添加一些新的内容;四.进度安排五.成绩评定(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。
迟到15分钟按旷课处理(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。
(3)设计报告成绩:按照提交报告的质量给出相应的成绩。
课程设计成绩=平时成绩(30%)+设计成绩(30%)+设计报告成绩(40%)应用MatLab对语音信号进行频谱分析及滤波第一章实验任务录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理课程设计题目:基于matlab的语音信号滤波处理学院:物理与电子信息工程专业:电子信息工程班级: B07073041学号: 200932000066姓名:高珊指导教师:任先平摘要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。
这为我们的本次设计提供了强大并良好的环境!本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。
再在Matlab中分别设计不同形式的FIR数字滤波器。
之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。
对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。
最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。
目录1.设计内容 (4)2.设计原理 (4)2.1语音信号的时域分析 (4)2.2语音信号的频域分析 (5)3.设计过程 (5)3.1实验程序源代码 (6)3.1.1原语音信号时域、频域图 (6)3.1.2低通滤波器的设计 (6)3.1.3高通滤波器的设计 (7)3.1.4带通滤波器的设计 (8)3.1.5语音信号的回放 (9)3.2调试结果描述 (10)3.3所遇问题及结果分析 (15)3.3.1所遇主要问题 (16)3.3.2结果分析 (16)4.体会与收获 (17)5.参考文献 (17)1.设计内容:1.首先录制好一段自己的语音。
2.用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。
3.用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。
4.用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异。
2.设计原理:语音信号时一种非平稳的时变信号,它带着各种信息。
在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。
语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。
语音信号处理可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,崎岖的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。
2.1语音信号的时域分析信号提取:通过图形用户界面上的菜单功能按键采集电脑上的一段音频信号,完成音频信号的频率,幅度等信息的提取,并得到该语音信号的波形图。
信号调整:在设计的用户图形界面下对输入的音频信号进行各种变化,如变化幅度、改变频率等操作,以实现对语音信号的调整。
2.2语音信号的频域分析信号的傅里叶表示在信号的分析和处理中起着重要的作用。
因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅里叶分析方法能完善地解决许多信号分析和处理问题。
另外,傅里叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。
由于语音信号时随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。
输出频谱是声道系统频率响应与激励源频谱的乘积。
身份到系统的频率响应及激励源都是随时间变化的,因此一般标准的傅里叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。
由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。
1.信号变换:在用户图形界面西啊对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图和倒谱图。
2.信号滤波:滤除语音信号中的噪音部分,可以采用抵用滤波、高通滤波、带通滤波,并比较各种滤波后的效果。
3.设计过程:3.1实验程序源代码(原语音信号存放在e:\下):3.1.1.原语音信号的时域、频域图[x1,fs,bits]=wavread('e:\txwz.wav');%sound(x1,fs,bits);figure(1);plot(x1);%做原始语音信号的时域图形title('原始语音信号');xlabel('时间 t');ylabel('音量 n');figure(2);y1=fft(x1);%做length(x1)点的FFTy1=fftshift(y1); %平移,是频率中心为0derta_fs = fs/length(x1); %设置频谱的间隔,分辨率plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%画出原始语音信号的频谱图title('原始语音信号的频谱');grid on;3.1.2低通滤波器的设计%低通滤波:截止频率4000,阻带衰减20dB,过渡带宽0.1πfc1=4000;N1=2*pi*0.9/(0.1*pi)wc1=2*pi*fc1/fs;if rem(N1,2)==0N1=N1+1;endWindow= boxcar (N1+1); %长度为N1的矩形窗Windowb1=fir1(N1,wc1/pi,Window);figure(3);freqz(b1,1,512);title('低通滤波器的频率响应');x1_low = filter(b1,1,x1);%对信号进行低通滤波figure(4);plot(x1_low);title('信号经过低通滤波器(时域)');figure(5);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft( x1_low))));title('信号经过低通滤波器(频域)');3.1.3高通滤波器的设计%高通滤波:截止频率4000,阻带衰减40dB,过渡带宽0.1πfc2=4000;N2=2*pi*3.1/(0.1*pi)wc2=2*pi*fc1/fs;N2=N2+mod(N2,2);Window=hanning(N2+1);b2=fir1(N2,wc2/pi,'high',Window);figure(6);freqz(b2,1,512);%数字滤波器频率响应title('高通滤波器的频率响应');x1_high = filter(b2,1,x1);%对信号进行高通滤波figure(7);plot(x1_high);title('信号经过高通滤波器(时域)');figure(8);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft( x1_high))));title('信号经过高通滤波器(频域)')3.1.4带通滤波器的设计%带通滤波:下截止频率4000,上截止频率8000,阻带衰减20dB,过渡带宽度0.1πf1=4000;f2=8000; %带通滤波器的通带范围w1=2*pi*f1/fs;w3=w1+0.1*pi;w2=2*pi*f2/fs;w4=w2-0.1*pi;w=[(w1+w3)/2,(w2+w4)/2];B=0.1*pi;N3=ceil(2*0.9*pi/B);N3=N3+mod(N3,2);Window=boxcar(N3+1);b3=fir1(N3,w/pi,'stop',Window);%带通滤波器figure(9);freqz(b3,1,512);%数字滤波器频率响应title('带通滤波器的频率响应');x1_daitong = filter(b3,1,x1);%对信号进行带通滤波figure(10);plot(x1_daitong);title('信号经过带通滤波器(时域)');figure(11);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft( x1_daitong))));title('信号经过带通滤波器(频域)');3.1.5语音信号的回放(分别执行)sound(x1,fs,bits);%原始信号sound(x1_low,fs,bits);%经过低通滤sound(x1_high,fs,bits); %经过高通滤波sound(x1_daitong,fs,bits);%经过带通滤波3.2调试结果描述原始语音信号的时域图形:原始语音信号频谱:低通滤波器的频率响应:信号经过低通滤波后的时域波形:高通滤波器的频率响应:信号经过高通滤波后的频域波形:带通滤波器的频率响应:信号经过带通滤波后的时域波形:信号经过带通滤波后的频域波形:3.3所遇问题及结果分析3.3.1所遇主要问题1.在高通与带通滤波器的设计时老是报错,但同样的用法在低通滤波器中就可以实现b2=fir1(N2,wc2/pi,'high',Window);??? Error using ==> fir1The window length must be the same as the filter length.其要求在fir函数中所选用的窗长要和滤波器长度一致。
但在参考书上指出,滤波器阶数必须为窗长加1。
经上网查询后,原来高通、带阻滤波器的阶数应该控制为奇数,因为如果阶数为偶数,则在π点必有一零点,这对于高通带阻来说是不允许的,故取阶数为奇数,而你FIR1滤波器阶数为M+1阶,所以你的M必须为偶数,所以可以将程序中去窗长算法由原程序的:N2=2*pi*0.9/(0.1*pi);if rem(N2,2)==0N2=N2+1;End和:N3=2*pi*0.9/(0.1*pi);if rem(N3,2)==0N3=N3+1;End改为了:N2=N2+mod(N2,2);和:B=0.1*pi;(B为过渡带宽)N3=ceil(2*0.9*pi/B);N3=N3+mod(N3,2);2.在设计高通滤波器时先是使用的矩形窗,用矩形窗验证出来的结果中低频语音分量依旧很强,不能将其全部抑制在0,之后换窗,选着了最小衰减可以到达53dB的海明窗,再次试验,非常成功!3.3.2结果分析经过回放三个不同类型滤波器输出的语音信号,并与原语音信号对比得到了如下结论。
语音高频成分音质非常尖锐,齿音中,声音有些暗淡。
语音低频成分音质沉稳,空间感觉强,语音浑厚。