利用DSP實(shí)現(xiàn)自適應(yīng)濾波_第1頁
利用DSP實(shí)現(xiàn)自適應(yīng)濾波_第2頁
利用DSP實(shí)現(xiàn)自適應(yīng)濾波_第3頁
利用DSP實(shí)現(xiàn)自適應(yīng)濾波_第4頁
利用DSP實(shí)現(xiàn)自適應(yīng)濾波_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、DSP系統(tǒng)課程設(shè)計(jì) DSP課程設(shè)計(jì)設(shè) 計(jì) 報(bào) 告設(shè)計(jì)題目:利用DSP實(shí)現(xiàn)自適應(yīng)濾波 2013 年 7 月 12 日目 錄1 設(shè)計(jì)任務(wù)要求12 理論分析2.1 TMS320C55x概況2.2 自適應(yīng)濾波器原理2.3 自適應(yīng)濾波器結(jié)構(gòu)2.4 LMS算法與RLS算法2.5 自適應(yīng)濾波器的應(yīng)用3 設(shè)計(jì)思路4 程序分析4.1 左右分聲道濾波4.2 LMS自適應(yīng)算法5 調(diào)試過程與實(shí)現(xiàn)效果5.1 調(diào)試過程5.2 實(shí)現(xiàn)效果6 總結(jié)6.1 完成情況6.2 遇到的困難6.3 體會(huì)與感悟7 參考文獻(xiàn)附:原始程序清單1 設(shè)計(jì)任務(wù)要求本課程設(shè)計(jì)的目的是通過利用DSP實(shí)現(xiàn)信號(hào)自適應(yīng)濾波這一過程,是自己更加透徹的理解信號(hào)的

2、采集方法和濾波方法,學(xué)會(huì)調(diào)用DSPLIB庫(kù)中的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)板的Line

3、in輸入端接入正弦信號(hào),分左右聲道分別采集并濾波。2 理論分析2.1 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位17位的乘法運(yùn)算。C55x具有12組獨(dú)立總線,即1組程序讀總線,1組程序地址總線,3組數(shù)據(jù)讀總線,2組數(shù)據(jù)寫總線,5組數(shù)

4、據(jù)地址總線,其指令單位每次可從存儲(chǔ)器中讀取32為程序代碼(C54x只能讀取16位)。C55x含有指令高速存儲(chǔ)器(Cache),以減少對(duì)外部存貯器的訪問,改善了數(shù)據(jù)吞吐量并降低了功耗。C55x采用了16字節(jié)的可改變字節(jié)寬度指令(C54x的指令長(zhǎng)度為固定的16位),從而提高了代碼的密度。2.2 自適應(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)話路傳輸

5、條件的變化,像這樣的應(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)。l=0,1,L-1,L為濾波器的階數(shù)。 自適應(yīng)濾波器的目的是,以迭代方式逐步調(diào)整濾波器系數(shù)wl(n),使誤差信號(hào)e(n)的能量(或幅度)不斷減少。定義濾波器的輸入信號(hào)向量為:x(n)=x(n),x(n-1),x(n-L+1)T濾波器系數(shù)矢量為:w(n)=w0(n),w1(n),wL-1(n)T其中上標(biāo)T表示矩陣轉(zhuǎn)置運(yùn)算符,則濾波器輸出為:y(n)=或 y(n)=wT(n)x(n)=x

6、T(n)w(n)誤差信號(hào)為:e(n)=d(n)-y(n)=d(n)-wT(n)x(n)定義性能函數(shù)為:=e2(n)可以得到濾波器系數(shù)更新公式:w(n+1)=w(n)+e(n)x(n)其中,為收斂因子。2.3 自適應(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è)

