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

正文內(nèi)容

基于tms320vc5410芯片的fir數(shù)字濾波器的設(shè)計(jì)畢業(yè)論文-文庫吧資料

2025-06-24 17:40本頁面
  

【正文】 MATLAB模擬輸入信號(hào)驗(yàn)證濾波器的效果。代碼運(yùn)行出錯(cuò)后,能準(zhǔn)確地找到原因以及解決辦法,終于在不斷探索中取得了實(shí)驗(yàn)的成功,得到了理想的濾波圖形。這是最基礎(chǔ)的工作,也是最關(guān)鍵的步驟。通過對(duì)CSS集成開發(fā)環(huán)境的不斷操作,我逐漸熟悉了這個(gè)仿真環(huán)境,并了解了出現(xiàn)將一般故障的具體表現(xiàn)和原因??紤]到DSP5410是定點(diǎn)DSP,所以將輸入信號(hào)以及濾波器系數(shù)都轉(zhuǎn)換成了定點(diǎn)數(shù),為了防止溢出,將輸入信號(hào)的幅值進(jìn)行縮小,將其控制在1到1之間。 圖形參數(shù)設(shè)置窗口設(shè)置觀察圖形窗口變量及參數(shù)為:采用雙蹤觀察啟始地址分別為x和y,長度為256的單元中數(shù)值的變化,數(shù)值類型為32位浮點(diǎn)型變量,這兩個(gè)數(shù)組中分別存放的是經(jīng)A/D轉(zhuǎn)換后的輸入混疊信號(hào)(輸入信號(hào))和對(duì)該信號(hào)進(jìn)行FIR濾波的結(jié)果;單擊“Animate”運(yùn)行程序,調(diào)整觀察窗口并觀察濾波結(jié)果。編譯并將整個(gè)FIR項(xiàng)目成功地下載到目標(biāo)系統(tǒng)板后, FIR程序就可以在 EVM 板上運(yùn)行。這時(shí),要注意硬件狀況, 特別是要注意硬件指示燈是否各自處于正常狀況, 也要注意硬件仿真器是否正常工作。, 然后將匯編語言源文件(.asm或. c)文件以及中斷向量文件(. asm)、位文件(. cmd)添加到工程中。(3) 程序調(diào)試方便。(2) 程序結(jié)構(gòu)清晰。但是如果對(duì)C編譯器和C環(huán)境比較熟悉,采用這種方法也可以對(duì)C變量進(jìn)行自由地操作。另一方面,也可以用這種方法在C程序中的關(guān)鍵部分用匯編語句代替C語句以優(yōu)化程序。另外一種C語言和匯編混合編程的方法就是直接在C程序中嵌入?yún)R編語句。(10 ) 任何在匯編中定義的對(duì)象或函數(shù),如果需要在C程序中訪問或調(diào)用。因此,編寫匯編語言程序時(shí),必須在C程序可以訪問的所有對(duì)象前加“_”。(8),如果改變其內(nèi)容則會(huì)引起不可預(yù)測的后果。(6) 長整型和浮點(diǎn)數(shù)在存儲(chǔ)器中存放的順序是低位字在低地址,高位字在高地址。(4 )從匯編程序調(diào)用C函數(shù)時(shí),以逆序方式壓入堆棧,調(diào)用時(shí)再將參數(shù)彈出。其它寄存器是可以自由使用的。(2) 必須保護(hù)函數(shù)要用到的幾個(gè)特定寄存器,在TMS320C54X的的c編譯中,這些特定的寄存器包括:ARD (FP), ARI (SP), AR6和AR70其中,如果SP正常使用,則不必明確加以保護(hù)。C模塊和匯編模塊可以相互訪問各自定義的函數(shù)或變量。上面的例子采用的是第一種方法,這是一種常用的C語言和匯編語言接口方法,采用這種方法最重要的是必須遵守c編譯器所定義的函數(shù)調(diào)用規(guī)則和寄存器使用規(guī)則。(2) 直接在C語言程序的相應(yīng)位置嵌入?yún)R編語句。用C語言和匯編語言混合編程的方法主要有以下三種:(1) 獨(dú)立編寫C程序和匯編程序,分開編譯和匯編,形成各自的目標(biāo)代碼模塊,然后用鏈接器將c模塊和匯編模塊鏈接起來。此外,用C語言實(shí)現(xiàn)DSP芯片的某些硬件控制也不如匯編程序方便,有些甚至無法用c語言實(shí)現(xiàn)。用C語言編寫的中斷程序雖然可讀性很好,但由于進(jìn)入中斷程序以后,有時(shí)不管程序中是否用到,中斷程序都將寄存器進(jìn)行保護(hù),從而大大降低中斷程序的效率。雖然C編譯器的優(yōu)化功能可以使C代碼的效率大大增加,但是在某些情況下,C代碼的效率還是無法與手工編寫的匯編代碼的效率相比,比如FIR濾波器程序。采用C編譯器的優(yōu)化功能可以增加C代碼的效率,在某些情況下,C代碼的效率甚至接近手工代碼的效率。 FIR濾波器的軟件設(shè)計(jì)及其調(diào)試本設(shè)計(jì)中采用C語言和匯編語言混合編程的方式進(jìn)行的,程序主體由C語言編寫,而核心的FIR濾波算法則由匯編語言編寫?!? FIR系數(shù)存儲(chǔ)格式示意圖考慮到在執(zhí)行macd指令時(shí)是將低地址的數(shù)據(jù)復(fù)制到高地址來完成延遲功能,所以在用macd指令計(jì)算卷積時(shí),先計(jì)算x(nN+1)與h(N1)的乘積,最后才計(jì)算x(n)與h(0)的乘積。由此可見,該指令同時(shí)完成了乘累加和數(shù)據(jù)延遲(移位)的功能,這正是卷積算法所要求的。通常情況下,macd指令執(zhí)行時(shí)需要三個(gè)周期。在指令執(zhí)行時(shí),Smem地址中的內(nèi)容被同時(shí)復(fù)制到T寄存器和Smem低中之后的下一個(gè)地址單元中。Src表示累加器,可以是A累加器或是B累加器。macd指令的形式如下:macd(Smem,pmad,src);在macd指令中,Smem是間接尋址參數(shù),它是指令中指向數(shù)據(jù)存儲(chǔ)器的單地址。設(shè)x(n)為輸入信號(hào),h(n)為FIR濾波器的沖擊響應(yīng),n=0,…,N1,則FIR濾波器的輸出y(n)就是x(n)與h(n)的卷積,即: ()由于卷積是數(shù)字信號(hào)處理中最常用到的算法,因此幾乎所有的DSP芯片中都設(shè)有專門的指令支持卷積運(yùn)算。在本文中采用的是循環(huán)緩沖法,循環(huán)緩沖區(qū)法的特點(diǎn)是:(1) 對(duì)于N階的FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開辟一個(gè)也稱為滑窗的N個(gè)單元的緩沖區(qū),滑窗中存放最新的N個(gè)輸入樣本;(2) 每次移入新的樣本時(shí),以新樣本改寫滑窗中老的數(shù)據(jù),而滑窗中的其他數(shù)據(jù)不需要移動(dòng);(3) 利用片內(nèi)BK(循環(huán)緩沖區(qū)長度)寄存器對(duì)滑窗進(jìn)行間接尋址,循環(huán)緩沖區(qū)地址首尾相鄰。TMS3205410是16位的定點(diǎn)處理器,所以在進(jìn)行匯編程序設(shè)計(jì)時(shí),F(xiàn)IR濾波器系數(shù)要采用Q15格式,即必須將上述系數(shù)轉(zhuǎn)化為Q15格式,這只要將濾波器各系數(shù)乘以2即可。但是考慮到編程的難度,對(duì)于求FFT變換后數(shù)據(jù)的最大值,不開平方也可以找到最大值,并對(duì)功率譜的結(jié)果沒有影響,所以在實(shí)際的DSP編程中省去了開平方的運(yùn)算。(2)實(shí)現(xiàn)N點(diǎn)復(fù)數(shù)FFT N點(diǎn)復(fù)數(shù)FFT算法的實(shí)現(xiàn)可以分為三個(gè)功能模塊,即第一級(jí)蝶形運(yùn)算、第二級(jí)蝶形運(yùn)算、第三級(jí)至級(jí)蝶形運(yùn)算。在這種尋址方式下,AR0存放的整數(shù)N是FFT點(diǎn)的一半,一個(gè)輔助寄存器指向一個(gè)數(shù)據(jù)存放的單元。用TMS3205410的匯編程序?qū)崿F(xiàn)FFT算法主要分為四步:(1)實(shí)現(xiàn)輸入數(shù)據(jù)的比特反轉(zhuǎn)輸入數(shù)據(jù)的比特反轉(zhuǎn)實(shí)際上就是將輸入數(shù)據(jù)進(jìn)行位碼倒置,以便在整個(gè)運(yùn)算后的輸出序列是一個(gè)自然序列。 矩形窗設(shè)計(jì) FIR濾波器的應(yīng)用 FFT算法的實(shí)現(xiàn)DSP芯片的出現(xiàn)使FFT的實(shí)現(xiàn)方法變得更為方便。 帶通濾波器的MATLAB實(shí)現(xiàn)使用矩形窗對(duì)帶通原型進(jìn)行截取。Window為窗函數(shù),列向量,其長度為n+1;缺省時(shí),自動(dòng)取hamming窗?!痜type’為濾波器類型。為濾波器截止頻率,取值范圍為0~1。fir1是采用經(jīng)典窗函數(shù)法設(shè)計(jì)線性相位FIR數(shù)字濾波器,且具有標(biāo)準(zhǔn)低通、帶通、高通和帶阻等類型。當(dāng)程序中新增加了變量后,在rcp文件中會(huì)出現(xiàn)Not yet placed項(xiàng),只要將其下的文件夾,根據(jù)類型拖動(dòng)到run_view下的相應(yīng)的數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器即可。所以,一般在編程過程中,使用 rcp 文件對(duì)程序進(jìn)行內(nèi)存分rcp文件全稱是 recipe 文件,這是一種圖形化界面的內(nèi)存分配文件。所以,一定要分配好內(nèi)存空間CCS提供了兩種分配空間的方法:利用cmd文件或rcp文件分配空間,其中cmd 文件是純文本格式的描述性的空間分配方式, 它的優(yōu)點(diǎn)是程序員對(duì)空間的可控制性較高,可以將不同的塊分配到指定的地址,并規(guī)定長度。 CCS基本編輯界面在利用CCS編程的過程中,不可避免的要遇到如何將程序變量分配到內(nèi)存中去的問題。  CCS集成開發(fā)環(huán)境 調(diào)試DSP目標(biāo)程序,它主要由幾個(gè)主要的窗口組成:工程組顯示窗口、程序內(nèi)容顯示窗口、編輯信息提示窗口和主要工具欄。對(duì)于任意通用可編程芯片來說,一般都具備以下幾個(gè)部分:(1)內(nèi)部存儲(chǔ)器:主要用來存儲(chǔ)程序、執(zhí)行程序、存儲(chǔ)數(shù)據(jù)等;(2)中央處理單元(CPU):用來實(shí)現(xiàn)各種運(yùn)算功能;(3)片內(nèi)外設(shè):用來實(shí)現(xiàn)一些特定功能,如時(shí)鐘發(fā)生器、硬件定時(shí)器等等;(4)外部總線接口:用來和其他芯片接口,協(xié)同工作;(5)通信接口:用來從外圍芯片獲得數(shù)據(jù)或者將處理完的數(shù)據(jù)傳輸出去;(6)內(nèi)部總線:用來連接芯片中不同的單元。這種并行性支持一套強(qiáng)大的算術(shù)運(yùn)算、邏輯運(yùn)算和位操作運(yùn)算,所以使得這些運(yùn)算可以在單個(gè)機(jī)器周期內(nèi)完成。分開的程序空間和地址空間提供了高度的并行性,可以同時(shí)訪問程序指令和數(shù)據(jù),例如三次讀操作和一次寫操作可以在一個(gè)周期內(nèi)完成。它屬于TI C5000系列中的C54X系列,正如前面所說,同一系列的DSP具有相同的內(nèi)核、相同或兼容的匯編指令集,差別僅在于內(nèi)存儲(chǔ)器的大小,
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1