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

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

?? index.html

?? 信號處理系列導航
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"><html xmlns:mwsh="http://www.mathworks.com/namespace/mcode/v1/syntaxhighlight.dtd">   <head>      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">         <!--This HTML is auto-generated from an M-file.To make changes, update the M-file and republish this document.      -->      <title>Sparse Spikes Deconvolution with Matching Pursuits</title>      <meta name="generator" content="MATLAB 7.4">      <meta name="date" content="2008-10-15">      <meta name="m-file" content="index">      <LINK REL="stylesheet" HREF="style.css" TYPE="text/css">   </head>   <body>      <div class="content">         <h1>Sparse Spikes Deconvolution with Matching Pursuits</h1>         <introduction>            <p>This numerical tour explores the use of Matching Pursuits to solve seismic sparse spikes deconvolution.</p>         </introduction>         <h2>Contents</h2>         <div>            <ul>               <li><a href="#3">Installing toolboxes and setting up the path.</a></li>               <li><a href="#10">Seismic Wavelets and Seismic Imaging</a></li>               <li><a href="#20">Matching Pursuit</a></li>               <li><a href="#29">Orthogonal Matching Pursuit</a></li>               <li><a href="#34">Exact Recovery Condition</a></li>            </ul>         </div>         <p>Sparse spikes deconvolution is one of the oldest inverse problems, that is a stilized version of recovery in seismic imaging.            The ground is modeled as a 1D profile <tt>x</tt>, mostly zeros with a few spikes accounting for interfaces between layers in the ground. The observation is the convolution            <tt>D*x</tt> of <tt>x</tt> against a wavelet filter, where <tt>D(:,1)</tt> is the basis wavelet function (<tt>D</tt> is the convolution operator.         </p>         <p>The goal of sparse spike deconvolution is to recover an approximation of <tt>x</tt> given noisy measurement <tt>y=D*x+w</tt>. Since the convolution destroys many low and high frequencies, this requires some prior information to regularize the inverse            problem. Since <tt>x</tt> is composed of a few spikes, the sparsity is a wonderful prior, that is exploited either by L1 minimization (basis pursuit)            or by non-linear greedy processes (matching pursuits).         </p>         <h2>Installing toolboxes and setting up the path.<a name="3"></a></h2>         <p>You need to download the <a href="../toolbox_general.zip">general purpose toolbox</a> and the <a href="../toolbox_signal.zip">signal toolbox</a>.         </p>         <p>You need to unzip these toolboxes in your working directory, so that you have <tt>toolbox_general/</tt> and <tt>toolbox_signal/</tt> in your directory.         </p>         <p><b>For Scilab user:</b> you must replace the Matlab comment '%' by its Scilab counterpart '//'.         </p>         <p><b>Recommandation:</b> You should create a text file named for instance <tt>numericaltour.sce</tt> (in Scilabe) or <tt>numericaltour.m</tt> to write all the Scilab/Matlab command you want to execute. Then, simply run <tt>exec('numericaltour.sce');</tt> (in Scilab) or <tt>numericaltour;</tt> (in Matlab) to run the commands.         </p>         <p>Execute this line only if you are using Matlab.</p><pre class="codeinput">getd = @(p)path(path,p); <span class="comment">% scilab users must *not* execute this</span></pre><p>Then you can add these toolboxes to the path.</p><pre class="codeinput"><span class="comment">% Add some directories to the path</span>getd(<span class="string">'toolbox_signal/'</span>);getd(<span class="string">'toolbox_general/'</span>);</pre><h2>Seismic Wavelets and Seismic Imaging<a name="10"></a></h2>         <p>We first see the forard measurement process in action.</p><pre class="codeinput">set_rand_seeds(123456,21);</pre><p>First we load a seismic filter, which is a second derivative of a Gaussian.</p><pre class="codeinput"><span class="comment">% dimension of the signal</span>n = 1024;<span class="comment">% width of the filter</span>s = 13;<span class="comment">% second derivative of Gaussian</span>t = -n/2:n/2-1;h = (1-t.^2/s^2).*exp( -(t.^2)/(2*s^2) );h = h-mean(h);<span class="comment">% normalize it</span>h = h/norm(h);<span class="comment">% recenter the filter for periodic boundary conditions</span>h1 = fftshift(h);</pre><p>We display the filter in space (zoom).</p><pre class="codeinput">k = 100;sel = n/2-k+1:n/2+k;clf;plot(t(sel), h(sel));set_graphic_sizes([], 20);title(<span class="string">'Filter h'</span>);axis(<span class="string">'tight'</span>);</pre><img vspace="5" hspace="5" src="index_01.png"> <p>We display its Fourier transform.</p><pre class="codeinput">hf = fftshift(real(fft(h1)));clf;plot(t(sel), hf(sel));set_graphic_sizes([], 20);title(<span class="string">'FFT(h)'</span>);axis(<span class="string">'tight'</span>);</pre><img vspace="5" hspace="5" src="index_02.png"> <p>The actual number of measurement of the seismic imaging is roughly the number of Fourier frequencies above the noise level            <tt>sigma</tt>.         </p><pre class="codeinput"><span class="comment">% noise level</span>sigma = .06*max(h);<span class="comment">% how much frequencies are removed</span>q = sum( abs(hf)&gt;sigma );disp(strcat([<span class="string">'Approximate number of measures = '</span> num2str(q) <span class="string">'.'</span>]));</pre><pre class="codeoutput">Approximate number of measures = 106.</pre><p>We compute the filtering matrix. To stabilize the recovery, we sub-sample by a factor of 2 the filtering.</p><pre class="codeinput"><span class="comment">% sub-sampling (distance between wavelets)</span>sub = 2;<span class="comment">% number of atoms in the dictionary</span>p = n/sub;<span class="comment">% the dictionary, with periodic boundary conditions</span>[Y,X] = meshgrid(1:sub:n,1:n);D = reshape( h1(mod(X-Y,n)+1), [n p]);</pre><p>Now we create the ideal signal <tt>x</tt> we would like to recover. We design it so that there is a deacreasing distance between the spikes. It makes the recovery            harder and harder from left to right. The amplitude of the spikes and the signs are randoms         </p><pre class="codeinput"><span class="comment">% spacing min and max between the spikes.</span>m = 5; M = 40;k = floor( (p+M)*2/(M+m) )-1;spc = linspace(M,m,k)';<span class="comment">% location of the spikes</span>sel = round( cumsum(spc) );sel(sel&gt;p) = [];<span class="comment">% randomization of the signs and values</span>x = zeros(p,1);si = (-1).^(1:length(sel))'; si = si(randperm(length(si)));<span class="comment">% creating of the sparse spikes signal.</span>x(sel) = si;x = x .* (1-rand(p,1)*.5);</pre><p>Display the spikes</p><pre class="codeinput">clf;plot_sparse_diracs(x);title(<span class="string">'Signal x'</span>);</pre><img vspace="5" hspace="5" src="index_03.png"> <p>Sparsity of the signal.</p><pre class="codeinput">disp(strcat([<span class="string">'Sparsity (L0 pseudo-norm) of x = '</span> num2str(sum(x~=0)) <span class="string">'.'</span>]));</pre><pre class="codeoutput">Sparsity (L0 pseudo-norm) of x = 21.</pre><p>Now compute the noisy obervations.</p><pre class="codeinput">w = randn(n,1)*sigma;y = D*x + w;<span class="comment">% display</span>clf;plot(y);set_graphic_sizes([], 20);axis(<span class="string">'tight'</span>);title(<span class="string">'Noisy measurements y=D*x+w'</span>);</pre><img vspace="5" hspace="5" src="index_04.png"> <h2>Matching Pursuit<a name="20"></a></h2>         <p>Matching pursuit is a greedy procedure that progressively identify the location of the spikes by looking at atoms that maximaly            correlated with the current residual.         </p>         <p>Initially, the residual is the whole obervations, and the detected signal is zero.</p><pre class="codeinput">R = y;xmp = zeros(p,1);</pre><p>Compute and display the correlation.</p><pre class="codeinput">C = D'*R;clf;plot(abs(C));set_graphic_sizes([], 20);axis(<span class="string">'tight'</span>);title(<span class="string">'|Correlation|'</span>);</pre><img vspace="5" hspace="5" src="index_05.png"> <p>Extract the coefficient with maximal correlation</p><pre class="codeinput">[tmp,I] = compute_max(abs(C));<span class="comment">% update the coefficients</span>xmp(I) = xmp(I) + C(I);<span class="comment">% update the residual</span>R = y-D*xmp;</pre><p>Display the previous and the new residual.</p><pre class="codeinput">clf;subplot(2,1,1);plot(y); axis(<span class="string">'tight'</span>);set_graphic_sizes([], 20);title(<span class="string">'Observation y'</span>);subplot(2,1,2);plot(R); axis(<span class="string">'tight'</span>);set_graphic_sizes([], 20);title(<span class="string">'Residual R'</span>);</pre><img vspace="5" hspace="5" src="index_06.png"> <p><i>Exercice 1:</i> (the solution is <a href="../private/sparsity_seismic_mp/exo1.m">exo1.m</a>) Compute up to M steps of matching pursuit. What do you notice about the locations of the spikes that are well recovered            by matching pursuit ?         </p><pre class="codeinput">exo1;</pre><img vspace="5" hspace="5" src="index_07.png"> <p>Although several locations of the spikes are well recovered, the values of the spikes are not well estimated. To better recover            the values, one needs to find the best values that match the measurements. This requires the least norm solution of the over            determined system D(:,sel)*x(sel) = y, where sel is the support recovered by MP.         </p><pre class="codeinput">sel = find(xmp~=0);xproj = zeros(p,1);xproj(sel) = D(:,sel) \ y;<span class="comment">% display</span>clf;subplot(2,1,1);plot_sparse_diracs(xmp);title(<span class="string">'Recovered by MP'</span>);subplot(2,1,2);plot_sparse_diracs(xproj);title(<span class="string">'Recovered by backprojected MP'</span>);</pre><img vspace="5" hspace="5" src="index_08.png"> <p><i>Exercice 2:</i> (the solution is <a href="../private/sparsity_seismic_mp/exo2.m">exo2.m</a>) Perform <tt>1.5*M</tt> steps of MP, and at each step compute the back-projection <tt>xproj</tt> of the MP solution <tt>xmp</tt>. Keep the solution <tt>xproj</tt> that minimize the error norm(xproj-x).         </p><pre class="codeinput">exo2;</pre><img vspace="5" hspace="5" src="index_09.png"> <p>Display of the solution.</p><pre class="codeinput">err_mp = norm(x-xproj)/norm(x);clf;subplot(2,1,1);plot_sparse_diracs(x);title(<span class="string">'Signal x'</span>);subplot(2,1,2);plot_sparse_diracs(xproj);title([<span class="string">'Recovered by MP, err='</span> num2str(err_mp,3)]);</pre><img vspace="5" hspace="5" src="index_10.png"> <h2>Orthogonal Matching Pursuit<a name="29"></a></h2>         <p>Orthogonal matching pursuit improves over matching pursuit by back-projecting at each iteration the matching pursuit solution.</p>         <p>The initialization of OMP is the same as with MP.</p><pre class="codeinput">R = y;xomp = zeros(p,1);</pre><p>The coeffcient selection is also done with maximum of correlation.</p><pre class="codeinput">C = D'*R;[tmp,I] = compute_max(abs(C));<span class="comment">% update the coefficients</span>xomp(I) = xomp(I) + C(I);<span class="comment">% perform a back projection of the coefficients</span>sel = find(xomp~=0);xomp = zeros(p,1);xomp(sel) = D(:,sel) \ y;<span class="comment">% update the residual</span>R = y-D*xomp;</pre><p><i>Exercice 3:</i> (the solution is <a href="../private/sparsity_seismic_mp/exo3.m">exo3.m</a>) Implement Orthogonal Matching Pursuit by modifying your implementation of Matching Pursuit. Keep the solution that gives            the smallest error <tt>norm(x-xomp)</tt></p><pre class="codeinput">exo3;</pre><img vspace="5" hspace="5" src="index_11.png"> <p>Display of the solution.</p><pre class="codeinput">err_omp = norm(x-xomp)/norm(x);clf;subplot(2,1,1);plot_sparse_diracs(x);title(<span class="string">'Signal x'</span>);subplot(2,1,2);plot_sparse_diracs(xomp);title([<span class="string">'Recovered by OMP, err='</span> num2str(err_omp,3)]);</pre><img vspace="5" hspace="5" src="index_12.png"> <h2>Exact Recovery Condition<a name="34"></a></h2>         <p>To study the theoritical properties of pursuits, Joel Tropp introduced a perfect recovery condition (ERC) that measure the            conditioning ERC(S) of the support <tt>S=find(x~=0)</tt> of a coefficient. The condition <tt>ERC(S)&lt;1</tt> ensures that any xoefficients supported in <tt>S</tt> is recovered by OMP, up to the noise level (so that the procedure is stable).         </p>         <p>First we create a signal with well separated Diracs. Such a signal is easy to recover by OMP, and we will check this with            the ERC.         </p><pre class="codeinput">delta = 30;x1 = zeros(p,1);x1(1:delta:p+1-delta) = 1;</pre><p><tt>ERC(S)</tt> is the maximum L1 norm of the set of inner product between a dual atoms and the set of atoms outside <tt>S</tt>.         </p><pre class="codeinput"><span class="comment">% compute the support and the complementary of the support</span>S  =find(x1~=0); <span class="comment">% in</span>Sc =find(x1==0); <span class="comment">% out</span><span class="comment">% compute pseudo inverse of atoms within the support</span>D1 = D(:,S);D1 = (D1'*D1)^(-1) * D1';<span class="comment">% compute inner product between dual atoms inside the support</span><span class="comment">% and atoms outside.</span>C = D1 * D(:,Sc);<span class="comment">% compute the maximum L1 norm, which is the ERC</span>ERC = max( sum( abs(C), 1 ) );<span class="comment">% display</span>disp(strcat([<span class="string">'ERC(S)='</span> num2str(ERC,3)]));</pre><pre class="codeoutput">ERC(S)=1.05</pre><p><i>Exercice 4:</i> (the solution is <a href="../private/sparsity_seismic_mp/exo4.m">exo4.m</a>) Compute <tt>ERC(i) = ERC(Si)</tt> for supports <tt>Si</tt> that are separated by an increasing value of <tt>delta</tt>. Check for the minimum <tt>delta</tt> that ensures that <tt>ERC(Si)&lt;1</tt>.         </p><pre class="codeinput">exo4;</pre><img vspace="5" hspace="5" src="index_13.png"> <p class="footer"><br>            Copyright  &reg; 2008 Gabriel Peyre<br></p>      </div>      <!--##### SOURCE BEGIN #####%% Sparse Spikes Deconvolution with Matching Pursuits% This numerical tour explores the use of Matching Pursuits to solve% seismic sparse spikes deconvolution.%%% Sparse spikes deconvolution is one of the oldest inverse problems, that% is a stilized version of recovery in seismic imaging.% The ground is modeled as a 1D profile |x|, mostly zeros with a few spikes% accounting for interfaces between layers in the ground. % The observation is the convolution |D*x| of |x| against a wavelet filter,% where |D(:,1)| is the basis wavelet function (|D| is the convolution% operator. %%% The goal of sparse spike deconvolution is to recover an approximation% of |x| given noisy measurement |y=D*x+w|. Since the convolution destroys% many low and high frequencies, this requires some prior information to% regularize the inverse problem. Since |x| is composed of a few spikes,% the sparsity is a wonderful prior, that is exploited either by L1% minimization (basis pursuit) or by non-linear greedy processes (matching% pursuits).%% Installing toolboxes and setting up the path.%%% You need to download the % <../toolbox_general.zip general purpose toolbox>% and the <../toolbox_signal.zip signal toolbox>.%%% You need to unzip these toolboxes in your working directory, so% that you have |toolbox_general/| and |toolbox_signal/| in your directory.%%% *For Scilab user:* you must replace the Matlab comment '%' by its Scilab% counterpart '//'.%%% *Recommandation:* You should create a text file named for instance% |numericaltour.sce| (in Scilabe) or |numericaltour.m| to write all the% Scilab/Matlab command you want to execute. Then, simply run% |exec('numericaltour.sce');| (in Scilab) or |numericaltour;| (in Matlab)% to run the commands. %%% Execute this line only if you are using Matlab.getd = @(p)path(path,p); % scilab users must *not* execute this%%% Then you can add these toolboxes to the path.% Add some directories to the pathgetd('toolbox_signal/');getd('toolbox_general/');%% Seismic Wavelets and Seismic Imaging% We first see the forard measurement process in action.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区国模嫣然| 亚洲人成精品久久久久久| www.欧美日韩| 蓝色福利精品导航| 国产精品你懂的在线欣赏| 欧美一级精品在线| 欧美曰成人黄网| 成人精品鲁一区一区二区| 裸体歌舞表演一区二区| 亚洲国产视频a| 中文字幕一区二区三区不卡在线| 日韩欧美色综合| 欧美欧美欧美欧美| 日本二三区不卡| av在线不卡电影| 国产精品一区二区三区四区| 日本欧美肥老太交大片| 亚洲国产aⅴ天堂久久| 日韩美女视频一区二区| 中文字幕第一区第二区| 久久亚洲一级片| 日韩一区二区电影在线| 欧美日韩国产一区| 色丁香久综合在线久综合在线观看| 国产成人综合在线| 韩日欧美一区二区三区| 麻豆一区二区在线| 日韩电影在线一区二区三区| 亚洲电影一区二区| 夜夜精品视频一区二区| 亚洲精品自拍动漫在线| 亚洲天堂中文字幕| 亚洲免费观看高清在线观看| 国产精品伦理在线| 国产精品国产自产拍高清av王其| 国产欧美精品在线观看| 亚洲国产精品激情在线观看| 欧美国产精品久久| 国产精品视频一二三| 国产精品情趣视频| 国产精品久久久久aaaa樱花| 亚洲婷婷在线视频| 亚洲精品日产精品乱码不卡| 一区二区在线观看免费| 亚洲风情在线资源站| 日本视频一区二区| 久久99在线观看| 国产乱人伦精品一区二区在线观看| 国内精品免费**视频| 国产成人在线视频免费播放| k8久久久一区二区三区| 色天天综合久久久久综合片| 欧美亚洲动漫精品| 欧美一区二区在线免费播放| 欧美电视剧在线看免费| 久久久久久久久蜜桃| 中文字幕亚洲欧美在线不卡| 亚洲精品大片www| 日欧美一区二区| 极品少妇一区二区三区精品视频| 成人一区二区三区在线观看| 99国产精品久久| 欧美日韩国产综合一区二区三区 | 夜夜嗨av一区二区三区四季av| 亚洲卡通欧美制服中文| 婷婷成人激情在线网| 国内精品伊人久久久久av一坑 | 七七婷婷婷婷精品国产| 亚洲国产精品一区二区久久| 毛片不卡一区二区| 岛国精品在线播放| 欧美无砖专区一中文字| 欧美一级二级三级蜜桃| 久久精品视频一区二区| 亚洲人成亚洲人成在线观看图片 | 欧美一区二区三区播放老司机| 精品国产露脸精彩对白| ㊣最新国产の精品bt伙计久久| 亚洲二区视频在线| 国产成人亚洲精品青草天美 | 欧美一区二区三区四区在线观看| 国产亚洲福利社区一区| 亚洲资源在线观看| 狠狠色丁香九九婷婷综合五月| 色综合久久久久综合体桃花网| 欧美丰满少妇xxxbbb| 中文文精品字幕一区二区| 亚洲成a人片在线不卡一二三区 | 亚洲制服丝袜av| 国产一区二区三区免费观看| 91久久精品一区二区| 精品久久99ma| 亚洲一区二三区| 国产a级毛片一区| 欧美一区二区三区四区在线观看 | 波多野结衣一区二区三区 | 久久先锋影音av| 亚洲综合999| 国产精品1024| 91精品国产一区二区| 亚洲色图欧美激情| 国产真实乱对白精彩久久| 欧美亚洲国产一区在线观看网站| 久久久噜噜噜久噜久久综合| 天天av天天翘天天综合网| aaa欧美大片| 久久众筹精品私拍模特| 偷窥少妇高潮呻吟av久久免费| 色综合久久综合网| 国产欧美精品日韩区二区麻豆天美| 青青青爽久久午夜综合久久午夜| 91麻豆自制传媒国产之光| 久久精品一二三| 另类小说图片综合网| 欧美日韩一区精品| 亚洲乱码精品一二三四区日韩在线 | 制服.丝袜.亚洲.另类.中文| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产在线视视频有精品| 91麻豆精品国产自产在线观看一区 | 亚洲精品网站在线观看| 国产宾馆实践打屁股91| 久久久亚洲高清| 国产在线视频一区二区三区| 日韩免费成人网| 男人操女人的视频在线观看欧美| 欧美日本在线看| 亚洲v日本v欧美v久久精品| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品区一区二区三| 成人动漫在线一区| 国产精品久久免费看| 成人午夜激情在线| 欧美国产精品专区| 国产成人亚洲综合a∨婷婷图片| 久久美女高清视频| 国产乱人伦偷精品视频免下载| 久久久www免费人成精品| 国产在线精品一区二区三区不卡| 精品国产一区二区三区不卡 | 国产成人av电影| 日本一区二区三区四区在线视频 | 欧美二区三区的天堂| 亚洲国产综合视频在线观看| 欧美天堂一区二区三区| 亚洲成av人片在www色猫咪| 91精品国产日韩91久久久久久| 日本视频一区二区| 26uuu久久天堂性欧美| 在线中文字幕一区二区| 亚洲精品欧美综合四区| 欧美日韩中文精品| 日本强好片久久久久久aaa| 2024国产精品视频| 成人性生交大片免费看在线播放| 最新国产の精品合集bt伙计| 在线日韩一区二区| 日本不卡视频在线| 久久众筹精品私拍模特| www.视频一区| 亚洲自拍另类综合| 欧美电影免费观看高清完整版| 国产成人免费在线观看不卡| 亚洲色大成网站www久久九九| 日本韩国欧美一区二区三区| 日韩极品在线观看| 欧美xfplay| aaa国产一区| 日韩极品在线观看| 欧美激情资源网| 欧美日韩亚洲综合在线| 九九精品视频在线看| 亚洲欧美日韩在线播放| 欧美女孩性生活视频| 国产精品亚洲一区二区三区在线| 亚洲色图在线播放| 欧美一区二区三区公司| 成人免费视频免费观看| 亚洲h精品动漫在线观看| 久久久亚洲精品一区二区三区| 色婷婷激情久久| 国产一区二区三区国产| 一区二区三区四区蜜桃| 久久综合九色综合97婷婷| 在线观看一区不卡| 国产在线播精品第三| 亚洲一区二区在线观看视频| 久久久亚洲高清| 777久久久精品| www.激情成人| 狠狠色综合播放一区二区| 亚洲综合偷拍欧美一区色| 久久久综合视频| 91精品国产综合久久精品图片| 成人精品国产一区二区4080| 蜜臀av一级做a爰片久久| 亚洲免费在线播放| 欧美国产视频在线| 日韩精品综合一本久道在线视频| 欧美亚洲免费在线一区|