亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? signalexpansion.m

?? Sparse Signal Representation using Overlapping Frames (matlab toolbox)
?? M
?? 第 1 頁 / 共 2 頁
字號:
function Y=SignalExpansion(TestNo,Signal,N,p1,p2)
% SignalExpansion   Here we test many different methods for signal expansion. 
%                   A signal expansion is the representation of a signal as
% a linear combination of some basic synthesis signals, which depend on the
% transform, filter bank or frame used.
% The functions tested in this file are:
%   dct function in Matlab (for comparision) in TestNo 1
%   Ttimes function in TestNo 2, 3, and 4
%   Decom1D function in TestNo 5
%   Decom2D function in TestNo 6
%
% Y=SignalExpansion(TestNo,Signal,N,p1,p2);   
%-----------------------------------------------------------------------------------
% arguments:
%  Y          - the expansion coefficients
%               for 1D signal the size of Y depends on the expansion
%               for 2D signals (and orthogonal expansions) the size of Y is as size of X 
%  TestNo     - which test to do
%                1 - use NxN DCT (Matlab functions only)
%                    Y=SignalExpansion(1,1,8);  % 8x8 DCT, 1D AR(1) signal
%                    Y=SignalExpansion(1,2,8);  % 8x8 DCT (dct function), 2D image
%                    Y=SignalExpansion(1,2,8,'dct2');  % 8x8 DCT (dct2 function), 2D image
%                2 - use NxN KLT (Karhunen Loewe Transform) and Ttimes function (case a)
%                    Y=SignalExpansion(2,1,8);  % 8x8 KLT, 1D AR(1) signal
%                    Y=SignalExpansion(2,2,8);  % 8x8 KLT, two KLTs (rows and columns) 
%                    Y=SignalExpansion(2,2,8,1);  % 8x8 KLT, the same KLT for rows and columns
%                3 - use 4NxN ELT (Extended Lapped Transform) and Ttimes function (case b)
%                    Y=SignalExpansion(3,1,8);  % 32x8 ELT, 1D AR(1) signal
%                    Y=SignalExpansion(3,2,8);  % 32x8 ELT, image
%                4 - use a defined method in Ttimes function (case c), note that argument N 
%                    is not used and argument p1 gives the method used in Ttimes
%                    Y=SignalExpansion(4,1,0,1);  % 2x2 Haar wavelet
%                    Y=SignalExpansion(4,1,0,7);  % 8x8 DCT
%                    Y=SignalExpansion(4,2,0,12);  % 32x16 LOT
%                5 - use the methods in Decom1D, only for 1D signal,
%                    note the third argument, N, now is Method used in Decom1D, 
%                    Y=SignalExpansion(5,1,8);  % Decom1D, 8x8 DCT
%                    Y=SignalExpansion(5,1,203);  % Decom1D, IIR filter bank
%                    Y=SignalExpansion(5,1,213);  % Decom1D, Daubechies 7-9 wavelet
%                    Y=SignalExpansion(5,1,218,'db3',3);  % Decom1D, filter from wfilters
%                    Y=SignalExpansion(5,1,235);  % Decom1D, 64x16 ELT
%                    Y=SignalExpansion(5,1,255,'FrameEx2s20',0.25);  % Decom1D, frame
%                6 - use the methods in Decom2D, only for 2D signal, Decom2D is quite similar to
%                    Ttimes and it uses the Ttimes function to do the work.
%                    Y=SignalExpansion(6,2,8);   % Decom2D, 16x16 DCT
%                    Y=SignalExpansion(6,2,12);  % Decom2D, 32x16 LOT
%                    Y=SignalExpansion(6,2,2,'db4',3);   % Decom2D, a wavelet
%                    Y=SignalExpansion(6,2,2,'db79',4);   % Decom2D, a wavelet
%  Signal     -  1 - a simple one-dimensional signal, AR(1)
%                2 - a two-dimensional signal, the image Lena (or Barbara)
%                X - the signal X, 1D or 2D
%  N          - the transform (filter bank) size parameter N, default is 8
%  p1         - an extra argument used by some tests, default 0
%-----------------------------------------------------------------------------------

%----------------------------------------------------------------------
% Copyright (c) 2002.  Karl Skretting.  All rights reserved.
% Hogskolen in Stavanger (Stavanger University), Signal Processing Group
% Mail:  karl.skretting@tn.his.no   Homepage:  http://www.ux.his.no/~karlsk/
% 
% HISTORY:  dd.mm.yyyy
% Ver. 1.0  28.11.2002  KS: function made 
%----------------------------------------------------------------------

Mfile='SignalExpansion';
Message='ok';
Y=0;

