1. python如何实现类似matlab的小波滤波?
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滤波。
2. Python的pywavelet如何实现 matlab的小波算法系数重构的信号,matlab算法如下
T=wpdec(y,5,'db40');
%信号y进行波包解层数5T波树plot看
a10=wprcoef(T,[1,0]);
%a10节点[1,0]进行重构信号貌似没层重构说吧能某层某节点进行重构节点编号波树看
3. matlab中怎样实现多层小波重构?
T=wpdec(y,5,'db40');
%对信号y进行小波包分解,层数为5,得到的T为小波树,plot一下就可看到
a10=wprcoef(T,[1,0]);
%a10是对节点[1,0]进行重构后得到的信号。貌似没有对那一层重构这一说法吧,只能是对某层的某个节点进行重构。节点的编号你可以从小波树中看出来
这是我的做法,不过用的是小波包分解。不知对你有没有用
4. 求一个可运行的5/3或者9/7小波提升算法的MATLAB源代码
您好,定义二维5/3小波提升方案的分解函数如下:
int multilevel_decomposition_2D( int * image, int width, int height, int * wavelet_data, int
levels );
定义二维5/3小波提升方案的重构函数如下:
int multilevel_reconstruction_2D ( int * image, int width, int height, int * wavelet_data, int levels );
类似地,对于9/7小波,我们用C++语言分别实现了二维的多层9/7小波提升方案的分解和重构函数如下:
void WaveletForward2D(int *data, int height, int width, int level); void WaveletInvert2D(int *data, int height, int width, int level);
值得注意的是,DSP平台上实现的5/3、9/7小波提升算法的输入和输出都是整型,这十分有利于直接对图像进行变换。另外,9/7小波提升算法中将对每次乘积的结果通过floor函数进行取整,从而实现了整型到整型的无失真变换。DSP上只实现了CDF97小波。
在CCS 2 ('C6000)编译环境下编程,程序编译优化后,加载到DSP工作平台上。由于本算法使用的存储空间较多,程序中大量使用了堆空间,默认的存储分配方式无法满足要求,所以重新编写cmd文件分配堆栈空间大小如下:
-stack 0xf00 -heap 0x20000
5. Matlab中小波包分解程序代码不会,小波包能量分析,好的回答疯狂加分!!跪求呀!!
T=wpdec(y,5,'db40');
%对信号y进行小波包分解,层数为5,得到的T为小波树,plot一下就可看到
a10=wprcoef(T,[1,0]);
%a10是对节点[1,0]进行重构后得到的信号。貌似没有对那一层重构这一说法吧,只能是对某层的某个节点进行重构。节点的编号你可以从小波树中看出来
这是我的做法,不过用的是小波包分解。不知对你有没有用
6. 关于小波变换的Matlab编程
这是一个带参数的函数 根据下面的参数校验可以看出你应该是直接点运行了吧 所以报错了
你至少应该产生一个输入信号,比如一个正弦信号来做输入进行变换
。。。谁给你的程序啊 这bug也太多了 很多低级bug 我只是改的能运行了
function [WT,FreqBins,Scales]=CWT_Morlet(Sig,WinLen,nLevel)
%continuous Wavelet Transform using Morlet function
%Sig:信号
%WinLen:小波函数在尺度参数a=1时的长度(默认为10)
%nLevel:频率轴划分区间段(默认为1024)
%
%WT:返回的小波变换计算结果
%FreqBins:返回频率轴划分结果(归一化频率,最高频率为0.5)
%Scales:返回与频率轴划分值相对应的尺度划分(频率0.5对应的尺度为1)
if (nargin==0),
error('At least 1 parameter required!');
end;
if (nargin<3),
nLevel=1024;
end
if (nargin<2),
WinLen=10;
end
Sig=hilbert(real(Sig));%计算信号的解析信号
SigLen=length(Sig);%获取信号的长度
fmax=0.5;%设置最高分析频率
fmin=0.005;%设置最低分析频率
FreqBins=logspace(log10(fmin),log10(0.5),nLevel);%将频率轴在分析范围内等
%对数坐标划分
Scales=fmax*ones(size(FreqBins))./FreqBins;%计算响应的尺度参数
omg0=WinLen/6;
WT=zeros(nLevel,SigLen);%分配计算结果的存储单元
wait=waitbar(0,'Under calculation,please wait');
for m=1:nLevel,
waitbar(m/nLevel,wait);
a=Scales(m);%提取尺度参数
t=-round(a*WinLen):1:round(a*WinLen);
Mor1=pi^(-1/4)*exp(1i*2*pi*0.5*t/a).*exp(-t.^2/2/(2*omg0*a)^2);
%计算当前尺度下的小波函数
temp=conv(Sig,Mor1)/sqrt(a); %计算信号与小波函数的卷积
WT(m,:)=temp(round(a*WinLen)+1:length(temp)-round(a*WinLen));
end;
close(wait);
WT=WT/WinLen;
%%%%%%运行示例%%%%%%%%%
Fs=100;
t=0:1/Fs:2*pi;
sig=sin(t);
[WT,FreqBins,Scales]=CWT_Morlet(sig);
7. 怎么用matlab实现小波变换???急!!!
Allnodes 计算树结点
appcoef 提取一维小波变换低频系数
appcoef2 提取二维小波分解低频系数
bestlevt 计算完整最佳小波包树
besttree 计算最佳(优)树
biorfill 双正交样条小波滤波器组
biorwavf 双正交样条小波滤波器
centfrq 求小波中心频率
cgauwavf Complex Gaussian小波
cmorwavf coiflets小波滤波器
cwt 一维连续小波变换
dbaux Daubechies小波滤波器计算
dbwavf Daubechies小波滤波器 dbwavf(W) W='dbN' N=1,2,3,...,50
ddencmp 获取默认值阈值(软或硬)熵标准
depo2ind 将深度-位置结点形式转化成索引结点形式
detcoef 提取一维小波变换高频系数
detcoef2 提取二维小波分解高频系数
disp 显示文本或矩阵
drawtree 画小波包分解树(GUI)
dtree 构造DTREE类
dwt 单尺度一维离散小波变换
dwt2 单尺度二维离散小波变换
dwtmode 离散小波变换拓展模式
dyaddown 二元取样
dyadup 二元插值
entrupd 更新小波包的熵值
fbspwavf B样条小波
gauswavf Gaussian小波
get 获取对象属性值
idwt 单尺度一维离散小波逆变换
idwt2 单尺度二维离散小波逆变换
ind2depo 将索引结点形式转化成深度—位置结点形式
intwave 积分小波数
isnode 判断结点是否存在
函数指 含义
istnode 判断结点是否是终结点并返回排列值
iswt 一维逆SWT(Stationary Wavelet Transform)变换
iswt2 二维逆SWT变换
leaves
mexihat 墨西哥帽小波
meyer Meyer小波
meyeraux Meyer小波辅助函数
morlet Morlet小波
nodease 计算上溯结点
nodedesc 计算下溯结点(子结点)
nodejoin 重组结点
nodepar 寻找父结点
nodesplt 分割(分解)结点
noleaves
ntnode
ntree
orthfill 正交小波滤波器组
plot 绘制向量或矩阵的图形
qmf 镜像二次滤波器
rbiowavf
read 读取二进制数据
readtree 读取小波包分解树
scal2frq
set
shanwavf
swt 一维SWT(Stationary Wavelet Transform)变换
swt2 二维SWT变换
symaux
symwavf Symlets小波滤波器
thselect 信号消噪的阈值选择
thodes
treedpth 求树的深度
treeord 求树结构的叉数
函数指令 含义
upcoef 一维小波分解系数的直接重构
upcoef2 二维小波分解系数的直接重构
upwlev 单尺度一维小波分解的重构
upwlev2 单尺度二维小波分解的重构
wavedec 单尺度一维小波分解
wavedec2 多尺度二维小波分解
wavedemo 小波工具箱函数demo
wavefun 小波函数和尺度函数
wavefun2 二维小波函数和尺度函数
wavemenu 小波工具箱函数menu图形界面调用函数
wavemngr 小波管理函数
waverec 多尺度一维小波重构
waverec2 多尺度二维小波重构
wbmpen
wcodemat 对矩阵进行量化编码
wdcbm
wdcbm2
wden 用小波进行一维信号的消噪或压缩
wdencmp
wentropy 计算小波包的熵
wextend
wfilters 小波滤波器
wkeep 提取向量或矩阵中的一部分
wmaxlev 计算小波分解的最大尺度
wnoise 产生含噪声的测试函数数据
wnoisest 估计一维小波的系数的标准偏差
wp2wtree 从小波包树中提取小波树
spbmpen
wpcoef 计算小波包系数
wpcutree 剪切小波包分解树
wpdec 一维小波包的分解
wpdec2 二维小波包的分解
wpdencmp 用小波包进行信号的消噪或压缩
wpfun 小波包函数
wpjoin
wprcoef 小波包分解系数的重构
wprec 一维小波包分解的重构
wprec2 二维小波包分解的重构
wpsplt 分割(分解)小波包
wpthcoef 进行小波包分解系数的阈值处理
wptree
wpviewcf
wrcoef 对一维小波系数进行单支重构
wrcoef2 对二维小波系数进行单支重构
wrev 向量逆序
write 向缓冲区内存写进数据
wtbo
wthcoef 一维信号的小波系数阈值处理
wthcoef2 二维信号的小波系数阈值处理
wthresh 进行软阈值或硬阈值处理
wthrmngr 阈值设置管理
wtreemgr 管理树结构
wvarchg
8. matlab小波信号导入
matlab左下角start->toolboxes->more->wavelet->wavelet toolbox main menu,此操作完成打开小波工具箱,小波包分析的话在工具箱中找到左上边一块的第二个wavelet packet1-D,就进入小波包分析窗口,在该窗口上面的菜单栏,看到file点击并进入load 有两个选项,选signal,然后导入一维信号的.mat文件即可