数据的采集与语音信号的频谱分析综述.docx
《数据的采集与语音信号的频谱分析综述.docx》由会员分享,可在线阅读,更多相关《数据的采集与语音信号的频谱分析综述.docx(16页珍藏版)》请在冰豆网上搜索。
数据的采集与语音信号的频谱分析综述
中北大学
课程设计说明书
学生姓名:
吕涛学号:
10050644X23
学生姓名:
王丽学号:
10050644X09
学生姓名:
赵芳学号:
10050644X15
学生姓名:
孟庆慧学号:
10050644X05
学院:
信息商务学院
专业:
电子信息工程
题目:
信息处理综合实践:
数据的采集与语音信号的频谱分析
指导教师:
金永职称:
副教授
2013年6月28日
中北大学
课程设计任务书
12/13学年第二学期
学院:
信息商务学院
专业:
电子信息工程
学生姓名:
吕涛学号:
10050644X23
学生姓名:
王丽学号:
10050644X09
学生姓名:
赵芳学号:
10050644X15
学生姓名:
孟庆慧学号:
10050644X05
课程设计题目:
信息处理综合实践:
数据的采集与语音信号的频谱分析
起迄日期:
2013年6月7日~2013年6月28日
课程设计地点:
学院楼201、510、608实验室
指导教师:
金永
系主任:
王明泉
下达任务书日期:
2013年6月7日
课程设计任务书
1.设计目的:
(1)掌握USB总线或PCI总线的基本结构,了解基于USB总线或PCI总线A/D卡的通用结构;
(2)掌握数据采集卡采集数据的过程和原理;
(3)了解MATLAB的信号处理技术;
(4)掌握MATLAB实现音乐信号的读取、保存、拼接与频谱分析。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
(1)查阅相关资料,撰写关于基于USB总线或PCI总线A/D卡的报告;
(2)采用麦克采集本组各个同学的语音信号;
(3)采用MATLAB读取采集的语音信号,截取各信号中的一段进行拼接,并进行频谱分析;
(4)保存拼接后的语音信号,并进行播放证实存储的正确性,同时对拼接后信号与原有信号的频谱作对比;
(5)提高内容:
编写语音采集数据程序。
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
(1)要求设计组的每个成员都要了解设计的要求和思路;
(2)MATLAB数据处理部分要求有正确的运行结果及结果分析;
(3)总线部分和A/D采集卡部分要求每位同学有自己的理解;
(4)每位同学针对上述内容撰写设计说明书(每人1份)。
课程设计任务书
4.主要参考文献:
●要求按国标GB7714—87《文后参考文献著录规则》书写,例:
1傅承义,陈运泰,祁贵中.地球物理学基础.北京:
科学出版社,1985
(5篇以上)
5.设计成果形式及要求:
课程设计说明书
程序运行结果
6.工作计划及进度:
2013年
6月7日~6月15日:
查资料,了解基于USB总线或PCI总线A/D卡的通用结构以及A/D采集卡的应用;
6月15日~6月25日:
MATLAB实现语音信号的读取、保存、拼接与频谱分析;
6月26日~6月27日:
撰写课程设计说明书;
6月28日:
答辩
系主任审查意见:
签字:
年月日
目 录
摘 要···········································2
1基于USB总线A/D卡的报告······················2
1.1USB总线介绍·································2
1.2USB接口电路设计····························3
1.3接口的数据采集系统的设计实现················3
1.4A/D转换电路································4
2设计方案简介·································5
3语音信号的采集·······························5
4语音信号的分析·································6
4.1语音信号时域分析···························6
4.2语音信号频域分析····························6
5程序设计及仿真图·······························7
6语音信号的读取、拼接、保存与频谱分析·······9
6.1设计条件及主要参数表························9
6.2设计主要参数计算··················11
6.3设计结果··························12
7设计体会····························13
8参考文献·····································14
摘要
语音信号的采集与分析技术是一门涉及面很广的交叉科学,它的应用和发展与语音学、声音测量学、电子测量技术以及数字信号处理等学科紧密联系。
该设计主要介绍语音信号的采集与分析方法,通过PC机录制自己的一段声音,运用Matlab提供的函数进行仿真分析,并画出采样后语音信号的时域波形和频谱图,对所采集的语音信号加入干扰随机高斯噪声,对加入噪声的信号进行播放,并进行时域和频谱分析;对比加噪前后的时域图和频谱图,分析讨论采用什么样的滤波器进行滤除噪声。
关键词:
语音信号;采集与分析;Matlab
一基于USB总线A/D卡的报告
1.USB总线介绍
USB总线为通用串行总线,USB接口位于PS/2接口和串并口之间,允许外设在开机状态下热插拔,最多可串接下来127个外设,传输速率可达480Mb/S,P它可以向低压设备提供5伏电源,同时可以减少PC机I/O接口数量。
USB是基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目的。
数据采集就是把来自各种传感器的信号数据实时地、准确地测量或汇集起来,用计算机进行实时处理或记录存储,实时完成测试和控制功能。
数据采集系统结构通过微机的标准接口连接各种功能模块、仪器仪表和传感器,组成测量系统。
2.USB接口电路设计
R3是上拉电阻器,它可使USB口的D+端上拉到DS2490S的VB端,表示USB主机系统是高速设备,同时这个上拉电阻器告诉主机有USB设备插入。
该上拉电阻器的设置对适配器的影响很大,它的负载值和1-Wire网络的总长决定1-Wire总线电压上升到5V的速度。
经过实验测试选择R3的阻值为27Ω±lO%。
R1、R2为USB数据线保护电阻器。
L、L2具有禁止高频干扰并且减弱EMI辐射的功能。
LF33CV为3.3V电压稳压器,与周围元件C1、C2组成强上拉部分,给EEPROM或温度传感器等器件提供额外的电源。
3.USB接口的数据采集系统的设计实现
数据采集系统使用采集卡进行数据采集,然后经过A/D转换器供计算机加工处理。
基于USB接口的数据采集与频谱分析系统本系统结构由硬件部分和软件部分组成,硬件部分主要有计算机、I/O接口设备.计算机作为硬件平台的核心可采用台式机,系统采用的I/O设备为A/D数据采集卡,该采集卡是一种基于USB总线数据采集产品,可与带USB接口的各种台式计算机、笔记本电脑、工控机连接构成高性能的数据采集测量系统.整个系统主要由4部分组成:
USB接口芯片及外围电路、控制电路、数据缓冲电路和A/D转换电路。
USB接口芯片选择了Cypress公司的EZ-USB2131Q,该芯片内嵌8051控制器,因此整个系统以EZ-USB控制器为核心,由EZ-USB经控制电路实现对A/D转换电路和数据缓冲电路的控制,模拟信号转换后的数据送入数据缓冲器,当数据缓冲器存满之后,通知EZ-USB控制器,由主机取出数据。
整个系统框图如图1所示。
4.A/D转换电路
声卡是计算机对语音信号进行加工的重要部件,它具有对信号滤波、放大、采样保持、A/D和D/A转换等功能。
系统中A/D转换芯片采用了MAXIM公司的MAX122,该芯片是12b的高速的A/D转换器。
在完全转换模式下,他的转换时间可以达到2.6μs,采样率为333kS/s。
MAX122有5种工作模式,在数据采集系统中,采用了模式2即连续转换模式。
在这种模式下,每次转换需要13~14个时钟脉冲节拍,转换可以不间断地进行,但是需要提供开始转换使能信号,并且要保证使能信号和时钟信号同步,读信号和片选始终处于有效状态。
数据输出使能信号一直有效,在转换结束时产生新的数据。
二设计方案简介
本实验通过应用MATLAB软件实现音乐信号的读取、拼接、保存与频谱分析。
将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化规律,称为频谱分析。
频谱分析主要分析信号是由哪些频率的正弦信号叠加得到的,以及这些正弦信号的振幅。
分析和处理音频信号,首先要对声音信号进行采集,MATLAB的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。
Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。
本实验以WAV格式音频信号作为分析处理的输入数据,用MATLAB处理音频信号的基本流程是:
先将WAV格式音频信号经wavread函数转换成MATLAB列数组变量;再用MATLAB强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite转换成WAV格式文件或用sound函数直接回放。
三语音信号的采集
配置好数据采集设备的参数后,使用start命令便可启动声卡开始语音信号的采集。
采集到的数据被暂时存放在PC机的内存里,理论上可采集的最大数据量是由PC机的内存容量决定的,这一点相对于一般的数据采集系统而言有较强的优势。
MATLAB还可以记录采集过程中出现错误,如出错的时间、错误产生的来源以及数据采集设备的状态等信息都会被记录下来作为以后工作的参考。
Matlab自带的数据采集工具箱里面,提供了专门用于语音采集的命令和函数。
数据采集的硬件设备的内部特性对Matlab的接口完全是透明的,通过调用Matlab提供的语音采集函数和命令可以对其进行访问。
而且,Matlab可以对其采集的数据进行实时的分析,也可在存储后再进行处理。
四语音信号的分析
1.语音信号时域分析
MATLAB数据采集箱中提供的函数命令进行图像分析的函数命令:
wavread :
wavread 用于读取Microsoft 的扩展名为“.wav”的声音文件。
其调用形式为:
y = wavread (file) 。
其作用是从字符串file 所指的文件路径读取wave 文件,将读取的采样数据送到y 中。
Y的取值范围:
[ -1 ,1 ] 。
sound:
音频信号是以向量的形式表示声音采样的。
sound 函数用于将向量转换为声音,其调用形式为:
sound (y ,fs) ,作用是向扬声器送出向量y 中的音频信号(采样频率为fs) 。
将向量转换为声音,其调用形式为:
sound (y ,fs) ,作用是向扬声器送出向量y 中的音频信号(采样频率为fs) 。
通过Wavread和plot(x)函数即可显示图像的时域波形。
2.语音信号频域分析
FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。
函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。
如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。
函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。
函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N;若x 为矩阵,按相同方法对x进行处理。
五、程序设计及仿真图
1、用Matlab对原始语音信号进行分析,画出它的时域波形和频谱
程序:
fs=22050;
[x,fs,Nbits]=wavread('01.wav');
[x,fs,Nbits]=wavread('01.wav');
t=0:
1/22050:
(length(x)-1)/22050;
sound(x,fs);%对加载的语音信号进行回放
figure
(1)
plot(x)%做原始语音信号的时域图形
title('原始语音信号');
xlabel('timen');
ylabel('fuzhin');
n=length(x);%求出语音信号的长度
y1=fft(x,n);%傅里叶变换
y2=fftshift(y1);%对频谱图进行平移
f=0:
fs/n:
fs*(n-1)/n;%得出频点
figure
(2)
subplot(2,1,1);
plot(abs(y2))%做原始语音信号的FFT频谱图
title('原始语音信号FFT频谱')
subplot(2,1,2);
plot(f,abs(y2));%绘制原始语音信号
title('原始语音信号频谱')
图1
图2
六语音信号的读取、拼接、保存与频谱分析
1.设计条件及主要参数表
频谱分析是为了我们能够知道一个混合信号中所有的分量信号的频率,从而我们可以得知信号的组成,一般我们用FFT来分析信号的的频率分量特征分析与提取。
图3
实验首先找到两个wav格式的音频信号(如图02.wav和03.wav),通过wavread函数转换成MATLAB列数组变量。
其次,分别对两个wav音频信号进行截取并分别进行频谱分析。
再次,将截取的两段音频信号进行拼接(uu=[m0(1:
149499,:
);m1(1:
208902,:
))
最后,保存拼接后的音乐信号(如图04.wav),并进行播放证实存储的正确性,同时对拼接后的信号进行频谱分析,并与原有信号的频谱作对比。
得出实验结论。
利用FFT进行频谱分析:
若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行FFT运算求得
,
就代表了序列在
之间的频谱值。
幅度谱
相位谱
若信号是模拟信号,用FFT进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT来对连续信号进行谱分析。
按采样定理,采样频率
应大于2倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波
器。
用FFT对模拟信号进行谱分析的方框图如下所示。
应用到的主要函数:
wavread、wavwrite、sound
2.设计主要参数计算
主程序:
clearall;
clc;
[m0,fs0,bits0]=wavread('02.wav');%读取音乐信号
len0=size(m0,1);
f0=fs0*(0:
(len0-1))/len0;%(得出频点)
figure
(1);
plot(m0);%原始音乐信号的波形图
title('原始音乐信号的波形图0');
figure
(2);
y0=fft(m0,len0);
plot(f0,abs(y0));%原始音乐信号的频谱图
title('原始音乐信号的频谱图0');
sound(m0,fs0,bits0);
disp('按任意键读取下一段音频');
pause
[m1,fs1,bits1]=wavread('03.wav');
len1=size(m1,1);
f1=fs1*(0:
(len1-1))/len1;
figure(3);
plot(m1);%原始音乐信号的波形图
title('原始音乐信号的波形图1');
figure(4);
y1=fft(m1,len1);
plot(f1,abs(y1));%原始音乐信号的频谱图
title('原始音乐信号的频谱图1');
sound(m1,fs1,bits1);
disp('按任意键进行拼接');
pause
uu=[m0(1:
149499,:
);m1(1:
208902,:
)];
len2=size(uu,1);
f2=fs0*(0:
(len2-1))/len2;
figure(5);
plot(uu);%拼接后音乐信号的波形图
title('拼接后音乐信号的波形图');
figure(6);
y2=fft(uu,len2);
plot(f2,abs(y2));%拼接后音乐信号的频谱图
title('拼接后音乐信号的频谱图');
sound(uu,fs0,bits0);
disp('按任意键进行拼接');
pause
wavwrite(uu,fs0,bits0,'3.wav');
3.设计结果
图4原始音乐信号02的频谱图
图5原始音乐信号03的频谱图
图6拼接后音乐信号频谱图
七、设计体会
通过此次实验,我们从中受益匪浅,我们更加深了对软件MATLAB的函数操作及应用,对语音信号的处理方法等。
例如平时
在数字信号处理课上所学的数字信号的一系列变换及其应用。
更重要的是我们能够从平日里经常接触的wav格式的语音信号入手,获得了更多相关知识。
例如WAV格式的概述:
它是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持。
WAV格式支持许多压缩算法,支持多种音频位数、采样频率和声道,采用44.1kHz的采样频率,16位量化位数,因此WAV的音质与CD相差无几,但WAV格式对存储空间需求太大不便于交流和传播。
WAV音频格式的优点:
简单的编/解码(几乎直接存储来自模/数转换器(ADC)的信号)、普遍的认同/支持以及无损耗存储。
WAV格式的主要缺点是需要音频存储空间。
对于小的存储限制或小带宽应用而言,这可能是一个重要的问题。
WAV格式的另外一个潜在缺陷是在32位WAV文件中的2G限制,这种限制已在为SoundForge开发的W64格式中得到了改善。
在做实验的过程中,我们遇到了很多问题,但都一一克服,查资料,写代码,都有条不紊地进行,只是在拼接的那段代码上面我们出了问题。
最后经过询问、查询得以解决。
八参考文献
1黄顺吉.数字信号处理及其应用.北京:
国防工业出版社,1982
2陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:
电子工业出版社.2008,1
3赵知劲,刘顺蓝.数字信号处理实验.杭州:
浙江大学出版社,2007
4程佩青.数字信号处理教程.北京:
清华大学出版社,2007
5徐明远,刘增力.MATLAB仿真在信号处理中的应用.西安:
西安电子科技大学出版社,2007
6丛玉良,王宏志.数字信号处理原理及其MATLAB实现(第2版).北京:
电子工业出版社,2009