版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章 數(shù)字信號處理應(yīng)用程序設(shè)計一、FFT運算的DSP實現(xiàn)二、數(shù)字濾波器的DSP實現(xiàn)三、工程問題的DSP實現(xiàn)1一、FFT運算的DSP實現(xiàn)1、DFT與FFTDFT:離散傅立葉變換FFT:一種高效實現(xiàn)離散傅立葉變換的算法。 作為一個非常重要的工具經(jīng)常使用,甚至成為DSP運算能力 的一個考核標(biāo)準(zhǔn)。傅立葉變換2 時域 頻域 離散信號 周期譜 周期信號 離散譜 離散周期信號 離散周期譜34DFT的定義56DFT和FFT計算量對比72、N點蝶2FFTx1n = x2nx2n = x2n+1將N點的序列分為兩個N/2點的序列89上式的最后一步是因為10我們已經(jīng)將一個N點的DFT分解成為兩個N/2點的DFT。
2、但是,X(k)有N點,但X1(k)和X2(k)都只有N/2點,因此,前面計算的只是X(k)的前一半項的結(jié)果。11對于后一半X(k),有這是因為12 這樣,只要計算出(0,N/2-1)區(qū)間的X1(k)和X2(k),也就可以很方便地計算整個(0,N-1)區(qū)間的全部X(k),從而大大地節(jié)省了運算量。13將N點DFT分為兩個N/2點DFT14將N/2點DFT分為兩個N/4點DFT152點DFT168點蝶2FFT17按頻率抽取(DIF) x1n = xn x2n = xn+N/2 n=0,1,N/2-11819DIT與DIF對比 DIT輸入是混序的,頻域的輸出是順序的; DIF輸入是順序的,頻域的輸出是
3、混序的。 DIT的復(fù)數(shù)乘法出現(xiàn)在加減之前; DIF的復(fù)數(shù)乘法出現(xiàn)在加減之后。20 21定點DSP計算1024點FFT的時間 DSP 時間(ms) TMS320C25 10.9 TMS320C6201 0.067 DSP56001 1.6522浮點DSP計算1024點FFT的時間 DSP 時間(ms) TMS320C30 3.87 TMS320C40 1.02 ADSP21060 0.46 DSP96001 0.6 ADSP21160 0.45s23順序、混序與位倒序DIT與DIF總有一邊是混序的;所有DSP都提供了位倒序(bit reverse)尋址指令; 溢出問題無論是C語言,還是DSP匯編
4、語言的FFT程序都有現(xiàn)成的程序可用。243、FFT運算的DSP實現(xiàn)主要內(nèi)容:1 基二實數(shù)FFT運算的算法2 FFT運算模擬信號的產(chǎn)生及輸入3 實序列FFT匯編源程序及鏈接命令文件4 觀察信號時域波形及其頻譜251. 基二實數(shù)FFT運算的算法該算法主要分為以下四步:第一步,輸入數(shù)據(jù)的組合和位倒序把輸入序列作位倒序是為了在整個運算最后的輸出中得到的序列是自然順序。第二步,N點復(fù)數(shù)FFT在DATA數(shù)據(jù)處理緩沖器里進行N點復(fù)數(shù)FFT運算。26第三步,分離復(fù)數(shù)FFT的輸出為奇部分和偶部分分離FFT輸出為RP、RM、IP和IM四個序列,即偶實數(shù)、奇實數(shù)、偶虛數(shù)和奇虛數(shù)四部分。第四步,產(chǎn)生2N點的復(fù)數(shù)FFT
5、輸出序列產(chǎn)生2N=256個點的復(fù)數(shù)輸出,它與原始的256個點的實輸入序列的DFT一致。272. FFT運算模擬信號的產(chǎn)生及輸入產(chǎn)生模擬輸入信號可以有兩種方法:第一種方法是用C語言程序產(chǎn)生mdata.inc文件,然后,在DSP匯編語言程序中通過.copy匯編命令將生成的數(shù)據(jù)文件mdata.inc復(fù)制到匯編程序中。第二種方法是建立與輸入信號對應(yīng)的數(shù)據(jù)流文件mdata.dat,具體操作步驟見教材內(nèi)容。283. 實序列FFT匯編源程序及鏈接命令文件【例】256點實序列FFT的DSP實現(xiàn)。 256點實序列FFT匯編源程序如下: * *Radix-2,DIT,Real-input FFT Program
6、* * fft.asm * * .mmregs .global reset,start,sav_sin,sav_idx,sav_grp .def start,_c_int00 .data 29DATA .space 1024.copy mdata1.inc; mdata1.inc 為模擬輸入信號數(shù)據(jù),起始地址標(biāo)號INPUTN.set128 ;復(fù)數(shù)點數(shù)LOGN.set7 ;蝶形級數(shù)sav_grp.usect tempv,3 ;定義組變量值sav_sin.setsav_grp+1 ;定義旋轉(zhuǎn)因子表sav_idx.setsav_grp+2OUTPUT.usect OUTPUT,256 ;信號功率譜B
7、OS.usectstack,0Fh ;定義堆棧TOS.usectstack,1 .copy “twiddle1.inc” ;正弦表系數(shù)由twiddle1.inc ;文件給出,起始地址標(biāo)號TWI130.copy “twiddle2.inc“ ; 余弦表系數(shù)由twiddle2.inc文件給 ;出,起始地址標(biāo)號TWI2.text_c_int00b start nopnopstart:STM#TOS,SPLD#0,DPSSBXFRCT 31輸入信號時域波形、頻譜圖及其功率譜4. 觀察信號時域波形及其頻譜32二、數(shù)字濾波器的DSP實現(xiàn)1、模擬濾波器回顧 數(shù)字信號處理主要是面向?qū)崟r的密集型數(shù)據(jù)運算。而濾波
8、在數(shù)字信號處理中占有極其重要的地位,是語音處理、圖像處理、模式識別、頻譜分析等應(yīng)用的基本處理算法。33理想低通濾波器34低通、高通、帶通與帶阻濾波器35高通濾波器36帶通濾波器37帶阻濾波器38截止頻率與帶寬39通帶、阻帶與過渡帶40滾 降(過渡帶)41阻帶衰減42帶內(nèi)平坦度43巴特沃爾斯濾波器(Butterworth)4445契比協(xié)夫濾波器(Chebyshev)契比協(xié)夫多項式46契比協(xié)夫濾波器(Chebyshev)I型47契比協(xié)夫濾波器(Chebyshev)II型48橢圓濾波器49 在同樣的通帶平滑度、過渡帶寬和阻帶衰減指標(biāo)下,三種濾波器所需要的階數(shù)為:巴特沃爾什 6階契比雪夫 4階 橢圓
9、3階50二階低通濾波器51幅頻特性和相頻特性5253 2、數(shù)字濾波器 數(shù)字濾波又稱程序濾波,是將輸入信號通過一定的運算關(guān)系(程序)變?yōu)樗璧妮敵鲂盘枺矗簩崿F(xiàn)數(shù)字濾波就必須把輸入輸出信號關(guān)系轉(zhuǎn)變成可實現(xiàn)的數(shù)學(xué)模型或算法。 用DSP芯片實現(xiàn)數(shù)字濾波具有穩(wěn)定性好、精確度高、不受環(huán)境影響,以及靈活性好等突出優(yōu)點。54數(shù)字濾波器的差分方程分為無限沖激響應(yīng)系統(tǒng)(IIR)和有限沖激響應(yīng)系統(tǒng)(FIR)。IIR系統(tǒng)因為與過去某些輸出有關(guān),所以網(wǎng)絡(luò)結(jié)構(gòu)有反饋支路稱為遞歸結(jié)構(gòu),F(xiàn)IR系統(tǒng)只與激勵有關(guān)沒有反饋支路,稱為非遞歸結(jié)構(gòu)。55IIR濾波器的主要特點單位沖擊響應(yīng)有無限多項高效率(因為結(jié)構(gòu)簡單、系數(shù)小、乘法操作
10、較少)與模擬濾波器有對應(yīng)關(guān)系可以解析控制,強制系統(tǒng)在指定位置為零點有極點,在設(shè)計時要考慮穩(wěn)定性具有反饋,可能產(chǎn)生噪聲、誤差累積56yk = a0 xk + a1xk-1 + a2xk-2 b1yk-1 b2yk-2Y(z)=a0X(z)+a1X(z)z-1+a2X(z)z-2b1Y(z) z-1 b2Y(z) z-2Y(z)= (a0+a1z-1+a2z-2 )/(b1z-1+b2z-2)X(z)57零極點子系統(tǒng)交換位置(傳輸函數(shù)不變,但差分方程不同)58標(biāo)準(zhǔn)型二階節(jié)59二階節(jié)的C54實現(xiàn) STM #d+5, AR3;AR3:d(n), d(n-1), d(n-2)STM #table, AR
11、4 ;AR4:coeff of IIR filter B2,B1,A2,A1,A0.* Feedback pathMAC *AR4+, *AR3-, A ;input+d(n-2)*B2MAC *AR4+, *AR3-, A ;input+d(n-2)*B2+d(n-1)*B1STH A, *AR3;d(n) = input+d(n-2)*B2+d(n-1)*B1* Forward pathMPY *AR4+, *AR3-, A ;d(n-2)*A2MAC *AR4+, *AR3, A ;d(n-2)*A2+d(n-1)*A1DELAY *AR3-;d(n-2)=d(n-1)MAC *AR4+
12、, *AR3, A ;d(n-2)*A2+d(n-1)*A1+d(n)*A0DELAY *AR3- ;d(n-1)=d(n).60級 連61多級二階節(jié)級連成多級 IIR62并 聯(lián)63IIR濾波器的設(shè)計(1)設(shè)計一個符合要求的模擬濾波器(2)從S平面映射到Z平面,得到相應(yīng)的數(shù)字濾波器64沖激響應(yīng)不變法 h(nts)= hak65Z平面的單位圓映射為S平面的fs/2的區(qū)間66雙線性變換67有限沖擊響應(yīng)(FIR)濾波器= a0 + a1z-1 + + aNz-(N-1)68FIR濾波器的結(jié)構(gòu)69頻率響應(yīng)70FIR濾波器的主要特點單位沖擊響應(yīng)只有有限多項可以設(shè)計成線性相位系統(tǒng)只在零點處有極點,因此系統(tǒng)
13、總是穩(wěn)定的便于DSP實現(xiàn)并可用立即數(shù)乘加指令編程,(節(jié)約存儲器) 71系統(tǒng)非線性相移造成輸出信號失真系統(tǒng)相位特性決定了信號不同頻率的時延72 輸入波形DFT變換忽略相位信息IDFT變換輸出波形忽略相位信息的后果73相位特性74要求線性相位的例子通信系統(tǒng):數(shù)據(jù)通信、調(diào)制解調(diào)器希爾伯特變換器:要求輸入輸出信號正交。高保真音響系統(tǒng):音樂的相位失真必須減到最小,盡可能逼真地重現(xiàn)原來的聲音。理想微分器:75線性相位的FIR濾波器系統(tǒng)的群延時76線性相位設(shè)計當(dāng) hp=hN-p 即hp關(guān)于中點對稱,且:則滿足線性相位要求,群延時為:77假設(shè)在 時H() = 0,有:當(dāng)H()為偶函數(shù)有:用付氏級數(shù)實現(xiàn)FIR濾
14、波器78截取有限項得近似H(z):其中:h(p) =79用DSP實現(xiàn)FIR濾波器的存儲器安排80FIR濾波器編程實現(xiàn)RPTBD fir_filter_loop-1 STM #K_FIR_BFFR, BK ; FIR circular bffr sizeLD *INBUF_P+, A ; load the input valuefir_filter:STL A, *FIR_DATA_P+% ; replace oldest sample with ;newest sampleRPTZ A, (K_FIR_BFFR-1)MAC *FIR_DATA_P+0%, *FIR_COFF_P+0%, A ;
15、filteringSTH A, *OUTBUF_P+ ; replace the oldest bffr valuefir_filter_loop81計算16階的FIR濾波器輸出256個點.sect “fir-prog”STM #255, BRC ; Repeat 256 timesRPTBD fir_filter_loopSTM #16, BK ; FIR circular buffer sizeLD *AR7+, A ; load the input valueSTL A, *AR4+% ; replace oldest sample with; newest sampleRPTZ A,
16、#15MAC *AR4+0%, *AR3+0%, A ; filteringSTH A, *AR5+ ; replace the oldest buffer valuefir_filter_loop82C54的FIRS指令 該指令實現(xiàn)一個對稱的FIR濾波器。累加器A的高段(bit32-16)和由pmad(程序存儲器地址)尋址的pmem相乘,結(jié)果加到累加器B中。同時,存儲器操作數(shù)Xmem和Ymem相加,結(jié)果左移16bits,然后裝入累加器A。在下一個循環(huán)中,pmad加1。語法:FIRS Xmem,Ymem,pmad例:FIRS *AR3+,*AR4+,COEFFS 83矩形窗84Hamming窗
17、85Blackman窗86矩形窗與blackman窗的比較87 窗函數(shù) 旁瓣峰值 過渡帶寬 阻帶 Wn 幅度(dB) 衰減(dB)矩形窗三角窗海寧窗海明窗布蘭克門窗凱撒窗-21-25-44-53-74-804 /N8 /N8 /N8 /N12 /N10 /N-13-25-31-41-57-57各種窗函數(shù)基本參數(shù)小結(jié)88數(shù)字濾波器設(shè)計軟件包DFDP4/plus通過雙線性變換法,由Butterworth、Chebyshev、elliptic等原型濾波器來設(shè)計IIR通過窗函數(shù)設(shè)計法設(shè)計FIR濾波器使用代碼生成器(CGEN)可生成TMS320 DSP的匯編代碼可生成采樣信號(如矩形波、單脈沖波、三角波
18、、正余弦、高斯噪聲波等)89 1FIR濾波器的基本結(jié)構(gòu) FIR濾波器的系統(tǒng)函數(shù)沒有反饋回路,因此它是穩(wěn)定系統(tǒng),其單位沖激響應(yīng)h(n)是一個有限長序列。FIR系統(tǒng)的差分方程實際上是一種乘法累加運算。3、FIR濾波器的DSP實現(xiàn)90FIR濾波器的結(jié)構(gòu)圖:由圖看出,實際算法由一組基本運算單元:乘法器、加法器、延遲器組成。顯然,最主要的問題是延遲環(huán)節(jié)如何實現(xiàn)。91 2. FIR濾波器中z-1的實現(xiàn) 對于N級的FIR濾波器,在數(shù)據(jù)存儲器中開辟一個稱為滑窗的N個單元的線性數(shù)據(jù)緩沖區(qū),存放最新的N個輸入數(shù)據(jù)樣本;從最老的樣本開始,每讀一個樣本后,將此樣本向下移位,讀完最后一個樣本后,輸入最新樣本至緩沖區(qū)的頂
19、部。 用線性緩沖區(qū)實現(xiàn)z-1的優(yōu)點是,新老數(shù)據(jù)在存儲器中存放的位置直接明了。(1)用線性緩沖區(qū)法實現(xiàn)z-1 92N=6的線性緩沖區(qū)存儲器圖93C54x片內(nèi)沒有I/O資源,CPU通過外部譯碼可以尋址64K的I/O空間。有兩條實現(xiàn)輸入和輸出的指令:PORTR PA, Smem ;將PA端口的內(nèi)容送 ;數(shù)據(jù)存儲器SmemPORTW Smem, PA ;將地址為Smem的數(shù)據(jù) ;存儲器內(nèi)容送端口PA數(shù)據(jù)的輸入/輸出 94 使用存儲器延時指令DELAY,可以將數(shù)據(jù)存儲單元中的內(nèi)容向較高地址的下一單元傳送。實現(xiàn)z-1的運算指令為:DELAY Smem ;(Smem)Seme+1,數(shù)據(jù)存儲器 ;單元的內(nèi)容復(fù)
20、制下一高地址單元DELAY *AR2 ;AR2指向源地址,即將AR2所指單 ;元內(nèi)容復(fù)制到下一高地址單元中 ;延時指令與其它指令結(jié)合 LD+DELAYLTD指令 ;單數(shù)據(jù)存儲器的值裝入 ;T寄存器并送下一單元延時 MAC+DELAYMACD指令 ;乘加延遲存儲器的延時操作95 在數(shù)據(jù)存儲器中開辟一個稱為滑窗的N個單元的循環(huán)緩沖區(qū),循環(huán)緩沖區(qū)地址首尾相鄰:滑窗中存放最新的N個輸入樣本,每次輸入新樣本時,以新樣本改寫滑窗中最老的數(shù)據(jù),而滑窗中的其它數(shù)據(jù)不動;利用片內(nèi)循環(huán)緩沖區(qū)長度寄存器對滑窗進行間接尋址。 利用循環(huán)緩沖區(qū)實現(xiàn)Z-1的優(yōu)點是不需要移動數(shù)據(jù),不存在一個機器周期中要求能一次讀和一次寫的數(shù)
21、據(jù)存儲器,因而可以將循環(huán)緩沖區(qū)定位在數(shù)據(jù)存儲器的任何位置(而線性緩沖區(qū)要求定位在DARAM)。 (2)用循環(huán)緩沖區(qū)法實現(xiàn)z-196N=6的循環(huán)緩沖區(qū)存儲器圖97 3FIR濾波器的DSP實現(xiàn)方法 FIR濾波器的輸出表達式寫為 y(n)=b0 x(n)+b1x(n-1)+bn-1x(n-N+1)其結(jié)構(gòu)圖FIR濾波算法實際上是一種乘累加運算。它不斷地從輸入端讀入樣本值 xn,經(jīng)延時(z-1)后做乘法累加,輸出濾波結(jié)果yn。98例:編寫N=5的y(n)計算程序。y(n)=a0*x(n)+a1*x(n-1)+a2*x(n-2)+a3*x(n-3)+a4*x(n-4), 先將系數(shù)a0a4存放在數(shù)據(jù)存儲器中
22、,然后設(shè)置線性緩沖區(qū),用以存放輸入和輸出數(shù)據(jù)。(1)用線性緩沖區(qū)和直接尋址方法實現(xiàn)FIR線性緩沖區(qū)安排:99 .title “FIR1.ASM” ;定義源程序名 .mmregs ;定義存儲器映象寄存器 .def start ;定義語句標(biāo)號start .bss y,1 ;為結(jié)果y預(yù)留1個單元的空間XN .usect “XN”,1 ;在自定義的未初始化段“XN”XNM1 .usect “XN”,1 ;中保留5個單元的空間XNM2 .usect “XN”,1XNM3 .usect “XN”,1 XNM4 .usect “XN”,1A0 .usect “A0”,1 ;在自定義的未初始化段“A0”A1
23、.usect “A0”,1 ;中保留5個單元的空間A2 .usect “A0”,1A3 .usect “A0”,1A4 .usect “A0”,1PA0 .set 0 ;定義PA0為輸出端口PA1 .set 1 ;定義PA1為輸入端口100 .datatable: .word 1*32768/10 ;假定程序空間有五個參數(shù) .word -3*32768/10 .word 5*32768/10 .word -3*32768/10 .word 1*32768/10 .textstart: SSBX FRCT ;設(shè)置進行小數(shù)相乘 STM #A0,AR1 ;將數(shù)據(jù)空間用于放參數(shù)的首地址送AR1 RPT
24、 #4 ;重復(fù)下條指令5次傳送 MVPD table,*AR1+ ;傳送程序空間的系數(shù)到數(shù)據(jù)空間 LD #XN,DP ;設(shè)置數(shù)據(jù)存儲器頁指針的起始位置 PORTR PA1,XN ;從數(shù)據(jù)輸入端口I/O輸入最新數(shù)據(jù)x(n)FIR1: LD XNM4,T ;x(n-4)T101MPY A4,A ;a4*x(n-4)ALTD XNM3 ;x(n-3)T, x(n-3)x(n-4)MAC A3,A ;A+a3*x(n-3)ALTD XNM2 ;x(n-2)T, x(n-2)x(n-3)MAC A2,A ;A+a2*x(n-2)ALTD XNM1 ;x(n-1)T, x(n-1)x(n-2)MAC A1
25、,A ;A+a1*x(n-1)ALTD XN ;x(n)T, x(n)x(n-1)MAC A0,A ;A+a0*x(n)ASTH A,y ;保存y(n)的高字節(jié)PORTW y,PA0 ;輸出y(n)BD FIR1 ;執(zhí)行完下條指令后循環(huán)(帶延遲轉(zhuǎn)移)PORTR PA1,XN ;輸入新的x(n).end102vectors.objfir1.obj-o fir1.out-m fir1.map-e startMEMORY PAGE 0 : EPROM: org=01OOOH len=01000H VECS: org=03F80H len=00080H PAGE 1 : SPRAM: org=0006
26、0H len=00020H DARAM: org=00080H len=01380H SECTIONS .vectors: VECS PAGE 0 .text: EPROM PAGE 0 .data: EPROM PAGE 0 .bss: SPRAM PAGE 1 .XN: DARAM align(8) PAGE 1 .A0: DARAM align(8) PAGE 1 103(2)用線性緩沖區(qū)和間接尋址方法實現(xiàn)FIR例:編寫y(n)=a0*x(n)+a1*x(n-1)+a2*x(n-2)+a3*x(n-3)+a4*x(n-4),的計算程序,其中N=5。 將系數(shù)a0a4存放在數(shù)據(jù)存儲器中,并設(shè)
27、置線性緩沖區(qū)存放輸入數(shù)據(jù)。利用AR1和AR2分別作為間接尋址線性緩沖區(qū)和系數(shù)區(qū)的輔助寄存器。 104 .title “FIR2.ASM” ;定義源程序名 .mmregs ;定義存儲器映象寄存器 .def start ;定義語句標(biāo)號start .bss y,1 ;為結(jié)果y預(yù)留1個單元的空間x .usect “x”,5 ;在自定義的未初始化段“x”中保留5個單元的空間a .usect “a”,5 ;在自定義的未初始化段“a”中保留5個單元的空間PA0 .set 0 ;定義PA0為輸出端口PA1 .set 1 ;定義PA1為輸入端口 .datatable: .word 2*32768/10 ;假定程
28、序空間有五個參數(shù) .word -3*32768/10 .word 4*32768/10 .word -3*32768/10 .word 2*32768/10105 .textstart: SSBX FRCT ;小數(shù)相乘 STM #a,AR2 ;將數(shù)據(jù)空間用于放系數(shù)的首地址送AR2 RPT #4 ;重復(fù)下條指令5次傳送 MVPD table,* AR2+ ;傳送程序空間的系數(shù)到數(shù)據(jù)空間 STM #x4, AR1 ;AR1指向x(n-4) STM #a4, AR2 ;AR2指向a4 STM #4, AR0 ;指針復(fù)位值4AR0 LD #x, DP ;設(shè)置數(shù)據(jù)存儲器頁指針的起始位置 PORTR PA
29、1,x ;從端口PA1輸入最新值x(n)106FIR2: LD *AR1-, T ;x(n-4)T MPY *AR2-, A ;a4*x(n-4)A LTD *AR1- ;x(n-3)T, x(n-3)x(n-4) MAC *AR2-, A ;A+a3*x(n-3)A LTD *AR1- ;x(n-2)T, x(n-2)x(n-3) MAC *AR2-, A ;A+a2*x(n-2)A LTD *AR1- ;x(n-1)T, x(n-1)x(n-2) MAC *AR2-, A ;A+a1*x(n-1)A LTD *AR1 ;x(n)T, x(n)x(n-1) MAC *AR2+0, A ;A+
30、a0*x(n)A ,AR2復(fù)原,指向a4 STH A,y ;保存運算結(jié)果的高位字到y(tǒng)(n) PORTW y(n),PA0 ;將結(jié)果y(n)輸出到端口PA0 BD FIR2 ;執(zhí)行完下條指令后,從FIR2開始循環(huán) PORTR PA1,*AR1+0 ;輸入新值x(n), AR1復(fù)原指向x4 .end107(3)用線性緩沖區(qū)和帶移位雙操作數(shù)尋址方法實現(xiàn)FIR例:編寫y(n)=a0*x(n)+a1*x(n-1)+a2*x(n-2)+a3*x(n-3)+a4*x(n-4),的計算程序,其中N=5。 系數(shù)a0a4存放在程序存儲器中,輸入數(shù)據(jù)存放在數(shù)據(jù)存儲器的線性緩沖區(qū)中。乘法累加利用MACD指令,該指令完
31、成數(shù)據(jù)存儲器單元與程序存儲器單元相乘,并累加、移位的功能。 108 .title “FIR3.ASM” ;定義源程序名 .mmregs ;定義存儲器映象寄存器 .def start ;定義語句標(biāo)號start .bss y,1 ;為結(jié)果y預(yù)留1個單元的空間x .usect “x”,6 ;在自定義的未初始化 ;段“x”中保留6個單元PA0 .set 0 ;定義PA0為輸出端口PA1 .set 1 ;定義PA1為輸入端口 .data ;假定程序空間有五個參數(shù)COEF: .word 1*32768/10 ;a4 .word -4*32768/10 ;a3 .word 3*32768/10 ;a2 .w
32、ord -4*32768/10 ;a1 .word 1*32768/10 ;a0109 .textstart: SSBX FRCT ;設(shè)置小數(shù)乘法 STM #x+5, AR1 ;AR1指向x(n-4) STM #4, AR0 ;設(shè)置AR1復(fù)位值 LD #x+1, DP ;設(shè)置數(shù)據(jù)存儲器頁指針的起始位置 PORTR PA1, x+1 ;輸入最新值x(n)FIR3: RPTZ A,#4 ;累加器A清0, 設(shè)置重復(fù)下條指令5次 MACD *AR1-, COEF, A ;x(n-4)T, A= x(n-4)*a4 +A ;(PAR)+1PAR, x(n-4)x(n-3) STH A, *AR1 ;暫存
33、結(jié)果到y(tǒng)(n) PORTW *AR1+, PA0 ;輸出y(n)到PA0,AR1指向x(n) BD FIR3 ;執(zhí)行下條指令后循環(huán) PORTR PA1, *AR1+0 ;輸入新數(shù)據(jù)到x(n), AR1指向x(n-4)110【例】用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法編寫實現(xiàn)FIR濾波的程序。1)FIR濾波器設(shè)計 設(shè)計一個FIR低通濾波器,通帶邊界頻率為1500Hz,通帶波紋小于1dB;阻帶邊界頻率為2000Hz,阻帶衰減大于40dB;采樣頻率為8000Hz。試用MATLAB窗函數(shù)進行FIR濾波器的設(shè)計 b=fir1(17,1500/8000*2)-設(shè)計濾波器參數(shù) h=round(b*215) -浮點數(shù)
34、轉(zhuǎn)換為定點數(shù)Q15格式(4)用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法實現(xiàn)FIR1112)產(chǎn)生濾波器輸入信號的文件 按照通常的程序調(diào)試方法,先用Simulator逐步調(diào)試各子程序模塊,再用硬件仿真器在實際系統(tǒng)中與硬件儀器聯(lián)調(diào)。使用CCS的Simulator進行濾波器特性測試時,需要輸入時間信號x(n)。 本例設(shè)計一個采樣頻率Fs為8000Hz,輸入信號頻率為1000Hz和2500Hz的合成信號,通過設(shè)計的低通濾波器將2500Hz信號濾掉,余下1000Hz信號。1123)編寫FIR數(shù)字濾波器的匯編源程序FIR數(shù)字濾波器匯編程序fir.asm如下:*一個FIR濾波器源程序fir.asm * .mmregs .
35、global start .def start,_c_int00INDEX .set 1KS .set 256 ;輸入樣本數(shù)據(jù)個數(shù)N .set 17 ;FIR濾波器階數(shù)COEF_FIR .sect COEF_FIR;FIR濾波器系數(shù)113 .word 0,158,264,-290,-1406,-951,3187,9287,12272 .word 9287,3187,-951,-1406,-290,264,158,0 .dataINPUT .copy “firin.inc” ;輸入數(shù)據(jù)在數(shù)據(jù)區(qū)0 x2400OUTPUT .space 1024 ;輸出數(shù)據(jù)在數(shù)據(jù)區(qū)0 x2500COEFTAB .u
36、sect “FIR_COEF”,N ;自定義段,為未初始化變量DATABUF .usect “FIR_BFR”,N ;保留存儲空間BOS .usect “STACK”,0FhTOS .usect “STACK”,1 114 .text ;文本段 .asg AR0,INDEX_P ;將一個字符串賦給一個符號 .asg AR4,DATA_P ;輸入數(shù)據(jù)x(n)循環(huán)緩沖區(qū)指針 .asg AR5,COEF_P ;FIR系數(shù)表指針 .asg AR6,INBUF_P ;模擬輸入數(shù)據(jù)指針 .asg AR7,OUTBUF_P ;FIR濾波器輸出數(shù)據(jù)指針_c_int00 b start nop nopstart
37、: SSBX FRCT ;設(shè)置小數(shù)乘法 STM #COEFTAB, COEF_P ;將FIR系數(shù)從程序存儲區(qū) RPT #N-1 ;移到數(shù)據(jù)存儲區(qū) MVPD #COEF_FIR,*COEF_P+ STM #INDEX,INDEX_P115 STM #DATABUF,DATA_P ;數(shù)據(jù)循環(huán)緩沖區(qū)清零 RPTZ A,#N-1 STL A,*DATA_P+ STM #(DATABUF+N-1),DATA_P ;數(shù)據(jù)循環(huán)緩沖區(qū)指針 ;指向xn-(N-1) STM #COEFTAB,COEF_P FIR_TASK: STM #INPUT,INBUF_P STM #OUTPUT,OUTBUF_P STM
38、#KS-1,BRC ;塊重復(fù)計數(shù)器116 RPTBD LOOP-1 STM#N,BK ;FIR循環(huán)緩沖區(qū)大小 LD *INBUF_P+,A ;裝載輸入數(shù)據(jù)FIR_FILTER: ;FIR濾波運算 STL A,*DATA_P+% ;用最新的樣本值 ;替代最舊的樣本值 RPTZA,N-1 MAC *DATA_P+0%,*COEF_P+0%,A ;計算 STH A,*OUTBUF_P+ LOOP: EEND B EEND .end1174)編寫FIR濾波器鏈接命令文件對應(yīng)以上匯編程序的鏈接命令文件fir.cmd如下:fir.obj-m fir.map-o fir.outMEMORYPAGE0: RO
39、M1(RIX) :ORIGIN=0080H,LENGTH=100HPAGE1: INTRAM1(RW) :ORIGIN=2400H,LENGTH=0200H INTRAM2(RW) :ORIGIN=2600H,LENGTH=0100H INTRAM3(RW) :ORIGIN=2700H,LENGTH=0100H B2B(RW) :ORIGIN=0070H,LENGTH=10H118SECTIONS.text :ROM1PAGE 0.data : INTRAM1 PAGE 1FIR_COEF: INTRAM2 PAGE 1FIR_BFR : INTRAM3 PAGE 1.stack : B2B
40、PAGE 1 1195)CCS集成開發(fā)環(huán)境下上機操作過程(1)在CCS上建立fir工程并運行fir.out程序。 (2)觀察輸入信號的波形及頻譜。(3)觀察輸出信號的波形及頻譜。120 Graph 屬性設(shè)置窗口121 輸入信號的時域波形 輸入信號的頻譜圖122 濾波器輸出信號時域波形 濾波器輸出信號頻譜圖123 4.系數(shù)對稱FIR濾波器設(shè)計 系數(shù)對稱的FIR濾波器具有線性相位特性,這種濾波器是用得最多的FIR濾波器,特別是對相位失真要求很高的場合。 如果FIR濾波器的h(n)是實數(shù),且滿足偶對稱h(n)=h(N-1-n)或奇對稱h(n)=-h(N-1-n)的條件,則濾波器具有線性相位特性。 一
41、個對稱FIR濾波器滿足h(n)=h(N-1-n)。 124例如,N=8的FIR濾波器,其輸出方程為:Y(n)=h0 x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h3x(n-4) +h2x(n-5)+h1x(n-6)+h0 x(n-7) 總共有8次乘法和7次加法。如果利用對稱性,可將其改寫成: Y(n)=h0 x(n)+x(n-7)+h1x(n-1)+x(n-6)+h2x(n-2) +x(n-5)+h3x(n-3)+x(n-4) 變成4次乘法和7次加法,乘法運算的次數(shù)少了一半。這是對稱FIR的一個優(yōu)點。 125 對稱FIR濾波器的實現(xiàn)可按如下步驟進行:(1)將數(shù)據(jù)存儲器分為新
42、舊兩個循環(huán)緩沖區(qū),每個循環(huán)緩沖區(qū)的長度為N/2,New循環(huán)緩沖區(qū)中存放N/2=4個新數(shù)據(jù);Old循環(huán)緩沖區(qū)中存放N/2=4個老數(shù)據(jù)。126(2)設(shè)置循環(huán)緩沖區(qū)指針,以AR2指向New循環(huán)緩沖區(qū)中最新數(shù)據(jù);以AR3指向Old循環(huán)緩沖區(qū)中最老數(shù)據(jù)。(3)在程序存儲器中設(shè)置系數(shù)表。(4)(AR2)+(AR3)AH(累加器A的高位),AR2-1AR2,AR3-1AR3。(5)將累加器B清0,重復(fù)執(zhí)行4次(i=0,1,2,3)下面的運算: (AH)*系數(shù)hi+(B)B,系數(shù)指針(PAR)加1, (AR2)+(AR3)AH,AR2和AR3減。127(6)保存和輸出結(jié)果(結(jié)果在BH中)。(7)修正數(shù)據(jù)指針,
43、讓AR2和AR3分別指向New循環(huán)緩沖區(qū)最新的數(shù)據(jù)和Old循環(huán)緩沖區(qū)中最老的數(shù)據(jù)。(8)用New循環(huán)緩沖區(qū)中最老的數(shù)據(jù)替代Old循環(huán)緩沖區(qū)中最老的數(shù)據(jù)。Old循環(huán)緩沖區(qū)指針減1。(9)輸入一個新數(shù)據(jù)替代New循環(huán)緩沖區(qū)中最老的數(shù)據(jù)。 重復(fù)執(zhí)行(4)(9)步。128 C54x的有限沖激響應(yīng)濾波器指令FIRS為: FIRS Xmem,Ymem,Pmad該指令執(zhí)行 PmadPAR(程序存儲器地址寄存器) 當(dāng)(RC)!= 0 (B)+(A(3216)(由PAR尋址Pmem)B (Xmem)+(Ymem)16A (PAR)+1PAR (RC)-1RC FIRS指令在同一個機器周期內(nèi),通過C和D總線讀2次
44、數(shù)據(jù)存儲器,同時通過P總線讀一個系數(shù)。129例 設(shè)計對稱FIR濾波器(N=8)。 .title “FIR5.ASM” ;給匯編程序取名 .mmregs ;定義存儲器映象寄存器 .def start ;定義標(biāo)號start的起始位置 .bss y,1 ;為未初始化變量y保留空間x_new .usect “DATA1”,4 ;自定義4個單元的未初始化段DTAT1x_old .usect “DATA2”,4 ;自定義4個單元的未初始化段DATA2Size .set 4 ;定義符號size=4PA0 .set 0 ;設(shè)置數(shù)據(jù)輸出端口I/O,PA0=0PA1 .set 1 ;設(shè)置數(shù)據(jù)輸入端口I/O,PA1
45、=1 .dataCOEF .word 1*32768/10,2*32768/10 ;系數(shù)對稱,只需 .word 3*32768/10,4*32768/10 ;給出N/2=4個系數(shù)130 .textstart: LD #y, DP ;設(shè)置數(shù)據(jù)存儲器頁指針的起始位置 SSBX FRCT ;小數(shù)乘法 STM #x_new, AR2 ;AR2指向新緩沖區(qū)第1個單元 STM #x_old+(size-1), AR3 ;AR3指向老緩沖區(qū)最后1個單元 STM #size, BK ;設(shè)置循環(huán)緩沖區(qū)長度BK =size STM #-1, AR0 ;循環(huán)控制增量AR0=-1 PORTR PA1, #x_new
46、;從I/O輸入端口PA1 ;輸入數(shù)據(jù)到x(n)131FIR5: ADD *AR2+0%,*AR3+0%,A ;AH=x(n)+ x(n-7) ;(第一次) RPTZ B, #(size-1) ;RC=#size-1+1,B=0 FIRS *AR2+0%,*AR3+0%, COEF ;B+=AH*h0, ;AH=x(n-1)+x(n-6) STH B, y ;保存結(jié)果到y(tǒng) PORTW y, PA0 ;輸出結(jié)果到PA0 MAR *+AR2(2)% ;修正AR2,指向新緩 ; 沖區(qū)最老的數(shù)據(jù) MAR *AR3+% ;修正AR3,指向老緩 ;沖區(qū)最老的數(shù)據(jù) MVDD *AR2, *AR3+0% ; 新
47、緩沖區(qū)向老緩沖區(qū)傳送一個數(shù) ; 用新緩沖區(qū)最老的數(shù)據(jù)覆蓋舊緩沖區(qū) ; 最老的數(shù)據(jù) BD FIR5 ;執(zhí)行完下條指令后轉(zhuǎn)移FIR5并循環(huán) PORTR PA1, *AR2 ; 輸入新數(shù)據(jù)至新緩沖區(qū) .end1325、IIR濾波器的DSP實現(xiàn) 1IIR濾波器的基本概念 N階無限沖激響應(yīng)(IIR)濾波器的脈沖傳遞函數(shù)表達式為:其差分方程表達式可寫為:133Y(n)由兩部分構(gòu)成:第一部分 是一個對x(n)的M節(jié)延時鏈結(jié)構(gòu),每節(jié)延時抽頭后加權(quán)相加,是一個橫向結(jié)構(gòu)網(wǎng)絡(luò);第二部分 也是一個N節(jié)延時鏈的橫向結(jié)構(gòu)網(wǎng)絡(luò),不過它是對y(n)的延時,因此是個反饋網(wǎng)絡(luò)。IIR濾波器的脈沖傳遞在Z平面上有極點存在,其單位沖
48、激響應(yīng)是無限長序列。134 IIR濾波器與FIR濾波器的一個重要區(qū)別是,IIR可以用較少階數(shù)獲得很高的選擇特性,所用存儲單元少,運算次數(shù)少,具有經(jīng)濟、高效的特點。但是,在有限精度的運算中,可能出現(xiàn)不穩(wěn)定現(xiàn)象。而且,選擇性越好,相位的非線性越嚴(yán)重,而FIR濾波器可以得到嚴(yán)格的線性相位。 因此,在相位要求不很敏感的場合,如語言通信等,選用IIR濾波器較為合適;而對于圖像信號處理、數(shù)據(jù)傳輸?shù)纫圆ㄐ螖y帶信息的系統(tǒng),對線性相位要求較高,在條件許可的情況下,采用系數(shù)對稱FIR濾波器較好。135直接形式的二階IIR數(shù)字濾波器 對于直接形式的二階IIR數(shù)字濾波器,其結(jié)構(gòu)如圖所示: 2二階IIR濾波器的實現(xiàn)方法
49、 136存放輸入、輸出變量和濾波器 系數(shù)的緩沖區(qū)編程時,將變量和系數(shù)都存放在DARAM中,并采用循環(huán)緩沖區(qū)方式尋址,共需開辟4個循環(huán)緩沖區(qū),用來存放變量和系數(shù)。這4個循環(huán)緩沖區(qū)的結(jié)構(gòu)如圖所示:137【例】設(shè)計一個三階的切比雪夫型帶通數(shù)字濾波器,其采樣頻率Fs=16kHz,其通頻帶3.2kHzf4.8kHz,內(nèi)損耗不大于1dB;f5.6kHz為阻帶,其衰減大于20dB。(1)IIR濾波器的設(shè)計利用MATLAB信號處理工具箱設(shè)計IIR濾波器,程序為: wp=3.2,4.8;ws=2.4,5.6;rp=1;rs=20 n,wn=cheb1ord(wp/8,ws/8,rp,rs) b,a=cheby1
50、(n,rp,wn) 138設(shè)計結(jié)果為: N=3 wn =0.4000 0.6000 b0=0.0114747 a0=1.000000 b1=0 a1=0 b2=-0.034424 a2=2.13779 b3=0 a3=0 b4=0.034424 a4=1.76935 b5=0 a5=0 b6=-0.0114747 a6=0.539758139(2)產(chǎn)生濾波器輸入信號的文件使用CCS的Simulator進行濾波器特性的測試時,需要輸入時間信號x(n)。 #include #include void main() int i; double f256; FILE *fp; if(fp=fopen(
51、iirin.inc,wt)=NULL) printf(cant open file! n); return; 140fprintf(fp,INPUT: .sect %cINPUT %cn,);for(i=0;iROM PAGE 0.data:DARAM PAGE 1BN:DARAM PAGE 1AN:DARAM PAGE 1 INBUF:RAM1 PAGE 1OUTPUT:RAM2 PAGE 1149 3高階IIR濾波器的實現(xiàn) 一個高階IIR濾波器可以分解成若干個二階基本節(jié)相級聯(lián)。由于調(diào)整每個二階基本節(jié)的系數(shù),只涉及到這個二階節(jié)的一對極點和零點,不影響其他零、極點,因此便于調(diào)整系統(tǒng)的性能。 此
52、外,由于字長有限,每個二階基本節(jié)運算后都會帶來一定的誤差,合理安排各二階基本節(jié)的前后次序,將使系統(tǒng)的精度得到優(yōu)化。150對高階IIR濾波器的幾點特殊處理 當(dāng)出現(xiàn)一個或一個以上系數(shù)。此時,既可以用最大的系數(shù)來定標(biāo),即用最大的系數(shù)去除所有的系數(shù),也可以將此的系數(shù)分解成兩個的系數(shù)進行運算和相加,例如B0=1.2,則:X(n)*B0=x(n)*(B0/2)+x(n)*(B0/2)=0.6*x(n)+0.6*x(n)這樣,將使所有的系數(shù)保持精度,而僅僅多開銷一個機器周期。(1)系數(shù)時的定標(biāo)方法151(2)對輸入數(shù)據(jù)定標(biāo) 一般地,從外設(shè)口輸入一個數(shù)據(jù)加載到累加器A,可用以下指令: PORTR 0001h,
53、 Xin LD Xin, 16,A如果運算過程中可能出現(xiàn)的輸出值,可在輸入數(shù)據(jù)時將其縮小若干倍,如: PORTR 0001h, Xin LD Xin, 16-3,A將輸入數(shù)據(jù)除以8,將使輸出值小于。上面用多種不同的方法進行了濾波器的設(shè)計,在實現(xiàn)濾波器功能的前提下,程序的繁簡和對存儲器的使用情況是不同的,應(yīng)用中應(yīng)根據(jù)具體情況進行選擇。 152三、工程問題的DSP實現(xiàn)例:DTMF的編解碼用DSP實現(xiàn)雙音多頻(DTMF)的撥號產(chǎn)生和解碼。DTMF(Dual-Tone Multiple Frequency)153實現(xiàn)步驟對象分析算法設(shè)計DSP選擇系統(tǒng)設(shè)計系統(tǒng)實現(xiàn)系統(tǒng)調(diào)試154對象分析 對所要開發(fā)的系統(tǒng)
54、的功能、性能要有深入的了解和分析,尤其對技術(shù)指標(biāo),要作透徹的理解和把握。155 DTMF用一對頻率(行頻/列頻)來表示一個符號(電話鍵盤上的09,AD,*,#,共16個符號) 一次按鍵的時間是100ms,其中,頻率對存在的時間是45ms,不允許超過55ms,其余的時間是靜音。156 157CCITT關(guān)于DTMF的指標(biāo)Low band: 697、770、852、941(Hz)RBW3.5%High band: 1209、1336、1477、1633(Hz) RBW4dB REV 8dBDYN RANGE: 25dBGUARD TIME: MIN TONE TIME 45msSNR:NOISE -
55、24dBV158算法設(shè)計 算法設(shè)計是非常關(guān)鍵的步驟,因為算法決定運算量和存儲器的大小,從而決定DSP的選擇,進而決定系統(tǒng)的設(shè)計,包括硬件和軟件的設(shè)計。159DTMF撥號的產(chǎn)生 基于DSP的DTMF的音頻信號發(fā)生器,使用兩個二階的數(shù)字正弦波振蕩器,一個產(chǎn)生行頻,一個產(chǎn)生列頻。160 161DTMF發(fā)生器的系數(shù)和初始條件162DTMF發(fā)生器的信號流程163音頻檢測Goertzel算法是DTMF解碼器的基礎(chǔ),實際上是一個兩極點的IIR濾波器。DFT或FFT需要在處理之前準(zhǔn)備好一個數(shù)據(jù)塊,而Goertzel算法是一個遞歸的結(jié)構(gòu),就每個輸入的樣本進行計算。164Goertzel算法的特點Goertzel
56、算法的IIR濾波器結(jié)構(gòu)涉及兩個復(fù)共軛極點,但對于實際的DTMF音頻檢測,只要有幅度信息就夠了(實際上使用幅度平方),從而簡化為只需要一個實系數(shù)參與計算。 Goertzel算法要比FFT快得多,因為只需要提供8個行/列頻和它們的二次諧波的信息(二次諧波的信息用于將DTMF與話音或音樂區(qū)別開來)。165Goertzel算法166行頻/列頻及相應(yīng)的系數(shù)167有效性檢查信號強度 DTMF行頻、列頻信號之和的強度是否達到一定的門限值168扭曲度 標(biāo)準(zhǔn)扭曲: 行頻峰值 列頻峰值 4dB 反向扭曲: 列頻峰值 行頻峰值 8dB169二次諧波強度 以便將DTMF信號與其他語音信號、音樂信號等區(qū)別開來。170數(shù)
57、字信息的穩(wěn)定性 如果一個數(shù)字成功地檢測到兩次,認(rèn)為該數(shù)字是穩(wěn)定的171數(shù)字信息的有效性 檢測到的數(shù)字前面必須是靜音符時,該數(shù)字才是有效的,以便將各次擊鍵區(qū)別開來172 173編碼器對速度和存儲器的要求174175DSP芯片選擇算法對DSP芯片計算速度的要求系統(tǒng)的管理(如任務(wù)管理、進程管理、存儲器管理、I/O管理等)對DSP的要求片內(nèi)存儲器和片外存儲器的要求(包括容量的要求和速度的要求)176對外設(shè)(如串口、并口、定時器、總線寬度、等待狀態(tài)等)的要求DSP封裝對印制板的設(shè)計影響甚大開發(fā)環(huán)境技術(shù)支持性能價格比177DSP芯片的速度178DSP的片內(nèi)存儲器179DSP的外設(shè)180BGA(BALL G
58、RID ARRAY)181PLCC(PLASTIC J-LEADED CHIP CARRIER)182PQFP(PLASTIC QUAD FLAT PACK)183PDLP(PLASTIC DUAL-IN-LINE PACKAGE)184LCCC(LEADLESS CERAMIC CHIP CARRIER)185系統(tǒng)設(shè)計硬件系統(tǒng)設(shè)計軟件系統(tǒng)設(shè)計工作軟件測試軟件功能框圖(指標(biāo)分配)電原理圖印制板(數(shù)字與模擬電路,接地,電源,多層板)186系統(tǒng)的實現(xiàn)從C程序作起 用C Compiler將C源程序編譯成為匯編語言源程序,然后匯編、連接后輸出可執(zhí)行代碼;也可以使用shell程序,將編譯、匯編、連接一齊
59、完成。187 188源程序分析器 輸入是C源文件。讀入源語句,檢查語法和語意錯誤,寫出一個中間文件(.if)189優(yōu)化器 可選擇項。其輸入是分析器產(chǎn)生的中間文件(.if)。當(dāng)運行優(yōu)化器時,用戶可以選擇優(yōu)化的層次。產(chǎn)生一個與中間文件格式相同的高效率版本。190代碼生成器 輸入是分析器或優(yōu)化器產(chǎn)生的中間文件(.if或.opt文件),產(chǎn)生一個匯編語言源文件191內(nèi)部列表公用程序 輸入是C編譯器產(chǎn)生的匯編語言源程序和C源程序。產(chǎn)生的是按C文件的語句展開的匯編語言源文件192匯編器和連接器匯編器的輸入是代碼生成器產(chǎn)生的匯編語言文件,產(chǎn)生COFF目標(biāo)文件 連接器的輸入是匯編器產(chǎn)生的COFF目標(biāo)文件,產(chǎn)生可
60、執(zhí)行的目標(biāo)文件193運行C編譯器 cl500 -options filenames -z link_options object filescl500調(diào)用編譯器和匯編器的命令。-options 影響編譯器處理輸入文件的途徑filenames 一個或多個C源文件、匯編語言源文件,或目標(biāo)文件。-z 運行連接器的選擇項。link_options 影響連接器處理輸入文件的途徑object files 命名編譯器產(chǎn)生的目標(biāo)文件194cl500 -q symtab file seek.asm z 編譯文件symtab和file,匯編第三個文件seek.asm,連接這三個文件,并使用quiet選擇項,抑制輸
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品衛(wèi)生防范條例
- 臨時網(wǎng)絡(luò)管理員合同
- 2025版跨境電商物流平臺入駐協(xié)議合同范本3篇
- 野生動物園保安員招聘合同
- 物業(yè)管理招投標(biāo)交易費政策
- 商標(biāo)一次性補償協(xié)議
- 公共廣場照明施工合作協(xié)議
- 船舶制造供貨施工合同范本
- 醫(yī)療器械維修聯(lián)盟協(xié)議
- 醫(yī)療設(shè)備召回政策與程序
- 2024年機動車檢測站質(zhì)量手冊程序文件記錄表格合集(根據(jù)補充要求編制)
- 公司未來發(fā)展規(guī)劃及目標(biāo)制定
- 食堂承包業(yè)績報告范文
- 2024年度餐飲店會員積分互換合同3篇
- 太陽耀斑預(yù)測研究-洞察分析
- 2024年01月11067知識產(chǎn)權(quán)法期末試題答案
- 化工企業(yè)銷售管理制度匯編
- 2025版國家開放大學(xué)法律事務(wù)專科《民法學(xué)(2)》期末紙質(zhì)考試案例分析題庫
- 2024年全國各地化學(xué)中考試題匯編:酸和堿(含詳解)
- 廣東省深圳市2023-2024學(xué)年高一上學(xué)期期末英語試題(含答案)
- DB41T 2486-2023 叉車維護保養(yǎng)與自行檢查規(guī)范
評論
0/150
提交評論