數(shù)字數(shù)字信號處理課程設(shè)計--基于da轉(zhuǎn)換的信號發(fā)生與分析_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 說 明 書</p><p>  題目:基于D/A轉(zhuǎn)換的信號發(fā)生與分析</p><p>  學院(系): 電氣工程學院 </p><p><b>  年級專業(yè): </b></p><p><b>  學 號:</b></p><p

2、><b>  學生姓名: </b></p><p><b>  指導(dǎo)教師: </b></p><p><b>  教師職稱: </b></p><p>  課程名稱: “單片機原理及應(yīng)用——數(shù)字信號處理”課程設(shè)計 基層教學單位:

3、 指導(dǎo)教師 :</p><p>  說明:1、此表一式四份,系、指導(dǎo)教師、學生各一份,報送院教務(wù)科一份。</p><p>  2、學生那份任務(wù)書要求裝訂到課程設(shè)計報告前面。</p><p>  摘要……………………………………………………3</p><p>  第一章 MATLAB簡介…

4、……………………………4</p><p>  第二章 采集信號級處理的相關(guān)知識………………..5</p><p>  2.1MATLAB信號采集相關(guān)知識……………………………5</p><p>  2.2快速傅里葉變換……………………………………7</p><p>  第三章MATLAB處理流程……………………………8</p>

5、<p>  3.1圖形界面設(shè)計………………………………………8</p><p>  3.2程序設(shè)計……………………………………………10</p><p>  第四章MATLAB處理后的仿真圖……………………14</p><p>  4.1方波及其頻譜圖……………………………………14</p><p>  4.2鋸齒波及其頻譜圖……

6、……………………………15</p><p>  4.3三角波及其頻譜圖…………………………………16</p><p>  4.4正弦波及其頻譜圖…………………………………17</p><p>  第五章 心得總結(jié)……………………………………18</p><p>  參考文獻………………………………………………19</p><

7、;p><b>  摘要</b></p><p>  本次課程設(shè)計利用MATLAB對產(chǎn)生的信號進行采集與分析,實現(xiàn)了D/A轉(zhuǎn)換的信號發(fā)生與分析。通過MATLAB GUI設(shè)計信號采集與分析系統(tǒng),對來自上位機的正弦波,三角波,鋸齒波等函數(shù)信號進行采集與幅頻特性分析,并將分析的結(jié)果通過串口發(fā)送命令給單片機系統(tǒng),控制相應(yīng)的數(shù)碼管或LED發(fā)光顯示相應(yīng)信號參數(shù),從而達到對數(shù)字信號的分析與處理的目的。

8、</p><p>  第一章 MATLAB簡介</p><p>  MATLAB是一種面向工程和科學計算的交互式計算軟件,它以矩陣運算為基礎(chǔ),把計算、可視化、程序設(shè)計融合到了一個簡單易用的交互式工作環(huán)境中。同時由于MATLAB是一個數(shù)據(jù)分析和處理功能十分強大的工程實用軟件,它的信號處理與分析工具箱為語音信號分析提供了十分豐富的功能函數(shù),利用這些功能函數(shù)可以快捷而又方便地完成語音信號的處理

9、和分析以及信號的可視化,使人機交互更加便捷。</p><p>  MATLAB是解決工程技術(shù)問題的技術(shù)平臺。利用它能夠輕松完成復(fù)雜的數(shù)值計算,數(shù)據(jù)分析,符號計算和數(shù)據(jù)可視化等任務(wù)。MATLAB軟件由主包和各類工具箱構(gòu)成。其中,主包基本是一個用C/C++等語言編寫成的函數(shù)庫。該函數(shù)庫提供矩陣(或數(shù)組)的各種算法以及建立在此基礎(chǔ)上的各種應(yīng)用函數(shù)和一些相關(guān)的用戶有好操作界面。而工具箱從深度和廣度上大大擴展了MATLAB

10、主包的功能和應(yīng)用領(lǐng)域。隨著自身的不斷完善和發(fā)展,MATLAB功能越來越強大,應(yīng)用也越來越廣泛。</p><p>  隨著計算機技術(shù)和信息技術(shù)的發(fā)展,語音交互已經(jīng)成為人機交互的必要手段,而語音信號的采集和處理是人機交互的前提和基礎(chǔ)。聲卡是計算機對語音信號進行加工的重要部件,它具有對信號濾波、放大、采樣保持、A/D和D/A轉(zhuǎn)換等功能。盡管在Windows附件的娛樂中帶有一個錄音機,通過它可以驅(qū)動聲卡采集語音信號并保存

11、為語音文檔。但是要對采集的信號進一步分析處理就必須另外編程或通過其它軟件,而且Windows附件中的錄音機功能極其有限且不能擴展。MATLAB是美國Math Works公司推出的一種面向工程和科學計算的交互式計算軟件,它以矩陣運算為基礎(chǔ),把計算、可視化、程序設(shè)計融合到了一個簡單易用的交互式工作環(huán)境中。在MATLAB環(huán)境中,可以通過多種編程方法驅(qū)動聲卡,實現(xiàn)對語音信號的采集和回放。同時由于MATLAB是一個數(shù)據(jù)分析和處理功能十分強大的工程

12、實用軟件,它的信號處理與分析工具箱為語音信號分析提供了十分豐富的功能函數(shù),利用這些功能函數(shù)可以快捷而又方便地完成語音信號的處理和分析以及信號的可視化,使人機交互更加便捷。</p><p>  第二章 采集信號級處理的相關(guān)知識</p><p>  2.1MATLAB信號采集的相關(guān)知識</p><p>  MATLAB對串行口的編程控制主要分為四個步驟。</

13、p><p> ?、賱?chuàng)建串口設(shè)備對象并設(shè)置其屬性。</p><p>  scom=serial('com1');%創(chuàng)建串口1的設(shè)備對象scom</p><p>  scom.InputBufferSize=1024;%輸入緩沖區(qū)為256B缺省值為512B</p><p>  scom.Timeout=0.5;%Y設(shè)置一次讀或?qū)懖僮?/p>

14、的最大完成時間為0.5s, 缺省值為10s</p><p>  s.ReadAsyncMode='continuous'(缺省方式);%在異步通信模式方式下, 讀取串口數(shù)據(jù)采用連續(xù)接收數(shù)據(jù)(continuous)的缺省方式,那么下位機返回的數(shù)據(jù)會自動地存入輸入緩沖區(qū)中.</p><p>  這里串口還有很多其他屬性可以設(shè)置不一一列舉。</p><p&

15、gt;  ②打開串口設(shè)備對象。fopen(scom);</p><p> ?、圩x寫串口操作。初始化并打開串口調(diào)協(xié)對象之后現(xiàn)在可以對串口設(shè)備對象進行讀寫操作</p><p>  串口的讀寫操作支持二進制和文本ASCII兩種方式。當MATLAB通信數(shù)據(jù)采用西方ASCII</p><p>  方式時讀寫串口設(shè)備的命令分別是fscanf、fpritf當MAT

16、LAB通信數(shù)據(jù)采用二進制方式時</p><p>  讀寫串口設(shè)備的命令分別是fread、fwrite。我們這里使用fread可以一次性把數(shù)據(jù)讀進來。</p><p> ?、荜P(guān)閉并清除設(shè)備對象。</p><p>  fclose(scom)%關(guān)閉串口設(shè)備對象</p><p>  delete(scom);%刪除內(nèi)存中的串口設(shè)備對象<

17、/p><p>  clear scom; %清除工作空間中的串口設(shè)備對象</p><p>  當不再使用該串口設(shè)備對象時順序使用以上3條命令可以將所創(chuàng)建的串口對象清除,以免占用系統(tǒng)資源。</p><p>  (2)基于MATLAB中斷方式的實時串行通信編程</p><p>  在MATLAB環(huán)境下以中斷的方式進行串行通信實際上是采用事件驅(qū)動

