www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]壓縮感知(Compressed sensing),也被稱為壓縮采樣(Compressive sampling)或稀疏采樣(Sparse sampling),是一種尋找欠定線性系統(tǒng)的稀疏解的技術(shù)。如果一

壓縮感知(Compressed sensing),也被稱為壓縮采樣(Compressive sampling)或稀疏采樣(Sparse sampling),是一種尋找欠定線性系統(tǒng)的稀疏解的技術(shù)。如果一個(gè)線性方程組未知數(shù)的數(shù)目超過(guò)方程的數(shù)目,這個(gè)方程組被稱為欠定,并且一般而言有無(wú)數(shù)個(gè)解。 但是,如果這個(gè)欠定系統(tǒng)只有唯一一個(gè)稀疏解,那么我們可以利用壓縮感知理論和方法來(lái)尋找這個(gè)解。值得注意的是,不是所有欠定線性方程組都有稀疏解。

壓縮感知利用了很多信號(hào)中所存在的冗余(換言之,這些信號(hào)并非完全是噪聲)。具體而言,很多信號(hào)都是稀疏的;在適當(dāng)?shù)谋硎居蛑?,它們的很多系?shù)都是等于或約等于零。

在信號(hào)獲取階段,壓縮感知在信號(hào)并不稀疏的域?qū)π盘?hào)進(jìn)行線性測(cè)量。

為了從線性測(cè)量中重構(gòu)出原來(lái)的信號(hào),壓縮感知求解一個(gè)稱為L(zhǎng)1-范數(shù)正則化的最小二乘問(wèn)題。從理論上可以證明,在某些條件下,這個(gè)正則化最小二乘問(wèn)題的解正是原欠定線性系統(tǒng)的稀疏解



%?sparse_in_frequency.m

%
%This?code?demonstrate?compressive?sensing?example.?In?this
%example?the?signal?is?sparse?in?frequency?domain?and?random?samples
%are?taken?in?time?domain.

close?all;
clear?all;

%setup?path?for?the?subdirectories?of?l1magic
%?path(path,?'C:MATLAB7l1magic-1.1Optimization');
%?path(path,?'C:MATLAB7l1magic-1.1Data');


%length?of?the?signal
N=1024;

%Number?of?random?observations?to?take
K=256;

%Discrete?frequency?of?two?sinusoids?in?the?input?signal
k1=29;
k2=100;

n=0:N-1;

%Sparse?signal?in?frequency?domain.
x=sin(2*pi*(k1/N)*n)+sin(2*pi*(k2/N)*n);

%?This?code?demonstrates?the?compressive?sensing?using?a?sparse?signal?in?frequency?domain.?The?signal?consists?of?summation?of?%?two?sinusoids?of?different?frequencies?in?time?domain.?The?signal?is?sparse?in?Frequency?domain?and?therefore?K?random

%?measurements?are?taken?in?time?domain.


figure;
subplot(2,1,1);
plot(x)
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title('Original?Signal,1024?samples?with?two?different?frequency?sinsuoids');

xf=fft(x);

subplot(2,1,2);
plot(abs(xf))
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title('Frequency?domain,?1024?coefficients?with?4-non?zero?coefficients');

%creating?dft?matrix
B=dftmtx(N);
Binv=inv(B);??%?The?inverse?discrete?Fourier?transform?matrix,?Binv,?equals?CONJ(dftmtx(N))/N.

%Taking?DFT?of?the?signal
xf?=?B*x.';

%Selecting?random?rows?of?the?DFT?matrix
q=randperm(N);

%creating?measurement?matrix
A=Binv(q(1:K),:);????%?在IDFT矩陣中任選K=256行

%taking?random?time?measurements
y=(A*xf);???%?對(duì)x的fft后的xf(1024-by-1)的數(shù)據(jù)做IDFT得到256個(gè)時(shí)域稀疏采樣值,通過(guò)plot(real(y))和原來(lái)的x對(duì)比,注意如何在時(shí)域中取K=256個(gè)采樣值

%Calculating?Initial?guess
x0=A.'*y;??%?注意:待恢復(fù)時(shí)域信號(hào)xprec的DFT值xp的估計(jì)初值x0如何給??y?是時(shí)域稀疏采樣值

%Running?the?recovery?Algorithm
tic
xp=l1eq_pd(x0,A,[],y,1e-5);?%恢復(fù)的xp是頻域信號(hào)
toc

%recovered?signal?in?time?domain
xprec=real(Binv*xp);??%?做IDFT轉(zhuǎn)換到時(shí)域

