ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:141.61KB ,
资源ID:19091597      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19091597.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(语音信号采集与处理Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

语音信号采集与处理Word格式.docx

1、 采样频率是指计算机每秒钟采样多少个声音样本,是描述声音文件的音质、音频、衡量声卡、声音文件的质量标准。采样频率越高,即采样的时间间隔越短,则在单位时间内计算机得到的声音样本数据越多,对声音波形的表示也越准确。 3、采样位数与采样频率:采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样率对于音频接口来说是最为重要的两个指标。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。采样位数越多则捕捉到的信号越精确。4

2、、利用MATLAB对语音信号进行分析和处理:采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。 5、语音信号的滤波示意图:三实践步骤1、语音信号的采集与分析(1)利用 PC机上的声卡和 WINDOWS操作系统可以进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动录音机。按下录音按钮,对话筒说话“我想回家”,说完后停止录音,屏幕左侧将显示所录声音的长度。(2)以文件名 “2” 保存入C盘中。可以看到 ,文件存储器的后缀默认为.wav。要保存文件时,利用了计算机上的A/D转换器,把模拟

3、的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。(3)在 Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x1,x1=wavread(C:2.wav);同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图figure 1为原始语音信号的时域图形。(4)从图中可以看出在时域环境下,信号呈现出4个不规则的信号峰值。通过freqz(x1)函数绘制原始语音信号的频率响应图figure 2 。(5)然后对语音信号进行频谱分析,在Matlab中可以利用函

4、数y1=fft(x1,1024); plot(abs(y1(1:512)对信号行快速傅里叶变换,得到信号的频谱图figure 3,从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。2、利用余弦函数构造一个高频噪声1. 在Matlab中人为设计一固定频率5000Hz的噪声干扰信号。噪声信号通常为随机序列,在本设计中用余弦序列代替。干扰信号构建命令函数为d=Au*cos(2*pi*5000*t);x1=wavread(x2=x1+d;2. 给出的干扰信号为一个余弦信号,针对上面的语音信号,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图, y2=fft(x2,1

5、024);从图中可以看出干扰信号,在4000Hz和 6000Hz频点处有一高峰 ,其中 5000Hz 正是本设计所要利用的。若带噪信号y(m)是纯净语音信号s(m)和平稳加性高斯白噪声n(m)构成的,即:y(m) =x(m) +n(m);则在频域中表示为Y()=X()+N();其中Y(),X(),N()分别是y(m),x(m),n(m)的傅里叶变换。X()=Y()-N();只要从带噪信号中减去噪声信号即可估计出语音信号,再进行傅里叶反变换就可得到增强的语音。3、设计合适的滤波器,滤除高频噪声由模拟滤波器变换为数字滤波器时,采用的是双线性变换法,它保留的是从模拟到数字域的系统函数表示。用双线性变

6、换法设计低通滤波器。在MATLAB 中,可以利用函数 butterworth设计低通滤波器。数字巴特沃兹低通滤波器函数:functionb,a=digital_lowpass_butter(wp,ws,Rp,As,Fs)N,wn=buttord(wp/pi,ws/pi,Rp,As)b,a=butter(N,wn); 时域低通滤波:x=wavread(2.wav);x为读取原语音文件的数据,一维数组 h=ones(1,220); h为低通滤波器的单位冲激响应 y=conv(x,h); 时域卷积,低通滤波 wavwrite(y,22050,su2.wav);将滤波后的数据保存为.wav文件用 MA

7、TLAB 中的函数freqz 画出各滤波器的频率响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中IIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中可以看出,5000Hz看到的高峰消失了,语音信号与开始的一样,滤波器成功的滤除了干扰信号。利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;四、程序设计及仿真图1、用Matlab对原始语音信号进行分析,画出它的时域波形和频谱程序:fs=22050; x,fs,Nbits =wavread( 2.wav) ;t=0:1/22050:(length

8、(x)-1)/22050;sound(x,fs) ; %对加载的语音信号进行回放figure(1)plot(x) %做原始语音信号的时域图形title(原始语音信号);xlabel(time nylabel(fuzhi nfigure(2)freqz(x) %绘制原始语音信号的频率响应图频率响应图)n=length(x); %求出语音信号的长度y1=fft(x,n) ; %傅里叶变换y2=fftshift(y1); %对频谱图进行平移f=0:fs/n:fs*(n-1)/n; %得出频点figure(3) subplot(2,1,1);plot(abs(y2) %做原始语音信号的FFT频谱图原始

9、语音信号FFT频谱subplot(2,1,2);plot(f,abs(y2); %绘制原始语音信号的频谱图原始语音信号频谱时域波形和频谱:2. 给原始的语音信号加上一个高频余弦噪声,频率为(2Khz)。对加噪后的语音进行分析,并画出其信号时域和频谱图。%加噪声 k=1:1:n; %定义k 值,噪声与原始语音长度一致 c1=10*sin(2*pi*2000*k); %噪声信号的函数 figure(4) plot(k,c1) title(噪声信号时域图 %绘制噪声信号的时域波形图 figure(5) freqz(c1) %绘制噪声信号的频率响应图噪声信号频率响应图 s=length(c1); %噪

10、声信号的长度 xc=fft(c1,s); %对噪声信号进行频谱变换 xcc=fftshift(xc); f=0:fs/s:fs*(s-1)/s; figure(6) %绘制噪声语音的FFT频谱图 plot(f,abs(xcc)噪声信号的频谱图%噪音与原始信号叠加z=x+c1;y3=fft(z,s); %对叠加信号进行频谱变换y4=fftshift(y3); %对频谱图平移figure(7)plot(f,abs(y4); %绘出加噪语音频谱图axis(0 8000 0 400);含噪语音信号的频谱figure(8)plot(f,abs(y2) %做原始语音信号的FFT频谱图plot(f,abs(

11、y4) %做加噪语音信号的FFT频谱图加噪语音信号频谱与原始信号对比,区别:3. 设计合适的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:%用双线性变换法设计巴特沃思低通滤波器wp=0.25*pi; %通带截止频率ws=0.3*pi; %阻带截止频率Rp=1; %通带最大衰减Rs=15; %阻带最小衰减Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2);N,Wn=buttord(wp1,ws1,Rp,Rs,s %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波

12、器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn);bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线figure(9)plot(W*Fs/(2*pi),abs(H)grid频率Hz频率响应幅度Butterworthf1=filter(bz,az,z);figure(10)subplot(2,1,1)plot(t,z) %画出滤波前的时域图滤波前的时域波形subplot(2,1,2)plot(t,f1); %画出滤波后的时域图滤波后的时域波形sound(f1,

13、22050); %播放滤波后的信号p=length(f1);F0=fft(f1,p);fs/p:fs*(s-1)/p;figure(11)y2=fft(z,1024); %画出滤波前的频谱图滤波前的频谱HzfuzhiF1=plot(f,abs(F0); %画出滤波后的频谱图滤波后的频谱x=wavread(% x为读取原语音文件的数据,一维数组h=ones(1,220); % h为低通滤波器的单位冲激响应 y=conv(x,h); %时域卷积,低通滤波 wavwrite(y,22050,su2.wav% 将滤波后的数据保存为.wav文件与原噪音信号对比,区别:滤波后信号的幅值都偏小于原信号的幅值

14、。五、 心得体会:通过这一个星期的课程设计,我学到了很多的东西,不仅巩固了我以前所学过的知识, 还让我学到很多在书本上所没有学到过的知识。同时进一步加深了对语音信号的了解和熟练了对Matlab的使用, 让我对通信原理这门课程有了更加浓厚的兴趣。 因为以前都是基于课本上所学的理论知识,然而通过这次课程设计之后才能真正理解其意义。在这次课程设计的过程中,我遇到不少的问题,比如刚开始,要录音的时候,没有选择正确的频率,导致在运行程序的时候,无法调用声音,经过后来的改正才可以。还有刚开始由于对滤波器的滤波原理并不是很了解, 于是我又翻出学过的数字信号处理课本,认真研究起各种滤波器,这才使我明白了大多数

15、滤波器是如何工作,不再单单只是懂理论,理论与实际相结合是很重要的, 只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论。总的来说,通过这次的课程设计我对语音信号有了全面的认识,对Matlab的知识又有了深刻的理解, 让我感受到只有在充分理解课本 知识的前提下,才能更好的应用这个工具。这次课程设计使我了解了MATLAB的使用方法,学会分析滤波器的优劣和性能,提高了分析和动手实践能力,同时我相信,进一步加强对 MATLAB 的学习与研究对我今后的学习将会起到很大的帮助!六、参考文献:1. 王济 MATLAB在振动信号处理中的应用 中国水利水电出版社2. 张志涌 精通MATLAB6,5版M 北京航空航天大学出版社3. 徐靖涛 基于MATLAB的语音信号分析与处理 重庆科技学院学报4张文 基于MATLAB语音信号的滤波域实现 山西电子工业出版社5. 张桂香 高爱国 语音信号采集与处理方法的研究 高师理科学刊6陈怀琛 MATLAB及在电子信息课程中的应用M 北京电子工业欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1