基于DSP的FFT實現(xiàn)_第1頁
基于DSP的FFT實現(xiàn)_第2頁
基于DSP的FFT實現(xiàn)_第3頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-課程設(shè)計(論文)題 目名稱基于DSP的FFT的實現(xiàn)課 程 名 稱專業(yè)課程設(shè)計學(xué)生*系 、專 業(yè)信息工程系通信工程指導(dǎo)教師2021 年4月27 日摘 要隨著計算機和微電子技術(shù)的飛速開展,基于數(shù)字信號處理的頻譜分析已經(jīng)應(yīng)用到各個領(lǐng)域并且發(fā)揮著重要作用。信號處理方法是當(dāng)前機械設(shè)備故障診斷中重要的技術(shù)根底之一,分析結(jié)果的準確程度是診斷成功與否的關(guān)鍵因素。研究頻譜分析是當(dāng)前主要的開展方向之一。數(shù)字信號處理根本上從兩個方面來解決信號的處理問題:一個是時域方法,即數(shù)字濾波;另一個是頻域方法,即頻譜分析.本文主要介紹了離散傅里葉變換以及快速傅里葉變換,通過對DFT以及FFT算法進展研究,從根底深入研究和學(xué)習(xí)

2、,掌握FFT算法的關(guān)鍵。通過對DSP芯片工作原理以及開發(fā)環(huán)境的學(xué)習(xí),掌握CCS的簡單調(diào)試和軟件仿真,在DSP芯片上實現(xiàn)對信號的實時頻譜分析。關(guān)鍵字:DSP;CCS仿真軟件;FFT目 錄第1章 緒論11.1 DSP簡介11.2設(shè)計目的11.3設(shè)計容11.4設(shè)計原理11.5FFT算法的DSP實現(xiàn)過程2第2章 硬件實現(xiàn)42.1系統(tǒng)的硬件設(shè)計42.2原理圖的設(shè)計5第3章 軟件設(shè)計73.1 FFT運算及存儲分配73.2設(shè)計流程圖8第4章 系統(tǒng)仿真94.1 FFT實現(xiàn)的方法94.2程序運行結(jié)果9第5章 總結(jié)12致 13參考文獻14附錄 源程序15. z-第1章 緒論1.1 DSP簡介數(shù)字信號處理(Digi

3、tal Signal Processing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。數(shù)字信號處理是利用計算機或?qū)S锰幚碓O(shè)備,以數(shù)字的形式對信號進展分析、采集、合成、變換、濾波、估算、壓縮、識別等加工處理,以便提取有用的信息并進展有效的傳輸與應(yīng)用。數(shù)字信號處理是以眾多學(xué)科為理論根底,它所涉及的圍極其廣泛。如數(shù)學(xué)領(lǐng)域中的微積分、概率統(tǒng)計、隨機過程、數(shù)字分析等都是數(shù)字信號處理的根底工具。它與網(wǎng)絡(luò)理論、信號與系統(tǒng)、控制理論、通信理論、故障診斷等密切相關(guān)。1.2設(shè)計目的1加深對DFT算法原理和根本性質(zhì)的理解;2熟悉FFT的算法原理和FFT子程序的算法流程和應(yīng)用;3學(xué)習(xí)用FFT對連

4、續(xù)信號和時域信號進展頻譜分析的方法;4學(xué)習(xí)DSP中FFT的設(shè)計和編程思想;5學(xué)習(xí)使用CCS的波形觀察器觀察波形和頻譜情況;6簡要畫出硬件設(shè)計電路圖。1.3設(shè)計容用DSP匯編語言進展編程,實現(xiàn)FFT運算,對輸入信號進展頻譜分析。1.4設(shè)計原理快速傅氏變換FFT是一種高效實現(xiàn)離散傅氏變換的快速算法,是數(shù)字信號處理中最為重要的工具之一,它在聲學(xué)、語音、電信、和信號處理等領(lǐng)域有著廣泛的應(yīng)用。對于有限長離散數(shù)字信號*n,0 n N-1,其離散譜*k可以由離散付氏變換DFT求得??梢苑奖愕陌阉膶憺槿缦滦问剑翰浑y看出,WN是周期性的,且周期為N,即N的周期性是DFT的關(guān)鍵性質(zhì)之一。為了強調(diào)起見,常用表達式