7、穩(wěn)定的IIR濾波器總是可以用足夠多階的FIR濾波器來近似代替。一個(gè)自適應(yīng)的FIR濾波器的結(jié)構(gòu),可以是橫向結(jié)構(gòu),對(duì)稱橫向結(jié)構(gòu)以及格形結(jié)構(gòu)。2.3.1 橫向型結(jié)構(gòu)橫向型結(jié)構(gòu)是在大多數(shù)應(yīng)用情況下所采用的最主要的自適應(yīng)濾波器結(jié)構(gòu),如下圖所示。濾波器的輸出y(n)表示為:其中X(n)=x(n),x(n-1),x(n-x+1)為輸入矢量,w(n)=w(n),w(n),w(n)是權(quán)系數(shù)矢量,T為轉(zhuǎn)置符,N為時(shí)間序列,N為濾波器的階數(shù)。由表達(dá)式可見,y(n)實(shí)際是兩矢量的內(nèi)積既把x(n)與w(n)相卷的結(jié)果。2.3.2 對(duì)稱橫向型結(jié)構(gòu)如果N階FIR濾波器的單位脈沖響應(yīng)h(n)為實(shí)數(shù),且滿足對(duì)稱性的條件,即:h

8、(n)=h(N-1-n)則稱為對(duì)稱橫向性結(jié)構(gòu),如下圖所示。在具有嚴(yán)格的線性特性的語音處理、波形傳輸系統(tǒng)、圖象處理等方面得到廣泛應(yīng)用。這種關(guān)于中心點(diǎn)對(duì)稱的FIR濾波器的輸出y(n)可由下面的表達(dá)式給出其中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ì),即該

9、矩陣為對(duì)稱矩陣,且方陣的任一子方陣的對(duì)角線上的元是相等的。具有Toeplitz性質(zhì)的線性方程可以按下列思路求解:先假設(shè)導(dǎo)出了只有N-1元的方程組的解,并由此推出N元方程組的解。這是一種遞推算法,應(yīng)用于最佳權(quán)系數(shù)估值,就形成了Durbin算法。這里不做詳細(xì)推倒了,直接給出格式結(jié)構(gòu),下圖所示:它是基于一系列預(yù)測(cè)誤差濾波器的去相關(guān)傳輸結(jié)構(gòu)。格形結(jié)構(gòu)的誤差預(yù)測(cè)器的遞推公式如下:其中,是前向預(yù)測(cè)誤差,是后向預(yù)測(cè)誤差,是反射系數(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ù)處理,首先要知道,這些系數(shù)可以使用Durbin算法

10、,由自相關(guān)系數(shù)的估值來算出,運(yùn)算量很大。可以使用下列反射系數(shù)的遞推方程來遞推估計(jì)。在諸如噪聲消除器、信道均衡器、在線信號(hào)增強(qiáng)器等自適應(yīng)濾波器的應(yīng)用中,可以采用格形結(jié)構(gòu)。這種格形抽頭結(jié)構(gòu)完成兩類最佳估計(jì):一類是格形誤差預(yù)測(cè)器,輸出分別為前向預(yù)測(cè)誤差和后向預(yù)測(cè)誤差;另一類是多路回歸濾波器,其特性用下列方程表示:從上面算法可以看出,格形抽頭自適應(yīng)濾波器的計(jì)算要復(fù)雜得多,但計(jì)算量的增加卻帶來很多好處。首先是收斂速度比橫向結(jié)構(gòu)來得快,同時(shí)穩(wěn)定性更好。其次,系數(shù)量化精度的影響很小,對(duì)于的低位數(shù)要求也使舍入誤差很小。另外,格式結(jié)構(gòu)自適應(yīng)濾波器還提供了誤慶差預(yù)測(cè)值和反射系數(shù)最佳值,后者在作其他分析時(shí)有明顯物理

11、意義。正是這些優(yōu)點(diǎn),使格式結(jié)構(gòu)得到廣泛應(yīng)用。2.4 LMS算法與RLS算法 2.4.1 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)用,

