语音信号的滤波——滤波器的设计

合集下载

数字信号处理课程设计-语音信号的处理与滤波-精品

数字信号处理课程设计-语音信号的处理与滤波-精品

工学院数字信号处理课程设计说明书设计题目语音信号的处理与滤波系别计算机工程系专业班级通信061学生姓名学号指导教师日期日摘要:本文主要利用MATLAB工具采用双线性法和窗函数法设计IIR滤波器和FIR数字滤波器,并通过所设计的滤波器进行语音信号滤波分析,初步学会信号处理的过程和分析问题的能力。

关键词:MA TLAB 滤波器设计一.引言随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。

数字信号处理在通信语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。

二.MATLAB工具简介1.MA TLAB是矩阵实验室(Matrix Laboratory)之意,现已发展成为适合多学科,多种工作平台的功能强大的大型软件,已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;2.MA TLAB的语言特点(1)。

语言简洁紧凑,使用方便灵活,库函数极其丰富。

MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。

由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。

(2)运算符丰富。

由于MA TLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MA TLAB的运算符将使程序变得极为简短。

(3)MA TLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。

(4)程序限制不严格,程序设计自由度大。

例如,在MA TLAB里,用户无需对矩阵预定义就可使用。

(5)程序的可移植性很好,基本上不做修改就可在各种型号的计算机和操作系统上运行。

(6)MA TLAB的图形功能强大。

在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。

语音信号滤波去噪——使用汉宁窗设计的FIR滤波器要点

语音信号滤波去噪——使用汉宁窗设计的FIR滤波器要点

语音信号滤波去噪——使用汉宁窗设计的FIR滤波器学生姓名:指导老师:摘要本课程设计主要是对一段语音信号,加入噪声后,用汉宁窗设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理。

在此次课程设计中,系统操作平台为Windows XP,程序设计的操作软件为MATLAB 7.0。

此课程设计首先是用麦克风采集一段语音信号,加入噪声,然后采用汉宁窗函数法设计出FIR滤波器,再用设计出的滤波器对这段加噪后的语音信号进行滤波去噪,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果,说明此次设计非常成功。

关键词程序设计;滤波去噪;FIR滤波器;汉宁窗;MATLAB 7.01 引言本课程设计主要是对一段语音信号,进行加噪后,用某种函数法设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理,并且分析对比前后时域和频域波形的程序设计。

1.1 课程设计目的在此次课程中主要的要求是用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用汉宁窗设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。

与不同信源相同滤波方法的同学比较各种信源的特点,与相同信源不同滤波方法的同学比较各种滤波方法性能的优劣。

通过此次课程设计,我们能够学会如何综合运用这些知识,并把这些知识运用于实践当中,使所学知识在综合运用能力上以及分析问题、解决问题能力上得到进一步的发展,让自己对这些知识有更深的了解。

通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神。

1.2课程设计的要求(1)滤波器指标必须符合工程实际。

(2)设计完后应检查其频率响应曲线是否满足指标。

(3)处理结果和分析结论应该一致,而且应符合理论。

(4)独立完成课程设计并按要求编写课程设计报告书。

1.3 工作平台简介课程设计的主要设计平台式MATLAB 7.0。

语音滤波器设计

语音滤波器设计

长沙学院课程设计题目语音信号滤波器的设计说明书系(部) 电信系专业(班级) 电气工程及其自动化姓名学号指导教师起止日期2012.12.10-2012.12.16设计任务(一)设计目的模拟电子技术课程设计是一门独立设课、有独立学分的实践性课程,同“模拟电子技术”理论讲授课程有密不可分的关系,起着相辅相成的作用,也是在“模拟电子技术实验”课的基础上,进一步深化的实践环节。

其主要目的是通过本课程,培养、启发学生的创造性思维,进一步理解电子系统的概念,掌握小型模拟电子系统的设计方法,掌握小型模拟系统的组装和调试技术,掌握查阅有关资料的技能,基本任务是设计一个小型模拟电子系统。

(二)设计要求和技术指标1、技术指标:截止频率Hz f H 2000=,Hz f L 200=,4=V A ,阻带衰减速率为倍频10/40dB - 2、设计要求(1) 设计一个能满足要求的二阶有源滤波电路; (2) 要求绘出原理图,并用Protel 画出印制板图;(3) 根据设计要求和技术指标设计好电路,选好元件及参数; (4) 在万能板或面包板或PCB 板上安装好电路并调试;(5) 测量滤波器的性能参数:截止频率、带内增益V A 和阻带衰减速率; (6) 用EWB 对电路仿真,并打印出幅频特性和相频特性曲线; (7) 拟定测试方案和设计步骤; (8) 写出设计性报告。

(三)设计提示1、电路可采用一级二阶低通与一级二阶高通滤波电路级联;(四)设计报告要求1、选定设计方案;2、拟出设计步骤,画出电路,分析并计算主要元件参数值;3、列出测试数据表格。

(五)设计总结1、总结有源滤波器的设计方法和运用到的主要知识点;2、总结有源滤波器性能参数的测试方法。

长沙学院课程设计鉴定表目录第1章绪论................................................... - 0 -1.1滤波器简介.............................................. - 0 -1.2 本人工作............................................... - 1 - 第2章滤波器的传输函数与性能参数 ................ 错误!未定义书签。

FIR数字低通滤波器的(汉宁)窗函数法设计

