语音信号处理matlab仿真资料下载.pdf

上传人:b****3 文档编号:16124911 上传时间:2022-11-20 格式:PDF 页数:13 大小:643.95KB
下载 相关 举报
语音信号处理matlab仿真资料下载.pdf_第1页
第1页 / 共13页
语音信号处理matlab仿真资料下载.pdf_第2页
第2页 / 共13页
语音信号处理matlab仿真资料下载.pdf_第3页
第3页 / 共13页
语音信号处理matlab仿真资料下载.pdf_第4页
第4页 / 共13页
语音信号处理matlab仿真资料下载.pdf_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

语音信号处理matlab仿真资料下载.pdf

《语音信号处理matlab仿真资料下载.pdf》由会员分享,可在线阅读,更多相关《语音信号处理matlab仿真资料下载.pdf(13页珍藏版)》请在冰豆网上搜索。

语音信号处理matlab仿真资料下载.pdf

设计性能良好的滤波器对信号进行滤波。

对语音进行回放,并与滤波后的语音信号进行对比。

三、实验设计与仿真结果程序汇总如下:

1、原始语音信号的采集、读取与采样利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。

再对其进行采样,记住采样频率和采样点数。

wavread函数几种调用格式如下:

y=wavread(file)功能说明:

读取file所规定的wav文件,返回采样值放在向量y中。

y,fs,nbits=wavread(file)功能说明:

采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

y=wavread(file,N)功能说明:

读取钱N点的采样值放在向量y中。

y=wavread(file,N1,N2)功能说明:

读取从N1到N2点的采样值放在向量y中。

首先用手机录制一段音频信号(手机音频格式一般为.mp3)。

然后用软件将音频信号转换为matlab接受的格式.wav。

本人录制的语音信号wav文件命名为:

“nihao.wav“,内容为普通话”你好你好你好你好“,时长3s。

程序如下:

2、原始语音信号的时域和频谱分析时域和频谱分析的程序如下:

原始语音信号的时域和频谱波形如下:

3、原始信号加噪用matlab的randn随机函数产生噪声。

Randn函数有两种基本调用格式:

randn(n)和randn(m,n),前者产生n*n服从高斯分布的随机数矩阵,后者产生m*n的随机数矩阵。

原始信号加噪的程序如下:

噪声信号的时域和频谱波形如下:

加噪语音信号的时域和频谱波形如下:

4、幅度调制Matlab的modulate可用于语音信号的幅度调制,调用方式如下:

y=modulate(x,Fc,Fs,method)y,t=modulate(x,Fc,Fs)其中,x为被调信号,Fc为载波频率,Fs为信号x的采样频率,method为所采用的调制方式,若采用幅度调制、双边带调制、抑制载波调制,则method为am或amdsd-sc。

其执行算法为:

y=x*cos(2*pi*Fc*t)。

幅度调制的程序如下:

调制后的语音信号时域和频谱波形如下:

5、设计理想带通信道并对信号进行传输我们假设理想带通信道的带通范围为:

10003000Hz。

调用matlab的fdatool工具箱,利用fdatool设计一个FIR带通滤波器,基本步骤如下:

在matlab命令窗口下输入“fdatool”命令,“回车”调出滤波器设计界面;

在ResponcType中选择低通滤波器Bandpass;

在DesignMethod中选择FIR,同时在滤波器设计方法下拉框中选择波纹Window设计方法;

FilterOrder中选择SpecifyOrder为95;

Options中Window选择Hamming;

在FrequencySpecification中指定采样频率Fs为44100Hz,通带下限截止频率Fc1为1000Hz,通带上限截止频率Fc2为3000Hz。

单击”DesignFilter”即可完成滤波器设计。

最后,使用菜单【Filc/Export】可导出或保存滤波器系数Num。

参数设置界面如下:

对语音信号进行理想带通信道传输的程序如下:

理想带通信道传输后的语音信号时域和频谱波形如下:

6、信号解调Matlab的demod可用于语音信号的幅度调制,调用方式如下:

y=demod(x,Fc,Fs,method)其中,x为被调信号,Fc为载波频率,Fs为信号x的采样频率,method为所采用的调制方式,若采用幅度调制、双边带调制、抑制载波调制,则method为am或amdsd-sc。

解调的程序如下:

解调后的语音信号时域和频谱波形如下:

7、对信号滤波调用matlab的fdatool工具箱,利用fdatool设计一个FIR低通滤波器,基本步骤如下:

在ResponcType中选择低通滤波器(Lowpass);

在DesignMethod中选择FIR,同时在滤波器设计方法下拉框中选择波纹(Equiripplc)设计方法;

FilterOrder中选择最小滤波器阶次(MinimumOrder);

Options中DesityFactor默认值为20;

在FrequencySpecification中指定采样频率Fs为44100Hz,带通频率Fpass为1000Hz,带阻频率Fstop为1200Hz;

在MagnitudeSpecification中指定Apass为1dB,Astop为50dB。

最后,使用菜单【Filc/Export】可导出或保存滤波器系数Num1。

调用matlab的filter可对语音信号进行滤波。

调用格式为:

Y=filter(B,A,X),X为滤波前序列,Y为滤波结果序列,B/A提供滤波器系数,B为分子,A为分母。

滤波程序如下:

滤波后的语音信号时域和频谱波形如下:

四、实验分析与总结1、实验过程中,原始信号加了噪声信号会听到尖锐的“沙沙”声,对信号进行滤波后,语音信号恢复得较好,“沙沙”明显减弱。

从原始信号和滤波后的信号时域波形和频谱波形对比,也可知滤波效果较好。

2、进行幅度调制后,时域波形看起来变化不明显,而由频谱可看出,频率向高频搬移,语音强度是输入信号的一半左右,这和理论是一致的。

3、解调后的信号频谱向低频移动,与调制前的信号频谱一致性较高,语音强度同样减半。

所以综合幅度调制和解调特点,在给语音信号滤波前应该给语音信号增强4倍。

4、从语音信号通过理想带通信道传输后的频域波形可知理想带通可起到一定的滤波效果。

实际上,理想带通信道本身就是一个理想的带通滤波器。

5、通过实验,我懂得了调制和解调的意义:

当有两段语音信号,为使得两段语音信号在传输过程中不相互干扰,这时我们可以考虑对这两段信号分别进行幅度调制,但载波的频率相距较远,然后分别对调制以后的信号进行传输,到接收端以后再将这两短信号进行解调,然后就可以分别得到这两短信号了。

6、本人曾尝试为低通滤波器编写代码,但并不能成功;

但使用fdatool工具箱所获得的低通滤波器能很好地对语音信号进行滤波。

本人可在为滤波器编写代码方面再深入研究。

7、本次实验花费较多时间在matlab函数调用上,主要是因为对matlab函数参数设置不够了解以及对语音信号处理相关概念不够清晰。

但通过本次实验,本人对matlab的使用和对课本知识的理解更加清晰。

7、实验过程中,本人发现实验所得的频谱波形都是对称的,以为是程序出错。

经过查找资料和研究发现,实验所得的频谱波形都是关于fs/2纵轴对称,这是由于matlab的FFT变换数据的对称性所致。

在分析频谱波形的时候,我们只分析前一部分频谱波形即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

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

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