figure;
subplot(2,1,1)
plot(abs(xf))???%?原信號(hào)的頻譜
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title('Original?Signal,?Discrete?Fourier?Transform');

subplot(2,1,2)
plot(abs(xp),'r')?%壓縮采樣恢復(fù)后的信號(hào)的頻譜
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title(sprintf('Recovered?Signal,?Discrete?Fourier?Transform?sampled?with?%d?samples',K));

figure;
subplot(2,1,1);
plot(x)
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title('Original?Signal,1024?samples?with?two?different?frequency?sinsuoids');

subplot(2,1,2)
plot(xprec,'r')
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title(sprintf('Recovered?Signal?in?Time?Domain'));

%%%%%%%%%%%%%%%%%%漫長(zhǎng)的分割線%%%%%%%%%%%%%%%%%%%%%%%%%%


%?sparse_in_time.m
%
%This?code?demonstrate?compressive?sensing?example.?In?this
%example?the?signal?is?sparse?in?time?domain?and?random?samples
%are?taken?in?frequency?domain.

close?all;
clear?all;

%setup?path?for?the?subdirectories?of?l1magic
%?path(path,?'C:MATLAB7l1magic-1.1Optimization');
%?path(path,?'C:MATLAB7l1magic-1.1Data');

%number?of?samples?per?period
s=4;

%RF?frequency
f=4e9;

%pulse?repetition?frequency
prf=1/30e-9;

%sampling?frequency
fs=s*f;

%Total?Simulation?time
T=30e-9;

t=0:1/fs:T;

%generating?pulse?train
x=pulstran(t,15e-9,'gauspuls',f,0.5);

%length?of?the?signal
N=length(x);

%Number?of?random?observations?to?take
K=90;

figure;
subplot(2,1,1);
plot(t,x)
grid?on;
xlabel('Time');
ylabel('Amplitude');
title(sprintf('Original?Signal,?UWB?Pulse?RF?freq=%g?GHz',f/1e9));

%taking?Discrete?time?Fourier?Transform?of?the?signal
xf=fft(x);

subplot(2,1,2);
plot(abs(xf))
grid?on;
xlabel('Samples');
ylabel('Amplitude');
title('Discrete?Fourier?Transform?of?UWB?pulse');


%creating?dft?matrix
B=dftmtx(N);
Binv=inv(B);

%Selecting?random?rows?of?the?DFT?matrix
q=randperm(N);

%creating?measurement?matrix
A=B(q(1:K),:);?%?在DFT矩陣中取前K=90行,B矩陣是481-by-481的

