资源简介
该程序是基于谱减法的语音增强程序,用matlab实现,取得了很好的效果。
代码片段和文件信息
clear all;
%-------------------------------读入带噪语音文件---------------------------
load yi.mat
tidy=load(‘yi.mat‘‘rt‘) ;
[filenamepathname]=uigetfile(‘*.cnt‘‘请选择带噪语音文件:‘);
wavin=wavread([pathname filename])‘;
%-------------------------------参数定义---------------------------------
frame_len=256; %帧长
step_len=0.5*frame_len; %分帧时的步长,相当于重叠50%
wav_length=length(wavin);
R = step_len;
L = frame_len;
f = (wav_length-mod(wav_lengthframe_len))/frame_len;
k = 2*f-1; % 帧数
h = sqrt(1/101.3434)*hamming(256)‘; % 汉宁窗乘以系数的原因是使其复合条件要求;
wavin = wavin(1:f*L); % 带噪语音与纯净语音长度对齐
tidy= tidy(1:f*L);
win = zeros(1f*L); % 设定初始值;
enspeech = zeros(1f*L);
%-------------------------------分帧-------------------------------------
for r = 1:k
y = wavin(1+(r-1)*R:L+(r-1)*R); % 对带噪语音帧间重叠一半取值;
y = y.*h; % 对取得的每一帧都加窗处理;
w = fft(y); % 对每一帧都作傅里叶变换;
Y(1+(r-1)*L:r*L) = w(1:L); % 把傅里叶变换值放在Y中;
end
%-------------------------------估计噪声-----------------------------------
NOISE= stationary_noise_evaluate(YLk); %噪声最小值跟踪算法
% NOISE= non_stationary_noise_evaluate(YLk); % 基于统计信息的非平稳噪声自适应算法
%-------------------------------谱减法-------
相关资源
- 串行级联cpm系统MATLAB仿真
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
评论
共有 条评论