2023年語音壓縮存儲與回放實驗報告_第1頁
2023年語音壓縮存儲與回放實驗報告_第2頁
2023年語音壓縮存儲與回放實驗報告_第3頁
2023年語音壓縮存儲與回放實驗報告_第4頁
2023年語音壓縮存儲與回放實驗報告_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

DSP課程設(shè)計

實驗報告

語音壓縮、存儲和回放

院系:電子信息工程學(xué)院

小組成員:

通信0607王穎06282023

自動化0601王燕06212023

目錄

一、設(shè)計任務(wù)書封面1

二、設(shè)計內(nèi)容與規(guī)定3

三、設(shè)計算法原理說明4

四、程序設(shè)計、調(diào)試與結(jié)果分析7

CMD程序,C語言程序7

調(diào)試過程15

波形與數(shù)據(jù)顯示16

五、設(shè)計(安裝)與調(diào)試的體會17

六、參考文獻(xiàn)18

語音的壓縮、存儲與回放

一、設(shè)計規(guī)定與目的

(1)使用DSP實現(xiàn)語音壓縮和解壓縮的基本算法,算法類型自定,例如可以采用G.711、

G.729等語音壓縮算法。

(2)采用A/D轉(zhuǎn)換器從MIC輸入口實時采集語音信號,進(jìn)行壓縮后存儲到DSP的片內(nèi)和

片外RAM存儲器中,存儲時間不小于10秒。

(3)存儲器存滿之后,使用DSP進(jìn)行實時解壓縮,并從SPEAKER輸出口進(jìn)行回放輸出。

⑷使用指示燈對語音存儲和回放過程進(jìn)行指示。

發(fā)揮部分:

使用多種算法進(jìn)行語音的壓縮、存儲和解壓縮,比較它們之間的優(yōu)缺陷。

二、實驗?zāi)康?/p>

1、通過本實驗掌握5402DSP片上外設(shè)多通道緩沖串行口mcbspo

2、學(xué)習(xí)掌握tic320ad50CODEC編譯碼器的內(nèi)部結(jié)構(gòu)、工作原理。

3、學(xué)習(xí)A律語音壓縮以及C語言下的編程方法。

三、實驗原理

1.語音采集與輸出模塊

語音采集與輸出模塊采用的是TI公司推出的一款高性能的立體聲音頻Codec芯片TLC

320AD50C,內(nèi)置耳機(jī)輸出放大器,支持MIC和UNEIN兩種輸入方式(二選一),且對輸入

和輸出都具有可編程增益調(diào)節(jié)。AD50的模數(shù)轉(zhuǎn)換(ADCs)和數(shù)模轉(zhuǎn)換(DACs)部件高度集成

在芯片內(nèi)部,采用了先進(jìn)的Sigma-delta過采樣技術(shù),可以在8K到96K的頻率范圍內(nèi)提供

16bit、2Obit、24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達(dá)成90dB和

lOOdB。與此同時,AD50還具有很低的能耗,回放模式下功率僅為23mW,省電模式下

更是小于15uWe由于具有上述優(yōu)點,使得AD50是一款非常抱負(fù)的音頻模擬I/O器件,

可以很好的應(yīng)用在隨聲聽(如CD,MP3……)、錄音機(jī)等數(shù)字音頻領(lǐng)域⑵。由TLC320AD5

0C組成的語音輸入與輸出模塊不僅采樣率高最高可達(dá)96K,且外圍電路簡樸,性價比高。

2.語音編碼

(1)概念:

語音編碼一般分為兩類:一類是波形編碼,一類是被稱為“聲碼器技術(shù)”的編碼。

PCM編碼即脈沖編碼調(diào)制。

波形編碼的最簡樸形式就是脈沖編碼調(diào)制(PulsecodemoduIation),這種方式

將語音變換成與其幅度成正比的二進(jìn)制序列,而二進(jìn)制數(shù)值往往采用脈沖表達(dá),并用脈沖對

采樣幅度進(jìn)行編碼,所以叫做脈沖編碼調(diào)制。

脈沖編碼調(diào)制沒有考慮語音的性質(zhì),所以信號沒有得到壓縮。

(2)量化:

