prep1d_rr.m
来自「多小波变换MATLAB源程序,m文件形式给出」· M 代码 · 共 66 行
M
66 行
function fp=prep1D_rr(f,flt)
%fp=prep1D_rr(f,flt)
%
% This function performs oversampled ("repeated row") preprocessing of given
% 1-dimensional signal. For description of the algorithm see [SW]
%
% rr 这是重复行预滤波;这个函数与post1D_rr.m共同使用;
%
% Input:
% flt string of characters, name of the filter to be used;
% for possible names and short descriptions see coef.m
% f 1 by n real array, input signal;//1-D输入信号
%
% n n must be of the form integer*2^maxlevel,//输入信号的长度
% maxlevel maxlevel is the number of levels of multiwavelet decomposition //多小波分解的层数
%
% Output:
% fp r by n real array, preprocessed signal;
% each row corresponds to a scaling function
%
% Example of Usage:
% fp=prep1D_rr(f,'ghm')
% Author: Vasily Strela
% COPYRIGHT 1997,98 by Vasily Strela
[L,H]=coef(flt);
n=length(f);
[nf,ns]=size(L);
ns=ns/nf;
H0=zeros(nf);
for i=1:ns
H0=H0+L(:,nf*(i-1)+1:nf*i);
end
[V,D]=eig(H0'/(sqrt(2)));
fl=0;
for i=1:nf
if abs(D(i,i)-1.)<0.000001
fl=i;
end
end
a0=V(:,fl);
big=0;
for i=1:nf
if abs(a0(i))>abs(big)
big=a0(i);
end
end
for i=1:nf
a0(i)=a0(i)/big;
end
fp=zeros(nf,n);
for i=1:nf
fp(i,:)=a0(i)*f;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?