2012年02月01日 星期三 17:36
import pywt, math
c = math.sqrt(2)/2
dec_lo, dec_hi, rec_lo, rec_hi = [c, c], [-c, c], [c, c], [c, -c]
filter_bank = [dec_lo, dec_hi, rec_lo, rec_hi]
myWavelet = pywt.Wavelet(name="myHaarWavelet", filter_bank=filter_bank)
class HaarFilterBank(object):
# @property
def filter_bank(self):
c = math.sqrt(2)/2
dec_lo, dec_hi, rec_lo, rec_hi = [c, c], [-c, c], [c, c], [c, -c]
return [dec_lo, dec_hi, rec_lo, rec_hi]
filter_bank = HaarFilterBank()
myOtherWavelet = pywt.Wavelet(name="myHaarWavelet", filter_bank=filter_bank)
2012年02月02日 星期四 12:34
似乎是indent出错了
2012年02月02日 星期四 17:08
你指的是 myOtherWavelet = pywt.Wavelet(name="myHaarWavelet", filter_bank=filter_bank)吗?应该没问题,只不过在发在此处的宽度不够,自动换行了。
2012年02月03日 星期五 01:35
我指的是:
filter_bank = HaarFilterBank()
可能是语法问题
2012年02月03日 星期五 20:36
还是不懂,请版主帮忙看看!
2012年02月04日 星期六 08:13
你仔细比较你的程序和那个网页中的例子:
filter_bank = HaarFilterBank()
这一行应该在HaarFilterBank类定义的外面。
2012年02月06日 星期一 16:54
import pywt, math
from numpy import sin, pi
import numpy as np
import pylab as plt
c = math.sqrt(2)/2
dec_lo, dec_hi, rec_lo, rec_hi = [c, c], [-c, c], [c, c], [c, -c]
filter_bank = [dec_lo, dec_hi, rec_lo, rec_hi]
myWavelet = pywt.Wavelet(name="myHaarWavelet", filter_bank=filter_bank)
class HaarFilterBank(object):
@property
def filter_bank(self):
c = math.sqrt(2)/2
dec_lo, dec_hi, rec_lo, rec_hi = [c, c], [-c, c], [c, c], [c, -c]
return [dec_lo, dec_hi, rec_lo, rec_hi]
filter_bank = HaarFilterBank()
myOtherWavelet = pywt.Wavelet(name="myHaarWavelet", filter_bank=filter_bank)
# define noised signal and use my wavelet filter
t = np.arange(-1,1,0.05)
noise = 0.05*np.random.randn(len(t))
data = sin(2*pi*t)+noise
MyHaar = .... # 请问此处如何调用自定义的小波来去除噪声
plt.figure(1).clf()
plt.plot(data,'k-.')
plt.plot(MyHaar ,'-')
此外,我发现找不到自定义的小波,不知道为什么?
ValueError: Unknown wavelet name 'myhaarwavelet', check wavelist() for the list of available builtin wavelets.
Zeuux © 2024
京ICP备05028076号