資源簡介
奇異值分解降噪程序,包里有詳細(xì)說明,內(nèi)附有word文檔的說明
代碼片段和文件信息
%讀入信號(hào)
%對(duì)實(shí)測(cè)管道數(shù)據(jù)計(jì)算
%讀取文件數(shù)據(jù)
FS=500*1024;%實(shí)際信號(hào)的采樣頻率
TS=1/FS;
filename=‘泄漏定位4-3\73091217_07_06.dat‘;
%%%filename=‘泄漏定位8-3\73091203_18_03.dat‘;
filename=[‘D:\20100303PipeData\‘?filename];
[dataSampleF]?=ReadData(filename);%讀取數(shù)據(jù)
temp=data/SampleF.Gain;%消除增益
N=3264;%N是每次處理的數(shù)據(jù)段長度
lendata=size(temp1);%取出總數(shù)據(jù)長度
t=0:TS:(lendata-1)*TS;
figure(1);
plot(t(1:N)temp(1:N));
ylim([-0.050.05]);
xlabel(‘時(shí)間/s‘);
ylabel(‘幅度/V‘);
title(‘管道泄漏原始信號(hào)‘);
dim=8;
tau=18;
startPosToZero=5;
%對(duì)時(shí)間序列加窗或者分段實(shí)行降噪處理,總數(shù)據(jù)長度261120
N=3264;%N是每次處理的數(shù)據(jù)段長度
xs=zeros(2611201);%存放降完噪的純凈信號(hào)
for?j=1:5?%迭代奇異值分解的迭代次數(shù)
for?iD=1:1%---------------------由于有26112個(gè)數(shù)據(jù),id的范圍應(yīng)該選擇為1:80---------
%對(duì)時(shí)間序列加窗或者分段實(shí)行降噪處理,總數(shù)據(jù)長度261120
?x=temp(1+N*(iD-1):N*iD);%每段取N個(gè)數(shù)據(jù)存放在列向量中
????%newx?=?getDenoiseBySVD(xdimstartPosToZero);
????%SVD降噪
????????????%?參數(shù)?dim表示相空間重構(gòu)的維數(shù)
????????????%?參數(shù)?startPosToZero表示從第幾個(gè)奇異值開始之后就全為零
????????????%X?=?PhaSpaRecon(xdim10);%相空間重構(gòu)
????????????[XD]=reconstructDistanceM(x‘dimtau);%相空間重構(gòu)
????????????[USV]?=?svd(X);
????????????sv?=?diag(S);???%獲取奇異值向量?sigular?vector
%?%?????????????%?改變?cè)撈娈愔迪蛄康?newSv;
????????????newSv?=?sv;
????????????newSv(startPosToZero:end)?=?0;
%?%?????????????%?復(fù)原
????????????[mn]?=?size(S);
????????????newS?=?[diag(newSv)zeros(mn-m)];
????????????newX?=?U*newS*V‘;
????????????%newx?=?PhaSpaRecov(newXdim1);
????????????[newxnum]=RecoverToTimeseries(dimtaunewX);
????????????clear?U?S?V
%?%?????
???xs(1+N*(iD-1):N*iD)=newx‘;
end
???tempnew(1+N*(iD-1):N*iD)=xs(1+N*(iD-1):N*iD);
end;
DN=tempnew-xs;
save(‘D:\!!MY20100308畢業(yè)論文仿真\8-3SVDDN.txt‘‘DN‘‘-ASCII‘);
%?%?
figure(3);
plot(t(1:N)xs(1:N));
ylim([-0.050.05]);
xlabel(‘時(shí)間/s‘);
ylabel(‘幅度/V‘);
title(‘經(jīng)過svd降噪后的管道泄漏信號(hào)‘);
%?%?D=128;%控制fft變換點(diǎn)數(shù)
%?%?ymax=fft(xsD*1024);?
%?%?py=ymax.*conj(ymax)/(D*1024);%功率譜的計(jì)算
%?%?ff=FS*(0:D*1024/2)/(D*1024);%算頻率坐標(biāo)
%?%?plot(ffpy(1:(D*1024/2+1)));
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????2942112??2011-03-23?09:09??奇異值分解降噪\B007_0.mat
?????文件????2910768??2011-03-23?09:09??奇異值分解降噪\IR007_0.mat
?????文件???????2203??2011-03-23?09:07??奇異值分解降噪\MainSVDDenoise.m
?????文件????3903344??2011-03-23?09:09??奇異值分解降噪\Normal0.mat
?????文件????2928192??2011-03-23?09:09??奇異值分解降噪\OR007@6_0.mat
?????文件???????1009??2011-03-23?09:07??奇異值分解降噪\qiyizhi.m
?????文件???????2842??2011-03-23?09:07??奇異值分解降噪\ReadData.m
?????文件????1318969??2011-03-23?09:07??奇異值分解降噪\reconstructDistanceM.dll
?????文件???????1642??2011-03-23?09:07??奇異值分解降噪\RecoverToTimeseries.m
?????文件???????1228??2011-03-23?09:12??奇異值分解降噪\Unti
?????文件??????26624??2011-03-23?09:07??奇異值分解降噪\說明文檔.doc
?????目錄??????????0??2013-08-23?21:38??奇異值分解降噪
-----------?---------??----------?-----??----
?????????????14039151????????????????????13
評(píng)論
共有 條評(píng)論