freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c54xdsp的基帶調(diào)制解調(diào)器的設(shè)計(jì)(編輯修改稿)

2024-07-24 17:03 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 混合編程中所起的重要作用。它不僅是參數(shù)傳遞和函數(shù)調(diào)用的數(shù)據(jù)“倉庫”,而且還是整個(gè)程序中的一個(gè)基準(zhǔn)數(shù)據(jù)區(qū),可以用來保存現(xiàn)場(chǎng)環(huán)境,還可以用來分配局部數(shù)據(jù)。為了方便調(diào)用參數(shù)的尋址和局部數(shù)據(jù)的分配,在C語言中CPL始終保持1,即采用SP來進(jìn)行直接尋址[17]。 C54x DSP的軟件設(shè)計(jì)流程圖初始化采樣結(jié)束調(diào)用各信號(hào)處理算法模塊處理計(jì)算各種參數(shù)輸出結(jié)果NY圖41C54xDSP軟件設(shè)計(jì)流程圖 基帶調(diào)制解調(diào)的數(shù)字實(shí)現(xiàn)基帶調(diào)制解調(diào)器軟件包括異步串行口的初始化、接收、發(fā)送、卷積編碼、交織、去交織、基帶調(diào)制(含差分編碼、格雷編碼)、成形濾波、載波調(diào)制、匹配濾波、載波同步、位同步、差分解調(diào)、幀同步等。Coswctk波形合成波形存儲(chǔ)波形合成DAC信道DAC數(shù)字濾波數(shù)字濾波Qn圖42 基帶調(diào)制解調(diào)數(shù)字實(shí)現(xiàn)部分框圖SinwctkCoswctkSinwctk數(shù)字調(diào)制數(shù)字解調(diào)In發(fā)送端波形合成完成發(fā)送濾波器(基帶成形濾波器)的功能,接收端數(shù)字濾波器(匹配濾波器)完成接收濾波器的功能。數(shù)字調(diào)制對(duì)發(fā)送端同相與正交兩路基帶信號(hào)的樣本值進(jìn)行正交幅度調(diào)制,產(chǎn)生16QAM已調(diào)信號(hào)樣本值,再經(jīng)DAC(數(shù)字模擬變換器)輸出,將16QAM已調(diào)信號(hào)送到線路上。在接收端經(jīng)過ADC(模擬數(shù)字變換器)轉(zhuǎn)換后進(jìn)行數(shù)字解調(diào),將16QAM已調(diào)信號(hào)恢復(fù)成同相和正交兩路基帶信號(hào)[18]。 QPSK調(diào)制解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn)調(diào)制是為了信號(hào)特性與信道特性相匹配,不同類型的信道特性相應(yīng)地存在不同類型的調(diào)制方式。調(diào)制的最終目的就是盡可能地減少占用寬帶,盡可能地提高信號(hào)傳輸速率和質(zhì)量。由于無線信道是時(shí)變信道,存在嚴(yán)重多徑和衰落等不利于數(shù)據(jù)傳輸?shù)囊蛩?,因此,選擇適合于無線信道傳輸?shù)臄?shù)字調(diào)制方式是非常重要的。QPSK正交相移鍵控,是一種數(shù)字調(diào)制方式。與模擬調(diào)制相比,具有更好的抗噪聲性能和更強(qiáng)的抗信道衰落能力等。數(shù)字信號(hào)處理器使人們可以完全用軟件實(shí)現(xiàn)數(shù)字調(diào)制器和解調(diào)器[19]。 DSP定點(diǎn)實(shí)現(xiàn)DSP分為定點(diǎn)和浮點(diǎn)兩種,下面以定點(diǎn)DSP芯片為例,討論FIR濾波器實(shí)現(xiàn)的幾個(gè)關(guān)鍵問題。1. 定點(diǎn)數(shù)的定標(biāo):在定點(diǎn)DSP芯片中,采用定點(diǎn)數(shù)進(jìn)行數(shù)值運(yùn)算,其操作數(shù)一般采用整型數(shù)來表示。一個(gè)整型數(shù)的最大表示范圍取決于DSP芯片所給定的字長(zhǎng),一般為16位或24位。顯然,字長(zhǎng)越長(zhǎng),所能表示的數(shù)的范圍越大,精度也越高。在濾波器的實(shí)現(xiàn)過程中,DSP所要處理的數(shù)可能是整數(shù),也可能是小數(shù)或混合小數(shù);然而,DSP在執(zhí)行算術(shù)運(yùn)算指令時(shí),并不知道當(dāng)前所處理的數(shù)據(jù)是整數(shù)還是小數(shù),更不能指出小數(shù)點(diǎn)的位置在哪里。因此,在編程時(shí)必須指定一個(gè)數(shù)的小數(shù)點(diǎn)處于哪一位,這就是定標(biāo)。通過定標(biāo),可以在16位數(shù)的不同位置上確定小數(shù)點(diǎn),從而表示出一個(gè)范圍大小不同且精度也不同的小數(shù)。例如:在Q15中,1080H=;在Q0時(shí),1080H=4224。在使用定點(diǎn)DSP時(shí),如何選擇合適的Q值是一個(gè)關(guān)鍵性問題。就DSP運(yùn)算的處理過程來說,實(shí)際參與運(yùn)算的都是變量,有的是未知的,有的則在運(yùn)算過程中不斷改變數(shù)值,但它們?cè)谝粚?shí)際工程環(huán)境中作為一個(gè)物理參量而言都有一定的動(dòng)態(tài)范圍。只要個(gè)動(dòng)態(tài)范圍確定了,Q值也就確定了。因此,在程序設(shè)計(jì)前,首先要通過細(xì)致和嚴(yán)謹(jǐn)?shù)姆治觯页鰠⑴c運(yùn)算的所有變量的變化范圍,充分估計(jì)運(yùn)算中可能出現(xiàn)的各種情況,然后確定采用何種定標(biāo)標(biāo)準(zhǔn)才能保證運(yùn)算結(jié)果正確可靠。這里,所討論的理論分析法和統(tǒng)計(jì)分析法確定變量絕對(duì)值最大值|max|,然后根據(jù)|max|再確定Q值。但是,DSP操作過程中的意外情況是無法避免的,即使采用統(tǒng)計(jì)分析法也不可能涉及到所有情況。因此,在定點(diǎn)運(yùn)算過程中應(yīng)該采取一些判斷和保護(hù)措施(特別是在定點(diǎn)加法中)。另外,在數(shù)字信號(hào)處理中的大量運(yùn)算是乘法和累加,應(yīng)盡量采用純整數(shù)或純小數(shù)運(yùn)算,即全部變量都用Q0或Q15格式表示。這樣做的好處是操作簡(jiǎn)單、編程方便。只有當(dāng)純整數(shù)或純小數(shù)運(yùn)算不能滿足變量的動(dòng)態(tài)范圍和精度要求時(shí),才采用混合小數(shù)表示法進(jìn)行定點(diǎn)運(yùn)算[20]。2. 誤差問題:因?yàn)樵谟枚c(diǎn)DSP實(shí)現(xiàn)時(shí),所有的數(shù)據(jù)都是定長(zhǎng)的,運(yùn)算也都是定點(diǎn)運(yùn)算,因而會(huì)產(chǎn)生有限字長(zhǎng)效應(yīng)。所產(chǎn)生的誤差主要包括:數(shù)模轉(zhuǎn)換引起的量化誤差、系數(shù)量化引起的誤差以及運(yùn)算過程中的舍入誤差。在用定點(diǎn)DSP時(shí),產(chǎn)生誤差是不能避免的,但是可以通過一些方法減小誤差。如,可以用兩個(gè)存儲(chǔ)單元來表示一個(gè)數(shù),運(yùn)算時(shí)使用雙字運(yùn)算;可以根據(jù)需要要將濾波器系數(shù)都用雙字表示,也可以只將一半的系數(shù)用雙字表示,視需要而定。另外,F(xiàn)IR數(shù)字濾波器和IIR數(shù)字濾波器所引入的量化誤差是不一樣的。FIR數(shù)字濾波器主要采用非遞歸結(jié)構(gòu),因而在有限精度的運(yùn)算中都是穩(wěn)定的;而IIR數(shù)字濾波器是遞歸結(jié)構(gòu),極點(diǎn)必須在z平面單位圓內(nèi)才能穩(wěn)定,這種結(jié)構(gòu)運(yùn)算中的四舍五入處理有時(shí)會(huì)引起寄生振蕩。除了有限字長(zhǎng)效應(yīng)以外,不同結(jié)構(gòu)引入的誤差也有所不同。在實(shí)際設(shè)計(jì)中,要注意實(shí)現(xiàn)中的誤差問題。在選擇不同的結(jié)構(gòu)時(shí),應(yīng)考慮它們所引入的誤差,并用高級(jí)語言進(jìn)行定點(diǎn)仿真,以比較不同結(jié)構(gòu)下誤差的大小,從而作出合理選擇[21]。3. 循環(huán)尋址循環(huán)尋址(circular addressing)是DSP中經(jīng)常用到的一種尋址方式。該尋址方法可以對(duì)一塊特定存儲(chǔ)區(qū)實(shí)現(xiàn)循環(huán)的操作??梢园蜒h(huán)尋址理解為實(shí)現(xiàn)一個(gè)滑動(dòng)窗,新數(shù)據(jù)引入后將覆蓋老的數(shù)據(jù),便得該窗中包含了需處理的最新數(shù)據(jù)。在數(shù)字信號(hào)處理中的FIR、卷積等運(yùn)算中,循環(huán)尋址具有極其重要的意義。在TI的DSP中,循環(huán)尋址通過如下方法實(shí)現(xiàn)[22]。①設(shè)定BK(寄存器塊大?。┲担源_定循環(huán)尋址緩沖區(qū)的大小,也可將它看作是循環(huán)的周期。②設(shè)定緩沖區(qū)的底部地址。必須注意:其低N位為零,其中N為最小N值。其中,(NBK) ③用輔助寄存器間接尋址循環(huán)緩沖區(qū)。4 實(shí)現(xiàn)舉例根據(jù)上述設(shè)計(jì)出來的FIR濾波器,考慮工程實(shí)際的需要(精度的要求)和采用定點(diǎn)DSP芯片的方便實(shí)現(xiàn),選擇Q15定標(biāo)。為此,必須對(duì)輸入數(shù)據(jù)和濾波器的系數(shù)進(jìn)行歸一化處理。輸入數(shù)據(jù)的歸一化處理可通過設(shè)置A/D轉(zhuǎn)換的參考電平來實(shí)現(xiàn)。濾波器的系數(shù)歸一化只要求取系數(shù)中的最大值,再用這個(gè)最大值去系數(shù)便可[23]。由于一個(gè)N(設(shè)N為偶數(shù))階的FIR濾波器具有系數(shù)對(duì)稱特性,其輸出方程可以寫為:y(n)=ao[x(n)+x(nN+1)]+a1[x(n1)+x(nN+2)]+…+aN/21[X(nN/2+1)+x(nN/2)] (43)根據(jù)式(43)可建立如下實(shí)現(xiàn)算法:①在數(shù)據(jù)存儲(chǔ)中開辟兩個(gè)循環(huán)緩沖區(qū),New循環(huán)緩沖區(qū)存放新數(shù)據(jù),O1d循環(huán)緩沖區(qū)中存放老數(shù)據(jù)。循環(huán)緩沖區(qū)的長(zhǎng)度為N/2。②設(shè)置循環(huán)緩沖區(qū)指針,AR2指向New緩沖區(qū)中最新的數(shù)據(jù),AR3指向O1d緩沖區(qū)中最老的數(shù)據(jù)[24]。③在程序存儲(chǔ)器中設(shè)置系數(shù)表。④(AR2)+(AR3)→AH(累加器A的高位);(AR2)1→AR2;(AR3)1→AR3。⑤將累加器B清零,重復(fù)執(zhí)行下列操作N/2次:(AH)*系數(shù)ai+(B)→B,系數(shù)指針(PAR)加1,(AR2)+(AR3)→AH,AR2和AR3減1。⑥保存和輸出結(jié)果(結(jié)果在BH中)。⑦修正數(shù)據(jù)指針,讓AR2和AR3分別指向New緩沖區(qū)最新數(shù)據(jù)和O1d緩沖區(qū)中最老的數(shù)據(jù)。⑧用New緩沖區(qū)中最老的數(shù)據(jù)替代O1d緩沖區(qū)中最老的數(shù)據(jù)。O1d緩沖區(qū)指針減1。⑨輸入一個(gè)新數(shù)據(jù)替代New緩沖區(qū)中最老的數(shù)據(jù)。重復(fù)執(zhí)行第④~⑨步。根據(jù)上述算法編制程序,在CCS5000上進(jìn)行仿真調(diào)試運(yùn)行,并且分析輸入數(shù)據(jù)和輸出的頻譜,結(jié)果如圖4圖45所示。由兩幅圖比較可見,濾波器實(shí)現(xiàn)了目標(biāo)所要求的。圖44 輸入數(shù)據(jù)頻譜圖圖45輸出數(shù)據(jù)頻譜圖最后,將程序移植為聞亭公司的TMS320VC5409評(píng)估板的MCBSP0的中斷服務(wù)程序,并將形成的可執(zhí)行文件加載到評(píng)估板上運(yùn)行。由TMS320VC5409評(píng)估板的模擬輸入口輸入模擬信號(hào),經(jīng)TLC320A/D轉(zhuǎn)換芯片,按8kHz的采樣頻率采樣轉(zhuǎn)換成數(shù)字信號(hào),輸入DSP。濾波后經(jīng)D/A輸出模擬量,結(jié)果證實(shí)該程序可實(shí)現(xiàn)對(duì)采樣率為8kHz的模擬信號(hào)進(jìn)行實(shí)時(shí)濾波處理[25]。在定點(diǎn)實(shí)現(xiàn)時(shí),要盡量使用圓周尋址和并行指令。利用C54x的圓周尋址方式(用%表示)管理緩沖區(qū)的數(shù)據(jù),可避免每次對(duì)緩沖區(qū)的數(shù)據(jù)進(jìn)行搬移,大大減少指令開銷,提高運(yùn)行效率。充分利用C54x的兩個(gè)累加器,它們可以在一個(gè)指令周期內(nèi)同時(shí)進(jìn)行操作[26]。C54x中的一些指令,可以充分利用這個(gè)特性,有效提高編程效率。程序調(diào)試中還要注意流水線沖突,通過在合適位置插入NOP空跳轉(zhuǎn)指令,可以有效解決這個(gè)問題。在實(shí)現(xiàn)數(shù)字濾波BNLMS、Geigel算法時(shí)就使用了這些技巧,具體見下面的程序。BNLMS算法的C54x匯編語言定點(diǎn)實(shí)現(xiàn)如下[27]:RPTBD $block_end1 STM N_ERROR, n_error_ptr 。n_error_ptr指向式中的RPTZ A, (BLOCKSIZE2) 。BLOCKSIZE為塊的大小,即為L(zhǎng)MAC *ref_ptr+0%, *n_error_ptr+, A 。實(shí)現(xiàn)式中的Σ求和,ref_ptr指向x(n)MACR *ref_ptr+0%, *n_error_ptr+, A 。使用圓周尋址MPYA IABSY 。B=A/│x(n)│,同時(shí)利用A和B累加器計(jì)算LD *+filter_ptr(16), 16, ASFTA B, (15+GAIN) 。算術(shù)移位并調(diào)整定標(biāo),GAIN=μ為2的整數(shù)倍ADD B, ASTH A, *filter_ptr 。結(jié)果只保留前高16位STM N_ERROR, n_error_ptr$block_end:Geigel算法的C54x匯編語言定點(diǎn)實(shí)現(xiàn)如下:LD *ref_ptr+%, 16, AABS A 。A=abs (x(n))SUB max_m, 16, A 。通過相減實(shí)現(xiàn)電平比較NOP 。避免流水線操作XC 1, BGT 。判斷是否出現(xiàn)DTSTH A, max_m 。如果出現(xiàn)DT,更新max_m定點(diǎn)實(shí)現(xiàn)時(shí),一個(gè)最重要的問題就是定標(biāo)。由于定點(diǎn)數(shù)進(jìn)行加減運(yùn)算時(shí),其結(jié)果可能出現(xiàn)溢出,所以選擇合適的標(biāo)值和進(jìn)行溢出保護(hù)顯得特別重要。本文在定點(diǎn)實(shí)現(xiàn)時(shí),把累加器(A和B)從16位擴(kuò)展到32位(SXM置1),把定標(biāo)調(diào)整為Q30;同時(shí)設(shè)置了溢出保護(hù)(OVM置1)。通過這樣處理,可以在保證運(yùn)算精度的條件下有效解決溢出問題[28]。程序名: *Data_I2: 輸入數(shù)據(jù)緩沖區(qū)*Data_I3: 脈沖成形后數(shù)據(jù)緩沖區(qū)*fqpsk: qpsk調(diào)制后數(shù)據(jù)緩沖區(qū)*coeff: 脈沖成形濾波器系數(shù)區(qū)*start: 運(yùn)行程序開始*FIR: 平方根余弦成形濾波程序*QPSK: QPSK 調(diào)制程序.mmregsData_I2b .usect Data__I2b,128Data_I2 .usect Data_I2,128Data_I3 .usect Data_I3,128fqpsk .usect fqpsk,128noise .usect noise,128.def startSIN18K .set10HTONERL .set11HTEMP .set12HK_SINSTP .set32K _DP .set500H/128.textStart:LD K_DP,DPSSBX FRCT 。小數(shù)操作STM 120,BK 。設(shè)置循環(huán)緩沖區(qū)長(zhǎng)度為120STM Data__I2b,AR3STM Data_I2,AR2MVDD *AR2+,*AR3 。待濾波數(shù)據(jù)開始進(jìn)入循環(huán)緩沖區(qū)的首位STM Data_I3,AR5STM Data_I2b+63,AR1STM fqpsk,AR4STM noise,AR6STM fqpsk,AR7FIR: RPTZ A,63 MACD *AR1,coeff,A STH A,2,*AR5+% STM Data_12b,AR3 MVDD *AR2,*AR3 MAR *AR2+% STM Data_12b+63,AR1QPSK STH A,2,TEMP CALL Carrier LD 7FFFH,15,A LD TEMP,16,A RPT 10 NOP MPYA TONERL RPT 10 NOP ADD *AR6+%,13,B,A STH A,*AR4+% B FIRCarrier:LD SIN18K,AADD K_SINSTP,AAND 7FH,ASTL ADD SIN_TABLE,AREADA TONERLLD TONERL,ASTL A 1, TONERLRET.dataCoeff:.word 100, 19, 82, 156. , 94, 27, 143.word 189 , 128, 31, 221 340, 296, 51,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1