加速度轉(zhuǎn)換成位移的matlab代碼及說(shuō)明_第1頁(yè)
加速度轉(zhuǎn)換成位移的matlab代碼及說(shuō)明_第2頁(yè)
加速度轉(zhuǎn)換成位移的matlab代碼及說(shuō)明_第3頁(yè)
加速度轉(zhuǎn)換成位移的matlab代碼及說(shuō)明_第4頁(yè)
加速度轉(zhuǎn)換成位移的matlab代碼及說(shuō)明_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

加速度轉(zhuǎn)換成位移的matlab代碼及說(shuō)明由測(cè)量的加速度離散數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)化成位移數(shù)據(jù)一般不直接在時(shí)域進(jìn)行積分處理,而是由時(shí)域轉(zhuǎn)換成頻域在頻域中進(jìn)行二次積分再轉(zhuǎn)化到時(shí)域中得到位移結(jié)果。相關(guān)matlab處理程序方法參考王濟(jì)老師的matlab在振動(dòng)信號(hào)處理中的應(yīng)用中的程序如下:%頻域積分%clear; clc; close all hidden%fni=input(頻域積分-輸入數(shù)據(jù)文件名:,s);fid=fopen(fni,r);sf=fscanf(fid,%f,1);%采樣頻率fmin=fscanf(fid,%f,1);%最小截止頻率fmax=fscanf(fid,%f,1);%最大截止頻率c=fscanf(fid,%f,1);%單位變換系數(shù)it=fscanf(fid,%f,1);%積分次數(shù)sx=fscanf(fid,%s,1);%橫向坐標(biāo)軸的標(biāo)注sy1=fscanf(fid,%s,1);%縱向坐標(biāo)軸輸入單位的標(biāo)注sy2=fscanf(fid,%s,1);%縱向坐標(biāo)軸輸出單位的標(biāo)注fno=fscanf(fid,%s,1);%輸出數(shù)據(jù)文件名x=fscanf(fid,%f,1,inf);%輸入數(shù)據(jù)存成行向量status=fclose(fid);n=length(x);%建立時(shí)間向量t=0:1/sf:(n-1)/sf;%大于并最接近n的2的冪次方為FFT長(zhǎng)度nfft=2nextpow2(n);%FFT變換y=fft(x,nfft);%計(jì)算頻率間隔(Hz/s)df=sf/nfft;%計(jì)算指定頻帶對(duì)應(yīng)頻率數(shù)組的下標(biāo)ni=round(fmin/df+1);na=round(fmax/df+1);%計(jì)算圓頻率間隔(rad/s)dw=2*pi*df;%建立正的離散圓頻率向量w1=0:dw:2*pi*(0.5*sf-df);%建立負(fù)的離散圓頻率向量w2=2*pi*(0.5*sf-df):-dw:0;%將正負(fù)圓頻率向量組合成一個(gè)向量w=w1,w2;%以積分次數(shù)為指數(shù),建立圓頻率變量向量w=w.it;%進(jìn)行積分的頻域變換a=zeros(1,nfft); a(2:nfft-1) =y(2:nfft-1)./w(2:nfft-1);if it = 2 y=-a; %進(jìn)行二次積分的相位變換else a1=imag(a); a2=real(a); y=a1-a2*i; %進(jìn)行一次積分的相位變換enda=zeros(1,nfft);%消除指定正頻帶外的頻率成分a(ni:na)=y(ni:na);%消除指定負(fù)頻帶外的頻率成分a(nfft-na+1:nfft-ni+1)=y(nfft-na+1:nfft-ni+1);y=ifft(a,nfft); %IFFT變換%取逆變換的實(shí)部n個(gè)元素并乘以單位變換系數(shù)為積分結(jié)果y=real(y(1:n)*c;subplot(2,1,1); plot(t,x); xlabel(sx); ylabel(sy1); grid on; %繪制幾分錢的時(shí)程曲線圖形subplot(2,1,2); plot(t,y); xlabel(sx); ylabel(sy2); grid on; %繪制積分后的時(shí)程曲線圖形%打開文件輸出積分后的數(shù)據(jù)fid=fopen(fno,w);for k=1:n, fprintf(fid,%f n,y(k); endstatus=fclose(fid);程序使用說(shuō)明:運(yùn)行該程序會(huì)顯示 頻域積分-輸入數(shù)據(jù)文件名:在之后寫出輸入數(shù)據(jù)文件的完整文件名(包括擴(kuò)展名,例如data.txt)要求數(shù)據(jù)文件必須在matlab工作空間路徑下,該數(shù)據(jù)文件必須滿足如下格式要求:采樣頻率下限截止頻率上限截止頻率單位變換系數(shù)積分階數(shù)(加速度變位移為2,變速度為1)時(shí)間(s)加速度(g)位移(mm)out.txt具體加速度數(shù)據(jù)(回車或空格隔開)下圖為書上給出的例子:滿足這樣的格式的數(shù)據(jù)文件才能正常處理,注意單位變換系數(shù)和坐標(biāo)有關(guān),如果按書上的例子加速度以g為單位位移以mm為單位,單位變換系數(shù)應(yīng)該為9.8*1000=9800;而用米每二次方秒為加速度單位以mm為位移單位的話就是1*1000=1000;如果m為位移單位的話那單位變換系數(shù)就應(yīng)該為1了。要注意單位變換系數(shù)的選取和自己設(shè)定的坐標(biāo)單位有關(guān)。而加速度數(shù)據(jù)的問(wèn)題,如果數(shù)據(jù)為一維數(shù)據(jù)即全為振動(dòng)加速度的值可以直接使用該程序,但如果像我一樣是測(cè)量的原始結(jié)果,為振動(dòng)加速度對(duì)應(yīng)著時(shí)間需要對(duì)該程序進(jìn)行修改,在讀取數(shù)據(jù)的代碼上修改為讀取的x數(shù)組分離出加速度數(shù)據(jù)和時(shí)間數(shù)據(jù)。分別代替原來(lái)的加速度x和時(shí)間t。我修改后的程序如下,之前除了數(shù)據(jù)部分直接寫到程序里,不在需要輸入了,而測(cè)量數(shù)據(jù)為時(shí)間對(duì)應(yīng)著相應(yīng)的加速度,m為位移單位m/s2為加速度單位,單位變換系數(shù)為1,程序如下:注意:如果直接復(fù)制程序的話注意中英文輸入法切換導(dǎo)致程序字符有問(wèn)題,自己在matlab中改一下單引號(hào)為英文輸入狀態(tài)下的就好。%頻域積分%clear; clc; close all hidden%fni=input(頻域積分-輸入數(shù)據(jù)文件名:,s);fid=fopen(fni,r);sf=12000%采樣頻率fmin=0.1%最小截止頻率fmax=6000%最大截止頻率c=1%單位變換系數(shù)it=2%積分次數(shù)sx=時(shí)間(s);%橫向坐標(biāo)軸的標(biāo)注sy1=加速度(m/s2);%縱向坐標(biāo)軸輸入單位的標(biāo)注sy2=位移(m);%縱向坐標(biāo)軸輸出單位的標(biāo)注out.txt;%輸出數(shù)據(jù)文件名x=fscanf(fid,%f,1,inf);%輸入數(shù)據(jù)存成行向量%加速度時(shí)間數(shù)據(jù)分離for i=1:1:(length(x)/2) %時(shí)間數(shù)據(jù) t(i) = x(2*i-1); %加速度數(shù)據(jù) xx(i) = x(2*i);endstatus=fclose(fid);n=length(xx);%大于并最接近n的2的冪次方為FFT長(zhǎng)度nfft=2nextpow2(n);%FFT變換y=fft(xx,nfft);%計(jì)算頻率間隔(Hz/s)df=sf/nfft;%計(jì)算指定頻帶對(duì)應(yīng)頻率數(shù)組的下標(biāo)ni=round(fmin/df+1);na=round(fmax/df+1);%計(jì)算圓頻率間隔(rad/s)dw=2*pi*df;%建立正的離散圓頻率向量w1=0:dw:2*pi*(0.5*sf-df);%建立負(fù)的離散圓頻率向量w2=2*pi*(0.5*sf-df):-dw:0;%將正負(fù)圓頻率向量組合成一個(gè)向量w=w1,w2;%以積分次數(shù)為指數(shù),建立圓頻率變量向量w=w.it;%進(jìn)行積分的頻域變換a=zeros(1,nfft); a(2:nfft-1) =y(2:nfft-1)./w(2:nfft-1);if it = 2 y=-a; %進(jìn)行二次積分的相位變換else a1=imag(a); a2=real(a); y=a1-a2*i; %進(jìn)行一次積分的相位變換enda=zeros(1,nfft);%消除指定正頻帶外的頻率成分a(ni:na)=y(ni:na);%消除指定負(fù)頻帶外的頻率成分a(nfft-na+1:nfft-ni+1)=y(nfft-na+1:nfft-ni+1);y=ifft(a,nfft); %IFFT變換%取逆變換的實(shí)部n個(gè)元素并乘以單位變換系數(shù)為積分結(jié)果y=real(y(1:n)*c;subplot(2,1,1); plot(t,xx); xlabel(sx); ylabel(sy1); grid on; %繪制幾分錢的時(shí)程曲線

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論