5、WN取代W以便明確其周期是N。FFT算法可以分為按時間抽取FFT和按頻率抽取FFT兩大類,輸入也有和復(fù)數(shù)之分,一般情況下,都假定輸入序列為復(fù)數(shù)。FFT算法利用旋轉(zhuǎn)因子的對稱性和周期性,加快了運算速度。用定點DSP芯片實現(xiàn)FFT程序時,一個比較重要的問題是防止中間結(jié)果的溢出,防止中間結(jié)果的溢出的方法是對中間數(shù)值歸一化。為了防止對每級都進展歸一化會降低運算速度,最好的方法是只對可能溢出的進展歸一化,而不可能溢出的則不進展歸一化。由DFT的定義可以看出,在*n為復(fù)數(shù)序列的情況下,完全直接運算N點DFT需要N-12次復(fù)數(shù)乘法和NN-1次加法。因此,對于一些相當(dāng)大的N值如1024來說,直接計算它的DFT

6、所作的計算量是很大的。FFT的根本思想在于,將原有的N點序列序列分成兩個較短的序列,這些序列的DFT可以很簡單的組合起來得到原序列的DFT。例如,假設(shè)N為偶數(shù),將原有的N點序列分成兩個N/2點序列,則計算N點DFT將只需要約(N/2)2 ·2=N2/2次復(fù)數(shù)乘法。即比直接計算少作一半乘法。因子N/22表示直接計算N/2點DFT所需要的乘法次數(shù),而乘數(shù)2代表必須完成兩個DFT。上述處理方法可以反復(fù)使用,即N/2點的DFT計算也可以化成兩個N/4點的DFT假定N/2為偶數(shù),從而又少作一半的乘法。這樣一級一級的劃分下去一直到最后就劃分成兩點的FFT運算的情況。1.5 FFT算法的DSP實現(xiàn)

7、過程DSP芯片的出現(xiàn)使FFT的實現(xiàn)方法變得更為方便。由于大多數(shù)DSP芯片都具有在單指令周期完成乘法累加操作,并且提供了專門的FFT指令,使得FFT算法在DSP芯片實現(xiàn)的速度更快。FFT算法可以分為按時間抽取FFT和按頻率抽取FFT兩大類,輸入也有實數(shù)和復(fù)數(shù)之分,一般情況下,都假定輸入序列為復(fù)數(shù)。運算序列的存儲分配FFT運算時間是衡量DSP芯片性能的一個重要指標,因此提高FFT的運算速度是非常重要的。在用DSP芯片實現(xiàn)FFT算法時,應(yīng)允許利用DSP芯片所提供的各種軟、硬件資源。如何利用DSP芯片的有限資源,合理地安排好所使用的存儲空間是十分重要的。1.5.2 FFT運算的實現(xiàn)用TMS320C54

8、*的匯編程序?qū)崿F(xiàn)FFT算法主要分為四步:(1)實現(xiàn)輸入數(shù)據(jù)的比特反轉(zhuǎn)輸入數(shù)據(jù)的比特反轉(zhuǎn)實際上就是將輸入數(shù)據(jù)進展碼位倒置,以便在整個運算后的輸出序列是一個自然序列。在用匯編指令進展碼位倒置時,使用碼位倒置可以大大提高程序執(zhí)行速度和使用存儲器的效率。在這種尋址方式下,AR0存放的整數(shù)N是FFT點的一半,一個輔助存放器指向一個數(shù)據(jù)存放的單元。當(dāng)使用位碼倒置尋址將AR0加到輔助存放器時,地址將以位碼倒置的方式產(chǎn)生。(2)實現(xiàn)N點復(fù)數(shù)FFTN點復(fù)數(shù)FFT算法的實現(xiàn)可分為三個功能塊,即第一級蝶形運算、第二級蝶形運算、第三級至級蝶形運算。對于任何一個2的整數(shù)冪,總可以通過M次分解最后成為2點的DFT計算。通