if nargin<3; N=8; end;
if nargin<4; p1=0; end;
if nargin<5; p2=0; end;
if nargin<2;
    Message=[Mfile,': wrong number of arguments, see help.'];
    disp(Message);
    return
end;

[Mi,Ni]=size(Signal);
if ((Mi*Ni)>1)     % the signal is given
    if ((Mi==1) | (Ni==1))
        X=Signal(:);
        Signal=1;     % now Signal tells number of dimensions in signal X
        L=length(X);
    else
        X=Signal;
        Signal=2;     % now Signal tells number of dimensions in signal X
    end
else
    if (Signal==1)
        L=2560;
        randn('state',6502);
        X=filter(1,[1,-0.95],randn(L,1));   % AR(1) signal
        X=X(:);
    elseif (Signal==2)
        if exist('GetIm.m')==2  % GetIm is my own function for loading images
            X=GetIm(1);     % load an image (Lena) 
            % X=GetIm(6,2);     % load an image (Barbara) 
        else
            % here you should put the code that load a grayscale image
            disp([Mfile,', is not able to find an image to load, edit mfile (line 98)']);
            return
        end
        X=double(X);
        [Mi,Ni]=size(X);
    else
        Message=[Mfile,': the signal is not (correctly) given, see help.'];
        disp(Message);
        return
    end
end

% ********** now do test 1 ****************************************************** 1 **

if (TestNo==1)  % NxN DCT
    disp(['Test ',int2str(TestNo),' using ',int2str(N),'x',int2str(N),' DCT.']);
    if (Signal==1)
        Y=dct(reshape(X,N,L/N));    % expansion coefficients
        Xr=idct(Y);
        Xr=Xr(:);
        temp=norm(X-Xr);
        disp([Mfile,', Test ',int2str(TestNo),' : Norm of error (X-Xr) is ',num2str(temp)]);
        figure(1);clf;
        subplot(2,1,1);plot(1:L,X);title('Original signal, X');
        subplot(2,1,2);plot(1:L,Xr);title('Reconstructed signal, Xr');
        if exist('geomean.m')==2
            sigma2=std(Y').^2;  % estimate for variance of each of the rows of Y
            temp=mean(sigma2)/geomean(sigma2);
            disp([Mfile,', Test ',int2str(TestNo),' : Estimate for coding gain is ',num2str(temp)]);
        end
    elseif (Signal==2)
        % the matlab function dct2 does not take dct of NxN blocks of the image
        if strcmp(p1,'dct2')  % use dct2  (time is 15.2 s)
            disp([Mfile,', Test ',int2str(TestNo),' : use dct2 function.']);
            Y=zeros(size(X));
            for i=1:N:Mi
                ii=i:(i+N-1);
                for j=1:N:Ni
                    jj=j:(j+N-1);
                    Y(ii,jj)=dct2(X(ii,jj));
                end
            end
            % now do the inverse, note that the inverse from the other clause could be used
            Xr=zeros(size(Y));
            for i=1:N:Mi
                ii=i:(i+N-1);
                for j=1:N:Ni
                    jj=j:(j+N-1);
                    Xr(ii,jj)=idct2(Y(ii,jj));
                end
            end
        else  % use reshape and dct (time is 3.5 s)
            disp([Mfile,', Test ',int2str(TestNo),' : use dct function.']);
            temp=dct(reshape(X,N,(Mi*Ni)/N));       % dct of columns
            temp=reshape(temp,Mi,Ni)';              % reshaped back to image size and transposed  
            temp=dct(reshape(temp,N,(Mi*Ni)/N));    % dct of rows
            Y=reshape(temp,Ni,Mi)';                 % reshaped back to image size and transposed
            % now do the inverse
            temp=reshape(Y',N,(Mi*Ni)/N);
            temp=idct(temp);
            temp=reshape(temp,Ni,Mi)';
            temp=idct(reshape(temp,N,(Mi*Ni)/N));
            Xr=reshape(temp,Mi,Ni);
        end
        %
        temp=norm(X(:)-Xr(:));
        disp([Mfile,', Test ',int2str(TestNo),' : Norm of error (X-Xr) is ',num2str(temp)]);
        figure(1);clf;
        subplot(1,2,1);imagesc(X);title('Original image, X');
        subplot(1,2,2);imagesc(Xr);title('Reconstructed image, Xr');
        if exist('geomean.m')==2
            % each NxN block of Y is made into a vector
            temp=Reorder(Y,[Mi,Ni],[N,N],1);
            sigma2=std(temp').^2;  % estimate for variance of each of the rows of Y
            temp=mean(sigma2)/geomean(sigma2);
            disp([Mfile,', Test ',int2str(TestNo),' : Estimate for coding gain is ',num2str(temp)]);
        end
    else
        Message=[Mfile,': Signal has illegal value in test ',int2str(TestNo)];
        disp(Message);
        return
    end
    Message=[Mfile,': Test ',int2str(TestNo),' finished ok.'];
end

% ********** now do test 2 ****************************************************** 2 **

if (TestNo==2)   % NxN KLT
    disp(['Test ',int2str(TestNo),' using ',int2str(N),'x',int2str(N),' KLT.']);
    if (Signal==1)
        Xc=reshape(X,N,L/N); 
        Rxx=Xc*Xc';
        [U,D]=eig(Rxx);    % the columns of U are the synthesis vectors
        T=U';              % the analysis part
        Y=Ttimes(T,X);     % Y is returned same size as X
        Xr=Ttimes(U,Y); 
        Xr=Xr(:);
        temp=norm(X-Xr);
        disp([Mfile,', Test ',int2str(TestNo),' : Norm of error (X-Xr) is ',num2str(temp)]);
        figure(1);clf;
        subplot(2,1,1);plot(1:L,X);title('Original signal, X');
        subplot(2,1,2);plot(1:L,Xr);title('Reconstructed signal, Xr');
        if exist('geomean.m')==2
            temp=reshape(Y,N,L/N);
            sigma2=std(temp').^2;  % estimate for variance of each of the rows of Y
            temp=mean(sigma2)/geomean(sigma2);
            disp([Mfile,', Test ',int2str(TestNo),' : Estimate for coding gain is ',num2str(temp)]);
        end
    elseif (Signal==2)
        if (p1==1)          % columns and rows used together to get a separable KLT transform
            disp([Mfile,', Test ',int2str(TestNo),' : use 1 KLT tramsform.']);
            Xc=[reshape(X,N,(Mi*Ni)/N),reshape(X',N,(Mi*Ni)/N)]; 
            Rxx=Xc*Xc';
            clear Xc;
            [U,D]=eig(Rxx);    % the columns of U are the synthesis vectors
            T=U';              % the analysis part
            temp=Ttimes(T,X);      % do the colums
            Y=Ttimes(T,temp')';    % and the rows 
            temp=Ttimes(U,Y')'; 
            Xr=Ttimes(U,temp); 
        else         % one KLT for the rows and another for the columns
            disp([Mfile,', Test ',int2str(TestNo),' : use 2 KLT tramsforms (rows + columns).']);
            Xc=reshape(X,N,(Mi*Ni)/N);   % columns
            Rxx=Xc*Xc';

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产伦精品一区二区三区视频青涩 | 久久精品国产亚洲5555| 国产精品久久99| 国产亚洲欧美激情| 国产欧美综合在线观看第十页| 欧美一级视频精品观看| 欧美亚洲国产怡红院影院| 色一区在线观看| 99re热视频精品| 99精品国产热久久91蜜凸| 国产一本一道久久香蕉| 丰满少妇在线播放bd日韩电影| 国产成人在线视频免费播放| 国产精品88888| 色中色一区二区| 欧美高清视频一二三区| 亚洲精品一区二区三区在线观看| 精品99久久久久久| 亚洲天堂成人网| 三级在线观看一区二区| 麻豆精品视频在线观看免费| 国产成人综合自拍| heyzo一本久久综合| 99久久精品免费| 欧美日韩精品免费| 国产精品麻豆久久久| 一级特黄大欧美久久久| 亚洲一线二线三线久久久| 蜜臀久久99精品久久久久久9| 精品一区二区日韩| 国产一区二区三区免费| 色综合久久中文综合久久97| 欧美一区二区三区成人| 日韩美女精品在线| 国产精品456露脸| 欧美主播一区二区三区| 国产偷国产偷精品高清尤物| 亚洲青青青在线视频| 国内一区二区在线| 日韩欧美综合一区| 亚洲一二三四区不卡| 99久久夜色精品国产网站| 久久人人超碰精品| 看电影不卡的网站| 欧美一区二区在线免费观看| 国产精品人妖ts系列视频| 日本视频一区二区三区| 中文字幕av不卡| 欧美体内she精视频| 日韩欧美激情在线| 一区二区三区在线看| 亚洲va国产天堂va久久en| 亚洲美女视频一区| 7777精品久久久大香线蕉| 欧美韩日一区二区三区| 国产成人精品一区二区三区四区| 欧美一区二区三区视频在线观看 | 亚洲裸体xxx| 国产一区二区中文字幕| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品美女www爽爽爽| 国内成人精品2018免费看| 97精品久久久午夜一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 91国在线观看| 国产欧美视频在线观看| 国产不卡在线一区| 亚洲成人福利片| 国产精品午夜免费| 日韩一区二区不卡| 一本大道久久精品懂色aⅴ| 麻豆国产精品777777在线| 国产精品久久毛片a| 欧美成人三级电影在线| 欧美色图12p| 一本大道久久a久久综合| 国产一区二区三区在线观看免费| 亚洲成av人影院在线观看网| 国产精品久久久久一区| 国产婷婷一区二区| 日韩欧美国产wwwww| 欧美精品xxxxbbbb| 欧美日韩你懂的| 在线观看av一区| 欧美日韩精品一区二区天天拍小说| 成人福利在线看| 成人午夜av影视| eeuss鲁片一区二区三区在线看| 免费在线观看成人| 精品一区二区三区在线播放 | 国产精品嫩草影院av蜜臀| 久久精品人人爽人人爽| 国产精品蜜臀av| 亚洲欧美日韩久久| 亚洲一区二区三区视频在线播放 | 成人午夜私人影院| 99r国产精品| 欧美日韩一卡二卡| 久久精品这里都是精品| 婷婷成人综合网| 精品视频123区在线观看| 国产精品高清亚洲| 97超碰欧美中文字幕| 欧美一级在线观看| 美女在线观看视频一区二区| 日本道色综合久久| 亚洲一级电影视频| 欧美日韩午夜影院| 日韩不卡免费视频| 欧美一区二区三区性视频| 日本中文字幕一区二区视频| 丝袜亚洲另类欧美| 亚洲国产美国国产综合一区二区| 亚州成人在线电影| caoporn国产精品| 日韩一卡二卡三卡四卡| 亚洲午夜精品网| 97超碰欧美中文字幕| 中文字幕av不卡| 日韩高清在线观看| 91福利在线播放| 亚洲免费观看高清完整| 岛国av在线一区| 国产日韩欧美激情| 国产精品亚洲一区二区三区在线 | 亚洲美女区一区| 99久久99久久精品国产片果冻 | 91香蕉视频污| 亚洲精品成人悠悠色影视| 97aⅴ精品视频一二三区| 国产精品国产三级国产专播品爱网 | 日本vs亚洲vs韩国一区三区| 久久久电影一区二区三区| 成人夜色视频网站在线观看| 欧美日本韩国一区| 亚洲激情自拍偷拍| 国产福利精品一区二区| 91片在线免费观看| 日韩一级二级三级精品视频| 一区二区三区免费网站| 蜜桃一区二区三区在线| 99国产精品久久久久| 国产精品久久久久久久久快鸭| 国产成人精品亚洲777人妖| 26uuu色噜噜精品一区| 国产精品1024久久| 亚洲欧美另类久久久精品 | 国产日韩欧美电影| 在线观看视频91| 国产麻豆日韩欧美久久| 日韩理论片一区二区| 欧美精品vⅰdeose4hd| 国产成人午夜片在线观看高清观看| 国产无遮挡一区二区三区毛片日本| www.在线欧美| 美女性感视频久久| 亚洲欧美日韩一区| 久久午夜羞羞影院免费观看| 欧美性猛片aaaaaaa做受| 国产一区二区三区免费在线观看 | 91丨九色丨国产丨porny| 美女一区二区视频| 午夜精品视频在线观看| 亚洲欧美日韩精品久久久久| 久久精品在线免费观看| 欧美一二三四区在线| 91成人国产精品| 91老师片黄在线观看| 91在线视频播放| 丰满少妇久久久久久久| 粉嫩av一区二区三区粉嫩| 久久99九九99精品| 麻豆成人在线观看| 免费欧美在线视频| 日本va欧美va瓶| 久久成人免费日本黄色| 日韩av一区二| 爽好多水快深点欧美视频| 日韩精品亚洲一区| 精品一区二区国语对白| 国产精品白丝jk白祙喷水网站| 国产精品123区| 91色在线porny| 欧美精品一级二级三级| 日韩一区二区精品葵司在线| 91麻豆精品国产无毒不卡在线观看| 欧美日韩免费一区二区三区 | 婷婷综合另类小说色区| 日韩专区在线视频| 国产二区国产一区在线观看| 成人涩涩免费视频| 欧美三级在线播放| 91精品国产综合久久婷婷香蕉| 成人综合在线观看| 石原莉奈一区二区三区在线观看| 免费人成精品欧美精品| 97久久超碰精品国产| 6080yy午夜一二三区久久| 中文字幕亚洲一区二区av在线| 日韩一区精品视频|