18、的方法實現(xiàn)的。MATLAB提供了instrcallback(obj,event)回調(diào)函數(shù)用戶根據(jù)需要可以自行設(shè)置具體的串行通信事件。</p><p><b>  其編程步驟如下</b></p><p>  ①建立一個串行通信主程序serial.m文件在主程序中進行串口設(shè)備初始化操作,并指定</p><p>  回調(diào)函數(shù)中串行通信的事件。

19、設(shè)置回調(diào)函數(shù)觸發(fā)事件—當串口緩沖區(qū)中有n字節(jié)的數(shù)據(jù)時,觸發(fā)中斷事件。此后主程序自動調(diào)用instrcallback(obj,event)回調(diào)函數(shù)s.BytesAvaibleFcnMode='byte';%中斷觸發(fā)事件為‘bytes-available Event’</p><p>  s.BytesAvailableFcnCount=n;%接收緩沖區(qū)每收到n個字節(jié)時,觸發(fā)回調(diào)函數(shù)</p>

20、<p>  s.BytesAvailableFcn=@instrcallback;%得到回調(diào)函數(shù)句柄。</p><p>  %另外s.BytesAvailableFcn={@instrcallback,s};得到回調(diào)函數(shù)句柄,并將變量s滲透到instrcallback中。</p><p>  fopen(s);%連接串口設(shè)備對象</p><p>  

21、fwrite(s,255);%寫串口發(fā)送握手信號0xFF(等價于十進制下的數(shù)值255)</p><p>  ②修改instrcallback(obj,event)回調(diào)函數(shù)對所發(fā)生的串口通信事件進行處理。</p><p>  MATLAB缺省的回調(diào)函數(shù)instrcallback(obj,event)存在于instrcallback.m文件中。該文件實際上是一個有待于用戶修改的程序模塊。其

22、中只有一些最基本的程序代碼能夠顯示導(dǎo)致串口中斷發(fā)生的是哪一類事件,中斷事件所發(fā)生的時間以及導(dǎo)致事件發(fā)生的對象名等信息。修改回調(diào)函數(shù)文件時,注意要取消文件中相應(yīng)信息后的分號才能夠在MATLAB的命令窗口command</p><p>  window中將這些信息顯示出來。中斷發(fā)生后的通信事件處理以及通信數(shù)據(jù)的分析處理任</p><p>  務(wù)需要用戶自行添加相應(yīng)的服務(wù)程序代碼。M

23、ATLAB安裝目標下有兩個instrcallback.m文件</p><p>  我們只需要修改@instrument目錄下的instrcallback.m文件即可。如果MATLAB安裝在C盤</p><p>  instrcallback.m文件目錄為</p><p>  C:\Program Files\MATLAB\R2007a\toolbox\MATL

24、AB\iofun\@instrument。</p><p>  (一定要替換,不然串口無法啟動)</p><p>  1.gui_cc2430receive.m是數(shù)據(jù)采集程序運行后選擇‘開始’開始采集數(shù)據(jù)點擊希望觀</p><p>  察的節(jié)點可查看該節(jié)點的數(shù)據(jù)波形圖。此程序有針對目前使用的“節(jié)點上有五個傳感器”的</p><p>&

25、lt;b>  情況不一定通用。</b></p><p>  2.instrcallback.m是系統(tǒng)的回調(diào)函數(shù)滿足中斷條件時會進入此函數(shù)。</p><p>  3.callbackDealWithData.m是實時處理函數(shù)當程序進入回調(diào)函數(shù)instrcallback時就會調(diào)用此函</p><p>  數(shù)在callbackDealWithDa

26、ta里面可以添加希望執(zhí)行的指令代碼完成數(shù)據(jù)解析、保存、數(shù)</p><p>  據(jù)濾波、畫圖、實時跟蹤等功能。</p><p>  gui_cc2430receive.m文件是啟動本采集系統(tǒng)的關(guān)鍵其中設(shè)置的“開始”按鈕為代碼中的b1</p><p>  按下按鈕會進入b1callback函數(shù)。</p><p>  2.2快速傅里葉變換&

