河南农业大学理学院本科毕业论文(设计)
致 谢
非常感谢我的导师李富强老师!在李老师无微不至的教导下,我才能够顺顺利利的完成了毕业课程的设计。从课程设计材料的搜集到根据选题对素材的提取与整理,从Matlab的简易入手到程序的分析与设计,从理论与算法到程序的编写与仿真,每一步都有李老师的细心知道与耐心讲解。在平易近人学识渊博的李老师的熏陶下,使我感觉到自己知识的浅薄,在浩瀚的知识海洋面前,使我感觉到自己要不断进取。
非常感谢我的同学们,感谢他们给我的帮助与支持,使我在毕业设计的过程中少走了不少弯路。
非常感谢我的家人和朋友们,感谢他们从毕业设计以来对我的关心与支持! 最后,再次感谢理学院所有的老师,感谢他们四年以来对我的栽培与教养!
河南农业大学理学院本科毕业论文(设计)
参 考 文 献
[1]胡航.语音信号处理【M】.哈尔滨:哈尔滨工业大学出版社,2002. [2]丁玉美.高西全.数字信号处理【M】.西安电子科技大学出版社,2006. [3]樊昌信.通信原理【M】北京:国防工业出版社,2005.
[4]张威.MATLAB基础与编程入门【M】.西安电子科技大学出版社,2006. [5]林福宗.多媒体技术基础【M】.北京:清华大学出版社,2000.
[6]周渊,王炳和,刘斌胜.基于MATLAB的噪声信号采集和分析系统的设计【J】.噪声控
制.2004(7):52-54.
[7]何强,何英.MATLAB扩展编程【M】.北京:清华大学出版社,2002:293-296. [8]朱学芳,徐建平.计算机语音信号处理与语音识别系统[J].南京邮电学院学报,1998,18(5—6):113—11
[9]杨崇林,李雪耀,孙羽.强噪声背景下汉语语音端点检测和音节分割[J].哈尔滨工程大学学报,1997.18(5):28—32.
[10] 张雄伟,陈量,杨吉斌.现代语音处理技术及应用[M].北京:机械工业出版社.2003 [11]韦晓东,等.应用倒谱特征的带噪语音端点检测方法[J].上海交通大学学报,2000,34(2):185—188.
[12]胡光锐,韦晓东.基于倒谱特征的带噪语音端点检测[J].电子学报。2000。28(10):95—97. 附录一:
%语音信号时域频域分析
[y,Fs,bits]=wavread('2.wav');%读出信号,采样率和采样位数。
y=y(:,1);%我这里假设你的声音是双声道,我只取单声道作分析,如果你想分析另外一个声道,请改成y=y(:,2)
sigLength=length(y); Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength; halflength=floor(sigLength/2); f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)'); t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)'); 附录二: %抽取的源程序
河南农业大学理学院本科毕业论文(设计)
[y,fs,bs]=wavread('d:\\01.wav',[25000,75000]); y=y(:,1); lg=length(y); yx=(0:(lg-1))*fs/lg; yx=yx(1:lg/2); % sound(y,fs); figure(1); subplot(211); plot(y); title('原始信号'); subplot(212); yf=abs(fft(y)); yf=yf(1:lg/2); plot(yx,yf);
ycq=zeros(1,lg); %先将抽取后的值全设为零
for i=1:80:lg; %通过循环,每隔80个点将抽取后的值赋值为原函数的 ycq(i)=y(i); %采样值 end sound(ycq,fs); figure(2); subplot(211); plot(ycq);
title('抽取后的信号'); subplot(212); ycqf=abs(fft(ycq)); ycqf=ycqf(1:lg/2); plot(yx,ycqf);
附录三:
“河南农业大学理学院”语谱图源程序:
frmsize = 256; % 设置贞大小
[x,fs,nbits] = wavread('3.wav'); % 读取语音文件 x = filter([1 -0.95],[1],x); % 高频预加重,抵消频谱倾斜 n = length(x); frmcnt = floor(n/frmsize);
x = reshape(x(1:frmsize*frmcnt),frmsize,frmcnt); % 分帧 xFFT = abs(fft(x)); % 傅里叶谱
xFFT = xFFT(1:frmsize/2,1:frmcnt); % 奈奎斯特频率以内是无效的 xFFTdB = 20*log10(xFFT+eps); % 换算成分贝 xFFTdB(xFFTdB>+20) = +20; % 能量太高的截断 xFFTdB(xFFTdB<-40) = -40; % 能量太低的截断
xFFTdB = (xFFTdB+40); % 能量整理到 [0,60] 之间,当然你可以整理到[0,255]范围 subplot(2,1,1);plot(x(1:frmsize*frmcnt)); title('河南农业大学理学院'); % 画波形 subplot(2,1,2);image(flipud(xFFTdB)); colormap(jet)% 画语谱图
河南农业大学理学院本科毕业论文(设计)
附录四:
语音信号的综合仿真分析程序: [y,fs,bits]=wavread('3.wav'); % sound(y,fs,bits);
Y=fft(y,40000);%采样点数40000 figure(1);
subplot(211);plot(y);title('原始信号波形'); subplot(212);plot(abs(Y));title('原始信号频谱'); fc=20000;%载波频率
y1=modulate(y,fc,fs,'fm');%对原语音信号调制 Y1=fft(y1,40000);%采样点数40000
figure(2);
subplot(211);plot(y1);title('调制后信号波形');
subplot(212);plot(abs(Y1));title('调制后信号频谱'); % sound(y1); y2=y+y1;
Y2=fft(y2,40000);%采样点数40000
figure(3);
subplot(211);plot(y2);title('调制信号+原始信号波形'); subplot(212);plot(abs(Y2));title('调制信号+原始信号频谱'); % sound(y2);
figure(4);
fp=1000;fc=1200;As=100;Ap=1;fs1=22050; wc=2*fc/fs1;wp=2*fp/fs1;
[n,wn]=ellipord(wp,wc,Ap,As); [b,a]=ellip(n,Ap,As,wn); freqz(b,a,512,fs1);
x=filter(b,a,y2); X=fft(x,40000); figure(5);
subplot(211);plot(x);title('低通滤波后信号波形');
subplot(212);plot(abs(X));title('低通滤波后信号频谱'); sound(x,40000); 附录五:
%短时能量,短时过零率[7] % function [x1,x2]=vad(x) [x,Fs,bits] = wavread('one')
specgram(x,240,8000,80); x=double(x);
x=x/max(abs(x));%将幅度归一化到[-1,1] framelen=240;
frameinc=80;%设定帧长为240帧移为80 amp1=10; amp2=2;