脈沖編碼調(diào)制用同等的量化級數(shù)進(jìn)行量化,即采用均勻量化,而均勻量化是基本的量化

方式。但是均勻量化有缺陷,在信號動態(tài)范圍較大而方差較小的時候,其信噪比會下降。

國際上有兩種非均勻量化的方法:A律和u律,u律是最常用的一種。在美國,7位u律是

長途電話質(zhì)量的標(biāo)準(zhǔn)。而我國采用的是A律壓縮,并且有標(biāo)準(zhǔn)的A律PCM編碼芯片。

⑶DPCM&ADPCM:

減少傳輸比特率的方法之一是減少編碼的信息量,這要消除語音信號中的冗余度。相鄰

的語音樣本之間存在明顯的相關(guān)性,因此對相鄰樣本間的差信號進(jìn)行編碼,便可使信息量得

到壓縮。由于差分信號比原語音信號的動態(tài)范圍和平均能量都小。這種編碼叫Differentia

1PCM,簡稱DPCM,即差分脈沖編碼調(diào)制。

ADPCM即自適應(yīng)差分脈沖編碼調(diào)制,是涉及短時預(yù)測的編碼系統(tǒng)。CCITT(國際電報

電話征詢委員會)在1984年提出的32kbit/s的編碼器建議就是采用ADPCM作為長途傳輸

中的國際通用語音編碼方案。這種ADPCM編碼方案達(dá)成64kbit/sPCM的語音傳輸質(zhì)

量,并具有很好的抗誤碼性能。

(4)a律壓縮

a律壓縮示意圖

A律壓縮編碼表

A律壓縮編碼表

線性輸入編碼壓縮編碼

0000000wxyza000wxyz

OOOOO0Iwxyza00Iwxyz

000001wxyzab0lOwxyz

000Olwxyzabc01Iwxyz

0001wxyzabed1OOwxyz

001wxyzabede101wxyz

01wxyzabcdef11Owxyz

1wxyzabcdefg111wxyz

采用DSP可以直接對PCM編碼后的語音信號進(jìn)行口律和A律壓縮。圖1是DSP硬

件實現(xiàn)數(shù)據(jù)壓縮解壓的簡樸流程,DSP將傳輸來的壓縮后的數(shù)據(jù)進(jìn)行解壓成16位或者3

2位,然后對解壓后的數(shù)據(jù)進(jìn)行分析、解決,最后將解決后的數(shù)據(jù)按照規(guī)定壓縮成8位的數(shù)

據(jù)格式輸出到相應(yīng)設(shè)備,供其他設(shè)備讀取。

圖1數(shù)據(jù)壓縮解壓流程

圖2是DSP將數(shù)據(jù)解壓的值,DSP將壓縮的8位數(shù)據(jù)解壓成16位的DSP通用數(shù)據(jù)格

式,其中高13位為解壓后的數(shù)據(jù),低3位補(bǔ)0。這是由于6.711的A律壓縮只能對13

位數(shù)據(jù)操作。DSP將解壓后的數(shù)據(jù)放在緩沖串口的發(fā)送寄存器中,只要運營發(fā)送指令,緩沖

串口就會將數(shù)據(jù)發(fā)送出去。緩沖串口對接受數(shù)據(jù)的解壓過程和壓縮過程完全相反。圖3是|J

律數(shù)據(jù)解壓的示意圖。

15320

發(fā)送緩沖器'S—I0_

A律一

圖2A律數(shù)據(jù)解壓

15210

發(fā)送緩沖器:值I0二

u律

圖3口律數(shù)據(jù)解壓

DSP內(nèi)部的緩沖串口(McBSPs)帶有硬件實現(xiàn)的p律/A律壓縮解壓,用戶只需要在相

應(yīng)寄存器中進(jìn)行設(shè)立就可以了。

在進(jìn)行A律壓縮時,采樣后的12位數(shù)據(jù),默認(rèn)其最高位為符號位,壓縮時要保持最高位

即符號位不變,原數(shù)據(jù)的后11位要壓縮成7位。這7位碼由3位段落碼和4位段內(nèi)碼組

成。具體的壓縮變換后的數(shù)據(jù)根據(jù)后11位數(shù)據(jù)大小決定.

表2A律數(shù)據(jù)壓縮表

