我有一个信号,我想设置小于特定点的值为零(在我的示例中,值为0.005),我知道它与滤波过程类似但我想彻底清理从静态噪声信号,所以我的代码是:设置信号的具体值为零
close all;clear all;clc;
sig=audioread('sp1.mp3');
N=length(sig);
n_sig=zeros(N,1);
for i=1:N
n_sig= sig((sig>0.005)); %the new signal
end
的问题是,它创建了一个无限循环,我必须手动停止码,也它给了我只有正面的价值观,但我也想要小于-0.005的负数,任何想法如何修改我的代码?提前致谢。
了” “你用过的循环,它是为了什么? – mehmet
忘记for循环:'n_sig = sig; n_sig(abs(n_sig)<0.005)= 0;' – Hoki
以及for循环是为了搜索信号的每个元素 –