⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mallatdrdb4.m

📁 Mallat算法分解与重构程序
💻 M
字号:
%dec
[hh,gg,h,g]=wfilters('db4');
level=1;

%为防止原信号发生变化,将其赋给另一变量x进行运算;
x=sig;

%i表示分解级数,n表示信号序号
for i=1:1:level
    for n=1:1:length(x)/2
        if((2*n+8)>length(x))
            x=wextend('1d','per',x,8,'r');    %数据延拓
        end
        ca(n,i)=[x(2*n+1),x(2*n+2),x(2*n+3),x(2*n+4),x(2*n+5),x(2*n+6),x(2*n+7),x(2*n+8)]*[h(1),h(2),h(3),h(4),h(5),h(6),h(7),h(8)]';
        cd(n,i)=[x(2*n+1),x(2*n+2),x(2*n+3),x(2*n+4),x(2*n+5),x(2*n+6),x(2*n+7),x(2*n+8)]*[g(1),g(2),g(3),g(4),g(5),g(6),g(7),g(8)]';
    end
    x=ca(:,i);
end

%rec
lca=length(ca);
lcd=length(cd);
x=zeros(2*lca,1);
y=zeros(2*lcd,1);
x(2:2:2*lca)=ca(1:lca);
y(2:2:2*lcd)=cd(1:lcd);

for n=1:length(x)
    if(n<9)
        x1=wextend('1d','per',x,9-n,'l');xx(n,:)=x1(1:100);
        y1=wextend('1d','per',y,9-n,'l');yy(n,:)=y1(1:100);
        xrec(n)=[xx(n,1),xx(n,2),xx(n,3),xx(n,4),xx(n,5),xx(n,6),xx(n,7),xx(n,8)]*[h(8),h(7),h(6),h(5),h(4),h(3),h(2),h(1)]'+[yy(n,1),yy(n,2),yy(n,3),yy(n,4),yy(n,5),yy(n,6),yy(n,7),yy(n,8)]*[g(8),g(7),g(6),g(5),g(4),g(3),g(2),g(1)]';
    else
        xrec(n)=[x(n-8),x(n-7),x(n-6),x(n-5),x(n-4),x(n-3),x(n-2),x(n-1)]*[h(8),h(7),h(6),h(5),h(4),h(3),h(2),h(1)]'+[y(n-8),y(n-7),y(n-6),y(n-5),y(n-4),y(n-3),y(n-2),y(n-1)]*[g(8),g(7),g(6),g(5),g(4),g(3),g(2),g(1)]';

    end
end   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -