FIR濾波器及其DSP實現(xiàn)_第1頁
FIR濾波器及其DSP實現(xiàn)_第2頁
FIR濾波器及其DSP實現(xiàn)_第3頁
FIR濾波器及其DSP實現(xiàn)_第4頁
FIR濾波器及其DSP實現(xiàn)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

FIR濾波器及其DSP實現(xiàn)

摘要DSP技術(shù)一般指將DSP處理器用于完成數(shù)字信號處理的方法與技術(shù)。目前的DSP芯片以其強大的數(shù)據(jù)處理功能在通信和其他信號處理領(lǐng)域得到廣泛注意并己成為開發(fā)應(yīng)用的熱點技術(shù)。許多領(lǐng)域?qū)τ跀?shù)字信號處理器的應(yīng)用都是圍繞美國德州儀器所開發(fā)的DSP處理器來進行的。DSP芯片是一種特別適合于進行數(shù)字信號處理運算的微處理器。主要應(yīng)用是實時快速的實現(xiàn)各種數(shù)字信號處理算法,如卷積及各種變換等。關(guān)鍵詞:DSP;FIR濾波器1緒論1.1引言隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理己成為如今一門極其重要的學科和技術(shù)領(lǐng)域。數(shù)字信號處理在通信、語音、圖像、自動控制、雷達、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號處理的應(yīng)用中,數(shù)字濾波器很重要而且得到了廣泛的應(yīng)用。按照數(shù)字濾波器的特性,它可以被分為線性與非線性、因果與非因果、無限長沖擊響應(yīng)(IIR)與有限長沖擊響應(yīng)(FIR)等等。目前FIR濾波器的實現(xiàn)方法大致可分為三種:利用單片通用數(shù)字濾波器集成電路、DSP器件和可編程邏輯器件實現(xiàn)。單片通用數(shù)字濾波器使用方便,但由于字長和階數(shù)的規(guī)格較少,不能完全滿足實際需要,使用以串行運算為主導的通用DSP芯片實現(xiàn)要簡單,是一種實時、快速、特別適合于實現(xiàn)各種數(shù)字信號處理運算的微處理器,借助于通用數(shù)字計算機按濾波器的設(shè)計算法編出程序進行數(shù)字濾波計算。由于它具有豐富的硬件資源、改進的哈佛結(jié)構(gòu)、高速數(shù)據(jù)處理能力和強大的指令系統(tǒng)而在通信、航空、航天、雷達、工業(yè)控制、網(wǎng)絡(luò)及家用電器等各個領(lǐng)域得到廣泛應(yīng)用。L2課題背景數(shù)字信號處理就是用數(shù)字信號處理器(DSP)來實現(xiàn)各種算法,由于具有精度高、靈活性強等優(yōu)點,已廣泛應(yīng)用在數(shù)字圖像處理、數(shù)字通信、數(shù)字音響、聲納、雷達等領(lǐng)域。數(shù)字濾波技術(shù)乂是進行數(shù)字信號處理的最基本手段之一,它是對數(shù)字輸人信號進行運算,產(chǎn)數(shù)字輸出信號,以改善信號品質(zhì),提取有用信息,或者把組合在一起的多個信號分量分離開來為目的。在信號處理領(lǐng)域中,對于信號處理的實時性、快速性的要求越來越高,因此在許多信息處理過程中,如對信號的過濾、檢測、預測等,都要廣泛地用到濾波器。其中數(shù)字濾波器具有穩(wěn)定性高、精度高、設(shè)計靈活、實現(xiàn)方便等許多突出的優(yōu)點,避免了模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題,因而隨著數(shù)字技術(shù)的發(fā)展,用數(shù)字技術(shù)實現(xiàn)濾波器的功能越來越受到人們的注意和廣泛的應(yīng)用。而有限沖激響應(yīng)(FIR)濾波器能在設(shè)計任意幅頻特性的同時保證嚴格的線性相位特性,在示否音、數(shù)據(jù)傳輸中應(yīng)用非常廣泛。1.3研究意義用可編程DSP芯片實現(xiàn)數(shù)字濾波可通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性。因此,我們有必要對濾波器的設(shè)計方法進行研究,理解其工作原理,優(yōu)化設(shè)計方法,設(shè)計開發(fā)穩(wěn)定性好的濾波器系統(tǒng)。我們將通過DSP設(shè)計平臺,實現(xiàn)較為重要的FIR和自適應(yīng)濾波器系統(tǒng)。從而通過本課題的研究,掌握濾波器的設(shè)計技術(shù),為通信、信號處理等領(lǐng)域?qū)嵱没瘮?shù)字濾波器設(shè)計提供技術(shù)準備。本科題的研究,將為今后設(shè)計以DSP為核心部件的嵌入式系統(tǒng)集成提供技術(shù)準備,這不僅具有重要的理論意義,同時還具有重要的實際意義。1.4主要研究內(nèi)容本課題是基于TI公司近年推出的高性能定點DSPTMS320C5410設(shè)計濾波器系統(tǒng),如:有限沖擊響應(yīng)濾波器(FIR)o本次課題的主要任務(wù),就是掌握DSP芯片開發(fā)技術(shù),完成如下工作:1、用窗函數(shù)法實現(xiàn)FIR濾波器,通過調(diào)用四種窗口函數(shù),截取不同的帶通與低通濾波原型,滿足以下性能要求:帶通濾波器:下阻帶邊緣:%=0眼,4=60/;下通帶邊緣:%=0.35/,匕=IdB上通帶邊緣:口”=0.65/r,Rp=\dB;上I;且?guī)н吘墸嚎凇?0.8勿,A,=60dB低通濾波器:弓,=0.2勿,Rp=0.25JB:饑=0.3萬,A,=50"B2、研究DSP的結(jié)構(gòu)特點,了解TI公司的TMS3205410DSP器件,掌握DSP系統(tǒng)的構(gòu)成及軟硬件設(shè)計方法和CCS軟件的調(diào)試方法;并以TI公司的TMS3205410DSP為核心處理器,在DSP上實現(xiàn)FIR濾波器系統(tǒng)。