9、過這樣的M次分解,可構(gòu)成M即級迭代計算,每級由N/2個蝶形運算組成。(3)功率譜的計算用FFT計算想*(n)的頻譜,即計算*k=*(k)一般是由實部(k)和虛部(k)組成的復(fù)數(shù),即*k=(k)+j(k)因此,計算功率譜時只需將FFT變換好的數(shù)據(jù),按照實部實部(k)和虛部(k)求它們的平方和,然后對平方和進展開平方運算。但是考慮到編程的難度,對于求FFT變換后數(shù)據(jù)的最大值,不開平方也可以找到最大值,并對功率譜的結(jié)果沒有影響,所以在實際的DSP編程中省去了開方運算。第2章 硬件實現(xiàn)2.1系統(tǒng)的硬件設(shè)計基于DSP的系統(tǒng)設(shè)計過程中,最小系統(tǒng)的設(shè)計是整個系統(tǒng)設(shè)計的第一步,系統(tǒng)設(shè)計總是從最小系統(tǒng)開場,逐步

10、向系統(tǒng)應(yīng)用圍擴展,最終以DSP為核心的大系統(tǒng)的設(shè)計。因此最小系統(tǒng)設(shè)計DSP設(shè)計的關(guān)鍵。DSP最小系統(tǒng)的設(shè)計包括DSP電源和地線的設(shè)計,JTAG仿真口的設(shè)計、復(fù)位和時鐘電路的設(shè)計、上拉和下拉引腳的設(shè)計等。TMS320C54*鎖相環(huán)電路、指示燈、 濾波電路時鐘復(fù)位電路TPS7333Q電源模塊RAM存儲模塊JTAG仿真電路圖2.1.1 最小系統(tǒng)的設(shè)計芯片介紹1該模塊上的資源有32千字FLASH;2千字SARAM,544字DARAM,外擴64千字的程序ROM,64千字的數(shù)據(jù)RAM;3兩個事件管理器EVA和EVB;4可擴展外部存儲器總共192K字空間:64K程序存儲器,64K字數(shù)據(jù)存儲器空間,64K字I

11、/O尋址空間;5看門狗定時模塊;619位A/D轉(zhuǎn)換器;7控制局域網(wǎng)絡(luò)CAN模塊,串行通信接口SCI模塊;816位串行外設(shè)SPI接口模塊;9基于鎖相環(huán)的時鐘發(fā)生器;10高達40個可單獨編程或復(fù)用的通用輸入/輸出引腳GPIO;115個外部中斷;12電源管理包括3種低功耗模式,能獨立地將外設(shè)器件轉(zhuǎn)入低功耗工作模式;2.2原理圖的設(shè)計DSP最小系統(tǒng)的設(shè)計包括DSP電源設(shè)計,JTAG仿真口的設(shè)計、復(fù)位和時鐘電路的設(shè)計、上拉和下拉引腳的設(shè)計等電源電路的設(shè)計電源電路的選擇是系統(tǒng)設(shè)計的一個重要的局部,設(shè)計好壞對系統(tǒng)的影響最大。首先需要注意的是,為了減少電源噪聲和互相干擾,數(shù)字電路和模擬電路一般要獨立供電,數(shù)字

12、地和模擬地也要分開,并最終通過一個磁珠在一點連在一起,用TPS7333Q進展3.3V電壓的轉(zhuǎn)換對最小系統(tǒng)供電圖2.2.1 電源電路復(fù)位電路設(shè)計TMS320C54*部帶有復(fù)位電路,因此可以直接RS復(fù)位引腳外面接一個上拉電阻即可,這對于簡化外圍電路,減少電路板尺寸很有用處,但是為了調(diào)試方便經(jīng)常采用手動復(fù)位電路。鎖相環(huán)電路設(shè)計圖2.2.3 鎖相環(huán)電路JTAG口JTAG是Joint Test Action Group的簡稱,又稱JTAG口,它是一符合IEEE Std 1149.1邊界掃描邏輯標準的標準接口。它主要用于在硬件上對DSP進展實時在線仿真測試和DSP程序的下載,它提供對所連接設(shè)備的邊界掃描,