12位碼(十進(jìn)制)■階符號位段落碼(二進(jìn)制)段內(nèi)碼(二進(jìn)制)

01111

16-31100010000-1111

32?63200100000?1111

64~127400110000~1111

3?255801000000-1111

256-5111601010000-1111

51270233201100000~1111

1024~20476401110000-1111

除對串行口數(shù)據(jù)實現(xiàn)壓擴(kuò)解決外,這套硬件在McBSP不使用時還可以當(dāng)作一個特殊的

解決單元對內(nèi)部數(shù)據(jù)實現(xiàn)壓擴(kuò)解決,他有兩種實現(xiàn)方法。

法一:當(dāng)串行口的發(fā)送和接受部分都處在復(fù)位狀態(tài)時,DRR1和DXR1內(nèi)部通過壓擴(kuò)邏輯

連接在一起,數(shù)據(jù)從DXR1寫入并根據(jù)XCOMPAND解決,然后根據(jù)RCOMPAND再解決,在

4個CPU時鐘后從DRR1中讀出數(shù)據(jù)。該解決比軟件實現(xiàn)快,不利之處在于解決完后沒有同

步信息告知CPU和DMA。

法二:在數(shù)據(jù)環(huán)回模式下,McBSP也實現(xiàn)了一種內(nèi)連。數(shù)據(jù)解決與第一種方法相同,但它

可以提供中斷信號(或同步事件)給CPU(或DMA)。這里數(shù)據(jù)解決的時間是根據(jù)串行口的比

特律擬定的。

此外,在通常情況下McBSP先傳輸信號的高位后傳輸?shù)臀唬窃谧珠L為8比特的數(shù)據(jù)傳

輸時,McBSP提供了比特倒序的功能,即可以先傳輸?shù)臀缓髠鬏敻呶弧?/p>

在本實驗中,我們通過軟件編程來完畢線性碼轉(zhuǎn)換成A律。

語音信號通常是小信號概率大,大信號出現(xiàn)的概率小,為提高小信號時的量化信躁比,

壓縮比特速率,可為非線性量化。語音壓縮是把16位的數(shù)據(jù)比特轉(zhuǎn)化為8位數(shù)據(jù)比特,從

而到達(dá)語音壓縮的目的。

在主程序中通過A/D抽樣量化,可以得到16位的線性編碼,再由編碼表通過軟件計算得

到8位A律編碼,其中最高位為符號位,第6位到第4位為段落碼,低4位為段內(nèi)碼。將8

位的壓縮結(jié)果存儲到系統(tǒng)RAM中進(jìn)行緩存,根據(jù)抽樣率、語音存儲時間以及系統(tǒng)RAM的容

量設(shè)立語音存儲緩沖區(qū)的大小,待緩沖區(qū)存滿后,將緩沖區(qū)內(nèi)的數(shù)據(jù)進(jìn)行解壓縮,然后輸出

到SPEAKER接口輸出端。

若使用A/D轉(zhuǎn)換器,必須一方面對A/D轉(zhuǎn)換器進(jìn)行初始化設(shè)立,即設(shè)立A/D轉(zhuǎn)換器的

工作模式、輸入增益以及抽樣頻率等。

3.程序設(shè)計

(1)、程序流程

存儲器的分派(5402.cmd)

MEMORY

PAGE0:VECS:origin=0080h,length=0080h/*Interna1

ProgramRAM*/

PRAM:origin=7600h,1ength=80OOh/*Internal

ProgramRAM*/

PAGE1:SCRATCH:origin=0060h,length=0020h/*ScratchPad

DataRAM*/

DMARAM:origin=OCOOh,length=0300h/*DMA

buffer*/

DATA:origin=1100h,1ength=0080h/*In

ternalDataRAM*/

STACK:origin=118Oh,1ength=0560h/*Stack

MemorySpace*/

INRAM:origin=19OOh,length=0100h/*Internal

DataRAM*/

HPRAM0:origin=1A00h,length=0002h/*HPImem

oryaccessiblebyIiostandDSP*/

HPRAMI:origin=1A02h,1ength=028Oh/*HPI

memoryaccessiblebyHostandDSP*/