2、DSP及其開發(fā)環(huán)境一個典型的DSP系統(tǒng)如圖2.1示。圖2.1典型的DSP系統(tǒng)圖2.1是一個用DSP做信號處理的典型框圖。由于DSP是用來對數(shù)字信號進行處理的,所以首先必須將輸入的模擬信號變換為數(shù)字信號。于是先對輸入模擬信號進行調(diào)整,輸出的模擬信號經(jīng)過AD變換后變成DSP可以處理的數(shù)字信號,DSP根據(jù)實際需要對其進行相應(yīng)的處理,如FFT、卷積等;處理得到的結(jié)果仍然是數(shù)字信號,可以直接通過相應(yīng)通信接口將它傳輸出去,或者對它進行D/A變換將其轉(zhuǎn)換為模擬采樣值,最后再經(jīng)過內(nèi)插和平滑濾波就得到了連續(xù)的模擬波形模擬信號。一般來說DSP的設(shè)計過程應(yīng)遵循一定的設(shè)計流程,如圖2.2示。圖2.2DSP基本設(shè)計流程3、FIR濾波器的DSP的實現(xiàn)3.1FIR濾波器的實現(xiàn)方法在數(shù)字信號處理系統(tǒng)中,常常要用到FIR數(shù)字濾波器,這是因為用FIR濾波器可以逼近任意幅頻特性的濾波器,并獲得很好的性能,在本論文中介紹FIR低通濾波器的DSP實現(xiàn)。TMS3205410是16位的定點處理器,所以在進行匯編程序設(shè)計時,F(xiàn)IR濾波器系數(shù)要采用Q15格式,即必須將上述系數(shù)轉(zhuǎn)化為Q15格式,這只要將濾波器各系數(shù)乘以2"即可。用DSP實現(xiàn)ZT算法是十分方便的,常用的方法有兩種:線性緩沖區(qū)法和循環(huán)緩沖區(qū)法。在本文中采用的是循環(huán)緩沖法,循環(huán)緩沖區(qū)法的特點是:對于N階的FIR濾波器,在數(shù)據(jù)存儲器中開辟一個也稱為滑窗的N個單元的緩沖區(qū),滑窗中存放最新的N個輸入樣本;每次移入新的樣本時,以新樣本改寫滑窗中老的數(shù)據(jù),而滑窗中的其他數(shù)據(jù)不需要移動;利用片內(nèi)BK(循環(huán)緩沖區(qū)長度)寄存器對滑窗進行間接尋址,循環(huán)緩沖區(qū)地址首尾相鄰。FIR濾波器的核心算法是計算輸入信號與濾波器系數(shù)的卷積。設(shè)x(n)為輸入信號,h(n)為FIR濾波器的沖擊響應(yīng),n=0,…,N-1,貝"FIR濾波器的輸出y(n)就是x(n)與h(n)的卷積,即:Ar-1y(n)=£x(n-/n)*h(m);?r=0由于卷積是數(shù)字信號處理中最常用到的算法,因此兒乎所有的DSP芯片中都設(shè)有專門的指令支持卷積運算。在TMS3205410中可以用macd指令完成卷積。macd指令的形式如下:macd(Smem,pmad,sic);在macd指令中,Smem是間接尋址參數(shù),它是指令中指向數(shù)據(jù)存儲器的單地址。Pmad是表示程序存儲器地址的16位常數(shù)。Src表示累加器,可以是A累加器或是B累加器。這條指令在執(zhí)行時,先把指令中的pmad常數(shù)送到程序地址寄存器的PAR中,然后將Smem地址中的數(shù)據(jù)用PAR地址在程序存儲器中讀取的數(shù)據(jù)相乘,并將乘積結(jié)果累加到由Stc指定的累加器中。在指令執(zhí)行時,Smem地址中的內(nèi)容被同時復制到T寄存器和Smem低中之后的下一個地址單元中。若采用repeat指令重復執(zhí)行macd指令,則在執(zhí)行指令的最后,PAR寄存器自動加1,這樣當macd再次執(zhí)行時就直接用PAR中的地址讀取程序存儲器中的數(shù)據(jù)。通常情況下,macd指令執(zhí)行時需要三個周期。但是若用repeat指令執(zhí)行macd,進入流水線后只要一個周期就可以執(zhí)行一次macd指令。由此可見,該指令同時完成了乘累加和數(shù)據(jù)延退(移位)的功能,這正是卷積算法所要求的。對于輸入序列,它在兩個循環(huán)緩沖器里的存儲情況如下,要建立緩沖區(qū)首先將循環(huán)緩沖區(qū)大小寄存器的值設(shè)為N/2輔助寄存器AR4指到緩沖區(qū)KBuffeiD的頂部AR5指到緩沖區(qū)2(Buffer2)的底部,新來一個樣本存儲到緩沖區(qū)1中時,應(yīng)先將緩沖區(qū)1頂部的數(shù)據(jù)移到緩沖區(qū)2底部,處理器然后進行乘加運算,濾波程序每步運算后AR4指向數(shù)據(jù)移到的下一個窗口,而AR5則指向下一個輸入數(shù)據(jù),對于下一步運算AR4指向地址1,AR5指向地址N/2。如圖3.1示。InputSequenceStorage圖3.1FIR系數(shù)存儲格式示意圖考慮到在執(zhí)行macd指令時是將低地址的數(shù)據(jù)復制到高地址來完成延退功能,所以在用macd指令計算卷積時,先計算x(n-N+l)與h(N-l)的乘積,最后才計算x(n)與h(0)的乘積。因此在程序中,F(xiàn)IR濾波器的系數(shù)在程序存儲器中按倒序存儲。3.2FIR濾波器的軟件設(shè)計及其調(diào)試本設(shè)計中采用C語言和匯編語言混合編程的方式進行的,程序主體由C語言編寫,而核心的FIR濾波算法則由匯編語言編寫。用C語言開發(fā)DSP程序不僅使DSP開發(fā)的速度大大加快,而且開發(fā)出來的DSP程序的可讀性和可移植性也大大增加,程序修改也很方便。采用C編譯器的優(yōu)化功能可以增加C代碼的效率,在某些情況下,C代碼的效率甚至接近手工代碼的效率。用C語言開發(fā)DSP程序,在DSP芯片的運算能力不是十分緊張時是非常適合的。雖然C編譯器的優(yōu)化功能可以使C代碼的效率大大增加,但是在某些情況下,C代碼的效率還是無法與手工編寫的匯編代碼的效率相比,比如FIR濾波器程序。這是因為,即使最佳的C編譯器,也無法在所有的情況下都能夠最佳地利用DSP芯片所提供的各種資源。用C語言編寫的中斷程序雖然可讀性很好,但由于進入中斷程序以后,有時不管程序中是否用到,中斷程序都將寄存器進行保護,從而大大降低中斷程序的效率。如果中斷程序頻繁被調(diào)用,那么即使一條指令也是至關(guān)重要的。此外,用C語言實現(xiàn)DSP芯片的某些硬件控制也不如匯編程序方便,有些甚至無法用c語言實現(xiàn)。因此,在很多情況下,DSP應(yīng)用程序往往需要用c語言和匯編語言的混合編程方法來實現(xiàn),以達到最佳利用DSP芯片軟硬件資源的目的。用C語言和匯編語言混合編程的方法主要有以下三種:獨立編寫C程序和匯編程序,分開編譯和匯編,形成各自的目標代碼模塊,然后用鏈接器將c模塊和匯編模塊鏈接起來。例如,F(xiàn)IR濾波程序用匯編語言編寫,對FIR程序用匯編器進行匯編,形成目標代碼模塊,與C模塊鏈接就可以在C程序中調(diào)用FIR程序。直接在C語言程序的相應(yīng)位置嵌入?yún)R編語句。對c程序進行編譯.生成相應(yīng)的匯編程序,然后對匯編程序進行手工優(yōu)化和修改。上面的例子采用的是第一種方法,這是一種常用的C語言和匯編語言接口方法,采用這種方法最重要的是必須遵守c編譯器所定義的函數(shù)調(diào)用規(guī)則和寄存器使用規(guī)則。遵循這兩個規(guī)則就可以保證所編寫的匯編模塊不破壞C語言的運行環(huán)境。C模塊和匯編模塊可以相互訪問各自定義的函數(shù)或變量。在編寫?yīng)毩⒌膮R編程序時,必須注意以下兒點:不論是用c語言編寫的函數(shù)還是用匯編編寫的函數(shù),都必須遵循寄存器使用規(guī)則。必須保護函數(shù)要用到的兒個特定寄存器,在TMS320C54X的的c編譯中,這些特定的寄存器包括:ARD(FP),ARI(SP),AR6和AR70其中,如果SP正常使用,則不必明確加以保護。換句話說,只要匯編函數(shù)在函數(shù)返回時彈出壓入的對象,實際上就己經(jīng)保護了SP,因而AR1可以自由地使用。其它寄存器是可以自由使用的。函數(shù)返回時ARP必須為to(3),中斷程序必須保護所有用到的寄存器。從匯編程序調(diào)用C函數(shù)時,以逆序方式壓入堆棧,調(diào)用時再將參數(shù)彈出。調(diào)用C函數(shù)時,C函數(shù)只保護兒個特定的寄存器,而對于其它寄存器C函數(shù)是自由使用的。長整型和浮點數(shù)在存儲器中存放的順序是低位字在低地址,高位字在高地址。如果函數(shù)有返回值,則返回值存放在累加器ACC中。匯編模塊不能改變由C程序產(chǎn)生的.emit塊,如果改變其內(nèi)容則會引起不可預測的后果。編譯器在所有的標識符(函數(shù)名、變量名)前要加一下劃杠o因此,編寫匯編語言程序時,必須在C程序可以訪問的所有對象前加。例如,在C程序中定義了變量x,如果要在匯編程序使用,既標記為“x”,如果僅在匯編中使用,則只要不加下劃杠,即使與C程序中定義的對象名相同,也不會造成沖突。任何在匯編中定義的對象或函數(shù),如果需要在C程序中訪問或調(diào)用,則必須用匯編指令.global定義。同樣,如果在C程序中定義的對象或函數(shù),需要在匯編程序中訪問或調(diào)用,在匯編程序中也必須用.global指令定義。另外一種C語言和匯編混合編程的方法就是直接在C程序中嵌入?yún)R編語句。采用這種方法一方面可以在C程序中實現(xiàn)用C語言無法實現(xiàn)的一些硬件控制功能,如修改中斷控制寄存器、中斷使能或無效、讀取狀態(tài)寄存器和中斷標志寄存器等。另一方面,也可以用這種方法在C程序中的關(guān)鍵部分用匯編語句代替C語句以優(yōu)化程序。采用這種方法的缺點是比較容易破壞C環(huán)境,因為C編譯器在編譯嵌入了匯編語句的C程序時,并不檢查或分析所嵌入的匯編語句。但是如果對C編譯器和C環(huán)境比較熟悉,采用這種方法也可以對C變量進行自由地操作。與獨立編寫匯編程序?qū)崿F(xiàn)混合編程相比,這種方法具有以下優(yōu)點:程序的入口和出口由C語言自動管理,不必手工編寫匯編程序?qū)崿F(xiàn)。程序結(jié)構(gòu)清晰。這種方法保留了C程序的結(jié)構(gòu),如變量的定義等,因此程序結(jié)構(gòu)清晰,可讀性強。程序調(diào)試方便。由于C程序中的變量全部由C語言來定義,因此采用C源碼調(diào)試器可以方便地觀察C語言變量。匯編程序調(diào)試首先在CCS中建立新的工程fii-.mak,然后將匯編語言源文件(.asm或.c)文件以及中斷向量文件(.asm)、位文件(.emd)添加到工程中。如果是C語言程序則還要添加“stdio.h”、“math,h”“its.hb”編譯通過后生成.out文件,可以直接下載到實驗板上。這時,要注意硬件狀況,特別是要注意硬件指示燈是否各自處于正常狀況,也要注意硬件仿真器是否正常工作。如果硬件沒有問題,程序就可以正常下載,這時打開Momery窗口,可以看到數(shù)據(jù)存儲器己經(jīng)被劃分cofflfir,d_data_buffer,in_buffer,out_buffer等區(qū)。編譯并將整個FIR項目成功地下載到目標系統(tǒng)板后,FIR程序就可以在EVM板上運行。程序見附錄。在主程序中,在flag=0處設(shè)置斷點;單擊“Run”運行程序,程序?qū)⑦\行