13、同時也可以用來測試引腳到引腳的連續(xù)性,以及進一步進展DSP芯片的外圍器件的操作測試。第3章 軟件設(shè)計3.1 FFT運算及存儲分配1DSP芯片的出現(xiàn)使FFT的實現(xiàn)方法變得更為方便,由于大多數(shù)DSP芯片都具有在單指令周期完成乘法累加的操作,并提供了專門的FFT指令,使得FFT算法在DSP的實現(xiàn)速度更快。一般,F(xiàn)FT的算法可分為按時間抽取FFT和按頻率抽取FFT,輸入也有實數(shù)和復(fù)數(shù)之分,一般情況下都假定輸入是復(fù)數(shù)序列。2FFT運算序列的存儲分配FFT運算時間是衡量DSP芯片性能的一個重要指標,因此提高FFT的運算速度是非常重要的。在用DSP芯片實現(xiàn)FFT算法時,應(yīng)允許利用DSP芯片所提供的各種軟、硬

14、件資源。如何合理的利用DSP芯片的有限資源,合理的安排DSP芯片所提供的存儲空間相當(dāng)關(guān)鍵。本設(shè)計采用如下所示的存儲分配:圖3.1數(shù)據(jù)空間分配圖3.2設(shè)計流程圖DSP初始化串口設(shè)置AD設(shè)置設(shè)置信號源類型、頻率幅值、和采樣點數(shù)串口接收,AD采樣位碼倒置FFT運算功率譜計算串口發(fā)送轉(zhuǎn)換結(jié)果觀看轉(zhuǎn)換結(jié)果,保存數(shù)據(jù)圖3.2 程序流程圖第4章 系統(tǒng)仿真4.1 FFT實現(xiàn)的方法1根據(jù)N值,修改rfft_task.asm中的兩個常數(shù),如N=64.K_FFT_SIZE.set 64K_LOGN .set 62準備輸入數(shù)據(jù)文件in.dat。輸入數(shù)據(jù)按實部、虛部,實部、虛部,順序存放。3匯編、仿真執(zhí)行,得到輸出數(shù)據(jù)

15、文件out.dat。4根據(jù)out.dat作圖,就可以得到輸入信號的功率譜圖。當(dāng)N超過1024時,除了修改K_FFT_SIZE和K_LOGN兩個常數(shù)外,還要增加系數(shù)并且修改rfft_task d命令文件。通過data.pjt完成一個64點FFT程序,輸入信號為一正弦波。操作步驟如下:1進入CCS環(huán)境。2翻開CCS選擇FileNewSource File。3編寫源程序代碼。4創(chuàng)立工程文件。5點擊Project選擇Build Options。6在彈出的對話框在設(shè)置相應(yīng)的編譯參數(shù),一般情況下,按默認值就可以。7在彈出的對話框中選擇連接的參數(shù)設(shè)置,設(shè)置傳輸文件、堆棧的大小以及初始化的方式。8點擊Proj

16、ectBuild all,對工程進展編譯。9點擊Fileload program,彈出的對話框中載入debug文件夾下的.out可執(zhí)行文件。10點擊debugGo M ain回到C程序的入口。11運行程序,觀察結(jié)果。4.2程序運行結(jié)果驗證輸入數(shù)據(jù)波形,設(shè)置參數(shù):Start Address=0*2800,Page=Data,Acquisition Buffer Size=64,Display Data Size=64,DSP Data Type=32-bit signed integer 點擊OK,就可以看到輸入數(shù)據(jù)波形:圖4.2.1輸入數(shù)據(jù)波形全速運行程序,看輸出結(jié)果,設(shè)置波形對話框參數(shù):St

