文档介绍:实验内容:
1、语音信号的采集
利用Windows下的录音机, 录制一段自己的话音, 时间在几秒内。然后在Matlab软件平台下, 利用函数wavread对语音信号进行采样, 记住采样频率和采样点数。
[y,fs,bits]=wavread();
2、语音信号的频谱分析
首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。在Matlab 中, 可以利用函数fft对信号进行快速傅里叶变换, 得到信号的频谱特性。
3、用滤波器对语音信号进行滤波
设计滤波器对采集的信号进行滤波, 比较滤波前后语音信号的波形及频谱。
要求自己确定滤波器的性能指标,用冲激响应不变法、双线性变换法或窗函数法设计3种滤波器:低通、高通和带通滤波器。
4、回放语音信号
在Matlab中, 函数sound 可以对声音进行回放,其调用格式:
sound (x, fs, bits);
实验原理:
数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。
数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。
从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。
在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。因此,指标的形式应为频域中的幅度和相位响应。在通带中,通常希望具有线性相位响应。在FIR滤波器中可以得到精确的线性相位。FIR滤波器传递函数的极点是固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能,所以要达到高的选择性,必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果成本高信号延时也较大,如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。
不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:
(1) 按照实际任务的要求,确定滤波器的性能指标。
(2) 用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。
(3) 利用有限精度算法实现系统函数,包括结构选择、字长选择等。
MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,工具包又可以分为功能性工具包和学科工具包。
功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
MATLAB具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。
MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。
实验步骤:
一、语音信号的采集
[y,fs,bits]=wavread();
fs =
22050
bits =
16
二、语音信号的频谱分析
实验程序:
[x1,Fs,bits]=wavread('C:\WINNT\Media\');
%sound(y,Fs,bits);
figure(1);
plot(x1); %做原始语音信号的时域图形
title('原始语音信号');
xlab