12、所以為了解決實(shí)際問題,基于基本LMS算法的新的LMS算法不斷地被提出。本設(shè)計(jì)就是使用LMS算法來實(shí)現(xiàn)對(duì)信號(hào)的自適應(yīng)濾波的。2.4.2 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í)觀測(cè)數(shù)據(jù)的長(zhǎng)度是變化的。且隨著觀測(cè)數(shù)據(jù)的時(shí)間先后順序分別乘了加權(quán)因子。即RLS算法的均方誤差變?yōu)椋海╧)= 式中:(k,n)是加權(quán)因子,滿足0(k,n)1,n=1,

13、2,k,也稱作遺忘因子。這樣會(huì)使多次迭代之前的信號(hào)被遺棄掉,當(dāng)濾波器工作于非平穩(wěn)環(huán)境時(shí),觀測(cè)數(shù)據(jù)仍可能服從統(tǒng)計(jì)變化的一些特性2.4.3 兩種算法對(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算法是基于集平

14、均而設(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)的十分突出。2.5 自適應(yīng)濾波器的應(yīng)用2.5.1 自適應(yīng)預(yù)測(cè)下圖中給出了自適應(yīng)預(yù)測(cè)的系統(tǒng)結(jié)構(gòu)。原始信號(hào)d(n)的延時(shí)x(n)是自適應(yīng)濾波器的輸入信號(hào),y(n)為預(yù)測(cè)信號(hào)輸出,e(n)為預(yù)測(cè)誤差。d(n)延

15、時(shí)自適應(yīng)濾波器結(jié)構(gòu)+-y(n)e(n)x(n)自適應(yīng)預(yù)測(cè)的最主要應(yīng)用例子是語音信號(hào)的波形編碼。為了提高信道容量,壓縮編碼技術(shù)是很重要的手段。自適應(yīng)濾波器利用語音信號(hào)相鄰采樣值的相關(guān)性,可使預(yù)測(cè)的誤差信號(hào)e(n)平均來講比輸入信號(hào)小得多,因而把誤差信號(hào)量化并傳輸給接收端所需要的位數(shù)要少得多。這種波形編碼就是自適應(yīng)差分脈沖編碼(ADPCM),它保證以32kbps的速率完成語音無失真?zhèn)鬏敗?.5.2 自適應(yīng)均衡器下圖中給出另一類應(yīng)用系統(tǒng)自適應(yīng)均衡器的框圖。x(n)為接收信號(hào)加上信道噪聲,它是所接收的信號(hào)通過信道濾波的結(jié)果。d(n)為檢測(cè)碼(傳輸模式)或偽隨機(jī)碼(訓(xùn)練模式).y(n) 為均衡輸出碼,e

16、(n)為碼簡(jiǎ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ù)就尤為重要。2.5.3 自適應(yīng)回波消除器在電話系統(tǒng)中,用戶設(shè)備都是雙向走線,從用戶到中心局間的電話網(wǎng)采用雙線分別攜帶進(jìn)來的語音信號(hào)和出去的語音信號(hào)。這樣做,可以使導(dǎo)線對(duì)與中心局終端混頻線圈形成橋式平衡。但在實(shí)際應(yīng)用中,橋式平衡很難完全滿足,就使遠(yuǎn)距離談話者的語音

17、信號(hào)中的一部分以回波的形式返回到原端,影響話音信號(hào)的質(zhì)量。尤其是在衛(wèi)星通信這樣的大型線路中,回波返回的延遲時(shí)間長(zhǎng)達(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)回波消除器在長(zhǎng)距離話音通訊、高性能電話會(huì)議系統(tǒng)以及衛(wèi)星通信系統(tǒng)中已經(jīng)成了必不可少的組成部分,并不斷有新的應(yīng)用出現(xiàn)。2.5.4 自適應(yīng)噪聲消除器自適應(yīng)噪聲消除器還可以用來構(gòu)成自適應(yīng)的噪聲消除器,其結(jié)構(gòu)如圖所示原始輸入信號(hào)d(n)中的噪聲估計(jì),并把估計(jì)值y(n)與原始信道信號(hào)相減以達(dá)