%taking?random?frequency?measurements
y=(A*x.');??%?y?是90-by-1的頻域采樣值

%?Calculating?Initial?guess
x0=A.'*y;??%?y?是90-by-1的頻域采樣值,注意恢復(fù)時(shí)域信號(hào)時(shí)初值如何給?

%Running?the?recovery?Algorithm
tic
xp=l1eq_pd(x0,A,[],y,1e-5);
toc

figure;
subplot(2,1,1)
plot(t,x)
grid?on;
xlabel('Time');
ylabel('Amplitude');
title(sprintf('Original?Signal,?UWB?Pulse?RF?freq=%g?GHz',f/1e9));


subplot(2,1,2)
plot(t,real(xp),'r')
grid?on;
xlabel('Time');
ylabel('Amplitude');
title(sprintf('Recovered?UWB?Pulse?Signal?with?%d?random?samples',K));

%%%%%%%%%%%%%%%%%%飄逸的分割線%%%%%%%%%%%%%%%%%%%%%%%%%%

%?用到的函數(shù)
%?l1eq_pd.m
%
%?Solve
%?min_x?||x||_1??s.t.??Ax?=?b
%
%?Recast?as?linear?program
%?min_{x,u}?sum(u)??s.t.??-u?<=?x?<=?u,??Ax=b
%?and?use?primal-dual?interior?point?method
%
%?Usage:?xp?=?l1eq_pd(x0,?A,?At,?b,?pdtol,?pdmaxiter,?cgtol,?cgmaxiter)
%
%?x0?-?Nx1?vector,?initial?point.
%
%?A?-?Either?a?handle?to?a?function?that?takes?a?N?vector?and?returns?a?K?
%?????vector?,?or?a?KxN?matrix.??If?A?is?a?function?handle,?the?algorithm
%?????operates?in?"largescale"?mode,?solving?the?Newton?systems?via?the
%?????Conjugate?Gradients?algorithm.
%
%?At?-?Handle?to?a?function?that?takes?a?K?vector?and?returns?an?N?vector.
%??????If?A?is?a?KxN?matrix,?At?is?ignored.
%
%?b?-?Kx1?vector?of?observations.
%
%?pdtol?-?Tolerance?for?primal-dual?algorithm?(algorithm?terminates?if
%?????the?duality?gap?is?less?than?pdtol).??
%?????Default?=?1e-3.
%
%?pdmaxiter?-?Maximum?number?of?primal-dual?iterations.??
%?????Default?=?50.
%
%?cgtol?-?Tolerance?for?Conjugate?Gradients;?ignored?if?A?is?a?matrix.
%?????Default?=?1e-8.
%
%?cgmaxiter?-?Maximum?number?of?iterations?for?Conjugate?Gradients;?ignored
%?????if?A?is?a?matrix.
%?????Default?=?200.
%
%?Written?by:?Justin?Romberg,?Caltech
%?Email:?jrom@acm.caltech.edu
%?Created:?October?2005
%

function?xp?=?l1eq_pd(x0,?A,?At,?b,?pdtol,?pdmaxiter,?cgtol,?cgmaxiter)

largescale?=?isa(A,'function_handle');

if?(nargin?<?5),?pdtol?=?1e-3;??end
if?(nargin?<?6),?pdmaxiter?=?50;??end
if?(nargin?<?7),?cgtol?=?1e-8;??end
if?(nargin?<?8),?cgmaxiter?=?200;??end

N?=?length(x0);

alpha?=?0.01;
beta?=?0.5;
mu?=?10;

gradf0?=?[zeros(N,1);?ones(N,1)];

%?starting?point?---?make?sure?that?it?is?feasible
if?(largescale)
??if?(norm(A(x0)-b)/norm(b)?>?cgtol)
????disp('Starting?point?infeasible;?using?x0?=?At*inv(AAt)*y.');
????AAt?=?@(z)?A(At(z));
????[w,?cgres,?cgiter]?=?cgsolve(AAt,?b,?cgtol,?cgmaxiter,?0);
????if?(cgres?>?1/2)
??????disp('A*At?is?ill-conditioned:?cannot?find?starting?point');
??????xp?=?x0;
??????return;
????end
????x0?=?At(w);
??end
else
??if?(norm(A*x0-b)/norm(b)?>?cgtol)
????disp('Starting?point?infeasible;?using?x0?=?At*inv(AAt)*y.');
????opts.POSDEF?=?true;?opts.SYM?=?true;
????[w,?hcond]?=?linsolve(A*A',?b,?opts);
????if?(hcond?<?1e-14)
??????disp('A*At?is?ill-conditioned:?cannot?find?starting?point');
??????xp?=?x0;
??????return;
????end
????x0?=?A'*w;
??end??
end
x?=?x0;
u?=?(0.95)*abs(x0)?+?(0.10)*max(abs(x0));

%?set?up?for?the?first?iteration
fu1?=?x?-?u;
fu2?=?-x?-?u;
lamu1?=?-1./fu1;
lamu2?=?-1./fu2;
if?(largescale)
??v?=?-A(lamu1-lamu2);
??Atv?=?At(v);
??rpri?=?A(x)?-?b;
else
??v?=?-A*(lamu1-lamu2);
??Atv?=?A'*v;
??rpri?=?A*x?-?b;
end

sdg?=?-(fu1'*lamu1?+?fu2'*lamu2);
tau?=?mu*2*N/sdg;

rcent?=?[-lamu1.*fu1;?-lamu2.*fu2]?-?(1/tau);
rdual?=?gradf0?+?[lamu1-lamu2;?-lamu1-lamu2]?+?[Atv;?zeros(N,1)];
resnorm?=?norm([rdual;?rcent;?rpri]);

pditer?=?0;
done?=?(sdg?<?pdtol)?|?(pditer?>=?pdmaxiter);
while?(~done)
??
??pditer?=?pditer?+?1;
??
??w1?=?-1/tau*(-1./fu1?+?1./fu2)?-?Atv;
??w2?=?-1?-?1/tau*(1./fu1?+?1./fu2);
??w3?=?-rpri;
??
??sig1?=?-lamu1./fu1?-?lamu2./fu2;
??sig2?=?lamu1./fu1?-?lamu2./fu2;
??sigx?=?sig1?-?sig2.^2./sig1;
??
??if?(largescale)
????w1p?=?w3?-?A(w1./sigx?-?w2.*sig2./(sigx.*sig1));
????h11pfun?=?@(z)?-A(1./sigx.*At(z));
????[dv,?cgres,?cgiter]?=?cgsolve(h11pfun,?w1p,?cgtol,?cgmaxiter,?0);
????if?(cgres?>?1/2)
??????disp('Cannot?solve?system.??Returning?previous?iterate.??(See?Section?4?of?notes?for?more?information.)');
??????xp?=?x;
??????return
????end
????dx?=?(w1?-?w2.*sig2./sig1?-?At(dv))./sigx;
????Adx?=?A(dx);
????Atdv?=?At(dv);
??else
????w1p?=?-(w3?-?A*(w1./sigx?-?w2.*sig2./(sigx.*sig1)));
????H11p?=?A*(sparse(diag(1./sigx))*A');
????opts.POSDEF?=?true;?opts.SYM?=?true;
????[dv,hcond]?=?linsolve(H11p,?w1p);
????if?(hcond?<?1e-14)
??????disp('Matrix?ill-conditioned.??Returning?previous?iterate.??(See?Section?4?of?notes?for?more?information.)');
??????xp?=?x;
??????return
????end
????dx?=?(w1?-?w2.*sig2./sig1?-?A'*dv)./sigx;
????Adx?=?A*dx;
????Atdv?=?A'*dv;
??end
??
??du?=?(w2?-?sig2.*dx)./sig1;
??
??dlamu1?=?(lamu1./fu1).*(-dx+du)?-?lamu1?-?(1/tau)*1./fu1;
??dlamu2?=?(lamu2./fu2).*(dx+du)?-?lamu2?-?1/tau*1./fu2;
??
??%?make?sure?that?the?step?is?feasible:?keeps?lamu1,lamu2?>?0,?fu1,fu2?<?0
??indp?=?find(dlamu1?<?0);??indn?=?find(dlamu2?<?0);
??s?=?min([1;?-lamu1(indp)./dlamu1(indp);?-lamu2(indn)./dlamu2(indn)]);
??indp?=?find((dx-du)?>?0);??indn?=?find((-dx-du)?>?0);
??s?=?(0.99)*min([s;?-fu1(indp)./(dx(indp)-du(indp));?-fu2(indn)./(-dx(indn)-du(indn))]);
??
??%?backtracking?line?search
??suffdec?=?0;
??backiter?=?0;
??while?(~suffdec)
????xp?=?x?+?s*dx;??up?=?u?+?s*du;?
????vp?=?v?+?s*dv;??Atvp?=?Atv?+?s*Atdv;?
????lamu1p?=?lamu1?+?s*dlamu1;??lamu2p?=?lamu2?+?s*dlamu2;
????fu1p?=?xp?-?up;??fu2p?=?-xp?-?up;??
????rdp?=?gradf0?+?[lamu1p-lamu2p;?-lamu1p-lamu2p]?+?[Atvp;?zeros(N,1)];
????rcp?=?[-lamu1p.*fu1p;?-lamu2p.*fu2p]?-?(1/tau);
????rpp?=?rpri?+?s*Adx;
????suffdec?=?(norm([rdp;?rcp;?rpp])??32)
??????disp('Stuck?backtracking,?returning?last?iterate.??(See?Section?4?of?notes?for?more?information.)')
??????xp?=?x;
??????return
????end
??end
??
??
??%?next?iteration
??x?=?xp;??u?=?up;
??v?=?vp;??Atv?=?Atvp;?
??lamu1?=?lamu1p;??lamu2?=?lamu2p;
??fu1?=?fu1p;??fu2?=?fu2p;
??
??%?surrogate?duality?gap
??sdg?=?-(fu1'*lamu1?+?fu2'*lamu2);
??tau?=?mu*2*N/sdg;
??rpri?=?rpp;
??rcent?=?[-lamu1.*fu1;?-lamu2.*fu2]?-?(1/tau);
??rdual?=?gradf0?+?[lamu1-lamu2;?-lamu1-lamu2]?+?[Atv;?zeros(N,1)];
??resnorm?=?norm([rdual;?rcent;?rpri]);
??
??done?=?(sdg?<?pdtol)?|?(pditer?>=?pdmaxiter);
??
??disp(sprintf('Iteration?=?%d,?tau?=?%8.3e,?Primal?=?%8.3e,?PDGap?=?%8.3e,?Dual?res?=?%8.3e,?Primal?res?=?%8.3e',...
????pditer,?tau,?sum(u),?sdg,?norm(rdual),?norm(rpri)));
??if?(largescale)
????disp(sprintf('??????????????????CG?Res?=?%8.3e,?CG?Iter?=?%d',?cgres,?cgiter));
??else
????disp(sprintf('??????????????????H11p?condition?number?=?%8.3e',?hcond));
??end
??
end







本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