FIR数字低通滤波器的(汉宁)窗函数法设计

)(9cos 15.0)(12cos 15.0)(1919n R n n R N n n w ⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--=ππ2.3进行语音信号的采集(1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开Window s系统中的录音机软件。

如图1所示。

图1 wi ndows 录音机(2)用麦克风录入自己的声音信号并保存成wav 文件。

如图2所示。

图2 保存文件保存的文件按照要求如下:① 音信号文件保存的文件名为“y uxueji ao.wav ”。

②语音信号的属性为“8.000KH z,8位,单声道 7KB /秒” ,其它选项为默认。

2.4语音信号的分析将“yu xuejiao .wav ”语音文件复制到计算机装有Ma tlab 软件的磁盘中相应Mat lab目录中的“work ”文件夹中。

打开Matlab 软件,在菜单栏中选择“File ”-图3语音信号的截取处理图在图3中,其中第一个图为原始语音信号;第二个图是截短后的信号图。

图4频谱分析图其中第二个图是信号的FFT 结果,其横坐标的具体值是X (k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循DFT 定义式和频率分辨率求得的:∑-===10)()]([)(N n k N W n x n x DFT k X π当k等于0时, 020j kn Njk knNe eW ==⋅-=π,从数字角频率上看,对应的正好是0=ω即直流的位置,也就是说,在取滤波频段时,当将主要能量(即红色框的部分)保留,其余频段部分的信号滤除。

)]([)(n x DFT k X =相当于是信号)(n x 的实际频谱)]([)(n x DFT ej X w =采样,而)(n x 又是连续时间语音信号)(t x 的采样。

)(k X 的每两个相邻取值之间的频率间隔大小对应到语音信号)(n x 的频谱中去,其频率间隔大小正好是采样结果的长度采样速率===∆L f f f s det f ∆称频率分辨率,其中Hz f s 8000=,10000=L ,p2=sum(s2.^2)-sum(s1.^2);SNR1=10*log10(p1/p2);p3=sum(s4.^2)/8000;p4=sum(s3.^2)/8000-sum(s4.^2)/8000;SNR2=10*log10(p3/p4);2.6 噪声叠加图5 语音信号与加噪声后语音信号对比图五为语音信号与加噪声后语音信号对。

基于dsp的语音采集及滤波器设计

基于dsp的语音采集及滤波器设计

基于DSP的语音采集与FIR滤波器的设计与实现摘要: 介绍了一种基于TMS320C5402的语音采集与FIR数字滤波器的设计与实现, 采用TLC320AD50作为语音CODEC模块的核心器件, 简述了FIR数字滤波器的特点,以及其在DSP上实现的原理。

利用TMS320C5402对采集到的语音信号进行FIR滤波, 该系统具有较强的数据处理能力和灵活的接口电路,能够满足语音信号滤波的要求, 可以扩展为语音信号处理的通用平台.关键词: 语音采集; FIR滤波器; TMS320C5402数字信号处理是把数字或符号表示的序列, 通过计算机或专用处理设备, 用数字的方式去处理, 以达到更符合人们要求的信号形式。

而语音处理是数字信号处理最活跃的研究方向之一, 在IP电话和多媒体通信中得到广泛应用. 一个完备的语音信号处理系统不但要具有语音信号的采集和回放功能, 还要能够进行复杂的语音信号分析和处理。

通常这些信号处理算法的运算量很大, 而且又要满足实时的快速高效处理要求, 随着DSP技术的发展, 以DSP为内核的设备越来越多, 为语音信号的处理提供了优质可靠的平台. 软件编程的灵活性给很多设备增加不同的功能提供了方便, 利用软件在已有的硬件平台上实现不同的功能已成为一种趋势。

本文设计了一个语音处理系统, 采用定点DSP芯片TMS320C5402作为CPU, 完成对语音信号的采集和滤波处理.1 语音采集系统的设计1. 1 系统总体设计语音采集与处理系统主要包括3个主要部分: 以TMS320C5402 为核心的数据处理模块; 以TLC320AD50为核心的语音采集与编解码( CODEC)模块; 用户根据需要扩展的存储器模块. 系统硬件结构如图1所示.1. 1. 1 CODEC模块本设计选用TLC320AD50( 以下简称AD50) 完成语音信号的A/ D转换和D/ A转换. AD50是TI公司生产的一款集成有A/ D和D/ A的音频芯片, DSP与音频AD50连接后, 可使用一个缓冲串行口来同时实现语音信号的采集和输出, 从而可以节省DSP的硬件开销. AD50使用过采样技术提供从数字信号到模拟信号和模拟信号到数字信号的高分辨率低速信号转换. 该器件包括2个串行的同步转换通道, 分别用于各自的数据传输. 语音信号直接从AD50的模拟信号输入端输入, AD50对其进行采样, 并将采样后的数据传送至DSP. DSP应用相应的算法对数据进行处理, 并将处理后的数据传送到AD50的D/ A输入端. AD50再对DSP处理后的数据进行数模转换, 变为语音信号后输出到音响设备.本系统中TLC320AD50与TMS320C5402之间采用串行通信, 通过DSP芯片的MCBSP串口实现.接口电路如图2所示.1. 1. 2 MCBSP的工作原理TMS320C5402有2个McBSP 多通道缓存串行口. McBSP提供了全双工的通信机制, 以及双缓存的发送寄存器和三缓存的接收寄存器, 允许连续的数据流传输, 数据长度可以为8、12、16、20、24、32; 同时还提供了A律和L律压扩. 数据信号经DR和DX引脚与外设通讯, 控制信号则由CLKX、CLKR、FSX、FSR等4个引脚来实现[ 4]. CPU和DMA控制器可以读取DRR[ 1, 2] 的数据实现接收, 并且可以对DXR[ 1, 2] 写入数据实现发送. 串行口控制寄存器SPCR[ 1, 2] 和引脚控制寄存器PCR用来配置串行口; 接收控制寄存器RCR[ 1, 2] 和发送控制寄存器XCR[ 1, 2]用来设置接收通道和发送通道的参数; 采样率发生器寄存器SRGR[ 1, 2] 用来设置采样率. TMS320C5402芯片串口控制寄存器功能强大, 用户通过编程不但可以设置时钟信号的极性及输入输出方向, 还可以设置同步信号的极性及输入输出方向.1. 1. 3 AD50与DSP的同步通信在应用中, 将TLC320AD50C接至DSP的同步串口, 并将TLC320AD50设置在主动工作模式下, 即由TLC320AD50 提供帧同步信号和移位时钟,TMS320C5402的管脚电压为3. 3V, 可以与AD50直接相连. 串口的移位时钟SCLK由AD发出, 串行数据在SCLK的驱动下经DIN、DOUT 移进、移出, 在SCLK的下降沿采样DIN 数据, 在SCLK下降沿送出数据到DOUT. XF控制首次或二次通信, XF为低时是AD50的首次通信, 是正常的AD、DA的数据; XF为高时是AD50的二次通信, 这时可以读写AD50的4个寄存器. 进入二次通信有软件的方法, 即把AD50设为15+1位数据模式, 最后一位标记下一个数据是否为二次通信数据, 1表示是, 0表示否.一次通信格式的16位都用来传输数据. DAC的数据长度由寄存器1的D0位决定. 启动和复位时, 默认值为15+ 1模式, 最后一位要求二次通信. 如果工作在16位传输模式下, 则必须由FC产生二次通信请求. 二次通信格式则用来初始化和修改TLC320AD50C内部寄存器的值. 在二次通信中可通过向DIN写数据来完成初始化.二次通信格式如图3所示, D13= 1表示读DIN的数据, D13= 0表示向DIN 写数据.系统复位后, 必须通过DSP 的DX接口向TLC320AD50C的DIN 写数据, 因为采用一片TLC320AD50C, 只需初始化寄存器1、寄存器2、寄存器4. 由于通信数据长度为16位, 初始化是应通过RCR1和XCR1设置McBSP的传输数据长度为16.2 语音采集语音信号的采集, 是通过话筒经模拟放大输入到AD50, AD50作相应的低频滤波并进行A/ D转化, 再通过MCBSP通道输入DSP芯片. 语音信号采集程序包括以下几个部分:( 1) DSP初始化. 对DSP的寄存器以及缓冲串口进行初始化.( 2) AD50初始化. 通过DSP的缓冲串口和XF引脚对AD50进行初始化, 再设置AD50的4个控制寄存器; 确定AD50的4个控制寄存器设置正确后,AD50才能开始采集数据. 此时, 可以用示波器检测AD50的DOUT引脚, 能发现引脚是否有连续的信号输出.( 3) 设置DSP的中断, 从缓冲串口读取数据. 如果此时在缓冲串口连续读取数据, 就可以在仿真软件CCS中查看读取的数据是否正确.( 4) DSP存放数据. 可以将缓冲串口读取的数据存放到DSP的RAM单元, 连续存放, 可通过CCS的图形显示功能判断AD50采样的数据是否正确.3 语音滤波语音去噪在语音信号上应用较多, 在实质上和普通的数字信号去噪没有什么区别, 使用滤波器和各种算法均可以实现语音信号的去噪, 使得含有噪声的信号更加清晰. 但语音信号的去噪和一般的数字信号去噪又存在着很大的差别, 因为语音信号的频谱覆盖在100Hz~3. 4kHz, 较为丰富的信号主要集中在1kHz 附近, 所以一般的滤波去噪时必须考虑语音信号的自身特征.本系统中应用的AD50内置了低通滤波器, 可以通过设置来有效滤除信号中混杂的高频干扰信号, 而对于低于100Hz的干扰信号, 则无能为力. 因此, 要用DSP进行编程设计一个软件可实现高通滤波器, 由处理器来完成信号的去噪, 采用FIR滤波.3.1 FIR滤波器的基本结构及特点有限冲激响应( FIR)滤波器的基本结构是一个分节的延时线, 把每一节的输出加权累加, 得到滤波器的输出. 数学上表示为y(n) =EN-1n=0h(n)x(n-m), (0[ n[ N- 1) (1) 对(1)式进行Z变换, 整理后可得出FIR滤波器的传递函数为H(z) = EN-1n=0h(n)z-n, (0[ n[ N- 1) (2)由( 2)式可知FIR滤波器的一般结构如图1所示.图1 FIR数字滤波器直接实现形式3.2 FIR滤波器的DSP实现原理由( 1)式可知, FIR滤波器的冲激响应为h(0), h(1), ,, h(N- 1). x(n)表示滤波器在n时刻的输入, 则n时刻的输出为y(n) = h(0)x(n) +h(1)x(n- 1) + ,+ h(N- 1)x[ n- (N- 1) ],这是一个乘、加的过程, 可以使用DSP中的MAC 指令实现该运算. 图2说明了使用循环寻址实现FIR滤波器的方法. 为了能正确使用循环寻址, 必须先初始化BK, 块长为N. 同时, 数据缓冲区和冲激响应( FIR滤波器的系数)的开始地址必须是大于N的2的最小幂的倍数. 例如, 当N= 11时, 大于N的最小2的幂为16, 则数据缓冲区的第一位地址应该是16的倍数, 因此数据缓冲区起始地址的最低4位必须是0.在图2中, 滤波系数指针初始化时指向h(N- 1), 经过一次FIR滤波计算后, 在循环寻址的作用下,仍然指向h(N- 1). 而数据缓冲区指针指向的是需要更新的数据, 如x(n). 在写入新数据并完成FIR运算后, 该指针指向x(n- (N- 1)) , 所以, 使用循环寻址可以方便地完成滤波窗口数据的自动更新.4 FIR滤波器设计实例给定FIR数字带通滤波器的技术指标为: 2个通带截止频率分别为4kHz和6kHz, 2个阻带截止频率分别为3kHz和7kHz, 采样频率均为25kHz. 输入为一个混合信号f = [ cos(2000Pt) + cos(10000Pt) + cos(20000Pt)] /6,利用Matlab设计FIR带通滤波器的系数, 将得到的滤波器系数乘以32768(即215)后舍尾取整可得DSP中滤波器系数列表. 用. word汇编命令将各滤波器系数直接输入到DSP程序中; 模拟输入数据由C语言程序实现, 然后用. copy命令将C语言程序生成的数据文件firinput拷贝到DSP程序中. DSP程序实现读入数据、滤波、显示波形等方面的任务. 完成FIR滤波器的程序框图如图3所示, 可知FIR滤波器的DSP实现主要由以下4方面的内容组成.4.1 模拟输入数据的生成用C语言程序生成输入数据, 通过. copy汇编命令将生成的数据文件拷贝到汇编程序中, 作为FIR滤波器的输入数据. C语言程序运行后所生成的数据文件名为firinpu,t 生成firinput数据文件的C语言程序如下所示:#include"stdio. h"#include"math. h"main( ){int ;idouble f[ 256];FILE*fp;if( ( fp= fopen( "e: \ \ firinput", "wt") ) = =NULL){printf( "canct openfile! \n");}for( i=0; i< =255; i++ ){f[ i] =( cos( 2* 3. 14159265* *i 1000/25000) + cos( 2* 3. 14159265* *i 5000/25000) +cos( 2* 3. 14159265* *i 10000/25000) ) /6;fprintf( fp, " . word %ld\n", ( long) ( f[ i]* 32768) );}fclose( fp);}4.2 DSP初始化程序 DSP初始化程序包括了对堆栈指针( SP)、软件等待状态寄存器( SWWSR)、中断寄存器( IFR)、中断屏蔽寄存器( IMR)以及处理器工作状态寄存器( PMST)的初始化; 另外还对各变量赋值, 具体的程序如下: . def _c_int00. mmregsswcr . set 2bht_ar2 . set 066ht_ar3 . set 067hout_wave_buf . set 0d00hdata_in . set 0f00hN . set 51fir_coef_buf . set 100hfir_data . set 200h. textrs b_c_int00_c_int00:stm#2020h, pmstssbx intmssbx sxmssbx frctstm #10h, 26hstm #10h, 36hstm #0ffh, spld #0, dpstm #0ffffh, ifrstm #20h, imrstm #02492h, swwsrstm #0, swcr可看出, FIR滤波器的系数列表将存在100h开始的单元中, 输入数据将存在200h开始的单元中, 而输出数据将存在0d00h开始的单元中.4.3 滤波系数以及输入数据的调入由于滤波器系数一开始是存在程序存储器中, 输入数据则是存在程序外的文件中, 程序对这2组数据进行处理时, 需要把两者都调到数据存储器中, 具体实现程序如下:stm #fir_data, ar6rpt #255mvpd #inpu,t*ar6+stm #fir_coef_bu,f ar6rpt #N-1mvpdfir_coe,f*ar6+stm #fir_coef_bu,f t_ar2stm #fir_data, t_ar3这段程序实现的是把输入数据调到以200h开始的单元, 而把滤波系数调到从100h开始的单元.4.4 滤波子程序一次滤波的过程实质上就是对2组数进行有规律的乘加计算, 具体程序如下:fir:mvdm #t_ar2, ar2 ; 将起始滤波系数地址100h 赋给ar2mvdm #t_ar3, ar5 ; 将起始输入数据地址200h 赋给ar5stm #data_in, ar3 ; ar3=0f00hstm #255, brc ; 定义块循环次数rptbdloop-1 ; 定义块循环结束地址stm #N, bk ; 定义循环缓冲器大小ld *ar5+, a ; 将新数据读到累加器a中 stl a,*ar3+% ; 将新数据读入栈顶rptz a, #(N-1) ; 定义循环次数, 之前先将a累加器清0mac *ar2+0%,*ar3+0%, a ; a=ar2*ar3+a, 每完成一次计算ar2、ar3 ; 指针所对应地址+1sth a, * ar6+ ; 将计算结果保存输出loop这个程序段将重复执行256次, 从而实现对于数据的读入、处理、输出等功能.5 结语本文介绍了一个实时数据采集处理系统的设计和实现, 系统以DSP芯片和TLC320AD50芯片为核心,有很强的数据处理能力和灵活的外围接口电路, 实验证明, 可较好地实现语音的滤波. 该系统可扩展为3G手机语音识别系统, 也可以作为语音信号处理算法研究和实时实现的通用平台参考文献: :[ 1] 邹彦. DSP原理及应用[ M]. 北京:电子工业出版社, 2005.[2] 乔瑞萍, 崔涛,张芳娟. TMS320C54x原理及应用[M].西安: 西安电子科技大学出版社, 2005.[3] 黄海波, 蒋伟荣. 通用语音处理系统的DSP实现[ J] . 微计算机信息, 2006,22( 5) :173- 175.[4] 张勇, 曾炽祥,周好斌. TMS320C5000系列DSP汇编语言程序设计[M]. 西安:西安电子科技大学出版社, 2004.[ 5] 卢山, 田野,郭黎利. 利用DSP技术实现FIR滤波器[ J]. 应用科技, 2002, 29( 11): 19-21.[ 6] 张伟利, 朱煜. FIR滤波器在TMS320C5402中的实现[ J].微处理机, 2005( 2): 4- 6.。

语音信号的数字滤波处理课设.

语音信号的数字滤波处理课设.

1.1 课题背景数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。

对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。

根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR 和FIR对语音滤波的效果。

1.2 课题要求1.掌握数字信号处理的基本概念,基本理论和基本方法。

2.熟悉离散信号和系统的时域特性。

3.掌握序列快速傅里叶变换方法。

4.学会MATLAB的使用,掌握MATLAB的程序设计方法。

5.掌握利用MATLAB对语音信号进行频谱分析。

6.掌握滤波器的网络结构。

2 课程设计预习与原理2.1 卷积运算的演示2.1.1 线性卷积序列x1(n)=[2 0 1 2 5 7 0 5 0 2 0 3],序列x2(n)=[2 0 0 1 0 1 1 0]。

动态演示两个序列进行线性卷积x1(n)﹡x2(n)的翻转、移位、乘积、求和的过程。

其中翻转采用fliplr,程序如下:n=-7:18;M=17;yn=zeros(1,19);figure(1)stem(yn);xlabel('n')ylabel('y(n)')xn1=[2 0 1 2 5 7 0 5 0 2 0 3];xm1=[zeros(1,7) xn1 zeros(1,7)];%为26个数字的矩阵figure(2)stem(n,xm1)xlabel('m')ylabel('x1(m)')xn2=[2 0 0 1 0 1 1 0];xm2=[fliplr(xn2) zeros(1,18)]; %移位,补零为26个数字的矩阵figure(3)stem(n,xm2)xlabel('m')ylabel('x2(N-m)')title('n=0')yn(1)=sum((xm1.*xm2)');%对xm1与xm2进行对应原素乘方之后进行数组转置,求和;即为求卷积figure(4)stem(yn)xlabel('n')ylabel('y(n)')title('n=N')for N=1:17xm3=[zeros(1,N) fliplr(xn2) zeros(1,M)];figure();stem(n,xm3)xlabel('m')ylabel('x2(N-m)')title('n=N')M=M-1;yn(N+1)=sum((xm1.*xm3)');figure()stem(yn)xlabel('n')ylabel('y(n)')title('n=N')endxm3=[zeros(1,18) fliplr(xn2)]figure()stem(xm3)xlabel('m')ylabel('x2(N-m)')title('n=N');yn(19)=sum((xm1.*xm3)');figure()stem(yn)xlabel('n')ylabel('y(n)')2.1.2循环卷积序列x1(n)=[2 0 1 2 5 7 0 5 0 2 0 3],序列x2(n)=[2 0 0 1 0 1 1 0],N=12。

课程设计--- 设计切比雪夫I型低通滤波器

课程设计--- 设计切比雪夫I型低通滤波器

课程设计设计题目设计切比雪夫I型低通滤波器课程名称数字信号处理课程设计姓名/班级学号0809121094________________________ 指导教师目录一、引言 (3)1.1 课程设计目的 (3)1.2 课程设计的要求 (3)二、设计原理 (4)2.1 IIR滤波器 (4)2.2 切比雪夫I型滤器 (5)2.2.1 切比雪夫滤波器简介 (5)2.2.2切比雪夫滤波器原理 (5)2.3 双线性变换法 (7)三、设计步骤 (8)3.1设计流程图 (8)3.2语言信号的采集 (9)3.3语音信号的频谱分析 (10)3.4滤波器设计 (12)3.5完整的滤波程序及滤波效果图 (14)3.6结果分析 (18)四、出现的问题及解决方法 (18)五、课程设计心得体会 (18)六、参考文献 (19)摘要随着信息和数字时代的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。

在现代通信系统中,由于信号中经常混有各种复杂成分,因此很多信号的处理都是基于滤波器而进行的。

所以,数字滤波器在数字信号处理中起着举足轻重的作用。

而数字滤波器的设计都要以模拟滤波器为基础的,这是因为模拟滤波器的理论和设计方方法都已发展的相当成熟,且有典型的模拟滤波器供我们选择。

如切比雪夫滤波器。

本次课程设计将运用MATLAB设计一个基于切比雪夫低通滤波器,并出所设计滤波器的幅度及幅度衰减特性。

关键词:模拟低通滤波切比雪夫一、引言用麦克风采集一段8000Hz,8k的单声道语音信号,绘制波形并观察其频谱,给定通带截止频率为2000Hz,阻带截止频率为2100Hz,通带波纹为1dB,阻带波纹为60dB,用双线性变换法设计的一个满足上述指标的切比雪夫I型IIR滤波器,对该语音信号进行滤波去噪处理。

1.1 课程设计目的《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB的结合后的基本实验以后开设的。

本课程设计的目的是为了让学生综合数字信号处理和MATLAB并实现一个较为完整的小型滤波系统。

语音滤波器课程设计原理

语音滤波器课程设计原理

语音滤波器课程设计原理一、课程目标知识目标:1. 学生能理解语音滤波器的基本原理,掌握其工作流程。

2. 学生能描述不同类型的滤波器特性,并解释其在语音信号处理中的应用。

3. 学生能够解释频率响应、相位响应以及群延迟等概念,并分析它们在滤波器设计中的重要性。

技能目标:1. 学生能够运用所学的滤波器设计原理,使用计算机软件或编程工具设计简单的语音滤波器。

2. 学生能够通过实验或模拟,验证滤波器设计的效果,并对设计进行优化。

3. 学生能够通过小组合作,有效沟通和协作,共同完成滤波器的设计和测试。

情感态度价值观目标:1. 培养学生对电子学及信号处理的兴趣,激发他们探索科学技术的热情。

2. 培养学生面对问题时的分析能力和解决问题的耐心,增强他们面对困难的自信心。

3. 培养学生的团队协作意识,提高他们在团队中交流和贡献的能力。

课程性质:本课程属于电子技术与实践领域,结合理论教学与实验操作,注重培养学生的动手能力和实际问题解决能力。

学生特点:考虑到学生为高中年级,已有一定的物理和数学基础,对电子元件和电路有初步了解,课程设计需把握知识深度,同时注重实践性。

教学要求:教学应结合理论讲解与实验演示,通过互动提问和小组讨论,促进学生的理解和应用。

评估应基于学生在设计、实验和小组合作中的具体表现。

二、教学内容1. 语音信号处理基础:回顾语音信号的特性,包括频率范围、幅度和噪声等基本概念。

2. 滤波器原理:介绍滤波器的定义、作用以及分类(如低通、高通、带通、带阻滤波器)。

- 理解不同类型滤波器的频率响应特性。

- 掌握滤波器的传递函数及其数学表达。

3. 滤波器设计方法:- 学习基于模拟滤波器的原型设计,如巴特沃斯、切比雪夫和贝塞尔滤波器。

- 了解数字滤波器的设计,包括脉冲响应不变法和双线性变换法。

4. 实践操作:- 使用软件工具(如MATLAB/Simulink)进行滤波器设计和仿真。

- 通过实验验证滤波器的性能,包括频率响应测试和实际语音信号的滤波处理。

语音信号处理与FIR IIR滤波器

语音信号处理与FIR IIR滤波器

数字信号处理课程设计10电子信息科学与技术赵祎10380051一、实验目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法;2.掌握在Windows环境下语音信号采集的方法;3.掌握数字信号处理的基本概念、基本理论和基本方法;4.掌握MATLAB设计FIR和IIR数字滤波器的方法;5.学会用MATLAB对信号进行分析和处理。

二、实验原理参考《数字信号处理》教材,MATLAB的signal processing toolbox.三、主要实验仪器及材料微型计算机、Matlab软件。

四、实验内容(一).语音信号的采集及频谱分析使用windows的录音功能或其他软件录制一段话音,时间控制在5秒左右。

然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。

通过wavread函数的使用,要求理解采样频率、采样位数等概念。

在录制的语音信号中加入高斯白噪声。

对于无高斯白噪声影响和有高斯白噪声影响的语音信号:画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数FFT对信号进行快速傅里叶变换,得到信号的频谱特性。

(二)设计FIR和IIR数字滤波器并滤波基于FIR(滤波器窗函数法,包括Hamming窗、Kaiser窗)和IIR(双线性变换法设计巴特沃兹滤波器、切比雪夫滤波器I型滤波器)的设计方法,分别设计以下三种数字滤波器,根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz,As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=2800 Hz,fp=3000 Hz As=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB,Ap=1dB。

利用MATLAB软件工具,设计上面要求的三种滤波器:第一步、设计出各数字滤波器并画出滤波器的频率特性曲线;第二步、比较FIR和IIR两种滤波器的性能,在FIR滤波器和IIR滤波器中分别选择性能好的一项,然后用各滤波器分别对采集的语音信号进行滤波。

基于IIR的语音信号滤波器的设计

基于IIR的语音信号滤波器的设计

基于IIR的语音信号滤波器的设计作者:李奇英彭森来源:《卷宗》2015年第11期摘要:由于FIR数字滤波器设计较为复杂,成本较高,本文设计了一种IIR数字低通滤波器。

IIR数字滤波器是借助于模拟滤波器的设计方法进行的,为了避免设计过程中由脉冲响应不变法带来的频谱混叠想象,本文通过采用双线性变换法进行设计。

关键词:MATLAB;频谱分析;IIR数字低通滤波器1. 引言语音信号的数字滤波就是利用快速傅里叶变换FFT对语音信号进行频谱分析,利用分析得到的指标设计数字滤波器,将不需要的部分通过设计好的数字滤波器滤除掉,以达到优化语音的目的。

数字信号处理(简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科。

数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。

数字信号处理是以众多学科为理论基础,它所涉及的范围极其广泛。

如数学领域中的微积分、概率统计、随机过程、数字分析等都是数字信号处理的基础工具。

它与网络理论、信号与系统、控制理论、通信理论、故障诊断等密切相关。

本文设计的是IIR数字低通滤波器,IIR数字滤波器幅频特性精度很高,不是线性相位的。

在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。

由于对语音信号的延时效果没有限制。

2. 设计的方案图1为本设计的总体方案图。

本设计通过DSP处理器控制TLC320AD50采集音频信号,在CCS软件中分析音频信号的频谱图,使用Matlab设计相应的IIR数字滤波器(低通、带通或带阻等滤波器中的一种)并得到滤波器H(z)的系数,然后根据这些系数,编写DSP程序(C语言或汇编)对已采集信号进行处理,最后在CCS软件中得到处理后音频信号的频谱图,比较滤波前后信号的频谱图。

数字信号处理课程设计-语音信号的数字滤波——fir数字滤波器的(汉宁)窗函数设计[管理资料]

数字信号处理课程设计-语音信号的数字滤波——fir数字滤波器的(汉宁)窗函数设计[管理资料]

语音信号的数字滤波——FIR数字滤波器的(汉宁)窗函数设计设计题目:语音信号的数字滤波——FIR数字滤波器的(汉宁)窗函数设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。

并能够对设计结果加以分析。

二、设计步骤⑴按“开始->程序->附件->娱乐->录音机”的顺序操作打开Windows系统中的录音机软件⑵用麦克风录入自己的声音信号并保存成文件(语音信号的长度不得少于1秒)⑶记录以下内容:语音信号文件保存的文件名为“”、格式PCM,8位,单声道,如图1和图2所示。

语音信号的采样速率为8000Hz/s。

图1语音信号的采集图2 原始语音信号⑴将上一步骤中保存下来的语音信号文件“*.wav”复制到计算机装有Matlab 软件的磁盘中相应Matlab目录中的“work”文件夹中⑵双击桌面上Matlab软件的快捷图标,打开Matlab软件⑶在菜单栏中选择“File->new->M-File”或是点击快捷按钮,打开m 文件编辑器⑷在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台。

程序部分首先用语音文件将自己的录音导入,指令为wavread(),本设计中为waveread(’’),然后将处理后的语音信号导出,指令为:wavwrite(‘’);本设计中录入的是单声道语音。

一般情况下录入的双声道语音信号中()右导入交保存为变量后,其变量应当是一个二列的二维数组,其中每一列对应一个声道,数组的行数等于采样速率与时间的乘积(即单声道的采样点数);本课程设计过程中的语音原始信号存为“”;截短后的输出语音为:“”;叠加噪声后的语音为“”。

具体程序段见小标题⑹,频谱分析如下图3。

图3截短后语音信号的时域和频域波形如上图3所示,上面的图是原始声音截去大部分空白后的截短语音,这样有利于频谱分析;中间的图是截短后的声音在频域的分析,首先对语音进行采样,采样频率大于信号最高频率的2倍即可。

毕业设计122广西工学院语音信号的处理与滤波论文

毕业设计122广西工学院语音信号的处理与滤波论文

语音信号的处理与滤波摘要:本文介绍了一种基于语音信号的处理及滤波器的设计和实现,为帮助学生理解与掌握课程中的基本概念、基本原理、基本分析方法,提出了用Matlab 进行数字信号处理课程设计的思路,并阐述了课程设计的具体方法、步骤和内容。

综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB 或者DSP开发系统作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。

此外,系统实现了对语音信号处理的整体过程,并将采集到的数据传输到基于Matlab-GUI 界面设计的滤波器系统中进行分析、处理、频谱分析、显示和储存。

关键字: 语音信号;MATLAB ;信号分析;FIR ;IIR ;图形用户界面(GUI )一、开发工具说明MATLAB 是MathWorks 公司于1982年推出的一套高性能的数值计算和可视化数学软件,被誉为“巨人肩上的工具”。

MATLAB 的含义是矩阵实验室(MATRIX LABORATORY )。

经过十几年的完善和扩充,它已发展成为线性代数课程的标准工具。

在美国,MATLAB 是大学生和研究生必修的课程之一。

美国许多大学的实验室都安装有MATLAB ,供学习和研究之用。

它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。

在这个环境下,对所要求解的问题,用户只需要简单地列出数学表达式,其结果便以数值或图形方式显示出来。

MATLAB 中包括被称作工具箱(TOOLBOX )的各类应用问题的求解工具。

它可用来求解各类学科的问题,包括信号处理、图像处理、控制系统辨识、神经网络等。

随着MATLAB 版本的不断升级,其所含的工具箱的功能也越来越丰富,因此应用范围也越来越广泛,成为涉及数值分析的各类设计不可或缺的工具。

近年来,随着MATLAB 和SIMULINK 及其相关工具箱的不断晚上和发展,它们已经成为专家学者和工程技术人员不可缺少的助手。

语音信号的滤波处理

语音信号的滤波处理

语音信号的滤波处理胡勇200921011003一、概述语音信号的滤波处理是数字信号处理领域目前发展最为迅速的信息科学研究领域的核心技术之一,通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。

简单的语音信号滤波处理的基本流程如下框图:二、语音信号预处理(一)信号采样利用麦克风录制一段语音1,在MATLAB中,利用函数wavread.m将其转化为数字向量,并使用函数sound.m进行处理前声音回放,以便比对。

(二)频率确定人的语音信号频率一般集中在200 Hz到4.5 kHz之间,通过将信号从时域到频域的变换,以确定语音信号频率实际范围,来决定滤波器的设计类型。

若噪声为加性的,采用简单的频谱分析即可确定语音信号频率范围;但若噪声为乘性的或卷积性的,则需利用倒谱进行分析,此时采用同态滤波器(homomorphic filtering),即广义线性滤波器的基本思路来去噪。

如Figure 1频谱图所示,该语音信号中人的语音频率主要集中在0—700Hz 之间,而相对的大于700Hz的几个凸起则为噪声;在倒谱图中,除开始和结束1语音文件可从/u/ish?uid=1713628781处获得,信号采样频率为11025Hz,采样大小8Bit,单声道.有一定的卷积性噪声影响外,其他时间可以确定为加性噪声的影响。

三、滤波器设计数字滤波器(Digital Filter)根据幅频特性所表示的通过或阻止信号频率范围的不同,滤波器可分为四种,即低通(LP, Low Pass)、高通(HP, High Pass)、带通(BP, Band Pass)和带阻(BS ,Band Stop)滤波器。

一般而言,大多数噪声都存在于高频部分。

本文拟采用Butterworth滤波器,Chebyshev I型滤波器,窗函数,Chebyshev 一致逼近法等设计的滤波器进行除噪处理。

(一) Butterworth滤波器信号频率集中在0—700Hz之间,于是将低通滤波器技术要求,定为通带截止频率为700Hz,阻带下限截止频率为1000Hz,通带衰减为0.25dB,阻带衰减为50dB。

基于Matlab的语音信号滤波器的设计与实现

基于Matlab的语音信号滤波器的设计与实现

0 -2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5 x 10
4
仿真结果输出及结论
• 滤波后的输出波形明显在对应时间幅度比原语音加噪声信号的要小,
而且滤波的效果也与滤波器的选择有关,可以看出滤波器的性能差 异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以 发现滤波前后的声音有变化.低通滤波后,已很接近原来的声音,人耳 几乎辨别不出 。从频谱图中我们还可以看出声音的能量信号主要集 中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。
0 0.5 1 1.5 2 2.5 x 10
4
4 2 0
10 5 0
0
0.5
1 Hz
1.5
2
2.5 x 10
4
FIR带 通 滤 波 器 的 频 率 响 应
FIR低 通 滤 波 器 的 频 率 响 应 100
100
Magnitude (dB)
Magnitude (dB)
0
0
-100
-100
-200
-200
计滤波器对其进行滤波处理,对话音信号加噪声前后的频谱进行比 较分析,对合成语音信号滤波前后进行频谱的分析比较。
设计仿真过程
• 设计流程框图 • 滤波器的技术指标 • 设计源程序
流 程 框 图
原始信号时域波形图 1
1 加噪前的信号
0.5
0.5
fuzhi n
0 x 10
4
0 -0.5 -1
0 -0.5
-200
-2
0 x 10
4
2
4
6
8
10

语音信号滤波去噪——使用FLATTOP窗设计的线性相位型FIR滤波器

语音信号滤波去噪——使用FLATTOP窗设计的线性相位型FIR滤波器

语音调用及加入噪声干扰代码:
[x,fs,bits]=wavread('E:\gyl.wav'); % 输入参数为文件的全路径和文件名, 输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率, bits是波形文件每样本的编码位数。 sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放 N=length(x); % 计算信号x的长度 fn=2200; % 单频噪声频率,此参数可改 t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率 x=x'; y=x+0.1*sin(fn*2*pi*t); sound(y,fs,bits); % 应该可以明显听出有尖锐的单频啸叫声 X=abs(fft(x)); Y=abs(fft(y)); % 对原始信号和加噪信号进行fft变换,取幅 度谱 X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分 deltaf=fs/N; % 计算频谱的谱线间隔 f=0:deltaf:fs/2-deltaf; % 计算频谱频率范围
FIR滤波器图像
带阻滤波器设计指标: fpd=500;fsd=2150;fsu=2250;fpu=3900;Rp=1;As=100;
滤波代码:
y_fil=filter(h_bs,1,y);% 用设计好的滤波器对y 进行滤波 Y_fil=fft(y_fil);Y_fil=Y_fil(1:N/2); % 计算频谱 取前一半
干扰前后信号时域图与频谱图的比较
单频噪声频率f=2200HZ
滤波器设计代码:
fpd=500;fsd=2150;fsu=2250;fpu=3900;Rp=1;As=100;% 带阻滤波器设计指标 fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min((fsd-fpd),(fpu-fsu));fs=8000; % 计算上下边带中心频率,和频率间隔 wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; % 将Hz为单位的模拟频率换算为rad 为单位的数字频率 wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi; M=ceil(19.6*pi/dw)+1; % 计算窗设计该滤波器时需要的阶数 n=0:M-1; % 定义时间范 围 w_par=(Flattopwin (M)); % 产生M阶的Flattopwin窗 hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M);% 调用自编函数计算理想带 阻滤波器的脉冲响应 h_bs=w_par'.*hd_bs; % 用窗口法计算实际滤波器脉冲响应 [db,mag,pha,grd,w]=freqz_m(h_bs,1);% 调用自编函数计算

语音信号谱分析及去噪处理

语音信号谱分析及去噪处理

实验三:语音信号谱分析及去噪处理1、实验目的(1)通过对实际采集的语音信号进行分析和处理,获得数字信号处理实际应用的认识。

(2)掌握数字信号谱分析的知识。

(3)掌握数字滤波器设计的知识,并通过对语音信号的去噪处理,获得数字滤波器实际应用的知识。

2、实验内容(1)用麦克风自行采集两段语音信号[高频噪声、人声+高频噪声](.wav格式)。

(2)通过Matlab读入采集信号,观察其采样频率,并绘图采样信号。

(3)通过Matlab对语音信号进行谱分析,分析出噪声的频带。

(4)设计一滤波器,对叠加入噪声的语音信号进行去噪处理。

绘图并发声去噪后的信号。

3、实验步骤(1)利用麦克风采集一段5s以内的语音信号。

利用格式工厂软件对语音信号进行预处理。

通常语音信号为单声道,采样频率为8000Hz,语音信号为.wav格式。

(2)通过Matlab读入语音信号及其采样频率(使用Matlab库函数wavread),在Matlab软件的workspace工作平台上观察读入的语音信号,在Matlab中,对入的语音信号为一维矩阵。

应注意,库函数wavread自动将语音信号幅度归一化[-1,1]区间范围。

使用Matlab库函数plot 绘图语音信号,并使用库函数sound发音语音信号。

(3)分析噪声的频谱。

在这里进行谱分析的目的,是了解噪声信号的频谱特性,为去噪滤波器的技术指标提供依据。

(4)通过Matlab对语音信号进行谱分析。

应注意,对信号进行谱分析,在实验一中已经详细介绍过。

在这里进行谱分析的目的,是了解本段语音信号的频谱特性,为去噪滤波器的技术指标提供依据。

(5)根据语音信号及噪声信号的频谱特性,自行设计一滤波器,对叠加入噪声的语音信号进行去噪处理。

最后绘图并发声去噪后的信号。

应注意,数字滤波器的实际应考虑实际需求,合理制定滤波器的技术指标。

4、实验原理用麦克风采集一段语音信号,绘制波形并观察其频谱,添加一段随机信号,给定相应的滤波器指标,用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。

语音信号滤波去噪-使用三角窗设计FIR滤波器

语音信号滤波去噪-使用三角窗设计FIR滤波器

语音信号滤波去噪——基于三角窗的FIR滤波器学生姓名:指导老师:摘要课程设计主要内容是设计利用窗口设计法选择三角窗设计一个FIR滤波器,对一段含噪语音信号进行滤波去噪处理并根据滤波前后的波形和频谱分析滤波性能。

本课程设计仿真平台为MATLAB7.0,开发工具是M语言编程。

首先利用系统自带的录音机工具录制一段语音信号,并人为加入一单频噪声,然后对信号进行频谱分析以确定所加噪声频率,并设计滤波器进行滤波去噪处理,最后比较滤波前后的波形和频谱并进行分析。

由分析结果可知,滤波器后的语音信号与原始信号基本一致,即设计的FIR滤波器能够去除信号中所加单频噪声,达到了设计目的。

关键词滤波去噪;FIR滤波器;三角窗;MATLAB1 引言本课程设计主要解决在含噪情况下对语音信号的滤波去噪处理,处理时采用的是利用窗口设计法选择三角窗设计的FIR滤波器。

1.1 课程设计目的设计一个FIR滤波器,可以有多种方法,窗函数法是设计FIR数字滤波器的最简单的方法。

它在设计FIR数字滤波器中有很重要的作用,正确地选择窗函数可以提高设计数字滤波器的性能,或者在满足设计要求的情况下,减小FIR数字滤波器的阶次。

常用的窗函数有以下几种:矩形窗(Rectangular window)、三角窗(Triangular window)、汉宁窗(Hanning window)、汉明窗(Hamming window)、布拉克曼窗(Blackman window)等等。

在本次课程设计的目的是通过用麦克风采集一段语音信号,绘制波形并观察其频谱特点,加入一个带外单频噪声,用三角窗设计一个满足指标的FIR滤波器,对该含噪语音信号进行滤波去噪处理,从而达到对双音频信号滤波去噪的效果。

比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。

与不同信源相同滤波方法的同学比较各种信源的特点,与相同信源不同滤波方法的同学比较各种滤波方法性能的优劣。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图7-6 保存输出信号
图7-7 输出信号波形图和频谱图
涉及到在matlab中利用滤波器对语音信号进行滤波
注意: 1. 可利用filter函数 2. 可语音信号频谱与滤波器频响相乘(即对语音信号进行高、低通滤波),得到 输出信号的频谱,将所得结果经过傅里叶反变换函数变换为时域信号,绘出处 理后信号的波形图,并分别存档。
audeofile= strcat(filepath,filename); [datatemp,fs,le);
•对数据进行频谱分析,绘出语音信号的波形图和频谱图。
图7-4 输入信号波形图和频谱图
涉及到在matlab中绘制语音的时域波形图和频谱图
语音信号的滤波
输入信号 波形图
系统参数设定
输出信号 波形图
扬声器
输入信号 f(t)
系统函数 h(t)
输出信号y(t)
傅立叶变换 F(w)
×
傅立叶变换 H(w)

傅立叶变换 Y(w)
傅立叶反变换 y(t)
输入信号 频谱图
系统频响
输出信号 频谱图
• 系统的组成模块:
• (语音)输入信号
• 语音录入模块实现语音信号录入功能
• 高通滤波模块、低通滤波模块和带通滤波模块运用频域滤波理论实现对语音 信号的滤波处理功能

处理后的(语音)信号保存
– 处理后的语音存档模块实现信号保存功能
图7-2 实验界面
按“输入语音信号”按钮,录入语音信号的数据。
图7-3 选择输入信号
涉及到在matlab中打开文件夹,选择文件 handles.ChosFileOK = 1;%表示已经选择了音频按钮 guidata(hObject,handles); %读入一段音频文件 [filename,filepath]=uigetfile('.wav','选择音频文件'); if(filename==0) return; end
注意: 1. 绘制时域波形图的时候需要计算时域的时间。 2. 提示:根据采样点数和采样频率求 3. 调用Fig1_ButtonDownFcn(handles.Fig1, eventdata, handles);%在时域窗口画时 域图 4. 绘制语音信号的频谱图可以用fft计算频谱,或者根据傅立叶变换的步骤求解。

频谱分析(付里叶变换)
• 频谱分析模块运用傅氏变换理论以及抽样定理,对原始的语音信号进行的由 时域到频域的转换,实现对语音信号进行频谱分析的功能

付里叶反变换
• 付里叶反变换模块运用傅氏变换理论以及抽样定理,利用频谱分析的逆过程 实现信号由频域至时域的逆变换功能

系统函数(高通滤波、低通滤波、带通滤波)
设置系统的截止频率,选择给定的系统类型,建立系统函数,并画出系统的频响图
图7-5 系统频响图
涉及到在matlab中设计指定截止频率的滤波器
注意: 1. 可设计巴特沃兹类型的IIR滤波器,滤波器类型自定,滤波器的截止频率可参考 语音信号的频谱,阻带和通带的衰减自行设定即可,也可以作为参数让用户输 入,这样可以观察截止频率,滤波器类型,衰减等参数不同时,滤波器的频响。
相关文档
最新文档