【正文】
濾波 目標(biāo)是濾波器的輸入信號(hào) X(n), 用一個(gè)自適應(yīng)濾波器以這樣一種方式進(jìn)行濾波 , 它可以匹配所需的信號(hào) d(n)。所需的信號(hào) d(n)減去過(guò)濾信號(hào) Y(n), 生成一個(gè)誤差信號(hào) e(n)。 3 濾波器結(jié)構(gòu)和 LMS 算法 有幾種類型的濾波器結(jié)構(gòu)可以實(shí)現(xiàn)自適應(yīng)濾波器的設(shè)計(jì) ,例如 無(wú)限脈沖響應(yīng)(IIR)或有限脈沖響應(yīng) (FIR)。 根據(jù)數(shù)字濾波器沖激響應(yīng)函數(shù)的時(shí)域特性,可將數(shù)字濾波器分為兩種,即無(wú)限長(zhǎng)沖激相應(yīng) IIR 濾波器和有限長(zhǎng)沖激響應(yīng) FIR 濾波器。 IIR 數(shù)字濾波器的優(yōu)點(diǎn)是可以利用模擬濾波器設(shè)計(jì)的結(jié)果,而模擬濾波器的設(shè)計(jì)有大量圖表可查,方便簡(jiǎn)單。它的缺點(diǎn)是相位的非線性;若需要線性相位,則要采用全通網(wǎng)絡(luò)進(jìn)行相位校正。圖象處理以及數(shù)據(jù)采集傳輸都要求濾波器具有線性相位特性。而 FIR 數(shù)字濾波器可以實(shí)現(xiàn)線性相位,又可具有任意幅度特性。 FIR 濾波器可以得到嚴(yán)格的線性相位,然而由于 FIR 濾波器的系統(tǒng)函數(shù)的極點(diǎn)固定在原點(diǎn),所以只能用較高的階數(shù)來(lái)實(shí)現(xiàn)其高選擇性,對(duì)于同樣的濾波器設(shè)計(jì)指標(biāo), FIR 濾波器所要求的階數(shù)要比 IIR 高 5 至 10 倍 ,所以成本較高,信號(hào)延遲也較大。但是如果要求相同的線性相位,則 IIR 濾波器就必須加全通網(wǎng)絡(luò)進(jìn)行相位校正,同樣也要增加濾波器網(wǎng)絡(luò)的節(jié)數(shù)和復(fù)雜性。 FIR 濾波器可以用非遞歸的方法實(shí)現(xiàn),在有限精度下不會(huì)產(chǎn)生振蕩,同時(shí)由于量化舍入以及系數(shù)的不確定性所引起的誤差的影響要比 IIR 濾波器小的多,并且 FIR濾波器可以采用 FFT 算法,運(yùn)算速度快。但是不像 IIR 濾波器可以借助模擬濾波器的成果,必須要用計(jì)算機(jī)輔助設(shè)計(jì)軟件(如 MATLAB)來(lái)計(jì)算。由此可知, FIR 濾波器應(yīng)用比較廣,而 IIR 濾波器則用在相位要求不是很嚴(yán)格的場(chǎng)合。 在這 個(gè)應(yīng)用程序中 , 只有橫向結(jié)構(gòu)的 FIR濾波器結(jié)構(gòu)可以實(shí)現(xiàn)要求。橫向自適應(yīng)濾波器的結(jié)構(gòu)由圖 2所示,濾波器輸出信號(hào)由 y(n)給出, )()()()()( 10 nXnwknxnwny TNk K ??? ??? 圖 2 橫向自適應(yīng)濾波器的結(jié)構(gòu) TNnxnxnxnX )]1() , .. .. ..1(),([)( ???? 是一個(gè)輸入向量, Tn nwnwnwnW )](),(),([)( 110 ?? 是輸出向量,式中 T表示轉(zhuǎn)置 ,N是濾波器的順序。 感知器和自適應(yīng)線性元件在歷史上幾乎是同時(shí)提出的,并且兩者在對(duì)權(quán)值的調(diào)整的算法非常相似。它們都是基于糾錯(cuò)學(xué)習(xí)規(guī)則的學(xué)習(xí)算法。感知器算法存在如下問(wèn)題:不能推廣到一般的前向網(wǎng)絡(luò)中;函數(shù)不是線性可分時(shí),得不出任何結(jié)果。而由美國(guó)斯坦福大學(xué)的 Widrow和 Hoff在研究自適應(yīng)理論時(shí)提出的 LMS算法,由于其容易實(shí)現(xiàn)而很快得到了廣泛應(yīng)用,成為自適應(yīng)濾波的標(biāo)準(zhǔn)算法。 自適應(yīng)濾波器除了包括一個(gè)按照某種結(jié)構(gòu)設(shè)計(jì)的濾波器,還有一套自適應(yīng)的算法。自適應(yīng)算法是根據(jù)某種判斷來(lái)設(shè)計(jì)的。自適應(yīng)濾波器的算法主要是以各種判據(jù)條件作為推算基礎(chǔ)的。 通常有兩種判據(jù)條件:最小均方誤差判據(jù)和最小二乘法判據(jù)。 LMS算法是以最小均方誤差為判據(jù)的最典型的算法,也是應(yīng)用最廣泛的一種算法。最小均方誤差 (Least Mean Square, LMS)算法是一種易于實(shí)現(xiàn)、性能穩(wěn)健、應(yīng)用廣泛的算法。所有的濾波器系數(shù)調(diào)整算法都是設(shè)法使 y(n)接近 d(n),所不同的只是對(duì)于這種接近的評(píng)價(jià)標(biāo)準(zhǔn)不同。 LMS算法的目標(biāo)是通過(guò)調(diào)整系數(shù),使輸出誤差序列 e(n)=d(n)y(n)的均方值最小化,并且根據(jù)這個(gè)判據(jù)來(lái)修改權(quán)系數(shù),該算法因此而得名。誤差序列的均方值又叫“均方誤差” (Mean Sqluare Error,MSE)。 LMS算法的基本思想是 ,調(diào)整濾波器的系數(shù)最小化均方差,使其輸出和期望的響應(yīng)之間的誤差減小 , 這樣的系統(tǒng)輸出是有用信號(hào)的最佳估計(jì)。 基本 LMS算法由下式給出: )()()()( nWnXndne T?? )()(2)()1( nXnenWnW ???? 式中, W(n)表示向量的當(dāng)前值, W( n+1)表示向量的下一時(shí)刻值, ? 被稱作步長(zhǎng)值。 4 使用 MATLAB 設(shè)計(jì)濾波器 在設(shè)計(jì)數(shù)字濾波器 時(shí) , MATLAB通常進(jìn)行輔助設(shè)計(jì)和使用模擬仿真功能。根據(jù)以上設(shè)計(jì)理念 ,可以設(shè)計(jì) 10order的自適應(yīng)噪聲消除器。輸入信號(hào) ns xxx ?? ,其中, )* (10 nx s ?? , )(nrandxn ? ,處理了 100個(gè)采樣值,設(shè)計(jì)的濾波器的輸出是: )* in (*10 nxy s ?? , ? = 自適應(yīng)數(shù)字濾波器設(shè)計(jì)的部分代碼,用 MATLAB編輯如下 M = length(x)。 y = zeros(1,M)。 h= zeros(1,N)。e=zeros(1,M)。 for n = N:M %adaptive algorithm x1=x(n:1:nN+1)。 y(n)=h*x139。 %output signal e(n)=d(n)y(n)。 %calculate error h=h+u*e(n)*x1。 %adjust weight end 模擬仿真波形在圖 3中給出, Input signal 輸入信號(hào) Desired response signal 預(yù)測(cè)的響應(yīng)信號(hào) Output signal 輸出信號(hào) Error signal 錯(cuò)誤信號(hào) 該算法可以被證明,輸入數(shù)據(jù)模擬濾波可以根據(jù)提供的 DSP設(shè)計(jì),同時(shí),可以通過(guò) MATLAB進(jìn)行仿真。 5基于 TMS320C54x的自適應(yīng) FIR濾波器設(shè)計(jì) tms320硬件系統(tǒng)設(shè)計(jì) TMS320C54X是 16位定點(diǎn) DSP芯片,它是 Ti公司的第五代產(chǎn)品,其核心電壓為 IO電源;工作速度可達(dá) 100MIPS的片上;外圍設(shè)備包括:一個(gè)增強(qiáng)的 8位主機(jī)端口接口( HPI8),兩個(gè)多通道緩沖串行端口( McBSPs),兩個(gè)硬件定時(shí)器等。 圖 4 給出了硬件結(jié)構(gòu)設(shè)計(jì)系統(tǒng)。該系統(tǒng)由 TMS320VC5402 和其他外圍設(shè)備構(gòu)成。 圖 4 硬件結(jié)構(gòu)設(shè)計(jì)系統(tǒng) TLC320AC01是一個(gè)模擬接口的電路( AIC)。該器件集成了一個(gè) 14位的 ADC和 DAC轉(zhuǎn)換器,和一個(gè)帶通開(kāi)關(guān)的電容器,反失真輸入濾波器,低通開(kāi)關(guān)電容,輸出重構(gòu)濾波器。內(nèi)部電路的配置由送到控制數(shù)據(jù)寄存器的信息決定;同時(shí)配置ADC通道和 DAC通道, EPROM 是 32k8bit, 由 TMS320VC5402的 32KB的Bootloader組成,地址范圍是 8000h–0FFFFH; SARAM 是 TMS320VC5402的 32K的外部程序存儲(chǔ)器,地址范圍是 48000h–48fffh,還有 16K的外部數(shù)據(jù)存儲(chǔ)器,地址范圍是 40000 h–7ffffh。 DSP的集成開(kāi)發(fā)環(huán)境 CCS( ccs),是 TI公司提供的。 CCS配合 XDS510仿真器。自適應(yīng) FIR濾波器的軟件設(shè)計(jì)采用匯編語(yǔ)言完成。圖 5顯示了軟件的流程圖程序設(shè)計(jì)。 BK是 FIR循環(huán)緩沖區(qū)大小,鎖存區(qū)配置為 99,硬件初始化 ,包括:時(shí)鐘,中斷,內(nèi)存, mcbsp0, 01和定時(shí)器芯片的初始化,無(wú)限循環(huán)是主要的運(yùn)行程序,程序一直運(yùn) 行直到定時(shí)器中斷到來(lái)。對(duì) AC01初始化的方法是將同步串行端口運(yùn)用指令將其置 1。 LMS算法在該系統(tǒng)上可以為自適應(yīng)濾波器減少指令代碼執(zhí)行的時(shí)間。 LMS算法計(jì)算濾波器的輸出結(jié)果和更新濾波器系數(shù)是同時(shí)進(jìn)行的。 由于 TMS320VC5402是定點(diǎn) DSP,所以輸入數(shù)據(jù),參考數(shù)據(jù)和步長(zhǎng)需要按照規(guī)定的格式書(shū)寫(xiě),然后這些數(shù)據(jù)也必須改變格式。編寫(xiě)匯編程序時(shí)注意循環(huán)尋址和數(shù)據(jù)的溢出。使用 MATLAB進(jìn)行模擬仿真,獲得輸入信號(hào)的樣值數(shù)據(jù)和期望信號(hào)的樣值數(shù)據(jù)。將這些數(shù)據(jù)復(fù)制到收集程序,編譯這些程序,部分代碼如下。經(jīng)過(guò)編譯,匯編,鏈接 后產(chǎn)生了 DSP芯片的 COFF文件,將這個(gè)文件加載到目標(biāo)系統(tǒng),利用調(diào)試器進(jìn)行調(diào)試,檢測(cè)到的波形如下, 通過(guò)比較可以看出,在 5秒之后,系統(tǒng)開(kāi)始逐漸收斂,錯(cuò)誤信號(hào)逐漸趨于 0,二這個(gè)收斂速度依賴與 ? ,我們可以得到一下結(jié)論,響應(yīng)時(shí)間越長(zhǎng),錯(cuò)誤信號(hào)越小,濾波器的效果也就越好。 6結(jié)論 在本文中,自適應(yīng) FIR濾波器的設(shè)計(jì)由 MATLAB仿真和 TMS320VC5402的硬件系統(tǒng)共同完成,通過(guò)仿真結(jié)果和測(cè)量結(jié)果,該方法已被證明是有效的和可行的。 Implementation of Adaptive FIR Filter Based on TMS320VC5402 Wang Xiaojuan Zhang Ze (Department of Automation, College of Sciences of Technology, Inner Mongolia University, Hohhot 010021 China, ) Abstract: The article introduced the design and implementation of the adaptive FIR filter based on DSP (Digital Signal Processor). Firstly, simulate experiment of the adaptive FIR filter structure and algorithm is carried out by MATLAB, and adaptive filtering of the input signal added Gauss noise is performed. Simulation waves are given, and the reference data for the DSP designing is provided. On this foundation, TMS320VC5402 DSP chip is selected as the center processor to design and implement the adaptive FIR filter. The hardware system design module, the software system design flow chart and the related assembly code are given. The uniformity of simulation results and measurement results and the filter effect is satisfied. Keywords: Adaptive FIR filter, TMS320VC5402, LMS algorithm. 1 Introduction With the information age and the advent of the digital world, digital signal processing has bee one of today39。s most important disciplines and door technology. Digital signal processing in munications, voice, images, automatic control, radar, military, aerospace, medical and household appliances, and many other fields widely applied. In the digital signal processing applications, the digital filter is important and has been widely applied. In signal processing, the function of a filter is to remove unwanted parts of the signal, such as random noise, or to extract useful parts of the signal, such as the ponents lying within a certain frequency range. There are two main kinds of filter, analog and digital. They are quite different in their physical makeup and in how they work. An analog filter uses analog electronic circuits made up from ponents such as resistors, capacitors and op amps to produce the required filtering effect. Such filter circuits are widely used in such applications as noise reduction, video signal enhancement, graphic equalizers in hifi systems, and many other areas. There