




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
DSP課程設(shè)計(jì)設(shè)計(jì)報(bào)告設(shè)計(jì)題目:利用DSP實(shí)現(xiàn)自適應(yīng)濾波2013年7月12日目錄設(shè)計(jì)任務(wù)要求………1理論分析…………TMS320C55x概況………自適應(yīng)濾波器原理……………………自適應(yīng)濾波器結(jié)構(gòu)……………………LMS算法與RLS算法…………………自適應(yīng)濾波器的應(yīng)用…………………設(shè)計(jì)思路……………程序分析……………左右分聲道濾波………LMS自適應(yīng)算法………調(diào)試過程與實(shí)現(xiàn)效果………………調(diào)試過程………………實(shí)現(xiàn)效果………………總結(jié)…………………完成情況………遇到的困難……………………體會(huì)與感悟……………………參考文獻(xiàn)……………附:原始程序清單 設(shè)計(jì)任務(wù)要求本課程設(shè)計(jì)的目的是通過利用DSP實(shí)現(xiàn)信號(hào)自適應(yīng)濾波這一過程,是自己更加透徹的理解信號(hào)的采集方法和濾波方法,學(xué)會(huì)調(diào)用DSPLIB庫中的LMS函數(shù),進(jìn)行自適應(yīng)濾波。同時(shí)通過對(duì)DSP信號(hào)處理器及A/D、D/A轉(zhuǎn)換器以及DMA的編程,提高自身的C語言編程能力和使用DSP硬件平臺(tái)實(shí)現(xiàn)數(shù)字信號(hào)處理算法的能力。本設(shè)計(jì)分為基本部分和發(fā)揮部分?;静糠郑海?)設(shè)計(jì)數(shù)字濾波算法或調(diào)用DSPLIB中函數(shù),實(shí)現(xiàn)對(duì)信號(hào)的濾波;(2) 利用C語言對(duì)A/D、D/A進(jìn)行初始化;(3) 利用C語言對(duì)DMA進(jìn)行初始化;(4) 編寫DMA終端服務(wù)程序,實(shí)現(xiàn)對(duì)信號(hào)的實(shí)時(shí)濾波;(5) 利用CCS信號(hào)分析工具分析信號(hào)的頻譜成分,確定濾波器的參數(shù)。發(fā)揮部分:(1)比較不同自適應(yīng)濾波器的濾波效果;(2)在實(shí)驗(yàn)板的Linein輸入端接入正弦信號(hào),分左右聲道分別采集并濾波。理論分析TMS320C55x概況C55xDSP芯片是C5000系列的新一代產(chǎn)品,與C54x的源代碼兼容。與C54x相比,C55x處理速度明顯提高,功耗明顯降低。如300MHz的C55x與120MHz的C54x相比,C55x的處理速度比C54x提高了5倍,功耗只有C54x的1/6。與C54x相比,C55x的結(jié)構(gòu)上復(fù)雜得多,采用了近似'雙CPU結(jié)構(gòu)'C55x具有2個(gè)MAC單元、4個(gè)40為累加器,能夠在單周期內(nèi)作2個(gè)17位X17位的乘法運(yùn)算。C55x具有12組獨(dú)立總線,即1組程序讀總線,1組程序地址總線,3組數(shù)據(jù)讀總線,2組數(shù)據(jù)寫總線,5組數(shù)據(jù)地址總線,其指令單位每次可從存儲(chǔ)器中讀取32為程序代碼(C54x只能讀取16位)。C55x含有指令高速存儲(chǔ)器(Cache),以減少對(duì)外部存貯器的訪問,改善了數(shù)據(jù)吞吐量并降低了功耗。C55x采用了1~6字節(jié)的可改變字節(jié)寬度指令(C54x的指令長度為固定的16位),從而提高了代碼的密度。自適應(yīng)濾波器原理常規(guī)濾波器具有固定的濾波特性,對(duì)于輸入信號(hào)濾波器根據(jù)這個(gè)特性產(chǎn)生相應(yīng)的輸出。但是在實(shí)際應(yīng)用往往不是這樣,即對(duì)濾波器輸出的要求是明確的,而濾波器特性是無法預(yù)先知道的。例如電話系統(tǒng),回波相消器的理想輸出是無回波信號(hào),這個(gè)要求是明確的,而系統(tǒng)本身卻不能一開始就確定下來,因?yàn)樗Q于電話系統(tǒng)話路傳輸條件的變化,像這樣的應(yīng)用需求就需要通過自適應(yīng)濾波技術(shù)來解決。下圖是自適應(yīng)濾波器的結(jié)構(gòu)框圖。其中想x(n)為濾波器的輸入信號(hào),wi(n)為濾波
器的權(quán)值系數(shù),d(n)為濾波器的期望信號(hào),e(n)為濾波器的估計(jì)誤差信號(hào)。1=0,1…,L-1,L為濾波器的階數(shù)。d(n)e(n)d(n).I>x(n)W(z)y(n)自適應(yīng)
算法x(n)W(z)y(n)自適應(yīng)
算法自適應(yīng)濾波器的目的是,以迭代方式逐步調(diào)整濾波器系數(shù)W1(n),使誤差信號(hào)e(n)的能量(或幅度)不斷減少。定義濾波器的輸入信號(hào)向量為:x(n)=[x(n),x(n—l),x(n)=[x(n),x(n—l),…,x(n—L+1)]T濾波器系數(shù)矢量為:w(n)=[w0w(n)=[w0(n),W(n),…wL—1(n)]T其中上標(biāo)T表示矩陣轉(zhuǎn)置運(yùn)算符,則濾波器輸出為:y(n)=l=0或 y(n)=wT(n)x(n)=xT(n)w(n)誤差信號(hào)為:e(n)=d(n)—y(n)=d(n)—wT(n)x(n)定義性能函數(shù)為:g=e2(n)可以得到濾波器系數(shù)更新公式:w(n+l)=w(n)+pe(n)x(n)其中,M為收斂因子。自適應(yīng)濾波器結(jié)構(gòu)自適應(yīng)濾波器的結(jié)構(gòu)可以是IIR型結(jié)構(gòu),也可以是FIR型結(jié)構(gòu)。但在實(shí)際用中,一般都是采用FIR型,其主要原因是FIR結(jié)構(gòu)的自適應(yīng)技術(shù)實(shí)現(xiàn)更容易,其權(quán)系數(shù)的修正就調(diào)節(jié)了濾波器的性能。同時(shí)還可以保證其穩(wěn)定性,對(duì)于IIR濾波器,當(dāng)自適應(yīng)處理過程中,極點(diǎn)移出單位圓之外時(shí),就會(huì)使濾波器產(chǎn)生不穩(wěn)定。用FIR型結(jié)構(gòu)作為自適應(yīng)濾波器的結(jié)構(gòu),并不會(huì)影響它的應(yīng)用范圍,因?yàn)閺囊郧暗闹R(shí)可知道,一個(gè)穩(wěn)定的IIR濾波器總是可以用足夠多階的FIR濾波器來近似代替。一個(gè)自適應(yīng)的FIR濾波器的結(jié)構(gòu),可以是橫向結(jié)構(gòu),對(duì)稱橫向結(jié)構(gòu)以及格形結(jié)構(gòu)。橫向型結(jié)構(gòu)橫向型結(jié)構(gòu)是在大多數(shù)應(yīng)用情況下所采用的最主要的自適應(yīng)濾波器結(jié)構(gòu),如下圖所示濾波器的輸出y(n)表示為:y(n)=wt(n)X(n)=£w(n)x(n一i)ii=0其中X(n)=[x(n),x(n-l),???x(n-x+l)]T為輸入矢量,w(n)=[wo(n),wl(n),…,wn一1(n)]T是權(quán)系數(shù)矢量,T為轉(zhuǎn)置符,N為時(shí)間序列,N為濾波器的階數(shù)。由表達(dá)式可見,y(n)實(shí)際是兩矢量的內(nèi)積 既把x(n)與w(n)相卷的結(jié)果。對(duì)稱橫向型結(jié)構(gòu)如果N階FIR濾波器的單位脈沖響應(yīng)h(n)為實(shí)數(shù),且滿足對(duì)稱性的條件,即:h(n)=h(N-1-n)則稱為對(duì)稱橫向性結(jié)構(gòu),如下圖所示。在具有嚴(yán)格的線性特性的語音處理、波形傳輸系統(tǒng)、圖象處理等方面得到廣泛應(yīng)用。這種關(guān)于中心點(diǎn)對(duì)稱的FIR濾波器的輸出y(n)可由下面的表達(dá)式給出y(n)=吩w(n)[x(n一i)+x(n一N+i+1)]it=0其中N為階數(shù),它一定是偶數(shù)。注意,對(duì)于定點(diǎn)處理器,上式的相加運(yùn)算可能產(chǎn)生溢出。為此有時(shí)需要對(duì)歸一化的輸入數(shù)據(jù)在右移一位。2.3.3格形結(jié)構(gòu)的自適應(yīng)濾波器另一種迭代FIR濾波器結(jié)構(gòu)是格形結(jié)構(gòu)。格形結(jié)構(gòu)的引出是用Durbin算法求解自適應(yīng)濾波器的最佳權(quán)系數(shù)所導(dǎo)出來的。在使用LMS算法求解自適應(yīng)濾波器最佳權(quán)系數(shù)時(shí),可以發(fā)現(xiàn),最佳權(quán)系數(shù)滿足一個(gè)線性方程組,該方程組的系數(shù)矩陣具有toeplitz性質(zhì),即該矩陣為對(duì)稱矩陣,且方陣的任一子方陣的對(duì)角線上的元是相等的。具有Toeplitz性質(zhì)的線性方程可以按下列思路求解:先假設(shè)導(dǎo)出了只有N-1元的方程組的解,并由此推出N元方程組的解。這是一種遞推算法,應(yīng)用于最佳權(quán)系數(shù)估值,就形成了Durbin算法。這里不做詳細(xì)推倒了,直接給出格式結(jié)構(gòu),下圖所示:它是基于一系列預(yù)測誤差濾波器的去相關(guān)傳輸結(jié)構(gòu)。格形結(jié)構(gòu)的誤差預(yù)測器的遞推公式如下:f(n)=f(n)-k(n)b(n-1)(me(0,M])m m-1 m m-1b(n)=b(n-1)-k(n)f(n)(me(0,M])m m-1 m m-1其中,fm(n)是前向預(yù)測誤差,bm(n)是后向預(yù)測誤差,km(是反射系數(shù),m是階數(shù)序列值,M是串聯(lián)的總級(jí)數(shù)。格式結(jié)構(gòu)的優(yōu)點(diǎn)是按階遞歸,故增加或減少級(jí)數(shù)不會(huì)影響存在的階數(shù)設(shè)計(jì)。要用格形濾波器進(jìn)行實(shí)際數(shù)據(jù)處理,首先要知道km(n),這些系數(shù)可以使用Durbin算法,由自相關(guān)系數(shù)的估值來算出,運(yùn)算量很大。可以使用下列反射系數(shù)的遞推方程來遞推估計(jì)。k(n+1)=k(n)+u[f(n)b(n一1)b(n)f(n)]m m m m-1 m m-1
在諸如噪聲消除器、信道均衡器、在線信號(hào)增強(qiáng)器等自適應(yīng)濾波器的應(yīng)用中,可以采用格形結(jié)構(gòu)。這種格形抽頭結(jié)構(gòu)完成兩類最佳估計(jì):一類是格形誤差預(yù)測器,輸出分別為前向預(yù)測誤差fm(n)和后向預(yù)測誤差bm(n);另一類是多路回歸濾波器,其特性用下列方程表示:e(n)=d(n)-b(n)g(n)000e(n)=e(n)-b(n)g(n)m m-1 m-1 m-1y(n)仝g(n)b(n)mm=0m從上面算法可以看出,格形抽頭自適應(yīng)濾波器的計(jì)算要復(fù)雜得多,但計(jì)算量的增加卻帶來很多好處。首先是收斂速度比橫向結(jié)構(gòu)來得快,同時(shí)穩(wěn)定性更好。其次,系數(shù)量化精度的影響很小,對(duì)于的低位數(shù)要求也使舍入誤差很小。另外,格式結(jié)構(gòu)自適應(yīng)濾波器還提供了誤慶差預(yù)測值和反射系數(shù)最佳值,后者在作其他分析時(shí)有明顯物理意義。正是這些優(yōu)點(diǎn),使格式結(jié)構(gòu)得到廣泛應(yīng)用。2.4LMS算法與RLS算法LMS算法LMS算法是上世紀(jì)50到60年代通用電子公司在研制天線的過程中為抑制旁瓣而提出的。隨后又發(fā)展出了歸一化算法和加遺忘因子LMS算法。1977年,Makjoul提出了格型濾波器,法并由此發(fā)展出了LMS自適應(yīng)格型濾波器算法。Herzberg等人提出了延時(shí)LMS(DLMS器,法2002年尚勇等人提出了并行延時(shí)LMS算法;此外還有附屬LMS算法、數(shù)據(jù)塊LMS算法LMS算法具有低計(jì)算復(fù)雜度、在平穩(wěn)環(huán)境中收斂性好、均值無偏的收斂到維納解等優(yōu)點(diǎn),使LMS算法成為應(yīng)用最廣的自適應(yīng)算法。由于LMS算法廣泛的應(yīng)用,所以為了解決實(shí)際問題,基于基本LMS算法的新的LMS算法不斷地被提出。本設(shè)計(jì)就是使用LMS算法來實(shí)現(xiàn)對(duì)信號(hào)的自適應(yīng)濾波的。RLS算法盡管LMS算法的應(yīng)用廣泛,但是它也有缺點(diǎn)。當(dāng)環(huán)境噪聲不是平穩(wěn)隨機(jī)信號(hào)時(shí),LMS算法很難自適應(yīng)的跟蹤統(tǒng)計(jì)特性變化的外部噪聲干擾,因而其收斂效果一般。而基于RLS的自適應(yīng)濾波算法克服了上述缺點(diǎn),能在非平穩(wěn)環(huán)境下取得較滿意的濾波效果。RLS算法是在LMS算法的基礎(chǔ)上而來的,所不同的是在求均方誤差時(shí)觀測數(shù)據(jù)的長度是變化的。且隨著觀測數(shù)據(jù)的時(shí)間先后順序分別乘了加權(quán)因子。即RLS算法的均方誤差變?yōu)椋篻(k)=丈p(k,n)(n)n=1式中:P(k,n)是加權(quán)因子,滿足0<P(k,n)W1,n=1,2,…,k,也稱作遺忘因子。這樣會(huì)使多次迭代之前的信號(hào)被遺棄掉,當(dāng)濾波器工作于非平穩(wěn)環(huán)境時(shí),觀測數(shù)據(jù)仍可能服從統(tǒng)計(jì)變化的一些特性兩種算法對(duì)比LMS算法只是用以前各時(shí)刻的抽頭參量等作該時(shí)刻數(shù)據(jù)塊評(píng)估時(shí)的平均誤差均方最小的準(zhǔn)則,而未用現(xiàn)時(shí)刻的抽頭參量等來對(duì)以往各時(shí)刻的數(shù)據(jù)塊作重新評(píng)估后的累計(jì)平方誤差最小的準(zhǔn)則,所以LMS算法對(duì)非平穩(wěn)信號(hào)的適應(yīng)性差。RLS算法的基本思想是力圖使在每個(gè)時(shí)刻對(duì)所有已輸入信號(hào)而言重估的平方誤差的加權(quán)和最小,這使得RLS算法對(duì)非平穩(wěn)信號(hào)的適應(yīng)性要好。與LMS算法相比,RLS算法采取時(shí)間平均,因此,所得出的最優(yōu)濾波器依賴于用于計(jì)算平均值的樣本數(shù),而LMS算法是基于集平均而設(shè)計(jì)的,因此穩(wěn)定環(huán)境下LMS算法在不同計(jì)算條件下的結(jié)果是一致的。而無論從運(yùn)算復(fù)雜度上還是從存儲(chǔ)量方面,LMS算法都是非常高效的自適應(yīng)算法。以算法復(fù)雜度為例,LMS算法只需要2L次乘法和加法運(yùn)算,其復(fù)雜度比RLS算法小得多。而且LMS算法的另一個(gè)優(yōu)點(diǎn)是它沒有計(jì)算穩(wěn)定性問題,而這是RLS算法無法回避的。因此綜上LMS算法是目前使用最廣泛的自適應(yīng)算法,這一點(diǎn)在與定點(diǎn)DSP相關(guān)的工程實(shí)例中體現(xiàn)的十分突出。自適應(yīng)濾波器的應(yīng)用自適應(yīng)預(yù)測下圖中給出了自適應(yīng)預(yù)測的系統(tǒng)結(jié)構(gòu)。原始信號(hào)d(n)的延時(shí)x(n)是自適應(yīng)濾波器的輸入信號(hào),y(n)為預(yù)測信號(hào)輸出,e(n)為預(yù)測誤差。自適應(yīng)預(yù)測的最主要應(yīng)用例子是語音信號(hào)的波形編碼。為了提高信道容量,壓縮編碼技術(shù)是很重要的手段。自適應(yīng)濾波器利用語音信號(hào)相鄰采樣值的相關(guān)性,可使預(yù)測的誤差信號(hào)e(n)平均來講比輸入信號(hào)小得多,因而把誤差信號(hào)量化并傳輸給接收端所需要的位數(shù)要少得多。這種波形編碼就是自適應(yīng)差分脈沖編碼(ADPCM),它保證以32kbps的速率完成語音無失真?zhèn)鬏?。自適應(yīng)均衡器下圖中給出另一類應(yīng)用系統(tǒng)一一自適應(yīng)均衡器的框圖。x(n)為接收信號(hào)加上信道噪聲,它是所接收的信號(hào)通過信道濾波的結(jié)果。d(n)為檢測碼(傳輸模式)或偽隨機(jī)碼(訓(xùn)練模式).y(n)為均衡輸出碼,e(n)為碼簡串?dāng)_剩余,再加上噪聲。自適應(yīng)濾波器是自適應(yīng)技術(shù)在電訊中很重要的應(yīng)用,其目的是減小信道產(chǎn)生的幅度和相位失真。因?yàn)樵跀?shù)字傳輸系統(tǒng)中,每個(gè)數(shù)碼的傳送會(huì)因信道的影響,產(chǎn)生時(shí)域上展寬——即會(huì)造成接收信號(hào)中數(shù)碼的交疊,形成碼間干擾。自適應(yīng)濾波器用來分離各個(gè)數(shù)碼,減少碼間串?dāng)_。在很多情況下,信道是時(shí)變的,或預(yù)先根本不可知的,此時(shí)使用自適應(yīng)技術(shù)就尤為重要。自適應(yīng)回波消除器在電話系統(tǒng)中,用戶設(shè)備都是雙向走線,從用戶到中心局間的電話網(wǎng)采用雙線分別攜帶進(jìn)來的語音信號(hào)和出去的語音信號(hào)。這樣做,可以使導(dǎo)線對(duì)與中心局終端混頻線圈形成橋式平衡。但在實(shí)際應(yīng)用中,橋式平衡很難完全滿足,就使遠(yuǎn)距離談話者的語音信號(hào)中的一部分以回波的形式返回到原端,影響話音信號(hào)的質(zhì)量。尤其是在衛(wèi)星通信這樣的大型線路中,回波返回的延遲時(shí)間長達(dá)幾百毫秒,對(duì)話音的影響和損害就非常嚴(yán)重。為此,可以在網(wǎng)絡(luò)的兩端安裝自適應(yīng)回波消除器,如圖④所示。其中,X(n)為遠(yuǎn)端回波信號(hào)加上近端信號(hào),y(n)為遠(yuǎn)端回波信號(hào)的估計(jì),e(n)為近端信號(hào)和回波估計(jì)剩余。自適應(yīng)回波消除器在長距離話音通訊、高性能電話會(huì)議系統(tǒng)以及衛(wèi)星通信系統(tǒng)中已經(jīng)成了必不可少的組成部分,并不斷有新的應(yīng)用出現(xiàn)。自適應(yīng)噪聲消除器自適應(yīng)噪聲消除器還可以用來構(gòu)成自適應(yīng)的噪聲消除器,其結(jié)構(gòu)如圖⑤所示原始輸入信號(hào)d(n)中的噪聲估計(jì),并把估計(jì)值y(n)與原始信道信號(hào)相減以達(dá)到噪聲消除的結(jié)果。噪聲消除器的應(yīng)用十分廣泛,例如心電圖記錄儀的干擾消除,語音信號(hào)的鎮(zhèn)噪,飛機(jī)、汽車、船艙內(nèi)大量噪聲的抑制,天線旁瓣干擾的消除以及消除50HZ紋波等等。自適應(yīng)濾波器的應(yīng)用遠(yuǎn)遠(yuǎn)不止上面所講的幾種。這些只是在通信中幾個(gè)最常見的應(yīng)用。實(shí)際上,自適應(yīng)技術(shù)的應(yīng)用要廣闊的多。像瞬間頻率跟蹤、外來干擾檢測、聲音多普勒提取在線系統(tǒng)識(shí)別、圖象信號(hào)處理、生物醫(yī)學(xué)信號(hào)處理、波束整形以及自適應(yīng)控制等等。設(shè)計(jì)思路首先對(duì)DMA、A/D和D/A進(jìn)行初始化。然后編寫DMA通道傳輸程序,實(shí)現(xiàn)對(duì)外部信號(hào)的實(shí)時(shí)采集,外部模擬信號(hào)先進(jìn)行A/D轉(zhuǎn)換,利用MCBSP的接收寄存器接收數(shù)據(jù)。之后編寫自適應(yīng)濾波算法程序,或調(diào)用DSPLIB中的自適應(yīng)函數(shù),對(duì)信號(hào)進(jìn)行自適應(yīng)濾波。濾波后信號(hào)存放數(shù)據(jù)區(qū)滿發(fā)出中斷,請(qǐng)求信號(hào)輸出。利用DMA方式傳輸輸出數(shù)據(jù),經(jīng)D/A轉(zhuǎn)換后輸出。程序分析4.1左右分聲道濾波下面是源程序中關(guān)于左右分聲道濾波的代碼段:left[i]=gBufferRcvPing[2*i];right[i]=gBufferRcvPing[2*i+1];gBufferXmtPing[2*i]=leftout[i];gBufferXmtPing[2*i+1]=right[i];其中g(shù)BufferRcvPing是存放所讀入數(shù)據(jù)的數(shù)組,gBufferXmtPing是存放要輸出數(shù)據(jù)的數(shù)組,left是左聲道讀入的數(shù)據(jù),right是右聲道讀入的數(shù)據(jù),leftout是左聲道輸出的數(shù)據(jù),right是右聲道輸出的數(shù)據(jù)。通過咨詢老師我們知道左/右聲道的數(shù)據(jù)分別存放在gBufferRcvPing數(shù)組的雙/單數(shù)地址。因此我們用前兩句代碼將左右聲道的數(shù)據(jù)區(qū)分到兩個(gè)數(shù)組,并在下面對(duì)兩組數(shù)據(jù)分別進(jìn)行處理。在處理完成后再將左右聲道的輸出數(shù)據(jù)按照同樣的規(guī)律傳輸給gBufferXmtPing數(shù)組進(jìn)行輸出。這樣就可以完成設(shè)計(jì)任務(wù)書中的‘分左右聲道分別采集,并進(jìn)行濾波'的要求。4.3LMS自適應(yīng)算法下面是源程序中關(guān)于LMS自適應(yīng)濾波算法的代碼段:dlms(left,h1,leftout,des,delaybuff,step,16,128);dlms(right,h2,rightout,des,delaybuff1,step,16,128);這是對(duì)信號(hào)進(jìn)行LMS算法自適應(yīng)濾波的代碼段,調(diào)用了DSPLIB庫函數(shù)。函數(shù)格式為:dlms(DATA*x,DATA*h,DATA*r,DATA*des,DATA*dbuffer,DATAstep,ushortnh,ushortx)其中,x是長度為nx的輸入向量,h是長度為nh的系數(shù)向量,r是長度為nx的輸出數(shù)據(jù)向量,des是期望輸出數(shù)組,dbuffer指向延時(shí)緩沖。函數(shù)是自適應(yīng)延時(shí)LMSFIR濾波,步長step=2Xu,輸入數(shù)據(jù)存儲(chǔ)在dbuffer中,濾波輸出結(jié)果存儲(chǔ)在r中,該函數(shù)使用LMS指令完成濾波和修改系數(shù)。調(diào)試過程與實(shí)現(xiàn)效果本次調(diào)試過程大致可分為兩部分,即對(duì)疊加了高頻信號(hào)的正弦信號(hào)進(jìn)行濾波和對(duì)疊加了高斯白噪聲的信號(hào)進(jìn)行濾波。下面將分別敘述調(diào)試過程和實(shí)現(xiàn)的效果。5.1對(duì)疊加了高頻信號(hào)的正弦信號(hào)進(jìn)行濾波首先利用Matlab生成一個(gè)750Hz的正弦信號(hào),其中疊加了5000Hz的正弦信號(hào)。將計(jì)算機(jī)的音頻輸出端口連接到DSP系統(tǒng)的信號(hào)輸入端口,計(jì)算機(jī)的音頻輸入端口連接到DSP系統(tǒng)的信號(hào)輸出端口。然后用CCS打開編寫好的工程,進(jìn)行編譯后開始運(yùn)行工程。在計(jì)算機(jī)上播放疊加了5000Hz信號(hào)的750Hz正弦信號(hào),并打開虛擬儀器,利用虛擬儀器和CCS的信號(hào)分析工具共同來觀察波形。觀察到波形如下:
本次濾波的步長step設(shè)置為150。1117--1117-727-364-0 7.11 14.2 21.3 28.4 35.6 42.7 49.8 56.9 64.0 71.1 78.2 85.3 92.4 99.6 107 114 121 1271818:1454-1091-本次濾波的步長step設(shè)置為150。1117--1117-727-364-0 7.11 14.2 21.3 28.4 35.6 42.7 49.8 56.9 64.0 71.1 78.2 85.3 92.4 99.6 107 114 121 1271818:1454-1091--364--1091--1454--1818.18621490-745--745--1490--1862.圖(1)?第一次濾波前后信號(hào)時(shí)域波形(step=150)I圖(2)?第一次濾波前后信號(hào)頻域波形(step=150)圖(1)中是由CCS觀察到的經(jīng)過濾波前后信號(hào)的時(shí)域波形。其中上方為濾波前信號(hào),下方為經(jīng)過濾波的信號(hào)??梢姙V波前的信號(hào)中疊加了明顯的高頻分量,而濾波后信號(hào)高頻分量大幅度較少,信號(hào)也比較平滑,較為接近原始信號(hào)。圖(2)是通過虛擬儀器觀察到濾波前后信號(hào)的頻域波形,下方是濾波前信號(hào)的頻域波形,下方是濾波后信號(hào)的頻域波形。通過此圖可以更加明顯的看出濾波的效果。濾波前信號(hào)頻譜有明顯的兩個(gè)譜峰,而經(jīng)過濾波后高頻的譜峰幾乎全部被濾除,濾波效果明顯。第二次將濾波的步長step調(diào)整為70,觀察濾波效果并與step=150時(shí)作對(duì)比。
圖(3)是第二次濾波前后信號(hào)的時(shí)域波形??梢钥闯鰹V波效果也比較明顯,但是波形并不如第一次濾波平滑。這點(diǎn)在頻域波形中體現(xiàn)的更明顯,如圖(4)所示。上方為經(jīng)過濾波后信號(hào)的頻譜,可見高頻分量被明顯的衰減,但是仍有較大的參與,這點(diǎn)也與時(shí)域圖中觀察到的結(jié)果相吻合。除了這兩次濾波外,我還將step設(shè)置過從幾十到幾百的很多個(gè)數(shù)值,通過觀察效果可以簡單地下一個(gè)結(jié)論:step增大會(huì)使濾波的效果變好,但是step增大會(huì)影響濾波的穩(wěn)定性,即step偏大時(shí)輸出信號(hào)會(huì)產(chǎn)生震蕩,濾波效果時(shí)好時(shí)壞;此外,當(dāng)step過大或過小時(shí),會(huì)出現(xiàn)無法收斂的可能,即毫無濾波效果。
5.2對(duì)疊加了高斯白噪聲的信號(hào)進(jìn)行濾波對(duì)疊加了高斯白噪聲的信號(hào)進(jìn)行濾波的過程與上一節(jié)類似。首先利用Matlab生成一個(gè)750Hz的正弦信號(hào),其中疊加了高斯白噪聲信號(hào),信噪比為7dB。將計(jì)算機(jī)的音頻輸出端口連接到DSP系統(tǒng)的信號(hào)輸入端口,計(jì)算機(jī)的音頻輸入端口連接到DSP系統(tǒng)的信號(hào)輸出端口。然后用CCS打開編寫好的工程,進(jìn)行編譯后開始運(yùn)行工程。在計(jì)算機(jī)上播放疊加了噪聲信號(hào)的750Hz正弦信號(hào),并打開虛擬儀器,利用虛擬儀器和CCS的信號(hào)分析工具共同來觀察波形。觀察到波形如下:本次濾波的步長step設(shè)置為150。0 7.11 14.2 21.3 28.4 35.6 42.7 49.8 56.9 64.0 71.1 78.2 85.3 92.4 99.6 107 114 121 127圖(6).第一次濾波前后信號(hào)頻域波形(step=150)
圖(5)中是對(duì)疊加了噪音的信號(hào)進(jìn)行第一次濾波前后的信號(hào)時(shí)域波形。上方是疊加了噪聲的輸入信號(hào),下方是濾波后的信號(hào)??梢娡ㄟ^濾波后,信號(hào)明顯變得平滑和完整,十分接近原始750Hz的單正弦信號(hào)。圖(6)是濾波前后信號(hào)的頻域波形??梢娤路降妮斎胄盘?hào)有較多的噪聲分量,而上方濾波后信號(hào)帶外噪聲明顯減少,這也與時(shí)域的波形相一致。第二次將濾波的步長step調(diào)整為70,觀察濾波效果并與step=150時(shí)作對(duì)比。圖(7).第二次濾波前后信號(hào)時(shí)域波形(step=70)圖(8).第二次濾波前后信號(hào)頻域波形(step=70)由以上兩圖可知,當(dāng)step調(diào)整為70后,對(duì)濾波的效果并無太大的影響。但是此后我又將step設(shè)置為相差更大的值。這是得到的結(jié)論與對(duì)疊加了高頻信號(hào)的正弦信號(hào)進(jìn)行濾波時(shí)相類似,即step較大時(shí)濾波效果較好,step較小時(shí)濾波穩(wěn)定性較好,但是當(dāng)step過大或過小時(shí)會(huì)出現(xiàn)無法濾波的情況。說明一點(diǎn),為了能在虛擬儀器上同時(shí)觀察濾波前后的波形,做以上測試時(shí)我們只對(duì)左聲道進(jìn)行了濾波處理,而右聲道是直接輸出。將左右聲道都進(jìn)行濾波處理時(shí),得到的效果與單一聲道處理時(shí)完全一致。這也驗(yàn)證了設(shè)計(jì)任務(wù)書中‘左右聲道分別采集信號(hào),并進(jìn)行濾波的附加設(shè)計(jì)要求的可行性。通過以上測試,可以初步認(rèn)為這一自適應(yīng)濾波系統(tǒng)可以滿足設(shè)計(jì)要求。7參考文獻(xiàn)趙洪亮.TMS320C55xDSP應(yīng)用系統(tǒng)設(shè)計(jì)(第二版)?北京:北京航空航天大學(xué)出版社,2010.李利.DSP原理及應(yīng)用(第二版).北京:中國水利水電出版社,2012.劉艷萍.DSP技術(shù)原理及應(yīng)用教程(第三版).北京:北京航空航天大學(xué)出版社,2012.張衛(wèi)寧.DSP原理與應(yīng)用教程.北京:科學(xué)出版社,2008.王麗芳,陳益平.基于DSP的自適應(yīng)濾波器的實(shí)現(xiàn).北京:計(jì)算機(jī)仿真,2009(9).281-284.附:原始程序#include<stdio.h>#include<csl_mcbsp.h>#include<csl_dma.h>#include<csl_irq.h>// Globaldatadefinition/*Constantsforthebufferedping-pongtransfer*/#defineBUFFSIZE256#definePING0#definePONG1#definestep300#pragmaDATA_SECTION(gBufferXmtPing,"buffer_sect")Int16gBufferXmtPing[BUFFSIZE];//TransmitPINGbuffer#pragmaDATA_SECTION(gBufferXmtPong,"buffer_sect");Int16gBufferXmtPong[BUFFSIZE];//TransmitPONGbuffer#pragmaDATA_SECTION(gBufferRcvPing,"buffer_sect");Int16gBufferRcvPing[BUFFSIZE];//ReceivePINGbuffer#pragmaDATA_SECTION(gBufferRcvPong,"buffer_sect");Int16gBufferRcvPong[BUFFSIZE];//ReceivePONGbuffer#pragmaDATA_SECTION(left,"buffer_sect");Int16left[128];//#pragmaDATA_SECTION(right,"buffer_sect");Int16right[128];//#pragmaDATA_SECTION(h1,"buffer_sect");Int16h1[16];#pragmaDATA_SECTION(h2,"buffer_sect");Int16h2[16];#pragmaDATA_SECTION(des,"buffer_sect");Int16des[128]={0,3196,6270,9102,11585,13623,15137,16069,16384,16069,15137,13623,11585,9102,6270,3196,0,-3196,-6270,-9102,-11585,-13623,-15137,-16069,-16384,-16069,-15137,-13623,-11585,-9102,-6270,-3196,0,3196,6270,9102,11585,13623,15137,16069,16384,16069,15137,13623,11585,9102,6270,3196,0,-3196,-6270,-9102,-11585,-13623,-15137,-16069,-16384,-16069,-15137,-13623,-11585,-9102,-6270,-3196,0,3196,6270,9102,11585,13623,15137,16069,16384,16069,15137,13623,11585,9102,6270,3196,0,-3196,-6270,-9102,-11585,-13623,-15137,-16069,-16384,-16069,-15137,-13623,-11585,-9102,-6270,-3196,0,3196,6270,9102,11585,13623,15137,16069,16384,16069,15137,13623,11585,9102,6270,3196,0,-3196,-6270,-9102,-11585,-13623,-15137,-16069,-16384,-16069,-15137,-13623,-11585,-9102,-6270,-3196,};#pragmaDATA_SECTION(leftout,"buffer_sect");Int16leftout[128];
#pragmaDATA_SECTION(rightout,"buffer_sect");Int16rightout[128];#pragmaDATA_SECTION(delaybuff,"buffer_sect");Int16delaybuff[18];#pragmaDATA_SECTION(delaybuff,"buffer_sect");Int16delaybuff[18];#pragmaDATA_SECTION(flag,"buffer_sect");shortflag[14];#pragmaDATA_SECTION(delaybuff1,"buffer_sect");Int16delaybuff1[18];/* MCBSP_ConfigMcbsp1Config={//DLB//DLB=0//RJUST=0,rightjustifythedataandzerofill////FREE =0//SOFT =0//FRST=1;Enabletheframe-synclogic//GRST=1;Thesamplerategeneratoristake//XINTM=0//XSYNCER=0//XEMPTY=0//XRDY=0//XRST=0DisabletransimitterMCBSP_SPCR1_CLKSTP_DISABLE,MCBSP_SPCR1_DXENA_ON,0,MCBSP_SPCR1_RINTM_RRDY,MCBSP_SPCR1_RSYNCERR_NO,//MCBSP_SPCR1_RFULL_NO,//MCBSP_SPCR1_RRDY_NO,MCBSP_SPCR1_RRST_DISABLE),MCBSP_SPCR2_RMK(MCBSP_SPCR2_FREE_NO,MCBSP_SPCR2_SOFT_NO,MCBSP_SPCR2_FRST_FSG,MCBSP_SPCR2_GRST_CLKG,outofitsresetstateMCBSP_SPCR2_XINTM_XRDY,MCBSP_SPCR2_XSYNCERR_NO,//MCBSP_SPCR2_XEMPTY_NO,//MCBSP_SPCR2_XRDY_NO,MCBSP_SPCR2_XRST_DISABLE//CLKSTP=0//DXENA=1,DXdelayenableron//Reserved=0//RINTM=0//RSYNCER=0//RFULL=0//RRDY=0//RRST=0;DisablereceiverMCBSP_RCR1_RFRLEN1_OF(1),MCBSP_RCR1_RFRLEN1_OF(1),MCBSP_RCR1_RWDLEN1_16BIT),MCBSP_RCR2_RMK(MCBSP_RCR2_RPHASE_SINGLE,MCBSP_RCR2_RFRLEN2_OF(0),MCBSP_RCR2_RWDLEN2_8BIT,MCBSP_RCR2_RCOMPAND_MSB,receivedfirstMCBSP_RCR2_RFIG_YES,MCBSP_RCR2_RDATDLY_1BIT),MCBSP_XCR1_RMK(MCBSP_XCR1_XFRLEN1_OF(1),),//單數(shù)據(jù)相,接受數(shù)據(jù)長度為16位,每相2個(gè)數(shù)據(jù)MCBSP_RCR1_RMK(//RFRLEN1=1//RWDLEN1=2//RPHASE=0//RFRLEN2=0//RWDLEN2=0//RCOMPAND=0Nocompanding,anysizedata,MSB//RFIG=1Frame-syncignore//RDATDLY=11-bitdatadelay//XFRLEN1=1XWDLEN1//IDLEEN//XIOEN//RIOEN//FSXM//XPHASE
XFRLEN2//XWDLEN2XWDLEN1//IDLEEN//XIOEN//RIOEN//FSXM//XPHASE
XFRLEN2//XWDLEN2//XCOMPAND//XFIG=//XDATDLY=//////FSRM//CLKRis//CLKXisinput//SCLKME=0CLKGistakenfromtheMcBSPinternalinput//ThesignalontheCLKSpinislow//DrivethesignalontheDXpinlow//Thesignal//FSXPontheDRpinislow1BecauseafallingedgeonLRCIN//FSRP//CLKXP=1=1//CLKRPMCBSP_XCR1_XWDLEN1_16BIT),MCBSP_XCR2_RMK(MCBSP_XCR2_XPHASE_SINGLE,MCBSP_XCR2_XFRLEN2_OF(0),MCBSP_XCR2_XWDLEN2_8BIT,MCBSP_XCR2_XCOMPAND_MSB,MCBSP_XCR2_XFIG_YES,MCBSP_XCR2_XDATDLY_1BIT),MCBSP_SRGR1_DEFAULT,MCBSP_SRGR2_DEFAULT,MCBSP_MCR1_DEFAULT,MCBSP_MCR2_DEFAULT,MCBSP_PCR_RMK(//MCBSP_PCR_IDLEEN_RESET,MCBSP_PCR_XIOEN_SP,MCBSP_PCR_RIOEN_SP,MCBSP_PCR_FSXM_EXTERNAL,AIC23BMCBSP_PCR_FSRM_EXTERNAL,AIC23BMCBSP_PCR_CLKXM_INPUT,MCBSP_PCR_CLKRM_INPUT,MCBSP_PCR_SCLKME_NO,inputclock//MCBSP_PCR_CLKSSTAT_0,MCBSP_PCR_DXSTAT_0,//MCBSP_PCR_DRSTAT_0,MCBSP_PCR_FSXP_ACTIVEHIGH,orLRCOUTstartsdatatransferMCBSP_PCR_FSRP_ACTIVELOW,MCBSP_PCR_CLKXP_FALLING,datatransferMCBSP_PCR_CLKRP_RISING),MCBSP_RCERA_DEFAULT,MCBSP_RCERB_DEFAULT,MCBSP_RCERC_DEFAULT,MCBSP_RCERD_DEFAULT,MCBSP_RCERE_DEFAULT,MCBSP_RCERF_DEFAULT,MCBSP_RCERG_DEFAULT,MCBSP_RCERH_DEFAULT,MCBSP_XCERA_DEFAULT,MCBSP_XCERB_DEFAULT,MCBSP_XCERC_DEFAULT,MCBSP_XCERD_DEFAULT,MCBSP_XCERE_DEFAULT,MCBSP_XCERF_DEFAULT,MCBSP_XCERG_DEFAULT,MCBSP_XCERH_DEFAULT};00=0=01UnexpectedFrame-syncignore11-bitdatadelay=0=0=00Tranmitframe-synisprovidedby=0Receiveframe-synisprovidedbyThefallingedgeofBCLKstartsDMA_ConfigdmaRcvConfig={DMA_DMACSDP_RMK(DMA_DMACSDP_DSTBEN_NOBURST,DMA_DMACSDP_DSTPACK_OFF,DMA_DMACSDP_DST_DARAMPORT1,DMA_DMACSDP_SRCBEN_NOBURST,DMA_DMACSDP_SRCPACK_OFF,DMA_DMACSDP_SRC_PERIPH,DMA_DMACSDP_DATATYPE_16BIT),DMA_DMACCR_RMK(DMA_DMACCR_DSTAMODE_POSTINC,DMA_DMACCR_SRCAMODE_CONST,DMA_DMACCR_ENDPROG_OFF,DMA_DMACCR_WP_DEFAULT,DMA_DMACCR_REPEAT_OFF,DMA_DMACCR_AUTOINIT_ON,DMA_DMACCR_EN_STOP,DMA_DMACCR_PRIO_LOW,DMA_DMACCR_FS_DISABLE,DMA_DMACCR_SYNC_REVT1),DMA_DMACICR_RMK(DMA_DMACICR_AERRIE_ON,DMA_DMACICR_BLOCKIE_OFF,DMA_DMACICR_LASTIE_OFF,DMA_DMACICR_FRAMEIE_ON,DMA_DMACICR_FIRSTHALFIE_OFF,DMA_DMACICR_DROPIE_OFF,DMA_DMACICR_TIMEOUTIE_OFF),(DMA_AdrPtr)(MCBSP_ADDR(DRR11)),0,NULL,0,BUFFSIZE,1,0,0};DMA_ConfigdmaXmtConfig={DMA_DMACSDP_RMK(DMA_DMACSDP_DSTBEN_NOBURST,DMA_DMACSDP_DSTPACK_OFF,DMA_DMACSDP_DST_PERIPH,DMA_DMACSDP_SRCBEN_NOBURST,DMA_DMACSDP_SRCPACK_OFF,DMA_DMACSDP_SRC_DARAMPORT0,DMA_DMACSDP_DATATYPE_16BIT),DMA_DMACCR_RMK(DMA_DMACCR_DSTAMODE_CONST,/*DMACSDP*//*ENDPROGOFF*//*AUTOINITON*//*DMACCR*//*DMACICR*//*DMACSSAL*//*DMACSSAU*//*DMACDSAL,tobeloadedbysubmit*//*DMACDSAU*//*DMACEN*//*DMACFN*//*DMACFI*//*DMACEI*//*DMACSDP*/DMA_DMACCR_SRCAMODE_POSTINC,DMA_DMACCR_ENDPROG_ON,DMA_DMACCR_WP_DEFAULT,DMA_DMACCR_REPEAT_OFF,DMA_DMACCR_AUTOINIT_OFF,DMA_DMACCR_EN_STOP,DMA_DMACCR_PRIO_LOW,DMA_DMACCR_FS_DISABLE,DMA_DMACCR_SYNC_XEVT1),/*DMACCR*/DMA_DMACICR_RMK(DMA_DMACICR_AERRIE_ON,DMA_DMACICR_BLOCKIE_OFF,DMA_DMACICR_LASTIE_OFF,DMA_DMACICR_FRAMEIE_ON,DMA_DMACICR_FIRSTHALFIE_OFF,DMA_DMACICR_DROPIE_OFF,DMA_DMACICR_TIMEOUTIE_OFF),/*DMACICR*/NULL,/*DMACDSAL,tobeloadedbysubmit*/0,/*DMACSSAU*/(DMA_AdrPtr)(MCBSP_ADDR(DXR11)),/*DMACDSAL*/0,/*DMACDSAU*/BUFFSIZE,/*DMACEN*/1,/*DMACFN*/0,/*DMACFI*/0};/*DMACEI*/};/*DefineaDMA_HandleobjecttobeusedwithDMA_openfunction*/DMA_HandlehDmaRcv,hDmaXmt;/*DefineaMCBSP_HandleobjecttobeusedwithMCBSP_openfunction*/MCBSP_HandlehMcbsp;volatileUint16transferComplete=FALSE;Uint16err=0;Uint16old_intm;Uint16xmtEventId,rcvEventId;// Functionprototypes externvoidVECSTART(void);interruptvoiddmaXmtIsr(void);interruptvoiddmaRcvIsr(void);voidtaskFxn(void);/*copyData()-Copyonebufferwithlengthelementstoanother.*/voidcopyData(Int16*inbuf,Int16*outbuf,Int16length){Int16i=0;for(i=0;i<length;i++){outbuf[i]=inbuf[i];}}/* Threads */voidprocessBuffer(void){Uint32addr;Int16i=0;staticInt16pingPong=PING;while(DMA_FGETH(hDmaRcv,DMACCR,ENDPROG)){J}//Determinewhichping-pongstatewe'reinif(pingPong==PING){//Configurethereceivechannelforponginputdataaddr=((Uint32)gBufferRcvPong)<<1;DMA_RSETH(hDmaRcv,DMACDSAL,addr&0xffff);DMA_RSETH(hDmaRcv,DMACDSAU,(addr>>16)&0xffff);//SetnewstatetoPONGpingPong=PONG;}else{//Configurethereceivechannelforpinginputdataaddr=((Uint32)gBufferRcvPing)<<1;DMA_RSETH(hDmaRcv,DMACDSAL,addr&0xffff);DMA_RSETH(hDmaRcv,DMACDSAU,(addr>>16)&0xffff);//SetnewstatetoPINGpingPong=PING;}DMA_FSETH(hDmaRcv,DMACCR,ENDPROG,1);//DMA_FSETH(hDmaXmt,DMACCR,ENDPROG,1);if(pingPong==PONG){//Insertyourapplicationprogramhere//copyData(gBufferRcvPing,gBufferXmtPing,BUFFSIZE);for(i=0;i<128;i++){left[i]=gBufferRcvPing[2*i];right[i]=gBufferRcvPing[2*i+1];}dlms(left,h1,leftout,des,delaybuff,step,16,128);dlms(right,h2,rightout,des,delaybuff1,step,16,128);for(i=0;i<128;i++){gBufferXmtPing[2*i]=leftout[i];gBufferXmtPing[2*i+1]=right[i];}//Configurethetransmitchannelforpingoutputdataaddr=((Uint32)gBufferXmtPing)<<1;DMA_RSETH(hDmaXmt,DMACSSAL,addr&0xffff);DMA_RSETH(hDmaXmt,DMACSSAU,(addr>>16)&0xffff);}else{//Insertyourapplicationprogramhere//copyData(gBufferRcvPong,gBufferXmtPong,BUFFSIZE);for(i=0;i<128;i++){left[i]=gBufferRcvPong[2*i];right[i]=gBufferRcvPong[2*i+1];}dlms(left,h1,leftout,des,delaybuff,step,16,128);dlms(right,h2,rightout,des,delaybuff1,step,16,128);for(i=0;i<128;i++){gBufferXmtPong[2*i]=leftout[i];gBufferXmtPong[2*i+1]=right[i];}//Configurethetransmitchannelforpongoutputdataaddr=((Uint32)gBufferXmtPong)<<1;DMA_RSETH(hDmaXmt,DMACSSAL,addr&0xffff);DMA_RSETH(hDmaXmt,DMACSSAU,(addr>>16)&0xffff);}//StarttheDMA//DMA_start(hDmaRcv);//DMA_start(hDmaXmt);}// mainroutine voidmain(void){Uint16i;/*InitializeCSLlibrary-ThisisREQUIRED!!!*/CSL_init();//Themainfrequencyofsystemis240MHz//該頻率是為了設(shè)置IIC模塊的需要設(shè)置的,為了使用I2C_setup函數(shù)PLL_setFreq(l,0xC,0,1,3,3,0);//EMIF初始化Emif_Config();//OpenMcBSPport1andgetaMcBSPtypehandlehMcbsp=MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);//ConfigMcBSPport1byusepreviouslydefinedstructureMCBSP_config(hMcbsp,&Mcbsp1Config);//I2C初始化I2C_cofig();//CODEC寄存器初始化inti_AIC();/*SetIVPH/IVPDtostartofinterruptvectortable*/IRQ_setVecs((Uint32)(&VECSTART));for(i=0;i<=BUFFSIZE-1;i++){gBufferXmtPing[i]= 0;gBufferXmtPong[i]=0;}for(i=0;i<16;i++){h1[i]=0;h2[i]=0;}/*Callfunctiontoeffecttransfer*/taskFxn();}voidtaskFxn(void){Uint16srcAddrHi,srcAddrLo;Uint16dstAddrHi,dstAddrLo;/*Bydefault,theTMS320C55xxcompilerassignsalldatasymbolsword*//*addresses.TheDMAhowever,expectsalladdressestobebyte*//*addresses.Therefore,wemustshifttheaddressby2inorderto*//*changethewordaddresstoabyteaddressfortheDMAtransfer.*/srcAddrHi=(Uint16)(((Uint32)(MCBSP_ADDR(DRR11)))>>15)&0xFFFFu;srcAddrLo=(Uint16)(((Uint32)(MCBSP_ADDR(DRR11)))<<1)&0xFFFFu;dstAddrHi=(Uint16)(((Uint32)(&gBufferRcvPing))>>15)&0xFFFFu;dstAddrLo=(Uint16)(((Uint32)(&gBufferRcvPing))<<1)&0xFFFFu;dmaRcvConfig.dmacssal=(DMA_AdrPtr)srcAddrLo;dmaRcvConfig.dmacssau=srcAddrHi;dmaRcvConfig.dmacdsal=(DMA_AdrPtr)dstAddrLo;dmaRcvConfig.dmacdsau=dstAddrHi;srcAddrHi=(Uint16)(((Uint32)(&gBufferXmtPing))>>15)&0xFFFFu;srcAddrLo=(Uint16)(((Uint32)(&gBufferXmtPing))<<1)&0xFFFFu;dstAddrHi=(Uint16)(((Uint32)(MCBSP_ADDR(DXR11)))>>15)&0xFFFFu;dstAddrLo=(Uint16)(((Uint32)(MCBSP_ADDR(DXR11)))<<1)&0xFFFFu;dmaXmtConf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考復(fù)習(xí)易混易考多音字
- 一年級(jí)語文下冊(cè)識(shí)字8教案2蘇教版
- 分配生考試題及答案
- 2024-2025學(xué)年高中數(shù)學(xué)第一講坐標(biāo)系三簡單曲線的極坐標(biāo)方程1圓的極坐標(biāo)方程講義含解析新人教A版選修4-4
- 四年級(jí)數(shù)學(xué)下冊(cè)3.1折線統(tǒng)計(jì)圖的認(rèn)識(shí)教案3滬教版
- 四年級(jí)數(shù)學(xué)下冊(cè)1.2整數(shù)的運(yùn)算性質(zhì)教案4滬教版
- 激光技術(shù)在新材料研發(fā)中的應(yīng)用案例研究試題及答案
- 藥物制造工藝基礎(chǔ)知識(shí)試題及答案
- 育嬰師考試復(fù)習(xí)中不可忽視的環(huán)節(jié)試題及答案
- 藥劑師在公共衛(wèi)生中的重要性試題及答案
- 2024無障礙設(shè)施行業(yè)趨勢(shì)分析
- 中考總復(fù)習(xí):無刻度直尺作圖2
- 第5課《弘揚(yáng)勞動(dòng)精神勞模精神工匠精神》第2框《踐行勞動(dòng)精神勞模精神工匠精神》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- 小米汽車發(fā)布會(huì)
- 學(xué)前教育實(shí)習(xí)報(bào)告范文2000字2篇
- 2024年河北省專升本考試生理學(xué)康復(fù)治療學(xué)專業(yè)測試題含解析
- 電商用戶畫像構(gòu)建與精準(zhǔn)營銷報(bào)告
- 2023-2024學(xué)年七年級(jí)生物冀少版下冊(cè)期末測試卷(一)
- TL-PMM180超低煙塵使用及維護(hù)培訓(xùn)
- 能源托管項(xiàng)目解決方案
- 夏季換季護(hù)膚知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論