HPRAM2:origin=1C82h,length=0280h/*HPImemory

accessib1ebyHostandDSP*/

EXRAM:origin=lFlOh,1ength=9000h/*External

DataRAM*/

)

SECTIONS

.cinit>PRAMPAGE0

.text>PRAMPAGE0

.vectors>VECSPAGE0

initvar>PRAMPAGE0

detect>PRAMPAGE0

vrcprg>PRAMPAGE0

matprg>PRAMPAGE0

,stack>STACKPAGE1

.trap>SCRATCHPAGE1

.cons>EXRAMPAGE1

.data>EXRAMPAGE1

bss>EXRAMPAGE1

,cio>EXRAMPAGE1

,switch>EXRAMPAGE1

tables>EXRAMPAGE1

var>EXRAMPAGE1

svctab>EXRAMPAGE1/*SS_VLSPtable*/

vctab>EXRAMPAGE1/*VLSPtable*/

uvctab>EXRAMPAGE1/*UVLSPtable*/

cuvtab>EXRAMPAGE1/*StochaSticcodebook*/

cdbktab>EXRAMPAGE1/*variouscodebooktabies

*/

logtab>EXRAMPAGE1/*tablefcrlog2*/

powtab>EXRAMPAGE1/*tableforp]ow2*/

hamtab>EXRAMPAGE1/*tableforhamming*/

1gwtab>EXRAMPAGE1/*tableforlagwindow*/

acostab>EXRAMPAGE1/*tab1efora;rccos*/

sqrtab>EXRAMPAGE1/*tableforsquareroot

*/

acbtab>EXRAMPAGE1/*tabieforthresho1dsina

cb*/

pm03tab>EXRAMPAGE1tableforx"(-0.3)

computation*/

costab>EXRAMPAGE1/*tableforcosine*/

V23>INRAMPAGE1

FSK>INRAMPAGE1

hpibuffO>HPRAMOPAGE1

hpibuff1>HPRAMlPAGE1

hpibuff2>HPRAM2PAGE1

dmabuff>DMARAMPAGE1

}

/*主程序設(shè)計*/

/*語音采集及回放程序*/

/*用A律進(jìn)行壓縮及解壓*/

/*采用AD50進(jìn)行A/D,D/A轉(zhuǎn)換*/

/火燈循環(huán)閃爍程序開始*/

/*L0:錄音*/

/*L1:放音*/

#include<type.h>/*頭文獻(xiàn)*/

#include<board.h>

#inc1ude<codec.h>

#include<mcbsp54.h>

/*宏定義*/

#defineoSIGN_BIT(0x80)/*SignbitforaA-lawbyte.*/

#defineoQUANT_MASKO(oxf)?>/*Quantizationfieldmask.*/

#defineNSEGS*8)。/*NumberofA-lawsegments.*/

#define<>SEG_SHIFT(4)oo/*Leftshiftforsegmentnumber.

*/

#defineSEG_MASK(Ox70)“*Segmentfieldmask.*/

/*函數(shù)聲明

*/

voiddelay(sl6period);

voidled(sl6ent);

voidinitcodec(void);

voidflashenable(void);

unsignedchardata2a1aw(si6pcm_val);

intalaw2data(unsignedcharoa_va1);

staticintsearch(intval,short*?^table,intsize);

/*全局變量*/

HANDLEhHandset;

s16data;

sl6datal;

ul6i=0;

ul6temp1;

ul6j=0;

u16k,1=0;

u8temp2;

ul6buffer[20230];

staticshortseg_end[8]={OxlF,0x3F,0x7F,OxFF,0xlFF,0x3FF,0

x7FF,OxFFF);

/*主函數(shù)*/

voidmain()

if(brd_init(100))

return;

led(2);//閃燈兩次

initcodec();//初始化codec

f1ashenable();〃選擇片外FLASH為片外存儲器

/*

delay(100);

brdledtogg1e(BRD_LEDO):

for(i=0x9000;i<0xefff;i++)

(

REG_WRITE(i,*(volatileul6*)DRR1_ADDR(HANDSET_C0DEC));

delay(20);

)

brd_ledtoggle(BRDLED1);

delay(200);

for(i=0x9000;i<0xefff;i++)

(

*(volatileu16*)DXR1_ADDR(HANDSET_CODEC)-REG_READ(i);

delay(20);

}

brd_1ed_toggle(BRD_LED2);

*/