27、lt;/p><p>  有限長序列可以通過離散傅里葉變換(DFT)將其頻域也離散化成有限長序列.但其計算量太大,很難實時地處理問題,因此引出了快速傅里葉變換(FFT). 1965年,Cooley和Tukey提出了計算離散傅里葉變換(DFT)的快速算法,將DFT的運算量減少了幾個數(shù)量級。從此,對快速傅里葉變換(FFT)算法的研究便不斷深入,數(shù)字信號處理這門新興學科也隨FFT的出現(xiàn)和發(fā)展而迅速發(fā)展。根據(jù)對序列分解與選取方

28、法的不同而產(chǎn)生了FFT的多種算法,基本算法是基2DIT和基2DIF。FFT在離散傅里葉反變換、線性卷積和線性相關(guān)等方面也有重要應(yīng)用。</p><p>  快速傅氏變換(FFT),是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算法進行改進獲得的。它對傅氏變換的理論并沒有新的發(fā)現(xiàn),但是對于在計算機系統(tǒng)或者說數(shù)字系統(tǒng)中應(yīng)用離散傅立葉變換,可以說是進了一大步。</p>

29、<p>  設(shè)x(n)為N項的復(fù)數(shù)序列,由DFT變換,任一X(m)的計算都需要N次復(fù)數(shù)乘法和N-1次復(fù)數(shù)加法,而一次復(fù)數(shù)乘法等于四次實數(shù)乘法和兩次實數(shù)加法,一次復(fù)數(shù)加法等于兩次實數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次“運算”(四次實數(shù)乘法和四次實數(shù)加法),那么求出N項復(fù)數(shù)序列的X(m),即N點DFT變換大約就需要N^2次運算。當N=1024點甚至更多的時候,需要N2=1048576次運算,在FFT中,利用WN的

30、周期性和對稱性,把一個N項序列(設(shè)N=2k,k為正整數(shù)),分為兩個N/2項的子序列,每個N/2點DFT變換需要(N/2)2次運算,再用N次運算把兩個N/2點的DFT變換組合成一個N點的DFT變換。這樣變換以后,總的運算次數(shù)就變成N+2(N/2)2=N+N2/2。繼續(xù)上面的例子,N=1024時,總的運算次數(shù)就變成了525312次,節(jié)省了大約50%的運算量。而如果我們將這種“一分為二”的思想不斷進行下去,直到分成兩兩一組的DFT運算單元,那

31、么N點的DFT變換就只需要Nlog2N次的運算,N在1024點時,運算量僅有10240次,是先前的直接算法的1%,點數(shù)越多,運算量的節(jié)約就越大,這</p><p>  離散傅里葉變換X(k)可看成是z變換在單位圓上的等距離采樣值。同樣,X(k)也可看作是序列傅氏變換的采樣,采樣間隔為ωN=2π/N 。由此看出,離散傅里葉變換實質(zhì)上是其頻譜的離散頻域采樣,對頻率具有選擇性(ωk=2πk/N),在這些點上反映了信號的

32、頻譜。 </p><p>  根據(jù)采樣定律,一個頻帶有限的信號,可以對它進行時域采樣而不丟失任何信息,F(xiàn)FT變換則說明對于時間有限的信號(有限長序列),也可以對其進行頻域采樣,而不丟失任何信息。所以只要時間序列足夠長,采樣足夠密,頻域采樣也就可較好地反映信號的頻譜趨勢,所以FFT可以用以進行連續(xù)信號的頻譜分析。</p><p>  第三章MATLAB處理流程</p><

33、p>  3.1圖形界面設(shè)計 </p><p>  (1)打開MATLAB,新建一個空白的圖形界面文件,計算需要添加的</p><p>  控件種類及個數(shù)并設(shè)計它們的布局。 </p><p> ?。╝) 添加2個axes控件,用于顯示時域波形和頻譜分析; </p><p> ?。╞) 添加5個static text 控件作為窗口說明使用;