至斷點處停止;用View/至斷點處停止;用View/Graph/Tmie/Frequency打開一個圖形觀察窗口如圖3.2所示。圖3.2圖形參數(shù)設(shè)置窗口設(shè)置觀察圖形窗口變量及參數(shù)為:采用雙蹤觀察啟始地址分別為x和y,長度為256的單元中數(shù)值的變化,數(shù)值類型為32位浮點型變量,這兩個數(shù)組中分別存放的是經(jīng)A/D轉(zhuǎn)換后的輸入混疊信號(輸入信號)和對該信號進行FIR濾波的結(jié)果;單擊“Animate”運行程序,調(diào)整觀察窗口并觀察濾波結(jié)果,如圖3.3ZjSo|t.?rn-*>I*_JjJ,E&>|t.?rn-*>I*_JjJ,E&>■‘?通過測試波形可以看到,該DSP5410實際濾波表現(xiàn)達到了算法仿真的要求。考慮到DSP5410是定點DSP,所以將輸入信號以及濾波器系數(shù)都轉(zhuǎn)換成了定點數(shù),為了防止溢出,將輸入信號的幅值進行縮小,將其控制在-1到1之間。附錄FIR的DSP實現(xiàn)程序Cl:FIR.cJ******************************************************************************TheprogranmieoftheFIRfilter.UsingINT2togettheinputsignal.AiiayxistliemputsignalfiomA/D,thelengthis256,32-bitfloatingpomt.Aiiayyistliesignaloutoffilter,thelengthis256,32-bitfloatingpomt.AiiayhistliecoefficientoftheFIRfilter,thelengthis101,101orderfilter.*******************************************************************************#piagniaCODE_SECTION(vect「'vect”)#include"stdio.h"#iiicludeHmath.hH#definepi3.1415927#defineIMR*(pmem+0x0000)#defineIFR*(pmem+0x0001)#definePMST*(pmem+0x001D)#defineSWCR*(pmem+0x002B)#defineSWWSR*(pmem+0x0028)#defineAL*(pmem+0x0008)#defineCLKMD0x0058/*clockmodereg*/#defineLen256#defineFLen101doublenpass,h[FLen],x[Len],y[Len],xmid[FLen];voidfirdes(doublenpass);unsignedint*pmem=0;loportunsignedcharpoit8001;hitin_x[Len];hitm=0;mtiiitnum=0;doublexinean=0;mti=0;hitflag=0;doublefs,fstop,i;rm;mti,j,p.k=O;voidcpu_init()(//asm(HnopH);//asm(MSTM#0,CLKMD”);//asm(HSTM#0,CLKMD”);//asm(Mipt//asm(Mnop”);//asm(MSTM#0x97ff,CLKMD”);*(unsignedmt*)CLKMD=0x0;//switchtoDI\Zmodeclkout=1/2clkinwhile(((*(unsignedint*)CLKMD)&01)!=0);'(unsignediiit*)CLKMD=0x27ff;//switchtoPLLX10modePMST=0x3FA0;SWWSR=0x7fff:SWCR=0x0000;IMR=0;IFR=IFR:}iiitemiptvoidint2()(m_x[m]=port8001;in_x[m]&=OxOOFF;intnum=m;if(iiitnum==Len)fmtiium=0;xinean=0.0;fbr(i=0;i<Len;i++){xinean=in_x[i]+xinean;)xinean=1.0*xineaiVLen;fbr(i=0;i<Len;i++){x[i]=(double)(in_x[i]?xinean);)fbr(i=0;i<Len;i++){for(p=0;p<FLen;p++){ximd[FLen-p-l]=ximd[FLen-p-2];)ximd[0]=x[i];r=0;nn=0;for(j=0;j<FLen;j++)r=ximd|j]*h[j];rm=rm+r;)y[i]=nil;)m=0:flag=1;)}voidfirdes(doublenpass){mtt;for(t=0;t<FLen;t++)h[t]=sin(pi*(N?(N-l)/2.0))*(0.54?0.46(cos(2*pi/(N?l)))/(pi*(N.(N.l)/2.0));}if(t=((FLen-l)/2))h[t]=npass;}voidset_iiitQ(asm(HssbxIMR=INIRl0x0004;asm(HrsbxintnT);}voidmain(void)(cpu_imt();fs=250000;/*samplingfrequency*/fstop=31250;/*cut-offfrequency*/npass=fstop/fs;for(i=0;i<FLen;i++)ximd[i]=0;}fiides(npass);secint();foH;;)if(flag=1)/flag=0;}}}voidvectQ(asni(H.ref_c_intOOM);asm(M.refasm(Mb_c_int00”);asm(MnopH);asm(MnopH);asm(MreteM);asm(MnopH);asm(Mnopn);asm(MnopH);asm(Miete,r);asm(MnopH);asm(MnopH);asm(MnopH);asm(MieteM);asm(MnopH);asm(Mnopn);asm(MnopH);asm(MieteM);asm(MnopH);asm(MnopH);asm(MnopH);asm(MieteM);asm(MnopH);asm(MnopH);asm(MnopM);asm(Mreten);asm(MnopH);asm(MnopH);asm(MnopH);asm(MreteH);/*setbreakpointhere*/.*pseudoinstiuction*//*reset*//*into*/asm(MnopH);asm(MnopH);asm(MnopH);asm(MieteH);asm(MnopH);asm(Mnop”);asm(MnopH);asm(MieteH);asm(MnopH);asm(Mnopn);asm(Mnop”);asm(MreteH);asm(MnopH);asm(Mnopn);asm(Mnopn);asm(MreteH);asm(Mnopn);asm(Mnopn);asm(Mnopn);asm(nreteH);asm(Mnopn);asm(Mnop,r);asm(MnopH);asm(Hrete,f);asm("nop”);asm("nop");asm("nop”);asm(Mreten);asm(HnopH);asm(HnopH);asm(HnopH);asm(HreteH);asm(MnopM);asm(MnopH);asm(Mnop”);asm(MreteH);asm(MnopH);asm(Mnop/*into*/asm(MnopH);asm(MreteH);asm(Mno

溫馨提示

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

評論

0/150

提交評論