语音信号处理预加重、加窗分帧matlab程序?

 我来答
cang_feng
2011-04-20 · TA获得超过296个赞
知道答主
回答量:157
采纳率:100%
帮助的人:206万
展开全部
个人毕业设计的一些相关代码(供参考)

%获取语音信号
[filename,pathname]=uigetfile('*.wav','choose a audio file:');
[wavin,fs,nbits]=wavread([pathname filename]);
wav_l=length(wavin); %采样点数,length()返回值是标量

frame_l=0.04*fs; %根据fs选择帧长,
step_l=floor(0.5*frame_l); %设置帧移
num_frame=floor((wav_l-frame_l)/step_l)+1; %确定帧数
win_ham=hamming(frame_l); %在做fft之前,为移除直流分量和加重高频分量,采用汉明窗,对信号进行加权
%加窗处理用来消除分帧时带来的截断效应

%加窗,分帧(矩阵每一行为一帧)
for i=1:num_frame
n1=(i-1)*step_l+1;
n2=(i-1)*step_l+frame_l;
zy(i,:)=(win_ham').*(yt(n1:n2)'); %存储每一帧噪音(行向量) %win_ham、yt是列向量,需转置
yy(i,:)=(win_ham').*(wavin(n1:n2)'); %存储每一帧纯净语音
end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式