谱减法去噪matlab,最基本的谱减法去噪程序

本文介绍了作者在MATLAB中实现谱减法去噪程序的过程,通过读取音频文件、下采样、VAD检测和FFT处理等步骤,遇到输出结果不符预期的问题。主要困惑在于噪音更新和逆变换的正确性。附有原始和处理后信号的图表对比。
摘要由CSDN通过智能技术生成

各位大大好,新人刚学matlab,需要设计一个最基本的谱减法去噪程序;我按照课题要求写了,运行无错误,但是输出结果明显不对,还请高人解惑,感谢在先。我估计是哪里犯了严重错误……

clear

clc

[x,fs] = wavread('0db.wav');                           % read in the file, fs = frequency=48000

y = downsample(x,3);                                    % downsampling (fs/3)

figure;plot(y)

ind = vadsohn(y,16000,'n');                            %相当于vad检测silent或者voiced段,输出是0或者1

f=enframe(y,hamming(320),160);                   % enframing加窗,汉明窗,50%overlap

nmag = [];smag = [];r = [];                           %初始化

for i = 1:5                                                     %这里开始是获取初始噪音,按照课题要求直接拿开头5个frame

fi = f(i,:);

mag(i) = sum(abs(fft(fi,320)))/length(fi);

end

nmag = sum(mag)/length(mag);      

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值