while(1)

(

while(!MCBSP_RRDY(HANDSET_CODEC)){};//等待接受h

andset處的采樣

brd1edtoggle(BRD_LEDO);

data=*(volatileul6*)DRR1_ADDR(HANDSET_CODEC);//從hands

et處讀取采樣

templ=data2alaw(data);〃對采樣進(jìn)行a律

壓縮

/*把低地址數(shù)據(jù)放在高八位高地址數(shù)據(jù)放在低八位*/

i=i+1;

oif(i%2==l)

00{

buffer[j]=(templ<<=8);

o/*奇數(shù)數(shù)據(jù)左移8位templ=abcdefghOOOOOOO0

g?>buffer[p1*/

oao)

else

3(

oobuffer[j]=(buffer[j]Itempi);

g/*偶數(shù)數(shù)據(jù)與temp1取或組成新的數(shù)據(jù)

buffer[j]=ab

cdefghiabcdefghi*/

gj++;〃j加1

0)

if(i>=40000)

8(

g}

oif(j>=20230)

6(

。j=0;

。wbrd_led_disab1e(BRD_LEDO);

。?>brd1ed_toggle(BRDLED1);

//點亮二極管1表達(dá)放

音開始

/*放音部分

*/

for(k=0;k<40000;k++)

06(

。08if(k%2==0)

0b0(

。。temp2=(buffer[1]>>8)&OxOff;

08d}

。qelse

000{

。^temp2=buffer[l]&OxOff;

。。1++;

oo}

ooif(l>=20230)

。。1=0;

00data1=a1aw2data(temp2);//a律解壓

while(!MCBSP_XRDY(HANDSET_CODEC)){};

3"(volatileu16*)DXRIADDR(HANDSETCODEC)=datai;〃將

數(shù)據(jù)寫入D/A轉(zhuǎn)換器

?)

/*放音結(jié)束

o。brdled_toggle(BRDLEDO);

brd_led_toggle(BRD_LED1);

00

000

)

)

)〃主程序結(jié)束

/*子函數(shù)*/

/*******延時******/

voiddelay(s16period)

inti,j;

for(i=0;i<period;i++)

for(j=0;j<period>>l;j++);

)

)

/*****大*閃燈****火*/

voidled(si6ent)

(

while(cnt—)

brd_led_toggle(BRD_LED0);//切換LED指示燈0的顯示狀

態(tài)

odelay(1000);

brd_1ed_toggle(BRD_LED1);

火lelay(1000);

obrd_led_toggle(BRD_LED2);

delay(1000);

)

)

/*****初始化codec**/

voidinitcodec(void)

/*OpenHandsetCodec獲取設(shè)立codec的句柄*/

hHandsetcodec_open(HANDSET_CODEC);/Acquirehandiet

ocodec

/*Setcodecparameters*/

codecdac_mode(hHandset,CODEC_DAC_15BIT);//DACin15-bi

tmode

codec_adc_mode(hHandset,C0DEC_ADC_15BIT);//ADCin15—

bitmode

codec_ain_gain(hHandset,CODEC_AIN6dB);//6dBgainona

na1oginputtoADC

codec_aout_gain(hHandset,C0DEC_A0UT_MINUS_6dB);

//-6dBgainonan

alogoutputfromDAC

codec_sample_rate(hllandset,SR_8000);//8KHzsa

mp1ingrate

)

/*****設(shè)立flash****/

voidflashenab1e(void)

I

CPLD_CTRL2_REGI=0x0010;

CPLD_DMCTRL_REG|=Ox0040;

}

/*****a律壓縮******/

unsignedchardata2alaw(s16pcmva1)。

tomask;

int。seg;

unsignedchareava1;

oif(pcm_va1>=0)

°(

。mask=0xD5;。//標(biāo)記(7th)bit=1

。}

oelse

