扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
load woman
遂昌ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
init=2055615866;
randn('seed',init);
x=X+15*randn(size(X));
[thr,sorh,keepapp]=ddencmp('den','wv',x);
xd=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);
colormap(pink(255)), sm=size(map,1);
subplot(221), image(wcodemat(X,sm)), title('原始图像')
subplot(222), image(wcodemat(x,sm)), title('含噪声的图像')
subplot(223), image(wcodemat(xd,sm)), title('降噪后的图像')
[c,s]=wavedec2(x,3,'sym4')
[thr3,nkeep3]=wdcbm2(c,s,1.5,2.7*prod(s(1,:)))
[xd3,cxd,sxd,perf0,perfl2]=wdencmp('lvd',c,s,'sym4',3,thr3,'s');
subplot(224), image(wcodemat(X,sm)), title('使用分层阈值降噪图像');
err1=norm(xd-X)
err2=norm(xd3-X)
per1=norm(xd)/norm(x)
per2=norm(xd3)/norm(x)
Sum = (1.0 / float(N)) * Sum,我猜这个你应该是在那个循环里面的吧,感觉上是想做个均值,之后给他们相加?你这个写的是相成,要是那个N很大的话出来结果就会变成(1/N)^i很小但是sum也是i次方。--- 没看过公式感觉也有可能是对的,之后我看了以下你问的问题,说 的是什么结果也没有出,我看了一下,无论是plt还是print你都么有对结果进行现显示a ,没有缩进看着是真的蛋疼.
T=wpdec(y,5,'db40');
%信号y进行波包解层数5T波树plot看
a10=wprcoef(T,[1,0]);
%a10节点[1,0]进行重构信号貌似没层重构说吧能某层某节点进行重构节点编号波树
%以下为滤波程序(主要调节参数c的大小)
c=10;
wn=0.1;
fs=50000; %采样频率;
b=fir1(c,wn/(fs/2),hamming(c+1));
y1=filtfilt(b,1,y);%对y滤波。
哈哈!傻眼了吧,理论和实际不可兼得啊!对于你这个问题有如下建议:
小波去噪的试验,十个有九个都喜欢用正、余弦函数,但由于小波函数的几何特征,其实不易得到满意效果,你只能选择线性强的小波基,即对称性强并且光滑的小波,嘿嘿,貌似能做DWT的所有小波基中只有sym8的对称性最强(参看;msgtype=2),这样你将会得到其降噪效果好于其它小波基的谬论,实际应用中如果原始信号本身特征就不规律对称则有可能其它小波基的处理效果会好于sym8,这需要试错的方法试验,是你这个原始信号对称的前提假设造成的,但不可认为sym8适合你这个特殊例子就得出结论,你这试验只适合你的假设,其实并不适合所有情形,个人认为其实不具说服力和可比性。如同我家钥匙开不了你家门,是不能得出我家钥匙不如你家钥匙的结论滴。
当你的噪声特征与信号的特征的频率相近时,小波也无能为力,它不是神,也一样分不出啥是噪声,所以其一是可增加分解层数,你这个信号只有100个数,5层已经很高了,再增大也没啥用了,可能会过多显示小波基的特征,造成扭曲失真(如果用SWT会好很多,但需要自己编制函数);其二是参数SCAL可以改为伸缩的sln,而不是固定的one,这样分解层数和SCAL都将起作用,你可以试着改改玩,效果还行。
分解5层
分解8层
你可以试试只分解一层的状况,频率最低的几处噪声会保留下来哦!
pywt.waverec(coeffs, wavelet, mode='symmetric', axis=-1)
It may sometimes be desired to run waverec with some sets of coefficients omitted. This can best be done by setting the corresponding arrays to zero arrays of matching shape and dtype. Explicitly removing list entries or setting them to None is not supported.
Specifically, to ignore detail coefficients at level 2, one could do:
coeffs[-2] = np.zeros_like(coeffs[-2])
##################################################################
coeffs=pywt.wavedec(data_current,'db6',level=3)
for i in range(1,4):
coeffs[i] = np.zeros_like(coeffs[i])
A3 = pywt.waverec(coeffs, 'db6')
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流