语音信号处理matlab仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音信号处理的matlab设计仿真实验
彭杰12350049 12自动化
一、目的
通过利用matlab设计仿真实验,理解如下知识点:
信号的采样及混迭
信号的频谱分析
信号的幅度调制解调的方法
理想滤波器的时频域特性
数字滤波器的设计
二、内容
①录制一段个人自己的语音信号。
②采用合适的频率,对录制的信号进行采样,画出采样后语音信号的时域波形和频谱图。
③给原始语音信号加噪声,画出加噪声后的语音信号和频谱图。
④设计一个频域的理想带通信道。
⑤对这个语音信号进行幅度调制,画出调制后的语音信号和频谱图。
⑥利用理想带通信道对信号进行传输。
⑦对接受到的信号进行解调,画出解调后的语音信号和频谱图。
⑧设计性能良好的滤波器对信号进行滤波。
⑨对语音进行回放,并与滤波后的语音信号进行对比。
三、实验设计与仿真结果
程序汇总如下:
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、设计理想带通信道并对信号进行传输
我们假设理想带通信道的带通范围为:1000~3000Hz。调用matlab的fdatool工具箱,利用fdatool设计一个FIR带通滤波器,基本步骤如下:
①在matlab命令窗口下输入“fdatool”命令,“回车”调出滤波器设计界
面;
②在Responc Type中选择低通滤波器Bandpass;
③在Design Method中选择FIR,同时在滤波器设计方法下拉框中选择
波纹Window设计方法;
④Filter Order中选择Specify Order为95;
⑤Options中Window选择Hamming;
⑥在Frequency Specification中指定采样频率Fs为44100Hz,通带下限
截止频率Fc1为1000Hz,通带上限截止频率Fc2为3000Hz。
⑦单击”Design Filter”即可完成滤波器设计。
⑧最后,使用菜单【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低通滤波器,基本步骤如下:
①在matlab命令窗口下输入“fdatool”命令,“回车”调出滤波器设计界面;
②在Responc Type中选择低通滤波器(Lowpass);
③在Design Method中选择FIR,同时在滤波器设计方法下拉框中选择波纹(Equiripplc)设计方法;
④Filter Order中选择最小滤波器阶次(Minimum Order);
⑥Options中Desity Factor默认值为20;
⑦在Frequency Specification中指定采样频率Fs为44100Hz,带通频率Fpass为1000Hz,带阻频率Fstop为1200Hz;