matlab语音中的负值,信噪比为负

对带噪语音信号进行wiener语音增强,计算后验信噪比是负,是程序的问题,还是跟我选择的语音信号和噪声信号有关系呢?

clear all;

% 维纳滤波语音增强

[filename,pathname] = uigetfile('*.wav','请选择语音文件:');

[filename1,pathname1] = uigetfile('*.wav','请选择噪声文件:');

filepath_name = [pathname1 filename1];

[s,fs] = wavread([pathname filename]);

[x,NOISE] = add_noisem(s,filepath_name,15,fs);

SNR1=SNR_singlech(s,x); %计算先验信噪比

frameSize=256;%帧长度

L=length(s);

N=ceil(L/frameSize);%帧移

% 估计噪声功率谱

Z=zeros(1,frameSize);

z=zeros(1,frameSize);

noise_psd=0;h=15;d=2;

for ii=1:frameSize:h*frameSize

p=0;

for j=1:frameSize

z(j)=x(ii+j-1); % 一帧内数据处理

end

Z=abs(fft(z,frameSize)); % 求幅值

for n=1:frameSi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值