17、art Address=0*2c80,Page=Data,Acquisition Buffer Size=64,Display Data Size=64,DSP Data Type=16-bit signed integer點擊OK,就可以看到FFT輸出結(jié)果:圖4.2.2 FFT輸出結(jié)果第5章 總結(jié)在本次課程設(shè)計中,我、*、*三人一組。*負責(zé)硬件設(shè)計局部,*負責(zé)軟件設(shè)計局部,我負責(zé)系統(tǒng)仿真及論文的編寫。在系統(tǒng)仿真時我們需要在實驗箱上設(shè)置信號源,信號源的幅度應(yīng)該設(shè)在1000左右,信號的頻率設(shè)在300左右,電壓偏移設(shè)為1,通道設(shè)為0。在論文編寫的過程中,我首先對本次課程設(shè)計進展了總體設(shè)計,然后根據(jù)

18、*、*和我各自負責(zé)的容進展匯總編排。通過本次課程設(shè)計我發(fā)現(xiàn)DSP應(yīng)用型很強,許多的原理,程序看似簡單,真正去做才知道知識并沒有自己想象的那樣扎實。從而懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的困難和成功時的喜悅。本次設(shè)計也讓我明白了思路即出路,有什么不懂不明白的地方要及時請教或上網(wǎng)查詢,只要認真鉆研,動腦思考,動手實踐,就沒有弄

19、不懂的知識,收獲頗豐。致 在此次設(shè)計中,*教師作為我的指導(dǎo)教師,至始至終都給予我了不少幫助,從下任務(wù)書開場,就幫我制定規(guī)劃,提醒我應(yīng)注意的問題,借給我資料和實驗器材,和我一起調(diào)程序,并提出了很多的修改意見以及完善方案。此外還認真批閱了我的論文,指出其中很多瑕疵和不清晰的地方,更重要的是在我遇到困難時對我的鼓勵,讓我不懈怠、不退縮、也讓我更有信心,可以說我的每一點進展都與黃教師的付出是分不開的。當(dāng)然還在此,我向身邊關(guān)心我的教師、同學(xué)致以誠摯的意!有其他教師和同學(xué)都幫了我不少忙,在此不再贅述。謹祝教師們工作順利,萬事如意,桃滿天下;同學(xué)們學(xué)業(yè)有成,前程似錦!參考文獻1 戴明楨等編著TMS320C5

20、4* DSP 構(gòu)造原理及應(yīng)用:航空航天大學(xué),第2版,2007;2 啟琮編著DSP技術(shù)的開展與應(yīng)用:高等教育,2002;3 胡廣書編著數(shù)字信號處理理論、算法與實現(xiàn):清華大學(xué),2005;4黃席椿、高順良編著濾波器綜合法設(shè)計原理:人民郵電,1978;5永歡 梁在中等編著實用數(shù)學(xué)手冊:科學(xué),2001;6程佩青編著數(shù)字濾波與快速傅里葉變換:清華大學(xué),1990;7 合眾達電子技術(shù)編著SEED-DTK系列實驗手冊合眾達電子技術(shù)出版,2007。附錄 源程序*include "stdio.h"*include "math.h"main() int i; float f25