18、到噪聲消除的結(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)用要廣闊的多。像瞬間頻率跟蹤、外來干擾檢測(cè)、聲音多普勒提取、在線系統(tǒng)識(shí)別、圖象信號(hào)處理、生物醫(yī)學(xué)信號(hào)處理、波束整形以及自適應(yīng)控制等等。3 設(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)濾波算法程序,或

19、調(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 程序分析4.1 左右分聲道濾波下面是源程序中關(guān)于左右分聲道濾波的代碼段:lefti = gBufferRcvPing2*i; righti = gBufferRcvPing2*i+1;gBufferXmtPing2*i = leftouti;gBufferXmtPing2*i+1 = righti; 其中g(shù)BufferRcvPing是存放所讀入數(shù)據(jù)的數(shù)組,gBufferXmtPing是存放要輸出數(shù)據(jù)的數(shù)組,left是左聲道讀入的數(shù)據(jù),right

20、是右聲道讀入的數(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.3 LMS自適應(yīng)算法下面是源程序中關(guān)于LMS自適應(yīng)濾波算法的代碼段:dlms(left,h1,leftout,des,delaybuff,step,16,128);dlms

21、(right,h2,rightout,des,delaybuff1,step,16,128);這是對(duì)信號(hào)進(jìn)行LMS算法自適應(yīng)濾波的代碼段,調(diào)用了DSPLIB庫(kù)函數(shù)。函數(shù)格式為:dlms(DATA*x, DATA*h, DATA*r, DATA*des, DATA*dbuffer, DATA step, ushort nh, ushort x)其中,x是長(zhǎng)度為nx的輸入向量,h是長(zhǎng)度為nh的系數(shù)向量,r是長(zhǎng)度為nx的輸出數(shù)據(jù)向量,des是期望輸出數(shù)組,dbuffer指向延時(shí)緩沖。函數(shù)是自適應(yīng)延時(shí)LMS FIR濾波,步長(zhǎng)step=2u,輸入數(shù)據(jù)存儲(chǔ)在dbuffer中,濾波輸出結(jié)果存儲(chǔ)在r中,該函數(shù)

22、使用LMS指令完成濾波和修改系數(shù)。5 調(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)分析工具共同來觀察波

23、形。觀察到波形如下:本次濾波的步長(zhǎng)step設(shè)置為150。圖(1).第一次濾波前后信號(hào)時(shí)域波形(step=150)圖(2).第一次濾波前后信號(hào)頻域波形(step=150)圖(1)中是由CCS觀察到的經(jīng)過濾波前后信號(hào)的時(shí)域波形。其中上方為濾波前信號(hào),下方為經(jīng)過濾波的信號(hào)。可見濾波前的信號(hào)中疊加了明顯的高頻分量,而濾波后信號(hào)高頻分量大幅度較少,信號(hào)也比較平滑,較為接近原始信號(hào)。圖(2)是通過虛擬儀器觀察到濾波前后信號(hào)的頻域波形,下方是濾波前信號(hào)的頻域波形,下方是濾波后信號(hào)的頻域波形。通過此圖可以更加明顯的看出濾波的效果。濾波前信號(hào)頻譜有明顯的兩個(gè)譜峰,而經(jīng)過濾波后高頻的譜峰幾乎全部被濾除,濾波效果明

24、顯。第二次將濾波的步長(zhǎng)step調(diào)整為70,觀察濾波效果并與step=150時(shí)作對(duì)比。圖(3).第二次濾波前后信號(hào)時(shí)域波形(step=70)圖(4).第二次濾波前后信號(hào)頻域波形(step=70)圖(3)是第二次濾波前后信號(hào)的時(shí)域波形??梢钥闯鰹V波效果也比較明顯,但是波形并不如第一次濾波平滑。這點(diǎn)在頻域波形中體現(xiàn)的更明顯,如圖(4)所示。上方為經(jīng)過濾波后信號(hào)的頻譜,可見高頻分量被明顯的衰減,但是仍有較大的參與,這點(diǎn)也與時(shí)域圖中觀察到的結(jié)果相吻合。除了這兩次濾波外,我還將step設(shè)置過從幾十到幾百的很多個(gè)數(shù)值,通過觀察效果可以簡(jiǎn)單地下一個(gè)結(jié)論:step增大會(huì)使濾波的效果變好,但是step增大會(huì)影響濾

25、波的穩(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)分析工具共同來觀察波形。觀察到

26、波形如下:本次濾波的步長(zhǎng)step設(shè)置為150。圖(5).第一次濾波前后信號(hào)時(shí)域波形(step=150)圖(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í)域的波形相一致。第二次將濾波的步長(zhǎng)step調(diào)整為70,觀察濾波效果并與step=150時(shí)作對(duì)比。圖(7).第二次濾波前后信號(hào)時(shí)域波形(step

27、=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í)觀察濾波前后的波形,做以上測(cè)試時(shí)我們只對(duì)左聲道進(jìn)行了濾波處理,而右聲道是直接輸出。將左右聲道都進(jìn)行濾波處理時(shí),得到的效果與單一聲道處理時(shí)完全一致。這也驗(yàn)證了設(shè)計(jì)任務(wù)書中左右聲道分別采集信號(hào),并進(jìn)行濾波的附加設(shè)計(jì)要求的可行性。通過

28、以上測(cè)試,可以初步認(rèn)為這一自適應(yīng)濾波系統(tǒng)可以滿足設(shè)計(jì)要求。7 參考文獻(xiàn)1趙洪亮. TMS320C55x DSP應(yīng)用系統(tǒng)設(shè)計(jì)(第二版). 北京: 北京航空航天大學(xué)出版社,2010.2李利. DSP原理及應(yīng)用(第二版). 北京: 中國(guó)水利水電出版社,2012.3劉艷萍. DSP技術(shù)原理及應(yīng)用教程(第三版). 北京:北京航空航天大學(xué)出版社, 2012.4張衛(wèi)寧. DSP原理與應(yīng)用教程. 北京: 科學(xué)出版社, 2008.5王麗芳,陳益平. 基于DSP的自適應(yīng)濾波器的實(shí)現(xiàn). 北京:計(jì)算機(jī)仿真, 2009(9). 281-284.附:原始程序#include #include #include #incl

29、ude /-Global data definition-/* Constants for the buffered ping-pong transfer */#define BUFFSIZE 256#define PING 0#define PONG 1#define step 300#pragma DATA_SECTION (gBufferXmtPing, buffer_sect);Int16 gBufferXmtPingBUFFSIZE; / Transmit PING buffer#pragma DATA_SECTION (gBufferXmtPong, buffer_sect);In

30、t16 gBufferXmtPongBUFFSIZE; / Transmit PONG buffer#pragma DATA_SECTION (gBufferRcvPing, buffer_sect);Int16 gBufferRcvPingBUFFSIZE; / Receive PING buffer#pragma DATA_SECTION (gBufferRcvPong, buffer_sect);Int16 gBufferRcvPongBUFFSIZE; / Receive PONG buffer#pragma DATA_SECTION (left, buffer_sect);Int16

31、 left128; / #pragma DATA_SECTION (right, buffer_sect);Int16 right128; / #pragma DATA_SECTION (h1, buffer_sect);Int16 h116; #pragma DATA_SECTION (h2, buffer_sect);Int16 h216; #pragma DATA_SECTION (des, buffer_sect);Int16 des128=0, 3196,6270,9102,11585,13623,15137,16069,16384,16069,15137,13623,11585,9

32、102,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,-627

33、0, -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,-62

34、70,-9102,-11585,-13623,-15137,-16069,-16384,-16069,-15137,-13623,-11585,-9102,-6270, -3196,;#pragma DATA_SECTION (leftout, buffer_sect);Int16 leftout128;#pragma DATA_SECTION (rightout, buffer_sect);Int16 rightout128;#pragma DATA_SECTION (delaybuff, buffer_sect);Int16 delaybuff18; #pragma DATA_SECTIO

35、N (delaybuff, buffer_sect);Int16 delaybuff18;#pragma DATA_SECTION (flag, buffer_sect);short flag14;#pragma DATA_SECTION (delaybuff1, buffer_sect);Int16 delaybuff118;/*-*/MCBSP_Config Mcbsp1Config = MCBSP_SPCR1_RMK( MCBSP_SPCR1_DLB_OFF, / DLB = 0 MCBSP_SPCR1_RJUST_LZF, / RJUST = 0,right justify the d

36、ata and zero fill the MSBs MCBSP_SPCR1_CLKSTP_DISABLE, / CLKSTP = 0 MCBSP_SPCR1_DXENA_ON, / DXENA = 1,DX delay enabler on 0, / Reserved = 0 MCBSP_SPCR1_RINTM_RRDY, / RINTM = 0 MCBSP_SPCR1_RSYNCERR_NO, / RSYNCER = 0 / MCBSP_SPCR1_RFULL_NO, / RFULL = 0 / MCBSP_SPCR1_RRDY_NO, / RRDY = 0 MCBSP_SPCR1_RRS

37、T_DISABLE / RRST = 0; Disable receiver ), MCBSP_SPCR2_RMK( MCBSP_SPCR2_FREE_NO, / FREE = 0 MCBSP_SPCR2_SOFT_NO, / SOFT = 0 MCBSP_SPCR2_FRST_FSG, / FRST = 1 ; Enable the frame-sync logic MCBSP_SPCR2_GRST_CLKG, / GRST = 1 ; The sample rate generator is take out of its reset state MCBSP_SPCR2_XINTM_XRD

38、Y, / XINTM = 0 MCBSP_SPCR2_XSYNCERR_NO, / XSYNCER =0 / MCBSP_SPCR2_XEMPTY_NO, / XEMPTY = 0 / MCBSP_SPCR2_XRDY_NO, / XRDY = 0 MCBSP_SPCR2_XRST_DISABLE / XRST = 0 Disable transimitter ), / 單數(shù)據(jù)相,接受數(shù)據(jù)長(zhǎng)度為16位,每相2個(gè)數(shù)據(jù) MCBSP_RCR1_RMK( MCBSP_RCR1_RFRLEN1_OF(1), / RFRLEN1 = 1 MCBSP_RCR1_RWDLEN1_16BIT / RWDLEN1

39、 = 2 ), MCBSP_RCR2_RMK( MCBSP_RCR2_RPHASE_SINGLE, / RPHASE = 0 MCBSP_RCR2_RFRLEN2_OF(0), / RFRLEN2 = 0 MCBSP_RCR2_RWDLEN2_8BIT, / RWDLEN2 = 0 MCBSP_RCR2_RCOMPAND_MSB, / RCOMPAND = 0 No companding,any size data, MSB received first MCBSP_RCR2_RFIG_YES, / RFIG = 1 Frame-sync ignore MCBSP_RCR2_RDATDLY_1

40、BIT / RDATDLY = 1 1-bit data delay ), MCBSP_XCR1_RMK( MCBSP_XCR1_XFRLEN1_OF(1), / XFRLEN1 = 1 MCBSP_XCR1_XWDLEN1_16BIT / XWDLEN1 = 2 ), MCBSP_XCR2_RMK( MCBSP_XCR2_XPHASE_SINGLE, / XPHASE = 0 MCBSP_XCR2_XFRLEN2_OF(0), / XFRLEN2 = 0 MCBSP_XCR2_XWDLEN2_8BIT, / XWDLEN2 = 0 MCBSP_XCR2_XCOMPAND_MSB, / XCO

41、MPAND = 0 MCBSP_XCR2_XFIG_YES, / XFIG = 1 Unexpected Frame-sync ignore MCBSP_XCR2_XDATDLY_1BIT / XDATDLY = 1 1-bit data delay ), MCBSP_SRGR1_DEFAULT, MCBSP_SRGR2_DEFAULT, MCBSP_MCR1_DEFAULT, MCBSP_MCR2_DEFAULT, MCBSP_PCR_RMK( / MCBSP_PCR_IDLEEN_RESET, / IDLEEN = 0 MCBSP_PCR_XIOEN_SP, / XIOEN = 0 MCB

42、SP_PCR_RIOEN_SP, / RIOEN = 0 MCBSP_PCR_FSXM_EXTERNAL, / FSXM = 0 Tranmit frame-syn is provided by AIC23B MCBSP_PCR_FSRM_EXTERNAL, / FSRM = 0 Receive frame-syn is provided by AIC23B MCBSP_PCR_CLKXM_INPUT, / CLKR is input MCBSP_PCR_CLKRM_INPUT, / CLKX is input MCBSP_PCR_SCLKME_NO, / SCLKME=0 CLKG is t

43、aken from the McBSP internal input clock / MCBSP_PCR_CLKSSTAT_0, / The signal on the CLKS pin is low MCBSP_PCR_DXSTAT_0, / Drive the signal on the DX pin low / MCBSP_PCR_DRSTAT_0, / The signal on the DR pin is low MCBSP_PCR_FSXP_ACTIVEHIGH, / FSXP = 1 Because a falling edge on LRCIN or LRCOUT starts

44、 data transfer MCBSP_PCR_FSRP_ACTIVELOW, / FSRP = 1 MCBSP_PCR_CLKXP_FALLING, / CLKXP = 1 The falling edge of BCLK starts data transfer MCBSP_PCR_CLKRP_RISING / CLKRP = 1 ), MCBSP_RCERA_DEFAULT, MCBSP_RCERB_DEFAULT, MCBSP_RCERC_DEFAULT, MCBSP_RCERD_DEFAULT, MCBSP_RCERE_DEFAULT, MCBSP_RCERF_DEFAULT, M

45、CBSP_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 ; DMA_Config dmaRcvConfig = DMA_DMACSDP_RMK( DMA_DMACSDP_DSTBEN_NOBURST, DMA_DMACSDP_DSTPACK

46、_OFF, DMA_DMACSDP_DST_DARAMPORT1, DMA_DMACSDP_SRCBEN_NOBURST, DMA_DMACSDP_SRCPACK_OFF, DMA_DMACSDP_SRC_PERIPH, DMA_DMACSDP_DATATYPE_16BIT ), /* DMACSDP */ DMA_DMACCR_RMK( DMA_DMACCR_DSTAMODE_POSTINC, DMA_DMACCR_SRCAMODE_CONST, DMA_DMACCR_ENDPROG_OFF,/* ENDPROG OFF */ DMA_DMACCR_WP_DEFAULT, DMA_DMACC

47、R_REPEAT_OFF, DMA_DMACCR_AUTOINIT_ON,/* AUTOINIT ON */ DMA_DMACCR_EN_STOP, DMA_DMACCR_PRIO_LOW, DMA_DMACCR_FS_DISABLE, DMA_DMACCR_SYNC_REVT1 ), /* DMACCR */ DMA_DMACICR_RMK( DMA_DMACICR_AERRIE_ON, DMA_DMACICR_BLOCKIE_OFF, DMA_DMACICR_LASTIE_OFF, DMA_DMACICR_FRAMEIE_ON, DMA_DMACICR_FIRSTHALFIE_OFF, D

48、MA_DMACICR_DROPIE_OFF, DMA_DMACICR_TIMEOUTIE_OFF ), /* DMACICR */ (DMA_AdrPtr)(MCBSP_ADDR(DRR11), /* DMACSSAL */ 0, /* DMACSSAU */NULL, /* DMACDSAL, to be loaded by submit */ 0, /* DMACDSAU */ BUFFSIZE, /* DMACEN */ 1, /* DMACFN */ 0, /* DMACFI */ 0 /* DMACEI */;DMA_Config dmaXmtConfig = 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_DARAMP

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論