34、 </p><p> ?。╟) 添加4個static text控件用于顯示幅值、均值等信號信息; </p><p>  (e) 添加4個push button 空間用于各種操作的開始控制; </p><p>  雙擊各個控件并修改其顏色、大小及string屬性。得到界面如下: </p><p> ?。?)各控件對應(yīng)的回調(diào)函數(shù)的編輯 界面控件及

35、布局創(chuàng)建完成以后,自動生成包含各控件回調(diào)函數(shù)在內(nèi)的m文件。點擊保存時可以修改fig及m文件名。系統(tǒng)自動生成的m文件包括:</p><p>  function varargout = xiaojian01(varargin)</p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name

36、', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  'gui_OpeningFcn', @xiaojian01_OpeningFcn, ...</p><p>  'gui_OutputFcn', @

37、xiaojian01_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callback', </p><p>  以及各個控件對應(yīng)的回調(diào)框架,如:</p><p>  function xiaojian01_Opening

38、Fcn(hObject, eventdata, handles, varargin)等。</p><p><b>  3.2程序設(shè)計</b></p><p>  根據(jù)界面內(nèi)控件的功能,在相應(yīng)的控件下寫入欲實現(xiàn)其功能的程序,對應(yīng)在m文件中的最終程序為:</p><p>  function varargout = xiaojian01(varar

39、gin)</p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  

40、9;gui_OpeningFcn', @xiaojian01_OpeningFcn, ...</p><p>  'gui_OutputFcn', @xiaojian01_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callba

41、ck', []);</p><p>  if nargin && ischar(varargin{1})</p><p>  gui_State.gui_Callback = str2func(varargin{1});</p><p><b>  end</b></p><p>  if n

42、argout</p><p>  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b>  else</b></p><p>  gui_mainfcn(gui_State, varargin{:});</p><p><

43、b>  end</b></p><p>  function xiaojian01_OpeningFcn(hObject, eventdata, handles, varargin)</p><p>  handles.output = hObject;</p><p>  %guidata(hObject, handles);</p>

44、<p>  function varargout = xiaojian01_OutputFcn(hObject, eventdata, handles) </p><p>  varargout{1} = handles.output;</p><p>  function pushbutton1_Callback(hObject, eventdata, handles)&l

45、t;/p><p>  global out</p><p><b>  global z</b></p><p><b>  global ff</b></p><p>  global fftx</p><p><b>  global fs</b><

46、;/p><p>  global nfft</p><p><b>  fs=100;</b></p><p>  %z=fft(out)</p><p>  %mag=abs(z);%求幅值</p><p>  %freq=fs/mean(z);</p><p>  %set

47、(handles.text 8,'string',num2str(freq));</p><p>  %f=(0:length(z)-1)*fs/length(z);%進行對應(yīng)的頻率轉(zhuǎn)換</p><p>  nfft= 2^nextpow2(length(out));%找出大于y的個數(shù)的最大的2的指數(shù)值</p><p>  ff=fs*(0:nfft

48、/2-1)/nfft;%FFT變換后對應(yīng)的頻率的序列</p><p>  fftx=fft(out,nfft);%求FFT變換</p><p>  set(gcf,'CurrentAxes',handles.axes2);</p><p>  plot(ff,abs(fftx(1:nfft/2))*2/nfft);</p><p&

49、gt;  xlabel('Frequency');</p><p>  ylabel('Amplitude');</p><p>  %D=max(out); % 最大值</p><p><b>  %</b></p><p>  function pushbutton2_Callback

50、(hObject, eventdata, handles)</p><p>  global out</p><p><b>  global n</b></p><p>  set(gcf,'CurrentAxes',handles.axes1)</p><p><b>  plot(out)

51、</b></p><p>  xlabel('Data Points');</p><p>  ylabel('Amplitude');</p><p><b>  fs=100;</b></p><p>  %A=mean(out); % 標準差</p><