°(

emask=0x55;抽//標(biāo)記bit=0

pcm_va1=-pcm_va1;

d

。//Convertthesealedmagnitudetosegmentnumber.

oseg=search(pcm_va1,seg_end,8);

//Combinethesign,segment,andquantizationbits.

if(seg>=8)o//outofran

ge,返回最大數(shù).

?>return(0x7F八mask);

?>else

aval=seg<<SEG_SHIFT;

if(seg<2)

oooavalI=(pcm_val?1)&QUANT_MASK;

oeIse

<?ava1(pcm_val>>seg)&QUANT_MASK;

oreturn(ava1mask);

。}

)

/****alaw的子程序**/

staticintsearch(intval,short沐tabie,intsize)

I

int;

ofor(i=0;i<size;i++)

°(

?if(va1<=*table++)

oreturn(i);

d

。return(size);

)

/*****a律解壓******/

intalaw2data(unsignedchar陽_va1)

I

intt;

ointoseg;

a_val=0x55;

t=(a_val&QUANTJIASK)<<4;

?seg=((unsigned)a_val&SEG_MASK)>>SEG_SHIFT;

oif(seg==0)

。?t+=8;

?>t=(t>>3);

}

。if((seg<4)&&(seg>0))

°{

t+=0x108;

t=(t?(4-seg));

)

if(seg>3)

t+=0x108;

ot=(t<<=(seg-4));

return((a_val&SIGN_BIT)?t:—t);

)

/*結(jié)束*/

四.操作過程

1.將工程文獻(xiàn)夾放入C盤規(guī)定目錄下。

2.打開CCS,Project-open,打開工程文獻(xiàn)。

3.進(jìn)行編譯,連接。

4.根據(jù)錯誤提醒,對buildoption進(jìn)行對的的設(shè)立,修改頭文獻(xiàn)途徑。

5.再編譯,連接,顯示沒有錯誤。

6.loadprogram—run,此時三盞燈循環(huán)亮,之后程序開始,第一盞燈亮

開始錄音,一段時間后第二盞燈亮開始放音,然后又開始錄音。依次循環(huán).

五.調(diào)試過程與運營結(jié)果

1.觀測數(shù)據(jù)結(jié)果

Viewwatchwindow

我們輸入buffer,顯示此數(shù)組的值,如圖D所示。

2.觀測數(shù)據(jù)圖形

ViewGraphTimeFrequency

可以加入斷點,然后按Animate動態(tài)顯示。

分別觀測語音輸入(存放在變量data中)波形,壓縮后波形(tempi),解壓后輸出波形(da

ta1),圖形分別為A,B,Co

3.觀測存儲器中數(shù)據(jù)

ViewMemory

通過多次調(diào)試,使錄音時間在保持音質(zhì)的前提下達(dá)成5-6秒。

A.輸入波形(data)

用w□E3asE]E30?±

西

CJ

-stockoptiont。changethedefoultsize.-I

dComplete.

Errors,1Warnings,0Ramarks.

?.大回營H

?/C54G2DSKZCFV.lDnct-Ntorosoft

B.壓縮后波形(temp1)

Z/C5402DSK/CPU_1-C54X-CodeCoaposexStudio-[GraphicalDisplay!RTj西岡

區(qū)E>1?NditYi?Eroj.ctp.bucFcefil.r<;ELOptionToolsDSF/BIOSNind。*K.lp

圖。7|>“-31。I??AW.,1iZIZI?(?-?=%.?-

inu.i>jtKiD.bo<3,掰蛆/"-*'?

用w|30醺回日回心

-stockoptiontochangethedefaultsize.

dComplete.

Errors,1Warnings,0Remarks.

],「「|\BMd廠1臼

陽英。?.大通冷工|J

?c*o'X/C5402OSK/Crv_l.QBoel-Mtcrosoft々占二?叼。20。4

C.解壓縮后輸出波形(datal)

I^/CM07DSJt/CPIl_l-Cb4X-Coi!?C?i>ox?rStudio-[Crxphi<:M1n>xi>lxy]

B?回因

E>1?Kd>tY***Er?j?ct£?bucProf,1”柒LOptionX??l(D£P(guān)/BIOSn,nd”H?lp

I心第I匚工

i|D?bu(

國曲㈡國85回日畫d

dComplete.

Errors,1Warnings,0Remarks.

I-J"I*hBiMW/

發(fā)英,:?大陋I5工|

溫馨提示

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

評論

0/150

提交評論