完美版-FIR數(shù)字濾波器的設計_第1頁
完美版-FIR數(shù)字濾波器的設計_第2頁
完美版-FIR數(shù)字濾波器的設計_第3頁
完美版-FIR數(shù)字濾波器的設計_第4頁
完美版-FIR數(shù)字濾波器的設計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1引言數(shù)字信號處理(DigitalSignalProcessing,簡稱DSP)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速開展,數(shù)字信號處理技術應運而生并得到迅速的開展。數(shù)字信號處理是一種通過使用數(shù)學技巧執(zhí)行轉換或提取信息,來處理現(xiàn)實信號的方法,這些信號由數(shù)字序列表示。在過去的二十多年時間里,數(shù)字信號處理已經(jīng)在通信等領域得到極為廣泛的應用。德州儀器、Freescale等半導體廠商在這一領域擁有很強的實力。數(shù)字信號處理的算法需要利用計算機或專用處理設備如數(shù)字信號處理器〔DSP〕和專用集成電路〔ASIC〕等。數(shù)字信號處理技術及設備具有靈活、精確、抗干擾強、設備尺寸小、造價低、速度快等突出優(yōu)點,這些都是模擬信號處理技術與設備所無法比較的。數(shù)字信號處理的目的是對真實世界的連續(xù)模擬信號進行測量或濾波。因此在進行數(shù)字信號處理之前需要將信號從模擬域轉換到數(shù)字域,這通常通過模數(shù)轉換器實現(xiàn)。而數(shù)字信號處理的輸出經(jīng)常也要變換到模擬域,這是通過數(shù)模轉換器實現(xiàn)的。數(shù)字信號處理的核心算法是離散傅立葉變換(DFT),是DFT使信號在數(shù)字域和頻域都實現(xiàn)了離散化,從而可以用通用計算機處理離散信號。而使數(shù)字信號處理從理論走向實用的是快速傅立葉變換(FFT),F(xiàn)FT的出現(xiàn)大大減少了DFT的運算量,使實時的數(shù)字信號處理成為可能、極大促進了該學科的開展。DSP〔digitalsignalprocessor〕是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數(shù)字信號。再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或實際環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。1.1DSP微處理器芯片的主要特點:〔1〕在一個指令周期內可完成一次乘法和一次加法;〔2〕程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù);〔3〕片內具有快速RAM,通??赏ㄟ^獨立的數(shù)據(jù)總線在兩塊中同時訪問;〔4〕具有低開銷或無開銷循環(huán)及跳轉的硬件支持;〔5〕快速的中斷處理和硬件I/O支持;〔6〕具有在單周期內操作的多個硬件地址產(chǎn)生器;〔7〕可以并行執(zhí)行多個操作;〔8〕支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。1.2DSP優(yōu)點:〔1〕對元件值的容限不敏感,受溫度、環(huán)境等外部參與影響小;〔2〕容易實現(xiàn)集成;〔3〕可以分時復用,共享處理器;〔4〕方便調整處理器的系數(shù)實現(xiàn)自適應濾波;〔5〕可用于頻率非常低的信號;〔6〕可實現(xiàn)模擬處理不能實現(xiàn)的功能:線性相位、多抽樣率處理、級聯(lián)、易于存儲等。1.3DSP技術的應用語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。軍事;保密通信、雷達處理、聲吶處理、導航、全球定位、跳頻電臺、搜索和反搜索等。儀器儀表:頻譜分析、函數(shù)發(fā)生、數(shù)據(jù)采集、地震處理等。自動控制:控制、深空作業(yè)、自動駕駛、機器人控制、磁盤控制等。醫(yī)療:助聽、超聲設備、診斷工具、病人監(jiān)護、心電圖等。家用電器:數(shù)字音響、數(shù)字電視、可視、音樂合成、音調控制、玩具與游戲等。1.4實現(xiàn)方法1.在通用的計算機〔如PC機〕上用軟件〔如Fortran、C語言〕實現(xiàn);--速度較慢,一般可用于DSP算法的模擬2.在通用計算機系統(tǒng)中加上專用的加速處理機實現(xiàn);--專用性強,不便于系統(tǒng)的獨立運行3.用通用的單片機〔如MCS-51、96系列等〕實現(xiàn)。這種方法可用于一些不太復雜的數(shù)字信號處理,如數(shù)字控制等;--只適用于實現(xiàn)簡單的DSP算法4.用通用的可編程DSP芯片實現(xiàn)。與單片機相比,DSP芯片具有更加適合于數(shù)字信號處理的軟件和硬件資源,可用于復雜的數(shù)字信號處理算法;--應用較多5.用專用的DSP芯片實現(xiàn)。在一些特殊的場合,要求的信號處理速度極高,用通用DSP芯片很難實現(xiàn),例如專用于FFT、數(shù)字濾波、卷積、相關等算法的DSP芯片,這種芯片將相應的信號處理算法在芯片內部用硬件實現(xiàn),無需進行編程。--專用性強1.5數(shù)字信號處理特點精度高:在模擬系統(tǒng)的電路中,元器件精度要到達10-3以上已經(jīng)不容易了,而數(shù)字系統(tǒng)17位字長可以到達10-5的精度,這是很平常的。例如,基于離散傅里葉變換的數(shù)字式頻譜分析儀,其幅值精度和頻率分辨率均遠遠高于模擬頻譜分析儀。靈活性強:數(shù)字信號處理采用了專用或通用的數(shù)字系統(tǒng),其性能取決于運算程序和乘法器的各系數(shù),這些均存儲在數(shù)字系統(tǒng)中,只要改變運算程序或系數(shù),即可改變系統(tǒng)的特性參數(shù),比改變模擬系統(tǒng)方便得多。可以實現(xiàn)模擬系統(tǒng)很難到達的指標或特性:例如:有限長單位脈沖響應數(shù)字濾波器可以實現(xiàn)嚴格的線性相位;在數(shù)字信號處理中可以將信號存儲起來,用延遲的方法實現(xiàn)非因果系統(tǒng),從而提高了系統(tǒng)的性能指標;數(shù)據(jù)壓縮方法可以大大地減少信息傳輸中的信道容量??梢詫崿F(xiàn)多維信號處理:利用龐大的存儲單元,可以存儲二維的圖像信號或多維的陣列信號,實現(xiàn)二維或多維的濾涉及譜分析等。2軟件介紹2.1MATLAB軟件MATLAB軟件介紹MATLAB是“矩陣實驗室〞〔MATrixLABoratoy〕的縮寫,是目前應用最為廣泛的一種集科學運算、程序設計、高質量的可視化與界面設計,以及便于與其他程序和語言借口的軟件。目前,MATLAB已經(jīng)成為自動控制、數(shù)字信號處理、動態(tài)系統(tǒng)仿真等諸多學科極有效的工具。MATLAB是美國MathWorks公司推出的一種面向工程和科學計算的交互式計算軟件。它以矩陣運算為根底,把計算、可視化、程序設計融合在一個簡單易用的交互式工作環(huán)境中,是一款數(shù)據(jù)分析和處理功能都非常強大的工程實用軟件。Matlab是一個交互式的系統(tǒng),它的根本運算單元是不需指定維數(shù)的矩陣,按照IEEE的數(shù)值計算標準〔能正確處理無窮數(shù)Inf(Infinity)、無定NaN(not-a-number)及其運算〕進行計算。系統(tǒng)提供了大量的矩陣及其它運算函數(shù),可以方便地進行一些很復雜的計算,而且運算效率極高。Matlab命令和數(shù)學中的符號、公式非常接近,可讀性強,容易掌握,還可利用它所提供的編程語言進行編程完成特定的工作。除根本局部外,Matlab還根據(jù)各專門領域中的特殊需要提供了許多可選的工具箱,如應用于自動控制領域的ControlSystem工具箱和神經(jīng)網(wǎng)絡中NeuralNetwork工具箱等。MATLAB主要特點1.語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。MATLAB程序書寫形式自由,利用起豐富的庫函數(shù)避開繁雜的子程序編程任務,壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領域的專家編寫,用戶不必擔憂函數(shù)的可靠性??梢哉f,用MATLAB進行科技開發(fā)是站在專家的肩膀上。2.運算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運算符,靈活使用MATLAB的運算符將使程序變得極為簡短。3.MATLAB既具有結構化的控制語句〔如for循環(huán),while循環(huán),break語句和if語句〕,又有面向對象編程的特性。4.程序限制不嚴格,程序設計自由度大。例如,在MATLAB里,用戶無需對矩陣預定義就可使用。5.程序的可移植性很好,根本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行。6.MATLAB的圖形功能強大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡單。MATLAB還具有較強的編輯圖形界面的能力。7.MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。8.功能強大的工具箱是MATLAB的另一特色。MATLAB包含兩個局部:核心局部和各種可選的工具箱。核心局部中有數(shù)百個核心內部函數(shù)。其工具箱又分為兩類:功能性工具箱和學科性工具箱。功能性工具箱主要用來擴充其符號計算功能,圖示建模仿真功能,文字處理功能以及與硬件實時交互功能。功能性工具箱用于多種學科。而學科性工具箱是專業(yè)性比較強的,control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。這些工具箱都是由該領域內學術水平很高的專家編寫的,所以用戶無需編寫自己學科范圍內的根底程序,而直接進行高、精、尖的研究。9.源程序的開放性。開放性也許是MATLAB最受人們歡送的特點。除內部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對源文件的修改以及參加自己的文件構成新的工具箱。2.1.31.wavread函數(shù):[y,fs,bits]=wavread('Blip')用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數(shù)。sound(x,fs,bits);用于對聲音的回放。向量y那么就代表了一個信號〔也即一個復雜的“函數(shù)表達式〞〕也就是說可以像處理一個信號表達式一樣處理這個聲音信號。2.FFT函數(shù):FFT用于序列快速傅立葉變換。其調用格式為:y=fft(x)。其中,x是序列,y是序列的FFT,x可以為一向量或矩陣:假設x為一向量,y是x的FFT,且和x相同長度。假設x為一矩陣,那么y是對矩陣的每一列向量進行FFT。3.Fir1函數(shù):fir1函數(shù)是基于窗函數(shù)的FIR濾波器設計——標準頻率響應形狀。其調用格式為b=fir1(N,we,’ftype’,window)。ftype和window可以默認。b=fir1(N,wc)可得到截止頻率為wc且滿足線性相位條件的N階FIR低通濾波器,window默認選用hamming窗。其單位脈沖響應h(n)為:h(n)=b(n+1),n=0,1,2,…,N。當wc=[wc1,wc2]時,得到的是通帶為wc1<w<wc2的帶通濾波器。b=fir1(N,wc,’ftype’),可設計高通和帶阻濾波器。當ftype=high時,設計高通FIR濾波器;當ftype=stop時,設計帶阻FIR濾波器。4.sound(x,fs,bits):該函數(shù)用于播放生硬,向量y就代表了一個信號〔也即一個復雜的“函數(shù)表達式〞〕,也就是說可以像處理一個信號表達式一樣處理這個聲音信號。MATLAB軟件的優(yōu)點1.此高級語言可用于技術計算2.此開發(fā)環(huán)境可對代碼、文件和數(shù)據(jù)進行管理3.交互式工具可以按迭代的方式探查、設計及求解問題4.數(shù)學函數(shù)可用于線性代數(shù)、統(tǒng)計、傅立葉分析、篩選、優(yōu)化以及數(shù)值積分等5.二維和三維圖形函數(shù)可用于可視化數(shù)據(jù)6.各種工具可用于構建自定義的圖形用戶界面2.2CCS簡介DSP開發(fā)工具CCS具有較完善的軟件和硬件開發(fā)工具,如:軟件仿真器Simulator、在線仿真器Emulator、C編譯器和集成開發(fā)環(huán)境CCS等,給開發(fā)應用帶來很大方便。CCS是TI公司針對本公司的DSP產(chǎn)品開發(fā)的集成開發(fā)環(huán)境。它集成了代碼的編輯、編譯、鏈接和調試等諸多功能,而且支持C/C++和匯編的混合編程。開放式的結構允許外擴用戶自身的模塊。它采用Windows風格界面,集編輯、編譯、鏈接、軟件仿真、硬件調試以及實時跟蹤等功能于一體,極大地方便了DSP芯片的開發(fā)與設計,是目前使用最為廣泛的DSP開發(fā)軟件之一。CCS是一種針對TMS320系列DSP的集成開發(fā)環(huán)境,在Windows操作系統(tǒng)下,采用圖形接口界面,提供有環(huán)境配置、源文件編輯、程序調試、跟蹤和分析等工具。CCS有兩種工作模式,即軟件仿真器模式:可以脫離DSP芯片,在PC機上模擬DSP的指令集和工作機制,主要用于前期算法實現(xiàn)和調試。硬件在線編程模式:可以實時運行在DSP芯片上,與硬件開發(fā)板相結合在線編程和調試應用程序。CCS的開發(fā)系統(tǒng)主要由以下組件構成①TMS320C54x集成代碼產(chǎn)生工具;②CCS集成開發(fā)環(huán)境;③DSP/BIOS實時內核插件及其應用程序接口API;④實時數(shù)據(jù)交換的RTDX插件以及相應的程序接口API;⑤由TI公司以外的第三方提供的各種應用模塊插件。各部件的功能①TMS320C54x集成代碼產(chǎn)生工具用來對C語言、匯編語言或混合語言編程的DSP源程序進行編譯匯編,并鏈接成為可執(zhí)行的DSP程序。主要包括匯編器、鏈接器、C/C++編譯器和建庫工具等。②CCS集成開發(fā)環(huán)境集編輯、編譯、鏈接、軟件仿真、硬件調試和實時跟蹤等功能于一體。包括編輯工具、工程管理工具和調試工具等。③DSP/BIOS實時內核插件及其應用程序接口API主要為實時信號處理應用而設計。包括DSP/BIOS的配置工具、實時分析工具等。④實時數(shù)據(jù)交換的RTDX插件和相應的程序接口API可對目標系統(tǒng)數(shù)據(jù)進行實時監(jiān)視,實現(xiàn)DSP與其他應用程序的數(shù)據(jù)交換。⑤由TI公司以外的第三方提供的應用模塊插件CCS的主要功能CCS的功能十分強大,它集成了代碼的編輯、編譯、鏈接和調試等諸多功能,而且支持C/C++和匯編的混合編程,其主要功能如下:①具有集成可視化代碼編輯界面,用戶可通過其界面直接編寫C、匯編、d文件等;②含有集成代碼生成工具,包括匯編器、優(yōu)化C編譯器、鏈接器等,將代碼的編輯、編譯、鏈接和調試等諸多功能集成到一個軟件環(huán)境中;③高性能編輯器支持匯編文件的動態(tài)語法加亮顯示,使用戶很容易閱讀代碼,發(fā)現(xiàn)語法錯誤;④工程工程管理工具可對用戶程序實行工程管理。在生成目標程序和程序庫的過程中,建立不同程序的跟蹤信息,通過跟蹤信息對不同的程序進行分類管理;⑤根本調試工具具有裝入執(zhí)行代碼、查看存放器、存儲器、反匯編、變量窗口等功能,并支持C源代碼級調試;⑥斷點工具,能在調試程序的過程中,完成硬件斷點、軟件斷點和條件斷點的設置;⑦探測點工具,可用于算法的仿真,數(shù)據(jù)的實時監(jiān)視等;⑧分析工具,包括模擬器和仿真器分析,可用于模擬和監(jiān)視硬件的功能、評價代碼執(zhí)行的時鐘;⑨數(shù)據(jù)的圖形顯示工具,可以將運算結果用圖形顯示,包括顯示時域/頻域波形、眼圖、星座圖、圖像等,并能進行自動刷新;⑩提供GEL工具。利用GEL擴展語言,用戶可以編寫自己的控制面板/菜單,設置GEL菜單項選擇項,方便直觀地修改變量,配置參數(shù)等;?支持多DSP的調試;?支持RTDX技術,可在不中斷目標系統(tǒng)運行的情況下,實現(xiàn)DSP與其他應用程序的數(shù)據(jù)交換;?提供DSP/BIOS工具,增強對代碼的實時分析能力。CCS文件名介紹使用CCS軟件所要用到的文件類型:●*d——鏈接命令文件;●*.obj——由源文件編譯或匯編后所生成的目標文件;●*.out——完成編譯、匯編、鏈接后所形成的可執(zhí)行文件,可在CCS監(jiān)控下調試和執(zhí)行;●*.wks—工作空間文件,可用來記錄工作環(huán)境的設置信息;●*.cdb—CCS的配置數(shù)據(jù)庫文件,是使用DSP/BIOSAPI模塊所必須的。當保存配置文件時,將產(chǎn)生鏈接器命令文件(*cfgd)、頭文件(*cfg.h54)和匯編語言源文件(*cfg.s54)。使用CCS開發(fā)應用程序的一般步驟①翻開或創(chuàng)立一個工程工程文件②編輯各類文件③對工程工程進行編譯④對結果和數(shù)據(jù)進行分析和算法評估利用CCS集成開發(fā)軟件,用戶可以在一個開發(fā)環(huán)境下完成工程工程創(chuàng)立、程序編輯、編譯、鏈接、調試和數(shù)據(jù)分析等工作環(huán)節(jié)。注:①文件包括源程序、目標文件、庫文件、鏈接命令文件和包含文件。②可以使用CCS提供的集成編輯環(huán)境,對頭文件、鏈接命令文件和源程序進行編輯。③如出現(xiàn)語法錯誤,將在構建窗口中顯示錯誤信息。用戶可以根據(jù)顯示的信息定位錯誤位置,更改錯誤。3FIR數(shù)字濾波器的設計原理3.1FIR濾波器的網(wǎng)絡結構FIR數(shù)字濾波器的差分方程如下:①其系統(tǒng)函數(shù)H(Z)為:②實現(xiàn)N階FIR數(shù)字濾波器差分方程的網(wǎng)絡結構有直接型、級聯(lián)型和頻率抽樣型等。1.直接型由FIR濾波器差分方程可直接繪出FIR數(shù)字濾波器的直接型網(wǎng)絡結構,如圖3.1:Z-1Z-1Z-1Z-1Z-1h〔M-1〕h〔2〕h〔1〕h〔0〕h〔M-2〕…………y(n)x(n)圖3.1FIR數(shù)字濾波器的直接型網(wǎng)絡結構圖將FIR數(shù)字濾波器的系統(tǒng)函數(shù)H(Z)因式分解,得到③根據(jù)式③可繪出FIR數(shù)字濾波器的級聯(lián)型網(wǎng)絡結構圖,如圖3.2:x(n)yx(n)y(n)H0β11β2Rβ1Rβ22β12β21Z-1Z-1Z-1Z-1Z-1Z-1……圖3.2FIR數(shù)字濾波器的級聯(lián)型網(wǎng)絡結構圖抽樣頻率型是按下面步驟求出FIR數(shù)字濾波器的H(Z)的設FIR濾波器的單位采樣脈沖響應的長度為M,對其做N點DFT〔N≥M〕,可求出即〔k=0,1…N-1〕④再由內插公式推出⑤令,,其中是一種梳狀濾波器結構。將式⑤寫成如下形式:⑥有上述步驟求出的方法,稱為頻率抽樣法,其FIR的結構稱為頻率抽樣型結構,將式⑥用級聯(lián)方式表示出其結構如圖3.3:-Z-N……圖3.3FIR數(shù)字濾波器的頻率抽樣型網(wǎng)絡結構圖3.2FIR濾波器的設計-Z-N……圖3.3FIR數(shù)字濾波器的頻率抽樣型網(wǎng)絡結構圖FIR濾波器的設計原理FIR數(shù)字濾波器的設計方法主要有窗函數(shù)法和頻率采樣法,本設計采用窗函數(shù)法設計。FIR數(shù)字濾波器的實現(xiàn)結構有直接型、級聯(lián)型、頻率抽樣型等結構形式,當階數(shù)不多時,利用對稱FIR濾波器的特點,采用直接型結構,此時多輸入加法器實現(xiàn)難度不大,但可以減少濾波器數(shù)目,從而降低硬件復雜程度。FIR結構中的延遲Z-1在程序中實現(xiàn)時就是數(shù)據(jù)在存儲器中的滑動,這對一個L階的FIR數(shù)字濾波器來說,就是要求在存儲器中開辟一個L各樣本并進行成累加運算。這可以用兩種方法來實現(xiàn)該緩沖區(qū):線形緩沖區(qū)和循環(huán)緩沖區(qū)。對于限行緩沖區(qū)來說,每當DSP讀入一個樣本后都將此樣本向后移動,讀完最后一個樣本后,最前面〔最老的〕的樣本被推出緩沖區(qū),并輸入最新的樣本至緩沖區(qū)頂部。線性緩沖區(qū)的存儲器延時可以由具有數(shù)據(jù)移動功能的DMOV指令來實現(xiàn),它需要將緩沖區(qū)置于內部DARAM塊中;對于循環(huán)緩沖區(qū),每當輸入新樣本時,以新樣本改寫緩沖區(qū)中最老的樣本,而緩沖區(qū)中的其他樣本不需要其他樣本移動。循環(huán)緩沖區(qū)可采用循環(huán)尋址技術實現(xiàn),它不需要必須定位在DARAM塊中,但需要適當?shù)木彌_區(qū)對準以滿足循環(huán)尋址的要求。下面主要介紹一下循環(huán)尋址方法。循環(huán)緩沖實現(xiàn)延時的特點是:實現(xiàn)N階FIR數(shù)字濾波器時,需要在數(shù)據(jù)存儲器中開辟一個稱為滑窗的N個單元的緩沖區(qū),滑窗中存放最新的N個樣本。當每次輸入新樣本時以新的樣本改寫滑窗中最老的樣本,而滑窗中其他的數(shù)據(jù)不需要移動。利用片內BK〔循環(huán)緩沖區(qū)長度〕存放器對滑窗進行間接尋址,循環(huán)緩沖區(qū)地址首位相鄰。下面以N=6的FIR數(shù)字濾波器循環(huán)緩沖區(qū)為例,說明循環(huán)緩沖區(qū)中數(shù)據(jù)是如何尋址的?!惨妶D3.4〕圖3.4N=6的循環(huán)緩沖區(qū)存儲器圖圖3.4N=6的循環(huán)緩沖區(qū)存儲器圖x(n-5)x(n-4)x(n-3)x(n-2)x(n-1)x(n)循環(huán)存儲器頂部ARX-數(shù)據(jù)存儲器循環(huán)存儲器底部x(n+1)x(n+2)x(n-3)x(n-2)x(n-1)x(n)數(shù)據(jù)存儲器ARX-x(n+1)x(n-4)x(n-3)x(n-2)x(n-1)x(n)數(shù)據(jù)存儲器ARX-從圖3-4中可以看出,第一次執(zhí)行后,間接尋址的輔助存放器ARX指向老的數(shù)據(jù),然后從I/O口輸入一個數(shù)據(jù)并將原來存放的數(shù)據(jù)存儲單元改寫為。接著進行第二次乘累加操作,之后ARX指向。然后,從I/O口輸入一個數(shù)據(jù)并將原來存放的數(shù)據(jù)存儲單元改寫為。之后進行第三次乘累加操作……由此,實現(xiàn)循環(huán)緩沖區(qū)的間接尋址的關鍵是:使N個循環(huán)緩沖區(qū)單元的首尾相臨/C54提供循環(huán)尋址的方法實現(xiàn)這種元算。利用BK存放器實現(xiàn)按模間接尋址??捎玫闹噶钣校骸?ARX+%;加1按模修正ARX……*ARX-%;減1按模修正ARX……*ARX+0%;加AR0按模修正ARX……*ARX-0%;減AR0按模修正ARX……*ARX〔lk〕%;加〔lk〕按模修正ARX其中每一條指令均按照BK存放器中的值,分別對〔ARX+1〕、〔ARX-1〕、〔ARX+AR0〕、〔ARX-AR0〕、〔ARX+lk〕值取模。在實現(xiàn)N階FIR時,通過STM#lk,BK指令設定BK的值為FIR的階數(shù),就能保證循環(huán)緩沖區(qū)的指針ARX始終指向循環(huán)緩沖區(qū),實現(xiàn)循環(huán)緩沖區(qū)頂部和底部單元相鄰。由此可見,循環(huán)緩沖區(qū)中的新老數(shù)據(jù)不很直接明了,但是利用循環(huán)緩沖區(qū)實現(xiàn)的有點還是很明顯的:它不需要移動數(shù)據(jù),不存在一個機器周期中要求進行一次讀和一次寫的數(shù)據(jù)存儲器,因而可以將循環(huán)緩沖區(qū)定位在數(shù)據(jù)存儲器的任何位置。3.2.2仿真結果〔1〕在matlab中的濾波器特性波形如圖3.5所示圖圖3.5matlab濾波器特性在matlab中正弦信號x1=sin(6*pi*t)和噪聲信號x2=cos(60*pi*t)波形如圖3.6所示:圖3.6matlab圖3.6matlab正弦信號和噪聲信號波形在matlab中正弦加噪信號x3=sin(6*pi*t)+cos(60*pi*t)和濾波后y1=sin(6*pi*t)波形如圖3.7所示:圖3.7matlab圖3.7matlab正弦加噪信號和濾波后波形在matlab中幅度為2頻率為50HZ方波和濾波后的波形如圖3.8所示:圖3.8matlab圖3.8matlab方波和濾波后的波形在CCS中正弦加噪信號與濾波后波形如圖3.9所示:圖圖3.9在CCS中正弦加噪信號與濾波后波形在CCS中正弦加噪信號頻譜特性如圖3.10所示:圖圖3.10CCS中正弦加噪信號頻譜特性在CCS中正弦加噪信號濾波后頻譜特性如圖3.11所示:圖圖3.11CCS中正弦加噪信號濾波后頻譜特性在CCS中方波信號和濾波后波形如圖3.12所示:圖3.12CCS圖3.12CCS中方波信號和濾波后波形在CCS中方波信號頻譜特性如圖3.13所示:圖圖3.13CCS中方波信號頻譜特性在CCS中方波信號濾波后頻譜特性如圖3.14所示:圖圖3.14CCS中方波信號濾波后頻譜特性〔2〕仿真結果分析輸入為方波,輸出波形為正弦波。輸入加噪的正弦波,輸出為低頻的平滑正弦波。說明濾波器的濾波效果符合要求。但比較CCS和matlab中各自設計濾波器的輸出波形,可以看出,在matlab中設計的濾波器濾波效果不如CCS中的圓滑,出來圖形效果也不是很好。4總結通過這次課設,我認識到了CCS根本使用和編程方法。我也熟悉了CCS的工作環(huán)境,可以很熟練的對CCS進行常規(guī)的操作,快速進行程序編輯和仿真。本文次課設通過一個設計實例,利用CCSB實現(xiàn)FIR數(shù)字濾波器設計,從仿真結果可以看出可以到達技術指標要求,而且方法簡單、快捷,大大減輕了工作量。在實際應用中,只需按要求修改濾波器參數(shù),并對程序作較少的改動,即可實現(xiàn)不同截止頻率的FIR濾波器,實用性較強。完成任務后才發(fā)現(xiàn)這次訓練的內容并不算難。首先要做的工作就是把設計條件寫入到matlab中,其次就是對條件進行分析,主要是得出一些參數(shù)。最后就是對程序經(jīng)行仿真,然后將數(shù)據(jù)倒入CCS中驗證。以上的內容全都要通過程序的編寫來完成。當然,經(jīng)過了課程設計,我也發(fā)現(xiàn)了自己的很多缺乏。但是通過自己的動手動腦,既增加了知識,又給了我專業(yè)知識以及專業(yè)技能上的提升,我也會更加努力,認真學習,爭取在以后的課程中做得更好!在課設的過程中我們都遇到了很多的難題,請教老師都給了細心地指導,幫助我們解決了很多的問題。老師還教我們意識到自己動手對自己的成長和開展過程中的重要性,還敦促我們多上網(wǎng)查找問題的解決方法,使我們的在網(wǎng)上獲取信息的能力得到了增長,再此特別感謝老師對我們的認真指導和教誨。參考文獻[1]王金龍.DSP設計與實驗教程.機械工業(yè)出版社,2007[2]趙健,李毅.數(shù)字信號處理學習輔導.北京:清華大學出版社出版,2006[3]叢玉良.數(shù)字信號處理原理及其MATLAB實現(xiàn).北京:電子工業(yè)出版社,2005[4]陳生譚,郭寶龍等.信號與系統(tǒng).西安:西安電子科技大學出版社,2001[5]張衛(wèi)寧.《DSP原理及應用教程》.科學出版社北京:2023.7[6]戴明楨.《TMS320C54xDSP結構原理及應用》.北京航空航天大學出版社2007.8附錄Matlab源程序:N=15;wc=0.6*pi;%截止頻率在通帶和阻帶邊界頻率的中點n=0:N-1;alpha=(N-1)/2;%濾波器的相位延遲m=n-alpha+eps;%eps為matlab系統(tǒng)精度hd=sin(wc*m)./(pi*m);%理想濾波器脈沖響應win=hanning(N);%采用漢寧窗h=hd.*win';%在時域乘積對應于頻域的卷積b=h;figure(1)[H,w]=freqz(b,512,1000);%采用1000hz的采樣頻率繪出該濾波器的幅度和相頻響應subplot(3,2,1),plot(w/pi,20*log10(abs(H)))xlabel('NormalizedFrequency(×pirad/sample)');ylabel('振幅/dB');gridon;subplot(3,2,2),plot(w/pi,180/pi*unwrap(angle(H)))xlabel('NormalizedFrequency(×pirad/sample)');ylabel('相位/^0');gridon;f1=3;f2=20;dt=0.02;t=0:dt:3;x=sin(2*pi*f1*t)+cos(2*pi*f2*t);%輸入時域信號y=fftfilt(b,x);%給出濾波器的輸出T=0:0.02:2;A=2;P=50;x1=A*square(P*T,50);%輸入時域信號y1=fftfilt(b,x1);%給出濾波器的輸出subplot(3,2,3),plot(t,x),title('輸入信號')%繪輸入信號subplot(3,2,4),plot(t,y)holdon;plot([11]*(N-1)/2*dt,ylim,'r')%繪出延遲到的時刻xlabel('時間/s'),title('輸出信號');axis([03-1.51.5])subplot(3,2,5),plot(T,x1),title('輸入信號')%繪輸入信號axis([T(1)T(end)-(A+1)(A+1)])subplot(3,2,6),plot(T,y1)%繪出延遲到的時刻xlabel('時間/s'),title('輸出信號');axis([T(1)T(end)-(A+1)(A+1)])CCS匯編源程序:.title"fir.asm".mmregs.global_main;PA0:.set0;PA1:.set1Hn:.usect"Hn",16BUF:.usect"BUF",16Xn:.usect"Xn",200Yn:.usect"Yn",215.dataHDATA:.word34*32768/10000,-18*32768/10000,-108*32768/10000,227*32768/10000.word165*32768/10000,-997*32768/10000,596*32768/10000,5082*32768/10000.word5082*32768/10000,596*32768/10000,-977*32768/10000,165*32768/10000.word227*32768/10000,-108*32768/10000,-18*32768/10000,34*32768/10000.text_main:SSBXFRCTSTM#Hn,AR5;AR5指向沖激響應RPT#15MVPDHDATA,*AR5+STM#BUF,AR4;AR4指向緩沖區(qū)間RPTZA,#15STLA,*AR4+STM#Xn,AR3;AR3指向輸入STM#Yn,AR2;AR4指向輸出STM#(Hn+15),AR5;STM#(BUF+15),AR4STM-1,AR0LD#BUF,DPMVDD*AR3+,*AR4;向緩沖去送數(shù)STM#215,BRCRPTB#TABLESTM#16,BKRPTZA,#15MAC*AR4+0%,*AR5+0%,ASTHA,*AR2+TABLE:MVDD*AR3+,*AR4+0%.end中斷向量文件:.title"vectors.asm".ref_main.sect".vectors"B_main.end鏈接命令文件:vectors.objfir.obj-ofir.out-mfir.mapMEMORY{PAGE0:EPROM:org=0E000Hlen=1000HVECS:org=0FF80Hlen=0080HPAGE1:SARAM:org=0060Hlen=0040HDARAM:org=00101Hlen=1380H}SECTIONS{.text:>EPR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論