52、;p>  %B=fs/mean(out);</p><p>  C=Var(out); % 方差</p><p>  D=max(out); % 最大值</p><p>  A=mean(out); % 平均值</p><p>  E=min(out); % 最小值</p><p>  %F=D-E; % 峰峰值

53、</p><p>  set(handles.text8,'string',num2str(A));</p><p>  set(handles.text12,'string',num2str(D));</p><p>  %set(handles.text,'string',num2str(D));</p>

54、;<p>  set(handles.text13,'string',num2str(E));</p><p>  set(handles.text14,'string',num2str(C));</p><p>  function pushbutton3_Callback(hObject, eventdata, handles)</p

55、><p><b>  global g</b></p><p>  global out</p><p>  g=serial('com1');</p><p>  g.InputBufferSize=4096;</p><p>  g.timeout=60;</p>&

56、lt;p>  g.BaudRate=1200;</p><p>  g.Parity='none';</p><p>  g.StopBits=1;</p><p>  g.Terminator='LF';</p><p>  g.FlowControl='hardware';</p

57、><p>  fopen(g);%打開串口設(shè)備對象s</p><p>  %fwrite(g,255);%以二進制的方式發(fā)送握手信號0xFF,缺省為異步通信方式</p><p>  out=fread(g,100,'uint8')</p><p>  fclose(g);</p><p>  %delete

58、(g);</p><p><b>  %clear g;</b></p><p>  %set(gcf,'CurrentAxes',handles.axes1)</p><p>  %plot(out)</p><p>  function pushbutton4_Callback(hObject, ev

59、entdata, handles)</p><p><b>  close</b></p><p>  function axes1_CreateFcn(hObject, eventdata, handles)</p><p>  xlim([0 1000])</p><p>  ylim([0 300])</p&

60、gt;<p>  set(gca,'ytick',[0:50:300])</p><p>  function axes2_CreateFcn(hObject, eventdata, handles)</p><p>  xlim([0 1000])</p><p>  ylim([0 300])</p><p>

61、;  set(gca,'ytick',[0:50:300])</p><p>  function edit1_Callback(hObject, eventdata, handles)</p><p>  function edit1_CreateFcn(hObject, eventdata, handles)</p><p>  if ispc

62、&& isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))</p><p>  set(hObject,'BackgroundColor','white');</p><p><b>  en

63、d</b></p><p>  function text8_CreateFcn(hObject, eventdata, handles)</p><p>  第四章MATLAB處理后的仿真圖</p><p>  4.1方波及其頻譜圖</p><p><b>  方波的一些特性參數(shù)</b></p>

64、<p>  4.2鋸齒波及其頻譜圖</p><p>  鋸齒波的一些特性參數(shù)</p><p>  4.3三角波及其頻譜圖</p><p>  三角波的一些特性參數(shù)</p><p>  4.4正弦波及其頻譜圖</p><p>  正弦波的一些特性參數(shù)</p><p><b>

65、;  第五章 心得總結(jié)</b></p><p>  通過本次課程設(shè)計,我們學習了使用MATLAB對信號進行分析與處理的基本方法,對于課上所學知識更產(chǎn)生了進一步的認識,通過分組合作的形式不僅增進了我們的團隊協(xié)作能力,更增強了我們的實踐能力,培養(yǎng)了我們自主分析問題,解決問題的能力。</p><p>  在此次課程設(shè)計的過程中,我們同樣遇到了很多問題與難題,但是因為得到了老師和學長

66、們的幫助,使得許多問題得以迎刃而解,為此感謝老師和學長們的不吝賜教!</p><p><b>  參考文獻</b></p><p>  1)《微型計算機控制系統(tǒng)》 賴壽宏,機械工業(yè)出版社(教材)</p><p>  2)《單片機及應(yīng)用》李大友,高等教育出版社(教材)</p><p>  3)《信號處理原理及應(yīng)用》 謝平

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論