音頻頻譜分析儀設(shè)計與實現(xiàn)_第1頁
音頻頻譜分析儀設(shè)計與實現(xiàn)_第2頁
音頻頻譜分析儀設(shè)計與實現(xiàn)_第3頁
音頻頻譜分析儀設(shè)計與實現(xiàn)_第4頁
音頻頻譜分析儀設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗八音頻頻譜分析儀設(shè)計與實現(xiàn)一、實驗原理MATLAB是一個數(shù)據(jù)分析和處理功能十分強大的工程實用軟件,其數(shù)據(jù)采集工具箱為 實現(xiàn)數(shù)據(jù)的輸入和輸出提供了十分方便的函數(shù)和指令。本實驗基于聲卡與 MATLAB實現(xiàn)音頻信號頻譜分析儀。1、頻率(周期)檢測對周期信號來說,可以用時域波形分析來確定信號的周期,也就是計算相鄰兩個信號 波峰的時間差或過零點的時間差。采用過零點( ti)的時間差T (周期)。頻率即為f=1/T, 由于能夠求得多個T值,故采用他們的平均值作為周期的估計值。2、峰值檢測在一個周期內(nèi),求出信號最大值ymax與最小值ymin的差得一半記為 A,同樣得到多個A值,但第一個A值對應(yīng)的ymax

