下载此文档

基于matlab的声音信号处理.doc


文档分类:高等教育 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
基于MATLAB的有噪声的语音信号处理
一、课程设计题目: 
基于MATLAB的有噪声的语音信号处理。
 
二、课程设计的目的: 
综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
 
三、课程设计的要求: 
(1)熟悉离散信号和系统的时域特性。 
(2)掌握序列快速傅里叶变换FFT方法。 
(3)学会MATLAB的使用,掌握MATLAB的程序设计方法。 
(4)利用MATLAB对语音信号进行频谱分析。 
(5)掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。
 
四、课程设计的内容: 
录制一段语音信号,对语音信号进行频谱分析,利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析,设计FIR数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。
 
五、课程设计的步骤:
(1) 语音信号的采集及分析
通过录音软件录制一段语音“数字信号处理”,命名为“120”,时长大约1到2秒,在 Matlab软件平台下可以利用函数wavread对语音信号进行采样:
[y,fs,nbits]=wavread('120'); %语音信号的采集 采样值放在向量y中,采样频率为fs,采样位数为nbits。
(2) 语音信号的频谱分析
画出语音信号的时域波形,然后对语音信号进行频谱分析,在MATLAB中,通过使用fft函数对信号进行快速傅里叶变换,得到信号的频谱特性。 
 
因此采集语音并绘出波形和频谱的模块程序如下:
[y,fs,nbits] =wavread(' ') ;
n=length(y); %求出声音长度
t=0:1/fs:(n-1)/fs; %时间t 从0到n-1
sound(y,fs) ; %对加载的语音信号进行回放
subplot(2,1,1);
plot(y); %做原始语音信号的时域图形
title('原始语音信号时域波形');
grid;
%傅里叶变换
y1=fft(y,n); %做原始语音信号的傅里叶变换

%对原始信号频域分析
%y2=fftshift(y1);
subplot(2,1,2);
plot(abs(y1)); %原始信号的频谱图像
title('原始信号的频谱图像');
grid;
结果如下:
可以看到,语音信号的频率集中在低频部分。
(3)给原始信号加上一个随机噪声
在MATLAB中,通过使用randn函数产生随机噪声信号在,把语音信号与噪声信号进行叠加,并对其进行播放,然后对加入噪声后的语音信号进行频谱分析,在MATLAB中可以利用函数FFT对信号进行快速傅里叶变换。
产生随机噪声: Noise=*randn(n,2);
,便于对语音信号进行处理并比较效果。
将原语音信号与noise叠加,调用的形式为:
s=y+noise;
其中,y为原语音信号,noise为所构造的随机高斯噪声,s即为两者的叠加后的语音信号。
(4) 噪声频谱分析
产生噪声并绘出波形

基于matlab的声音信号处理 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fr520520
  • 文件大小95 KB
  • 时间2018-06-25
最近更新