|
最近在考虑基于小波的信号分解、去噪和重组算法的C代码实现
发现坛里面的资料特别少
直接用matlab程序倒是挺容易实现,但关键是系统跑的linux平台,无法调用matlab实现类似下面matlab程序的小波算法
疑问是,是否有什么库函数可以直接调用实现这些算法呢?或者有比较成熟的C/C++语言实现的小波算法可参考?
搞过的指点下
% 获取噪声信号
load leleccum;
indx = 1:3450;
noisez = leleccum(indx);
%信号的分解
wname = 'db3';
lev = 3;
[c,l] = wavedec(noisez,lev,wname);
%求取阈值
sigma = wnoisest(c,l,1);%使用库函数wnoisest提取第一层的细节系数来估算噪声的标准偏差
N = numel(noisez);%整个信号的长度
thr = sigma*sqrt(2*log(N));%最终阈值
%全局阈值处理
keepapp = 1;%近似系数不作处理
denoisexs = wdencmp('gbl',c,l,wname,lev,thr,'s',keepapp);
denoisexh = wdencmp('gbl',c,l,wname,lev,thr,'h',keepapp); |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|