版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第7章章 匯編語言程序設(shè)計匯編語言程序設(shè)計7.1 程序流程控制程序流程控制7.2 數(shù)據(jù)塊傳送數(shù)據(jù)塊傳送7.3 定點數(shù)的基本算術(shù)運算定點數(shù)的基本算術(shù)運算7.4 長字運算和并行運算長字運算和并行運算7.5 FIR濾波器的濾波器的DSP實現(xiàn)實現(xiàn)7.6 IIR數(shù)字濾波器的數(shù)字濾波器的DSP實現(xiàn)實現(xiàn)7.7 FFT運算的運算的DSP實現(xiàn)實現(xiàn)7.1 程序流程控制程序流程控制7.1.1 程序存儲器地址生成程序存儲器地址生成7.1.2 條件操作條件操作7.1.3 分支轉(zhuǎn)移分支轉(zhuǎn)移7.1.4 調(diào)用與返回調(diào)用與返回7.1.5 重復(fù)操作重復(fù)操作7.1.6 TMS320C54x中斷系統(tǒng)中斷系統(tǒng)7.1.7 堆棧的使用堆
2、棧的使用7.1.1 程序存儲器地址生成程序存儲器地址生成l程序存儲器中存放指令代碼、參數(shù)表和立即數(shù)程序存儲器中存放指令代碼、參數(shù)表和立即數(shù)l程序地址產(chǎn)生邏輯(程序地址產(chǎn)生邏輯(PAGEN),), 5個寄存器:個寄存器:l 程序計數(shù)器(程序計數(shù)器(PC)l重復(fù)計數(shù)器(重復(fù)計數(shù)器(RC)l塊重復(fù)計數(shù)器(塊重復(fù)計數(shù)器(BRC)l塊重復(fù)起始地址寄存器(塊重復(fù)起始地址寄存器(RSA)l塊重復(fù)結(jié)束地址寄存器(塊重復(fù)結(jié)束地址寄存器(REA)RPTRPTB程序地址產(chǎn)生邏輯(程序地址產(chǎn)生邏輯(PAGEN)寄存器寄存器(參見第二章參見第二章)PAB7.1.2 條件操作條件操作l條件指令中的各種條件條件指令中的各種
3、條件l單條件單條件使用單個條件做為條件指令的操作數(shù),只有在條件滿使用單個條件做為條件指令的操作數(shù),只有在條件滿足時指令才能執(zhí)行足時指令才能執(zhí)行l(wèi)多條件多條件使用多個條件做為條件指令的操作數(shù),只有在所有條使用多個條件做為條件指令的操作數(shù),只有在所有條件都滿足時指令才能執(zhí)行(件都滿足時指令才能執(zhí)行(與與)條件指令中的條件指令中的各種條件各種條件累加器累加器A, B狀態(tài)位狀態(tài)位C、TC專用引腳專用引腳/BIO多條件指令中的條件組合第一組第二組A 類B 類A 類B 類C 類EQOVTCCBIONEQNOVNTCNCNBIOLT LEQ GT GEQ l 第一組:第一組:A、B類各選一個條件組合,但不能
4、從同一類選兩個條件。類各選一個條件組合,但不能從同一類選兩個條件。兩個條件檢測的必須是同一累加器。兩個條件檢測的必須是同一累加器。 AEQ,AOV AGT,ANEQ AGT, AOV AGT, BOVl 第二組:第二組: A、B、C類各選一個條件組合,但不能從同一類中選擇類各選一個條件組合,但不能從同一類中選擇兩個條件。兩個條件。 TC,C,BIONTC,C,NC7.1.3 分支轉(zhuǎn)移分支轉(zhuǎn)移分類:分類:無條件分支轉(zhuǎn)移指令無條件分支轉(zhuǎn)移指令條件分支轉(zhuǎn)移指令條件分支轉(zhuǎn)移指令非延遲非延遲延遲延遲在流水線中執(zhí)行到分支轉(zhuǎn)移指令時,在流水線中執(zhí)行到分支轉(zhuǎn)移指令時,其后兩個字已經(jīng)裝入流水線其后兩個字已經(jīng)裝入
5、流水線無條件分支轉(zhuǎn)移指令指令說明周期數(shù)(非延遲/延遲)BD用指令中給出的地址加載PC4/2BACCD用指定累加器(A或B)的低16位作為地址加載PC6/4BD pmad;PC=pmad(15-0)BACCDsrc;PC=src(15-0)先清除分支指令后面已讀入的一個雙字先清除分支指令后面已讀入的一個雙字指令或兩個單字指令(需要額外的時鐘指令或兩個單字指令(需要額外的時鐘周期),然后再進行分支轉(zhuǎn)移周期),然后再進行分支轉(zhuǎn)移先執(zhí)行在分支指令后面已讀入的一個雙先執(zhí)行在分支指令后面已讀入的一個雙字指令或兩個單字指令,然后再進行分字指令或兩個單字指令,然后再進行分支轉(zhuǎn)移支轉(zhuǎn)移條件分支轉(zhuǎn)移指令指令說明周
6、期數(shù)(條件滿足/不滿足)非延遲延遲BCD如果指令中的條件滿足,就用指令中給出的地址加載PC5/33/3BANZD如果所選擇的輔助寄存器不等于0,就用指令中給出的地址加載PC(用于循環(huán))4/22/2BCD pmad, cond,cond,cond;if(cond(s) then PC=pmad(15-0)BANZDpmad, Sind; if(Sind0) then PC=pmad(15-0)BC next, AGT, AOVBANZ LOOPP, *AR3-遠分支轉(zhuǎn)移指令遠分支轉(zhuǎn)移指令遠分支轉(zhuǎn)移指令指令指令指令說明說明說明周期數(shù)周期數(shù)周期數(shù)(非(非(非延遲延遲延遲/ / /延遲)延遲)延遲)F
7、BDFBDFBD可以轉(zhuǎn)移到由指令所給定的可以轉(zhuǎn)移到由指令所給定的可以轉(zhuǎn)移到由指令所給定的232323位地址(位地址(位地址(C5402C5402C5402為為為202020位地址)位地址)位地址)4/24/24/2FBACCFBACCFBACCDDD可以轉(zhuǎn)移到指定累加器所給定的可以轉(zhuǎn)移到指定累加器所給定的可以轉(zhuǎn)移到指定累加器所給定的232323位地址位地址位地址(C5402C5402C5402為為為202020位地址)位地址)位地址)6/46/46/4(單周期)條件執(zhí)行指令XCXCn,cond,cond,cond;if(cond(s) then execute the next n instr
8、uctions,n=1 or 2XC 1, ALEQMAR *AR1+7.1.4 調(diào)用與返回調(diào)用與返回分類:分類:無條件調(diào)用與返回指令無條件調(diào)用與返回指令條件調(diào)用與返回指令條件調(diào)用與返回指令非延遲非延遲延遲延遲無條件調(diào)用與返回指令條件調(diào)用與返回指令遠調(diào)用和遠遠調(diào)用和遠遠調(diào)用和遠返回指令返回指令返回指令7.1.5 重復(fù)操作重復(fù)操作1單條指令的重復(fù)操作單條指令的重復(fù)操作RPT(重復(fù)執(zhí)行下一條指令)重復(fù)執(zhí)行下一條指令)RPTZ(累加器清累加器清0后重復(fù)執(zhí)行下一條指令)后重復(fù)執(zhí)行下一條指令)l重復(fù)執(zhí)行其后的一條指令,重復(fù)的次數(shù)是指令操作數(shù)加重復(fù)執(zhí)行其后的一條指令,重復(fù)的次數(shù)是指令操作數(shù)加1l重復(fù)的次數(shù)
9、保存在重復(fù)的次數(shù)保存在16位的重復(fù)計數(shù)寄存器位的重復(fù)計數(shù)寄存器RC中中l(wèi)RC 只能由重復(fù)指令(只能由重復(fù)指令(RPT或或RPTZ)加載,而不能編程設(shè)置加載,而不能編程設(shè)置l指令重復(fù)執(zhí)行的最大次數(shù)是指令重復(fù)執(zhí)行的最大次數(shù)是65536禁止所有中斷(非屏蔽、屏蔽)禁止所有中斷(非屏蔽、屏蔽)重復(fù)的指令只需取值一次。重復(fù)的指令只需取值一次。與乘與乘/加、塊傳送指令連用,可加、塊傳送指令連用,可以使這些多周期指令在執(zhí)行一次以使這些多周期指令在執(zhí)行一次之后變?yōu)閱沃芷谥噶钪笞優(yōu)閱沃芷谥噶?.1.5 重復(fù)操作重復(fù)操作2塊重復(fù)操作指令塊重復(fù)操作指令塊重復(fù)指令塊重復(fù)指令RPTBl用于將一個碼塊重復(fù)執(zhí)行用于將一個
10、碼塊重復(fù)執(zhí)行N1次次lBRC :N,065535lRSA:RPTB指令的下一條指令的地址指令的下一條指令的地址lREA: RPTB指令的操作數(shù),塊最后一條指令的最后一個字的地址指令的操作數(shù),塊最后一條指令的最后一個字的地址lBRAF/ST1l塊重復(fù)操作執(zhí)行期間可以響應(yīng)中斷塊重復(fù)操作執(zhí)行期間可以響應(yīng)中斷 例例72不能嵌套不能嵌套RPTB REARSAREA循環(huán)體NEXTRSAREASTM #N,BRCBRC* REA=NEXT17.1.6 TMS320C54x中斷系統(tǒng)中斷系統(tǒng)1中斷類型中斷類型l軟件中斷:由指令產(chǎn)生(軟件中斷:由指令產(chǎn)生(INTR、TRAP或或RESET)l硬件中斷:硬件中斷由外
11、設(shè)產(chǎn)生,包括兩種類型:硬件中斷:硬件中斷由外設(shè)產(chǎn)生,包括兩種類型:外部硬件中斷,由芯片中斷引腳的信號觸發(fā)外部硬件中斷,由芯片中斷引腳的信號觸發(fā)內(nèi)部硬件中斷,由片內(nèi)外設(shè)的信號觸發(fā)內(nèi)部硬件中斷,由片內(nèi)外設(shè)的信號觸發(fā)l可屏蔽中斷:軟件可允許或禁止的中斷,可屏蔽中斷:軟件可允許或禁止的中斷,SINT15SINT0l非屏蔽中斷:非屏蔽中斷: 不能被軟件屏蔽的中斷不能被軟件屏蔽的中斷軟件中斷,軟件中斷,INTR K/TRAP K/RESET外部外部RSNMIINTR 16 非屏蔽非屏蔽INT0 可屏蔽可屏蔽執(zhí)行同一執(zhí)行同一ISRC5402中斷源的中斷向量及硬件中斷優(yōu)先權(quán)外部外部硬件硬件不可不可屏蔽屏蔽每個
12、中斷向量4個字C5402中斷源的中斷向量及硬件中斷優(yōu)先權(quán)外部外部硬件硬件外部硬件外部硬件內(nèi)部內(nèi)部硬件硬件內(nèi)部內(nèi)部硬件硬件可屏蔽可屏蔽硬件中斷硬件中斷SINT6不可屏蔽不可屏蔽INTR K7.1.6 TMS320C54x中斷系統(tǒng)中斷系統(tǒng)2中斷標(biāo)志寄存器(中斷標(biāo)志寄存器(IFR)和中斷屏蔽寄存器(和中斷屏蔽寄存器(IMR)l中斷標(biāo)志寄存器(中斷標(biāo)志寄存器(IFR):MMR,01H1:未響應(yīng)的中斷:未響應(yīng)的中斷0:復(fù)位復(fù)位中斷響應(yīng)中斷響應(yīng)IFR相應(yīng)位寫相應(yīng)位寫1(如(如 STM 0FFFFH,IFR ;清中斷標(biāo)志寄存器);清中斷標(biāo)志寄存器)執(zhí)行相應(yīng)中斷號的執(zhí)行相應(yīng)中斷號的INTR指令指令l中斷屏蔽寄
13、存器(中斷屏蔽寄存器(IMR):):MMR,00H1:允許相應(yīng)可屏蔽中斷(:允許相應(yīng)可屏蔽中斷(INTM0)0:禁止相應(yīng)可屏蔽中斷:禁止相應(yīng)可屏蔽中斷C5402中斷標(biāo)志寄存器(中斷標(biāo)志寄存器(IFR)結(jié)構(gòu)圖)結(jié)構(gòu)圖C5402中斷屏蔽寄存器(中斷屏蔽寄存器(IMR)結(jié)構(gòu)圖)結(jié)構(gòu)圖7.1.6 TMS320C54x中斷系統(tǒng)中斷系統(tǒng)3中斷響應(yīng)過程中斷響應(yīng)過程(1)接受中斷請求)接受中斷請求 IFR相應(yīng)位置相應(yīng)位置1,中斷響應(yīng)后清除。,中斷響應(yīng)后清除。(2)響應(yīng)中斷)響應(yīng)中斷(3)執(zhí)行中斷服務(wù)程序()執(zhí)行中斷服務(wù)程序(ISR)接 受 中 斷 請 求是 可 屏 蔽 中 斷 嗎 ?INTM=0 ?IM R
14、屏 蔽 位=1 ?是 硬 件 中 斷 或INTR 指 令 中 斷 嗎 ? 響 應(yīng) 中 斷 ,發(fā) 出 信 號 IACKPC 保 存 到 軟 件 堆 棧執(zhí) 行 中 斷 服 務(wù) 程 序中 斷 返 回 , 恢 復(fù) PC繼 續(xù) 執(zhí) 行 主 程 序INTM 位 置 1否是是是否是否否中斷操作流程圖優(yōu)先級最高的中斷非屏蔽中斷軟件中斷/RS/NMITRAPINTM=1IMR=相應(yīng)的中斷源被屏蔽中斷向量表地址PC執(zhí)行分支轉(zhuǎn)移指令I(lǐng)FR0保護斷點7.1.6 TMS320C54x中斷系統(tǒng)中斷系統(tǒng)4重新映象中斷向量地址重新映象中斷向量地址C54x的中斷向量表是可重定位的的中斷向量表是可重定位的復(fù)位時,中斷向量表的起始
15、地址固定為復(fù)位時,中斷向量表的起始地址固定為0FF80H復(fù)位后,此表的起始地址可由用戶指定復(fù)位后,此表的起始地址可由用戶指定中斷向量可重新被映象到程序存儲器的任何一個中斷向量可重新被映象到程序存儲器的任何一個128字頁開始的地方(除保留區(qū)域外)字頁開始的地方(除保留區(qū)域外)中斷向量地址由中斷向量地址由PMST中的中斷向量指針中的中斷向量指針I(yè)PTR(9位)和中斷向量號(位)和中斷向量號(031)左移兩位)左移兩位后組成。后組成。中斷向量號中斷向量號K=16(10H)左移兩位(乘左移兩位(乘4)中斷向量地址中斷向量地址的產(chǎn)生中斷向量地址的產(chǎn)生中斷向量表基地址中斷向量表基地址IPTR80H中斷向量
16、號中斷向量號K的向量表地址中斷向量表基地址的向量表地址中斷向量表基地址K4上圖,中斷向量號上圖,中斷向量號16的向量表地址的向量表地址180H10H400C0H復(fù)位時,IPTR111111111B1FFH中斷向量表基地址1FFH80H=FF80HBRST_ISRNOPNOP0123/RESET中斷向量中斷向量BNMI_ISRNOPNOP4567/NMI中斷向量中斷向量BDINT0_ISRNOPNOPC0HC1HC2HC3H/INT0中斷向量中斷向量中斷向量表頁中斷向量表頁偏移量IPTRINT0_ISR保護現(xiàn)場保護現(xiàn)場中斷處理中斷處理RETE中斷向量表地址PC第一次跳轉(zhuǎn)硬件自動第二次跳轉(zhuǎn)軟件編程
17、BD?復(fù)位/NMISINT17/INT0/SINT0復(fù)位子程序/NMI中斷SINT17中斷/INT0/SINT0中斷0(0H)1(04H)2(08H)16(C0H)第一次跳轉(zhuǎn)硬件自動中斷向量表頁中斷向量表頁第二次跳轉(zhuǎn)軟件編程中斷號031偏移量中斷號*47.1.7 堆棧的使用堆棧的使用l保存子程序、中斷程序的返回地址保存子程序、中斷程序的返回地址(斷點,自動)(斷點,自動)l保護和恢復(fù)用戶指定的寄存器和數(shù)據(jù)保護和恢復(fù)用戶指定的寄存器和數(shù)據(jù)(現(xiàn)場,編程)(現(xiàn)場,編程)l程序調(diào)用時的參數(shù)傳遞程序調(diào)用時的參數(shù)傳遞l滿遞減滿遞減堆棧堆棧7.1.7 堆棧的使用堆棧的使用在用戶指定的存儲區(qū)開辟一塊存儲區(qū)作為
18、堆棧存儲器在用戶指定的存儲區(qū)開辟一塊存儲區(qū)作為堆棧存儲器堆棧的定義及初始化步驟:堆棧的定義及初始化步驟:l聲明具有適當(dāng)長度的未初始化段聲明具有適當(dāng)長度的未初始化段l將堆棧指針指向棧底將堆棧指針指向棧底(高地址)(高地址)l在鏈接命令文件(在鏈接命令文件(.cmd)中將堆棧段放入數(shù)據(jù)存儲區(qū)中將堆棧段放入數(shù)據(jù)存儲區(qū) K_STACK_SIZE.set100STACK.usect“stack”, K_STACK_SIZESYSTEM_STACK.setSTACK+ K_STACK_SIZESTM# SYSTEM_STACK,SP.CMD SECTIONSStack:DRAM PAGE1 P171,定時
19、器/計數(shù)器編程舉例(times.pjt)四要素:四要素:初始化程序初始化程序重新映象中斷向量表地址重新映象中斷向量表地址初始化堆棧指針初始化堆棧指針初始化中斷源初始化中斷源開放中斷開放中斷2. 中斷向量表中斷向量表3. 堆棧堆棧4. 中斷服務(wù)程序中斷服務(wù)程序 P171,定時器/計數(shù)器編程舉例(times.pjt)PAGE 01000H1500HRAM1.text.data_c_int00PAGE 1SPRAM1 vars0060H0080HSPRAM20100H0300HSTACKSTACKSTACK+100HSP.text_c_int00128字,中斷向量表startWAIT初始化程序tim
20、er中斷服務(wù)子程序.data(1000H)PMST=1020HIPTR=20H中斷向量表基地址IPTR80H=20H*80H=1000HMP/MC=0OVLY=1DROM=0CLKOFF=0IPTR157MP/MC6OVLY5AVIS4DROM3CLKOFF2SMUL+1SST+07.2 數(shù)據(jù)塊傳送數(shù)據(jù)塊傳送10條數(shù)據(jù)傳送指令條數(shù)據(jù)傳送指令l數(shù)據(jù)存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器MVDK Smem,dmadMVKD dmad,Smem MVDD Xmem,Ymeml數(shù)據(jù)存儲器數(shù)據(jù)存儲器MMRMVDM dmad,MMRMVMD MMR,dmadMVMM mmr, mmr7.2 數(shù)據(jù)塊傳送數(shù)據(jù)塊
21、傳送l程序存儲器程序存儲器數(shù)據(jù)存儲器:數(shù)據(jù)存儲器:MVPD Pmad,SmemMVDP Smem,PmadREADA SmemWRITA Smem例例73 mymove.pjt傳送速度快(相對加載和存儲指令)傳送速度快(相對加載和存儲指令)不需通過累加器不需通過累加器可尋址程序空間可尋址程序空間與與RPTRPT結(jié)合實現(xiàn)數(shù)據(jù)塊傳送結(jié)合實現(xiàn)數(shù)據(jù)塊傳送(啟動流水線,單周期)(啟動流水線,單周期)7.3 定點數(shù)的基本算術(shù)運算定點數(shù)的基本算術(shù)運算7.3.1 加法、減法和乘法運算加法、減法和乘法運算7.3.2 定點除法運算定點除法運算7.3.1 加法、減法和乘法運算加法、減法和乘法運算1定點定點DSP中數(shù)
22、據(jù)表示方法中數(shù)據(jù)表示方法l定點定點DSP芯片的數(shù)值表示是基于芯片的數(shù)值表示是基于2的補碼表示形式。的補碼表示形式。ALUALUALU、MACMACMAC按無符號整數(shù)運算按無符號整數(shù)運算按無符號整數(shù)運算按無符號整數(shù)運算按無符號整數(shù)運算按無符號整數(shù)運算l定標(biāo)定標(biāo)通過設(shè)定小數(shù)點在通過設(shè)定小數(shù)點在16位數(shù)中的不同位置,就可以表示位數(shù)中的不同位置,就可以表示不同大小和不同精度的數(shù)不同大小和不同精度的數(shù)l數(shù)的定標(biāo)有數(shù)的定標(biāo)有Q表示法和表示法和S表示法表示法lQ表示法表示法1個符號位、個符號位、Q個小數(shù)位和個小數(shù)位和N-1-Q個整數(shù)位個整數(shù)位N:字長:字長 l數(shù)的范圍與精度數(shù)的范圍與精度小數(shù)點符號位Q表示、
23、S表示及數(shù)值范圍(16位數(shù))2-15=0.0003051精度精度1純小數(shù)純小數(shù)純整數(shù)純整數(shù)DSP定點運算中小數(shù)的表示(Q15)0.707.word 32768*707/1000浮點數(shù)定點數(shù)7.3.1 加法、減法和乘法運算加法、減法和乘法運算216位定點加法和位定點加法和16位定點減法位定點減法l加法指令加法指令A(yù)DDADDC :帶進位的加法運算:帶進位的加法運算ADDM:立即數(shù)的加法運算:立即數(shù)的加法運算ADDS:無符號數(shù)的加法運算:無符號數(shù)的加法運算l減法指令減法指令SUBSUBB:帶進位的減法運算:帶進位的減法運算SUBC: 條件減法指令條件減法指令SUBS:無符號數(shù)的減法運算:無符號數(shù)的
24、減法運算7.3.1 加法、減法和乘法運算加法、減法和乘法運算316位定點整數(shù)乘法位定點整數(shù)乘法見指令表見指令表FRCT0 (RSBX FRCT)MPYU:無符號數(shù)乘法:無符號數(shù)乘法其他:其他: 帶符號數(shù)乘法帶符號數(shù)乘法例:例:RSBX FRCTLD x, TMPY y, ASTH A, z_hSTL A, z_l7.3.1 加法、減法和乘法運算加法、減法和乘法運算4Q15定點小數(shù)乘法運算定點小數(shù)乘法運算兩個兩個Q15的小數(shù)相乘,乘積總是的小數(shù)相乘,乘積總是“向右增長向右增長”,這就意,這就意味著超出定點器件數(shù)據(jù)范圍的將是不太感興趣的部分。味著超出定點器件數(shù)據(jù)范圍的將是不太感興趣的部分。既可以保
25、存既可以保存32位乘積,也可以只保存高位乘積,也可以只保存高16位乘積。位乘積。FRCT1 (SSBX FRCT)例:例:SSBX FRCTLD x, 16, AMPYA ySTH B, z7.3.1 加法、減法和乘法運算加法、減法和乘法運算4Q15定點小數(shù)乘法運算定點小數(shù)乘法運算例:字長例:字長4位,累加器位,累加器8位,位,0.5(0.375)0.1875010011010100000001001100010011101001111010011110(0.5)(-0.375)符號擴展符號擴展左移左移1位,消除冗余符號位位,消除冗余符號位0100(-0.1875)(0.09375)參照參照計
26、算機組成原理計算機組成原理7.3.1 加法、減法和乘法運算加法、減法和乘法運算4Q15定點小數(shù)乘法運算定點小數(shù)乘法運算誤差分析:誤差分析:x=y=4000H(0.5),x*y=2000_0000H(0.25)x=0CCDH(0.1) , 0.1*32768=3276.8 3277=0CCDH, 0.100006103515625y=0599AH(0.7), 07*32768=22937.6 22938=0599A, 0.70001220703125x*y=08F5F0A4H, 0.07000549323856830596923828125x*y 08F5H, 0.069976806640625
27、7.3.1 加法、減法和乘法運算加法、減法和乘法運算例例74,P129PAGE 01000H2000HROM.text.data_c_int00PAGE 10400H0440HOTHER .bssx17.3.1 加法、減法和乘法運算加法、減法和乘法運算例例75,P131PAGE 080H1080HROM.text.data_c_int00PAGE 10400H0800HOTHER .bssxay7.5 FIR濾波器的濾波器的DSP實現(xiàn)實現(xiàn)FIR濾波器濾波器設(shè)設(shè)N階階FIR濾波器的系數(shù)為濾波器的系數(shù)為h(0),h(1), .,h(N-1),X(n)表示濾波器在表示濾波器在n時刻的輸入,則時刻的輸
28、入,則n時刻的輸出為:時刻的輸出為: 其對應(yīng)的濾波器傳遞函數(shù)為:其對應(yīng)的濾波器傳遞函數(shù)為:10)()()1() 1() 1() 1 ()()0()(NiinxihNnxNhnxhnxhnyiNizihzH10)()(7.5 FIR濾波器的濾波器的DSP實現(xiàn)實現(xiàn)橫截型(直接型或卷積型)橫截型(直接型或卷積型)FIR數(shù)字濾波器的結(jié)構(gòu)圖數(shù)字濾波器的結(jié)構(gòu)圖x(n)Z-1Z-1Z-1h(0)h(1)h(2)h(N-2)h(N-1)y(n)7.5.1 線性緩沖區(qū)法線性緩沖區(qū)法例例713,P145(后述)(后述)7.5.2 循環(huán)緩沖區(qū)法循環(huán)緩沖區(qū)法 對于對于N階階FIR濾波器,在數(shù)據(jù)存儲區(qū)開辟一個具有濾波器
29、,在數(shù)據(jù)存儲區(qū)開辟一個具有N個單個單元的循環(huán)緩沖區(qū)元的循環(huán)緩沖區(qū) 循環(huán)緩沖區(qū)中存放最新的循環(huán)緩沖區(qū)中存放最新的N個輸入樣本值個輸入樣本值 每次輸入新的樣本時,新的樣本將覆蓋最早的數(shù)據(jù),其每次輸入新的樣本時,新的樣本將覆蓋最早的數(shù)據(jù),其他數(shù)據(jù)則不需要移動他數(shù)據(jù)則不需要移動7.5.2 循環(huán)緩沖區(qū)法循環(huán)緩沖區(qū)法FIR濾波器循環(huán)緩沖區(qū)存儲器圖濾波器循環(huán)緩沖區(qū)存儲器圖firstsecondthird例例7-12用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法編寫實現(xiàn)用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法編寫實現(xiàn)FIR濾波濾波的程序,的程序,P1411FIR濾波器設(shè)計濾波器設(shè)計低通濾波器低通濾波器通帶邊界頻率為通帶邊界頻率為1500Hz通帶波紋小于通帶波紋小于1dB阻帶邊界頻率為阻帶邊界頻率為2000Hz阻帶衰減大于阻帶衰減大于40dB采樣頻率為采樣頻率為8000Hz。采用采用MATLAB濾波器階數(shù)濾波器階數(shù)N=17濾波器系統(tǒng)濾波器系統(tǒng)b0b16h(i),i=016bi, i=016Q152產(chǎn)生濾波器輸入信號的文件產(chǎn)生濾波器輸入信號的文件輸入信號:輸入信號:頻率為頻率為f1=1000Hz和和f2=2500Hz正弦波的合成信號正弦波的合成信號,采樣頻采樣頻率為率為fs=8000Hz。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年河南客運應(yīng)知應(yīng)會
- 2024年長春道路運輸客運從業(yè)資格證模擬考試
- 2024年淄博客運從業(yè)資格證培訓(xùn)考試資料
- 2024年綏化客運資格證仿真考試題
- 2024年六安客運資格證仿真試題
- 中考作文之中考滿分作文我心中的甘露
- 賽項規(guī)程-高職學(xué)生組(藝術(shù)專業(yè)技能原創(chuàng)插畫設(shè)計)
- 2024-2025學(xué)年山東省德州市夏津縣統(tǒng)編版六年級上冊期中考試道德與法治試卷
- 教育技術(shù)并購策略
- 車站石材購銷施工協(xié)議
- 《基本政治制度》名師教案
- 2024年網(wǎng)格員考試題庫1套
- 2024年共青團入團積極分子考試題庫及答案
- 2024年職業(yè)技能“大數(shù)據(jù)考試”專業(yè)技術(shù)人員繼續(xù)教育考試題庫與答案
- 江蘇高職單招報考指南
- GJB9001C質(zhì)量保證大綱
- 醫(yī)療器械召回管理辦法培訓(xùn)
- 心臟介入手術(shù)配合
- 學(xué)生騎車安全承諾書
- 戰(zhàn)爭與和平-美術(shù)作品反映戰(zhàn)爭 課件-2023-2024學(xué)年高中美術(shù)湘美版(2019)美術(shù)鑒賞
- 核電站壽命評估技術(shù)
評論
0/150
提交評論