2、和Ymin不是在一個周期內(nèi)搜索得到的,故以除第一個以外 的A值的平均作為幅值的估計值。3、相位檢測采用過零法,即通過判斷與同頻零相位信號過零點時刻,計算其時間差,然后換成相 應(yīng)的相位差。中=2冗(1-ti/T),同樣以中的平均值作為相位的估計值。4、數(shù)字信號統(tǒng)計量估計(1)峰值P的估計在樣本數(shù)據(jù)x中找出最大值與最小值,其差為雙峰值,雙峰值的一半即為峰值。(2)均值估計i r E(y)=y=N為樣本谷量。N(3)均方值估計21:2E(y r工廠(4)方差估計_ 1三“I(yE(y)25、頻譜分析原理時域分析只能反映信號的幅值隨時間的變化情況,除但頻率分量的簡單波形外,很難明確提示信號的頻率組成和

3、各頻率分量大小,而頻譜分析能很好的解決此問題。(1) DFT 與 FFT對于給定的日域信號 y,可以通過Fourier變換得到頻域信息 Y。Y可按下式計算耨-1N-1r(/)=8。*/的 +*儂。w 00式中,N為樣本容量,A t = 1/Fs為采樣間隔。采樣信號的頻譜是一個連續(xù)的頻譜,不可能計算出所有的點的值,故采用離散Fourier變換(DFT),即理-1了我的=鄧如皿所演=0,12, Q式中,Af =Fs/N。但上式的計算效率很低,因為有大量的指數(shù)(等價于三角函數(shù))運算,故實際中多采用快速 Fourier變換(FFT)。其原理即是將重復(fù)的三角函數(shù)算計的中間結(jié)果保存起來,以減少重復(fù)三角函數(shù)

4、計算帶來的時間浪費。由于三角函數(shù)計算的重復(fù)量相當大,故FFT能極大地提高運算效率。(2)頻率、周期的估計對于Y(kAf),如果當kAf = f時,Y(kAf)取最大值,則f為頻率的估計值,由于采樣間隔的誤差,f也存在誤差,其誤差最大為Af/ 2。周期T=1/fo從原理上可以看出,如果在標準信號中混有噪聲,用上述方法仍能夠精確地估計出原標 準信號的頻率和周期。(3)頻譜圖為了直觀地表示信號的頻率特性,工程上常常將 Fourier變換的結(jié)果用圖形的方式表示,即頻譜圖。以頻率f為橫坐標, 以頻率f為橫坐標, 以頻率f為橫坐標, 以頻率f為橫坐標,|Y(f)|為縱坐標,可以得到幅值譜; arg Y(f

5、)為縱坐標,可以得到相位譜; Re Y為縱坐標,可以得到實頻譜; Im Y(f)為縱坐標,可以得到虛頻譜。根據(jù)采樣定理,只有頻率不超過Fs/2的信號才能被正確采集,即 Fourier變換的結(jié)果中頻率大于Fs/2的部分是不正確的部分,故不在頻譜圖中顯示。即橫坐標 f 0, Fs/2 6、模塊劃分模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成制定的功能,滿足用戶需求。二、實驗內(nèi)容設(shè)計一個音頻頻譜分析儀,功能包括:(1)音頻信號輸入,從聲卡輸入、從 WAV文件輸入、從標準信號發(fā)生器輸入;(2)信號波形分析,包括幅值、頻率、周期、相位

6、的估計,以及統(tǒng)計量峰值、均值。均方值和方差的計算。(3)信號頻譜分析,頻率、周期的估計,圖形顯示幅值譜、相位譜、時頻譜、虛頻譜和功率譜的曲線。三.實驗結(jié)果1.聲卡輸入(1)正弦波聲音信號頻譜分析儀下者l里文帕2tHitI白山了-為折時復(fù)M第1 .克利留1024匹口分析所營口時續(xù)分行幅垣3節(jié)間及打所的用川竄m豹血峰值加與9的揖軍5 口 M密均0.04的1能Ufl99 965B的萬杭4M7.36相悅a 5方建S0O2.212樊續(xù)也寸析的用口中口 01的圜期軍皿皿他*A.-* q a ii sanipEialt! 5120總掙點瞪產(chǎn)卡 開雎錄音 InwetoifliMa10245如工件鐵嶷正缶宣任弋

7、茂生嘉5a四方。 Ffll*和依1000.5打開文件生立波黑-1,立麟桿位電M特性eie irm 1Q(2)方波聲音信號頻譜分析儀存香,氣文HMU11002201廿甘疔以第1京到案1024 口分折斷前蕭w R- K- JU 1UBI MO J1U時用力狀朝燧舟折用第0 口 1的占的峰值100W54?師均立0.15315Ufl100由力值1QODO相檢Qgg方強10009.7Unwenh力時摒守析的申場出*三折的果 因卬UBI的蒯 朝軍WHH 口samptetenla51 的一采樣點質(zhì)1。24尸卡開始錄昔住號養(yǎng)生曷1KImwrc川MM M 北 HK % 海 1ttj IHd m J Bffl H

8、 i卜 LEM生成波強由文件餐引耳塞打開文件D4Y1 m L4W1 HEC(3)三角波聲音信號頻譜分析儀場培耀粉精培思相m0 0199黑軍5(1間西隨雅0.019054fl9.22斯平50.0409均使-D.0&S5111幅M.0913埼方3334.62相推5,2124方建33&Whmenh甘hfc坤析弟Ji相抵照性M鞋三由苻信號澳生井打開文件力所計置 M1* H作者,癡D11函如?案科電規(guī)f、-J- -Uwrpitrtfi, 5120卡 開始錄音 nnwrecwd lit他朝節(jié)-nrf*1英茹特性HI 1Ei KW 卻X!(4)鋸齒波聲音信號頻譜分析儀怕立 范文同加11%必7分時時票4第1吉

9、到第10M萩口分析所書點甘窿普培旦用西0.019&605Q9.9O2250.040S均值).100131幅,M.0225坤方憫33MlMi相也3.S41S方圣3綱也23學(xué)堤蹴8忻莖 罔期0019W3 項率$009窿iM盤性(5)白噪聲聲音信號頻譜分析儀蚱者r范文tftRHIQfPKJT分析時就U第1點生僮1也4 JS 存析所有點時ti將麻匕-馬雷 0323016崢值99.9543劌甲304部仍均-0 通 17637修區(qū)85.5165的方值3534.2B相粗26571方果3537.56IIM*l!l:rill眼埸分析培里頡喈域分析結(jié)累國1JUU(的&12Q-采祥點看W24口聲卡 行蠟錄音 Imr

10、azciECWM成件送鬃閂埠產(chǎn)9 1SSISX3打開文件.W3-,聲a 7期里 晤H 相相ie gj| oSS生成渡彩卜*林楸1福斯相捏 UtMiHi 制 2H MH tHMKiffld程序function varargout = fanwenhan(varargin)gui_Singleton = 1; TOC o 1-5 h z gui_State = struct(gui_Name , mfilename,.gui_Singleton , gui_Singleton,.gui_OpeningFcn , fanwenhan_OpeningFcn,.gui_OutputFcn , fanwe

11、nhan_OutputFcn,.gui_LayoutFcn , 口,.gui_Callback ,);if nargin & ischar(varargin1)gui_State.gui_Callback = str2func(varargin1); endif nargoutvarargout1:nargout = gui_mainfcn(gui_State, varargin:); elsegui_mainfcn(gui_State, varargin:);endfunction fanwenhan_OpeningFcn(hObject, eventdata, handles, varar

12、gin) handles.inputtype=0; TOC o 1-5 h z xlabel(handles.plot1,freqency(Hz);xlabel(handles.plot2,freqency(Hz);xlabel(handles.plot3,freqency(Hz);xlabel(handles.plot4,freqency(Hz);xlabel(handles.plot5,freqency(Hz);ylabel(handles.plot1,amplitude );ylabel(handles.plot2,phase(rad) );ylabel(handles.plot3,re

13、al );ylabel(handles.plot4,Imaginary);ylabel(handles.plot5,power );handles.output = hObject;functionvarargout = fanwenhan_OutputFcn(hObject, eventdata, handles)varargout1 = handles.output;functionfigure1_CreateFcn(hObject, eventdata, handles)function timeanalyse_Callback(hObject, eventdata, handles)F

14、s=str2double(get(findobj(Tag , samplerate ), String );N=str2double(get(findobj(Tag , samplenum ), String );if handles.inputtype=0msgbox( No wave exist! Please choose a input type!);return ; end n=1;ymax=max(handles.y(1) handles.y(2);ymin=min(handles.y(1) handles.y(2);from=str2double(get(handles.poin

15、tfrom,String );to=str2double(get(handles.pointto,String );if from1 | to-from5; msgbox( Error range! ); return ; end for i=from+2:to-1;if handles.y(i-1)0 & handles.y(i-2)=0 & handles.y(i+1)0if handles.y(i)=0 ti(n)=i;elseti(n)=i-handles.y(i)/(handles.y(i)-handles.y(i-1); end amp(n)=(ymax-ymin)/2;ymax=

16、0;ymin=0;n=n+1; elseif ymaxhandles.y(i) ymin=handles.y(i);endend end n=n-1;for i=1:n-1T(i)=ti(i+1)-ti(i);endfreq=Fs/mean(T); set(handles.outt, set(handles.outfreq,StringString,1/freq);,num2str(freq);set(handles.outamp,String,num2str(mean(amp(2:n-1);phase=2*pi*(1-(ti(1:n-1)-1)./T+f100r(ti(1:n-1)-1)./

17、T);set(handles.outphase,Stringset(handles.outpeak,Stringrom:to)/2); set(handles.outmean,Stringset(handles.outmeansquare, set(handles.outs, String,num2str(mean(phase);,(max(handles.y(from:to)-min(handles.y(f,mean(handles.y(from:to);String,mean(handles.y(from:to).A2);,std(handles.y(from:to)A2);functio

18、n WAVfile_Callback(hObject, eventdata, handles) h=findobj( Tag , filename );set(h, enable , on); TOC o 1-5 h z h=findobj( Tag , freq ); set(h,enable,off);h=findobj(Tag, amp);set(h,enable,off);h=findobj(Tag, phase);set(h,enable,off);set(findobj(Tag,recordtime),enable , offset(handles.channel,enable,o

19、n);set(handles.fileopen,enable,on);set(handles.gensig,enable ,off);set(handles.wavetype,enable,off);set(handles.add,enable , off);set(handles.startrecord,enable , off );functionsoundcard_Callback(hObject, eventdata, handles)set(findobj(Tag,recordtime),enable , onh=findobj(Tagfilename);set(h, enable

20、,off);h=findobj(Tagfreq );set(h, enable ,off);h=findobj(Tagamp);set(h, enable ,off);h=findobj(Tagphase );set(h, enable ,off);set(handles.channel,enable,off);set(handles.fileopen,enable,off);set(handles.gensig,enable ,off);set(handles.wavetype,enable,off); TOC o 1-5 h z set(handles.add, enable , off

21、);set(handles.startrecord,enable , on);function generator_Callback(hObject, eventdata, handles) h=findobj(Tag,filename);set(h,enable,off);h=findobj( Tag , freq ); set(h,enable,on);h=findobj(Tag,amp);set(h,enable,on);h=findobj(Tag,phase);set(h,enable,on);set(findobj( Tag , recordtime ), enable , off

22、); set(handles.channel,enable , off );set(handles.fileopen,enable, off );set(handles.gensig,enable , on);set(handles.wavetype,enable, on);set(handles.add, enable , on);set(handles.startrecord,enable,off);functionfilename_Callback(hObject, eventdata, handles)functionfilename_CreateFcn(hObject, eventd

23、ata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionfreq_Callback(hObject, eventdata, handles)functionfreq_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObje

24、ct, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionamp_Callback(hObject, eventdata, handles)functionamp_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white );elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor);endfunctionphas

25、e_Callback(hObject, eventdata, handles)functionphase_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white );elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor);endfunctionsamplerate_Callback(hObject, eventdata, handles)functionsamplerate_CreateFcn(h

26、Object, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionsamplenum_Callback(hObject, eventdata, handles)functionsamplenum_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor

27、, white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionampfreq_CreateFcn(hObject, eventdata, handles)functionrecordtime_Callback(hObject, eventdata, handles)functionrecordtime_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white

28、 ); elsefunctionset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endstartrecord_Callback(hObject, eventdata, handles)Fs=str2double(get(findobj(Tag , samplerate ), String );),Strinhandles.y=wavrecord(str2double(get(findobj(Tag , recordtimeg )*Fs, Fs, int16);handles.inputtype=1;

29、 guidata(hObject,handles); plot(handles.time,handles.y); title( WAVE); ysize=size(handles.y) set(handles.samplenum,String ,num2str(ysize(1);function fileopen_Callback(hObject, eventdata, handles) temp = wavread(get(findobj(Tag , filename ), String );channel=str2double(get(handles.channel,String );ha

30、ndles.y=temp(:,channel); handles.inputtype=2; guidata(hObject,handles); plot(handles.time,handles.y); title( WAVE); ysize=size(handles.y) set(handles.samplenum,String ,num2str(ysize(1);function gensig_Callback(hObject, eventdata, handles) Fs=str2double(get(findobj(Tag , samplerate ), String );N=str2

31、double(get(findobj(Tag , samplenum ), String );x=linspace(0,N/Fs,N); soundtype=get(handles.wavetype,Value);frequency=str2double(get(handles.freq,String );amp=str2double(get(handles.amp,String );phase=str2double(get(handles.phase,String );switch soundtype case 1 y=amp*sin(2*pi*x*frequency+phase); cas

32、e 2 y=amp*sign(sin(2*pi*x*frequency+phase); case 3 y=amp*sawtooth(2*pi*x*frequency+phase,0.5); case 4 y=amp*sawtooth(2*pi*x*frequency+phase); case 5 y=amp*(2*rand(size(x)-1); otherwise errordlg(Illegal wave type, Choose errer );end if get(handles.add, Value 尸=0.0 handles.y=y;elsehandles.y=handles.y+

33、y;endhandles.inputtype=3;guidata(hObject,handles);plot(handles.time,handles.y);title( WAVE);axis(0 N -str2double(get(handles.amp,String )str2double(get(handles.amp,String );functionoutfreq_Callback(hObject, eventdata, handles)functionoutfreq_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,

34、BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionoutamp_Callback(hObject, eventdata, handles)functionoutamp_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, d

35、efaultUicontrolBackgroundColor ); endfunctionoutphase_Callback(hObject, eventdata, handles)functionoutphase_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, );BackgroundColor,get(0, defaultUicontrolBackgroundColorendfunctionoutpeak_Callback(hObjec

36、t, eventdata, handles)functionoutpeak_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionoutmean_Callback(hObject, eventdata, handles)functionoutmean_CreateFcn(hObject, eventdata,

37、 handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionoutmeansquare_Callback(hObject, eventdata, handles)functionoutmeansquare_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white );

38、 elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionouts_Callback(hObject, eventdata, handles)functionouts_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white );else set(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor

39、);endfunctionfoutfreq_Callback(hObject, eventdata, handles)functionfoutfreq_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionfoutamp_Callback(hObject, eventdata, handles)functio

40、nfoutamp_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionfoutphase_Callback(hObject, eventdata, handles)functionfoutphase_CreateFcn(hObject, eventdata, handles)if ispcset(hObje

41、ct, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunction function if ispcedit18_Callback(hObject, eventdata, handles)edit18_CreateFcn(hObject, eventdata, handles)set(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,ge

42、t(0, defaultUicontrolBackgroundColor ); endfunctionedit19_Callback(hObject, eventdata, handles)functionedit19_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionedit20_Callback(hO

43、bject, eventdata, handles)functionedit20_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionedit21_Callback(hObject, eventdata, handles)functionedit21_CreateFcn(hObject, eventdata

44、, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, );BackgroundColor,get(0, defaultUicontrolBackgroundColorendfunction freqanalyse_Callback(hObject, eventdata, handles) Fs=str2double(get(findobj(Tag , samplerate ), String );N=str2double(get(findobj(Tag , samplenum ), String );

45、if handles.inputtype=0msgbox( No wave exist! Please choose a input type!);return ; end from=str2double(get(handles.pointfrom,String );to=str2double(get(handles.pointto,String );sample=handles.y(from:to); f=linspace(0,Fs/2,(to-from+1)/2); Y=fft(sample,to-from+1); C,I=max(abs(Y); set(handles.foutt,Str

46、ing ,1/f(I);set(handles.foutfreq,String ,f(I);Y=Y(1:(to-from+1)/2); plot(handles.plot1,f,2*sqrt(Y.*conj(Y); plot(handles.plot2,f,angle(Y); plot(handles.plot3,f,real(Y); plot(handles.plot4,f,imag(Y); plot(handles.plot5,f,abs(Y).A2); xlabel(handles.plot1,freqency(Hz); TOC o 1-5 h z xlabel(handles.plot

47、2,freqency(Hz);xlabel(handles.plot3,freqency(Hz);xlabel(handles.plot4,freqency(Hz);xlabel(handles.plot5,freqency(Hz);ylabel(handles.plot1,amplitude );ylabel(handles.plot2,phase(rad) );ylabel(handles.plot3,real );ylabel(handles.plot4,Imaginary);ylabel(handles.plot5,power );functionpointfrom_Callback(

48、hObject, eventdata, handles)functionpointfrom_CreateFcn(hObject, eventdata, handles)if ispc set(hObject, BackgroundColor , white ); else set(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionfunctionpointto_Callback(hObject, eventdata, handles)pointto_CreateFcn(hObject,

49、eventdata, handles) if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); end function play_Callback(hObject, eventdata, handles)Fs=str2double(get(findobj(Tag , samplerate ), String );wavplay(handles.y,Fs);function scale_Callback(h

50、Object, eventdata, handles)val=get(hObject, value );val=10A(val*5+1);x=get(handles.xmove, Value )*str2double(get(handles.samplenum,String);axis(handles.time,x val+x min(handles.y) max(handles.y);function scale_CreateFcn(hObject, eventdata, handles) usewhitebg = 1; if usewhitebgset(hObject, Backgroun

51、dColor ,.9 .9 .9); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); end function scale2_Callback(hObject, eventdata, handles) val=get(hObject, value );val=10A(val*5+1);xlim(handles.plot1,0 val);xlim(handles.plot2,0 val);xlim(handles.plot3,0 val);xlim(handles.plot4,0 val);f

52、unction scale2_CreateFcn(hObject, eventdata, handles) usewhitebg = 1;if usewhitebgset(hObject, BackgroundColor ,.9 .9 .9); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionchannel_Callback(hObject, eventdata, handles)functionchannel_CreateFcn(hObject, eventdata, handles)if ispcset(hObject, BackgroundColor , white ); elseset(hObject, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ); endfunctionwavetype_Callback(hObject, eventdata, handles)functionwavetyp

溫馨提示

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

評論

0/150

提交評論