21、6; FILE *fp;if(fp=fopen("d:tms320c54fftsindata", "wt")=NULL) printf("can't open file!n"); e*it(0);for(i=0;i<=255;i+) fi=sin(2*3.1415926*i/256.0); fprintf(fp, ".word %ldn",(log)(fi*16384);fclose(fp);將生成的數(shù)據(jù)文件復(fù)制到目標系統(tǒng)存儲器的語句為 d_input .copy sindata匯編語言程序: .ti

22、tle "fft.asm" .mmregs .include "coeff.inc" .include "in.inc" .def startsine: .usect "sine",512cosine: .usect "cosine",512fft_data: .usect "fft_data",1024fft_out: .usect "fft_out",512 STACK .usect "STACK",10K_DATA_ID*_1 .

23、set 2K_DATA_ID*_2 .set 4K_DATA_ID*_3 .set 8K_TWID_TBL_SIZE .set 512K_TWID_ID*_3 .set 128K_FLY_COUNT_3 .set 4K_FFT_SIZE .set 64 K_LOGN .set 6 PA0 .set 0 .bss d_twid_id*,1 .bss d_data_id*,1 .bss d_grps_t,1 .sect "fft_prg" .asg AR2,REORDERED .asg AR3,ORIGINAL_INPUT .asg AR7,DATA_PROC_BUF star

24、t: SSB* FRCT STM *STACK+10,SP STM *sine,AR1 RPT *511 MVPD *sine1,*AR1+ STM *cosine,AR1 RPT *511 MVPD cosine1,*AR1+ STM *d_input,ORIGINAL_INPUT STM *fft_data,DATA_PROC_BUF MVMM DATA_PROC_BUF,REORDERED STM *K_FFT_SIZE-1,BRC · RPTBD bit_rev_end-1 STM *K_FFT_SIZE,AR0 MVDD *ORIGINAL_INPUT+,*REORDERE

25、D+ MVDD *ORIGINAL_INPUT-,*REORDERED+ MAR *ORIGINAL_INPUT+0B bit_rev_end: .asg AR1,GROUP_COUNTER .asg AR2,P* .asg AR3,Q* .asg AR4,WR .asg AR5,WI .asg AR6,BUTTERFLY_COUNTER .asg AR7,STAGE_COUNTER STM *0,BK LD *-1,ASM STM *fft_data,P* STM *fft_data+K_DATA_ID*_1,Q* STM K_FFT_SIZE/2-1,BRC LD *P*,16,A RPT

26、BD stage1end-1 STM *K_DATA_ID*_1+1,AR0 SUB *Q*,16,A,B ADD *Q*,16,A STH A,ASM,*P*+ ST B,*Q*+ |LD *P*,A SUB *Q*,16,A,B ADD *Q*,16,A STH A,ASM,*P*+0% ST B,*Q*+0% |LD *P*,A stage1end: STM *fft_data,P* STM *fft_data+K_DATA_ID*_2,Q* STM *K_FFT_SIZE/4-1,BRC LD *P*,16,A RPTBD stage2end-1 STM *K_DATA_ID*_2+1

27、,AR0 SUB *Q*,16,A,B ADD *Q*,16,A STH A,ASM,*P*+ ST B,*Q*+ |LD *P*,A SUB *Q*,16,A,B ADD *Q*,16,A STH A,ASM,*P*+ STH B,ASM,*Q*+ MAR *Q*+ ADD *P*,*Q*,A SUB *P*,*Q*-,B STH A,ASM,*P*+ SUB *P*,*Q*,A ST B,*Q* |LD *Q*+,B ST A,*P* |ADD *P*+0%,A ST A,*Q*+0% |LD *P*,A stage2end: STM *K_TWID_TBL_SIZE,BK ST *K_T

28、WID_ID*_3,d_twid_id* STM *K_TWID_ID*_3,AR0 STM *cosine,WR STM *sine,WI STM *K_LOGN-2-1,STAGE_COUNTER ST *K_FFT_SIZE/8-1,d_grps_t STM *K_FLY_COUNT_3-1,BUTTERFLY_COUNTER ST *K_DATA_ID*_3,d_data_id* stage: STM *fft_data,P* LD d_data_id*,A ADD *(P*),A STLM A,Q* MVDK d_grps_t,GROUP_COUNTER group: MVMD BU

29、TTERFLY_COUNTER,BRC RPTBD butterflyend-1 LD *WR,T MPY *Q*+,A MAC *WI+0%,*Q*-,A ADD P*,16,A,B ;B:=(QR*WR+QI*WI)+PR ST B,*P* ;PR':=(QR*WR+QI*WI)+PR)/2 |SUB *P*+,B ST B,*Q* |MPY *Q*+,A MAS *Q*,*WR+0%,A ADD *P*,16,A,B ST B,*Q*+ |SUB *P*,B LD *WR,T ST B,*P*+ |MPY *Q*+,A butterflyend:PSHM AR0 MVDK d_data_id*,AR0MAR *P*+0 MAR *Q*+0 BANZD group,*GROUP_COUNTER- POPM AR

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論