彭啟琮DSP視頻教程課件7_第1頁(yè)
彭啟琮DSP視頻教程課件7_第2頁(yè)
彭啟琮DSP視頻教程課件7_第3頁(yè)
彭啟琮DSP視頻教程課件7_第4頁(yè)
彭啟琮DSP視頻教程課件7_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(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實(shí)現(xiàn)(一)實(shí)現(xiàn)(一)DTMF的編解碼的編解碼用用DSP實(shí)現(xiàn)雙音多頻(實(shí)現(xiàn)雙音多頻(DTMF)的撥)的撥號(hào)產(chǎn)生和解碼號(hào)產(chǎn)生和解碼。DTMFDual-Tone Multiple Frequency實(shí)現(xiàn)步驟v對(duì)象分析對(duì)象分析v算法設(shè)計(jì)算法設(shè)計(jì)vDSP選擇選擇v系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)v系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)v系統(tǒng)調(diào)試系統(tǒng)調(diào)試對(duì)象分析 對(duì)所要開發(fā)的系統(tǒng)的功能、對(duì)所要開發(fā)的系統(tǒng)的功能、性能要有深入的了解和分析性能要有深入的了解和分析,尤其對(duì)技術(shù)指標(biāo),要作透,尤其對(duì)技術(shù)指標(biāo),要作透徹的理解和把握。徹的理解和把握。 DTMF用一對(duì)頻率(行頻用一對(duì)頻率(行頻/列列頻)來表示一個(gè)符號(hào)(電話鍵

2、盤頻)來表示一個(gè)符號(hào)(電話鍵盤上的上的09,AD,*,#,共,共16個(gè)個(gè)符號(hào))符號(hào)) 一次按鍵的時(shí)間是一次按鍵的時(shí)間是100ms,其中,其中,頻率對(duì)存在的時(shí)間是,頻率對(duì)存在的時(shí)間是45ms,不允許超過不允許超過55ms,其余的時(shí)間,其余的時(shí)間是靜音。是靜音。 CCITT關(guān)于關(guān)于DTMF的指標(biāo)的指標(biāo)vLow band: 697、770、852、941(Hz)RBW3.5%vHigh band: 1209、1336、1477、1633(Hz)RBW4dB REV 8dBvDYN RANGE: 25dBvGUARD TIME: MIN TONE TIME 45msvSNR:NOISE -24dBV算

3、法設(shè)計(jì)算法設(shè)計(jì) 算法設(shè)計(jì)是非常關(guān)鍵的步驟算法設(shè)計(jì)是非常關(guān)鍵的步驟,因?yàn)樗惴Q定運(yùn)算量和存,因?yàn)樗惴Q定運(yùn)算量和存儲(chǔ)器的大小,從而決定儲(chǔ)器的大小,從而決定DSP的的選擇,進(jìn)而決定系統(tǒng)的設(shè)計(jì)選擇,進(jìn)而決定系統(tǒng)的設(shè)計(jì),包括硬件和軟件的設(shè)計(jì)。,包括硬件和軟件的設(shè)計(jì)。DTMF撥號(hào)的產(chǎn)生撥號(hào)的產(chǎn)生 基于基于DSP的的DTMF的音頻信號(hào)的音頻信號(hào)發(fā)生器,使用兩個(gè)二階的數(shù)字正發(fā)生器,使用兩個(gè)二階的數(shù)字正弦波振蕩器,一個(gè)產(chǎn)生行頻,一弦波振蕩器,一個(gè)產(chǎn)生行頻,一個(gè)產(chǎn)生列頻。個(gè)產(chǎn)生列頻。 DTMF發(fā)生器的系數(shù)和初始條件發(fā)生器的系數(shù)和初始條件DTMF發(fā)生器的信號(hào)流程發(fā)生器的信號(hào)流程音頻檢測(cè)音頻檢測(cè)vGoertzel算

4、法是算法是DTMF解碼器的解碼器的基礎(chǔ),實(shí)際上是一個(gè)兩極點(diǎn)的基礎(chǔ),實(shí)際上是一個(gè)兩極點(diǎn)的IIR濾波器。濾波器。vDFT或或FFT需要在處理之前準(zhǔn)備需要在處理之前準(zhǔn)備好一個(gè)數(shù)據(jù)塊,而好一個(gè)數(shù)據(jù)塊,而Goertzel算法算法是一個(gè)遞歸的結(jié)構(gòu),就每個(gè)輸入是一個(gè)遞歸的結(jié)構(gòu),就每個(gè)輸入的樣本進(jìn)行計(jì)算。的樣本進(jìn)行計(jì)算。Goertzel算法算法Goertzel算法的特點(diǎn)算法的特點(diǎn)vGoertzel算法的算法的IIR濾波器結(jié)構(gòu)涉及兩個(gè)濾波器結(jié)構(gòu)涉及兩個(gè)復(fù)共軛極點(diǎn),但對(duì)于實(shí)際的復(fù)共軛極點(diǎn),但對(duì)于實(shí)際的DTMF音頻音頻檢測(cè),只要有幅度信息就夠了(實(shí)際上檢測(cè),只要有幅度信息就夠了(實(shí)際上使用幅度平方),從而簡(jiǎn)化為只需

5、要一使用幅度平方),從而簡(jiǎn)化為只需要一個(gè)實(shí)系數(shù)參與計(jì)算。個(gè)實(shí)系數(shù)參與計(jì)算。v Goertzel算法要比算法要比FFT快得多,因?yàn)橹豢斓枚?,因?yàn)橹恍枰峁┬枰峁?個(gè)行個(gè)行/列頻和它們的二次諧波列頻和它們的二次諧波的信息(二次諧波的信息用于將的信息(二次諧波的信息用于將DTMF與話音或音樂區(qū)別開來)。與話音或音樂區(qū)別開來)。行頻行頻/ /列頻及相應(yīng)的系數(shù)列頻及相應(yīng)的系數(shù)有效性檢查有效性檢查v信號(hào)強(qiáng)度 DTMF行頻、列頻信號(hào)之和行頻、列頻信號(hào)之和的強(qiáng)度是否達(dá)到一定的門限值的強(qiáng)度是否達(dá)到一定的門限值有效性檢查有效性檢查v扭曲度 標(biāo)準(zhǔn)扭曲:標(biāo)準(zhǔn)扭曲: 行頻峰值行頻峰值 列頻峰值列頻峰值 4dB 反向扭

6、曲:反向扭曲: 列頻峰值列頻峰值 行頻峰值行頻峰值 8dB有效性檢查有效性檢查v二次諧波強(qiáng)度 以便將以便將DTMF信號(hào)與其他語信號(hào)與其他語音信號(hào)、音樂信號(hào)等區(qū)別開來音信號(hào)、音樂信號(hào)等區(qū)別開來。有效性檢查有效性檢查v數(shù)字信息的穩(wěn)定性 如果一個(gè)數(shù)字成功地檢測(cè)到如果一個(gè)數(shù)字成功地檢測(cè)到兩次,認(rèn)為該數(shù)字是穩(wěn)定的兩次,認(rèn)為該數(shù)字是穩(wěn)定的有效性檢查有效性檢查v數(shù)字信息的有效性 檢測(cè)到的數(shù)字前面必須是靜音檢測(cè)到的數(shù)字前面必須是靜音符時(shí),該數(shù)字才是有效的,以便符時(shí),該數(shù)字才是有效的,以便將各次擊鍵區(qū)別開來將各次擊鍵區(qū)別開來 編碼器對(duì)速度和存儲(chǔ)器的要求編碼器對(duì)速度和存儲(chǔ)器的要求解碼器對(duì)速度和存儲(chǔ)器的要求解碼器對(duì)

7、速度和存儲(chǔ)器的要求DSPDSP芯片選擇芯片選擇v算法對(duì)算法對(duì)DSP芯片計(jì)算速度的要求芯片計(jì)算速度的要求v系統(tǒng)的管理(如任務(wù)管理、進(jìn)程管系統(tǒng)的管理(如任務(wù)管理、進(jìn)程管理、存儲(chǔ)器管理、理、存儲(chǔ)器管理、I/O管理等)對(duì)管理等)對(duì)DSP的要求的要求v片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器的要求(片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器的要求(包括容量的要求和速度的要求)包括容量的要求和速度的要求)DSPDSP芯片選擇芯片選擇v對(duì)外設(shè)(如串口、并口、定時(shí)器、對(duì)外設(shè)(如串口、并口、定時(shí)器、總線寬度、等待狀態(tài)等)的要求總線寬度、等待狀態(tài)等)的要求vDSP封裝對(duì)印制板的設(shè)計(jì)影響甚大封裝對(duì)印制板的設(shè)計(jì)影響甚大v開發(fā)環(huán)境開發(fā)環(huán)境v技術(shù)支持技術(shù)支持

8、v性能價(jià)格比性能價(jià)格比DSPDSP芯片的速度芯片的速度DSPDSP的片內(nèi)存儲(chǔ)器的片內(nèi)存儲(chǔ)器DSP的外設(shè)的外設(shè)BGA(BALL GRID ARRAY)PLCC(PLASTIC J-LEADED CHIP CARRIER)PQFP(PLASTIC QUAD FLAT PACK)PDLP(PLASTIC DUAL-IN-LINE PACKAGE)LCCC(LEADLESS CERAMIC CHIP CARRIER)系統(tǒng)設(shè)計(jì)v硬件系統(tǒng)設(shè)計(jì)硬件系統(tǒng)設(shè)計(jì)v軟件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)設(shè)計(jì)工作軟件工作軟件測(cè)試軟件測(cè)試軟件功能框圖(指標(biāo)分配)功能框圖(指標(biāo)分配)電原理圖電原理圖印制板(數(shù)字與模擬電路,接地,印制板(數(shù)

9、字與模擬電路,接地,電源,多層板)電源,多層板)系統(tǒng)的實(shí)現(xiàn)系統(tǒng)的實(shí)現(xiàn)v從從C C程序作起程序作起 用用C Compiler將將C源程序編譯源程序編譯成為匯編語言源程序,然后匯編成為匯編語言源程序,然后匯編、連接后輸出可執(zhí)行代碼;也可、連接后輸出可執(zhí)行代碼;也可以使用以使用shell程序,將編譯、匯編程序,將編譯、匯編、連接一齊完成、連接一齊完成 源程序分析器源程序分析器 輸入是輸入是C源文件。讀入源語源文件。讀入源語句,檢查語法和語意錯(cuò)誤,寫出句,檢查語法和語意錯(cuò)誤,寫出一個(gè)中間文件(一個(gè)中間文件(.if)優(yōu)化器優(yōu)化器 可選擇項(xiàng)。其輸入是分析器產(chǎn)生可選擇項(xiàng)。其輸入是分析器產(chǎn)生的中間文件(的中間

10、文件(.if)。當(dāng)運(yùn)行優(yōu)化器)。當(dāng)運(yùn)行優(yōu)化器時(shí),用戶可以選擇優(yōu)化的層次。產(chǎn)時(shí),用戶可以選擇優(yōu)化的層次。產(chǎn)生一個(gè)與中間文件格式相同的高效生一個(gè)與中間文件格式相同的高效率版本。率版本。代碼生成器代碼生成器 輸入是分析器或優(yōu)化器產(chǎn)生的輸入是分析器或優(yōu)化器產(chǎn)生的中間文件(中間文件(.if或或.opt文件),產(chǎn)文件),產(chǎn)生一個(gè)匯編語言源文件生一個(gè)匯編語言源文件內(nèi)部列表公用程序內(nèi)部列表公用程序 輸入是輸入是C編譯器產(chǎn)生的匯編語編譯器產(chǎn)生的匯編語言源程序和言源程序和C源程序。產(chǎn)生的是源程序。產(chǎn)生的是按按C文件的語句展開的匯編語言文件的語句展開的匯編語言源文件源文件匯編器和連接器匯編器和連接器v匯編器的輸入是

11、代碼生成器產(chǎn)生的匯編器的輸入是代碼生成器產(chǎn)生的匯編語言文件,產(chǎn)生匯編語言文件,產(chǎn)生COFF目標(biāo)文件目標(biāo)文件 v連接器的輸入是匯編器產(chǎn)生的連接器的輸入是匯編器產(chǎn)生的COFF目標(biāo)文件,產(chǎn)生可執(zhí)行的目標(biāo)文件目標(biāo)文件,產(chǎn)生可執(zhí)行的目標(biāo)文件運(yùn)行運(yùn)行C編譯器編譯器cl500 -options filenames -z link_options object filescl500調(diào)用編譯器和匯編器的命令。調(diào)用編譯器和匯編器的命令。-options 影響編譯器處理輸入文件的途徑影響編譯器處理輸入文件的途徑filenames 一個(gè)或多個(gè)一個(gè)或多個(gè)C源文件、匯編語言源源文件、匯編語言源文件,或目標(biāo)文件。文件,或目

12、標(biāo)文件。-z 運(yùn)行連接器的選擇項(xiàng)。運(yùn)行連接器的選擇項(xiàng)。link_options 影響連接器處理輸入文件的途徑影響連接器處理輸入文件的途徑object files 命名編譯器產(chǎn)生的目標(biāo)文件命名編譯器產(chǎn)生的目標(biāo)文件cl500 -q symtab file seek.asm z 編譯文件編譯文件symtab和和file,匯編,匯編第三個(gè)文件第三個(gè)文件seek.asm,連接這三,連接這三個(gè)文件,并使用個(gè)文件,并使用quiet選擇項(xiàng),抑選擇項(xiàng),抑制輸出處理信息制輸出處理信息如果不使用如果不使用-q選擇項(xiàng),就會(huì)輸出以下選擇項(xiàng),就會(huì)輸出以下處理信息:處理信息:symtabTMS320C54x ANSI C

13、Compiler Version x.xxCopyright (c) 1997 Texas Instruments Incorporated“symtab.c”= main“symtab.c”= lookupTMS320C54x ANSI C Codegen Version x.xxCopyright (c) 1997 Texas Instruments Incorporated“symtab.c” = main“symtab.c” = lookup TMS320C54x COFF Assembler version x.xxCopyright 1997 Texas Instruments I

14、ncorporatedPASS 1PASS 2No Errors, No Warnings匯編器輸出的列表文件匯編器輸出的列表文件:1 *2 * Assemble into the .text section. *3 *4 0000 .text5 0000 e800 LD #0, A6 *7 * Allocate 4 words in .bss for TEMP. *8 *9 0000 Var_1: .bss TEMP, 410 11 *12 * Still in .text *13 *14 0001 f000 ADD #56h, A 0002 005615 0003 f066 MPY #73

15、h, A 0004 007316 17 *18 * Allocate 100 words in .bss for the *19 * symbol named ARRAY; this part of *20 * .bss must fit on a single page. *21 *22 0004 .bss ARRAY, 100, 12324 *25 * Assemble more code into .text. *26 *27 0005 8000-STL A, Var_128 29 *30 * Declare external .bss symbols. *31 *32 .global

16、ARRAY, TEMP33 .end連接器連接器-m-m選擇項(xiàng)建立映射列表文件選擇項(xiàng)建立映射列表文件-m filename該連接器映射列表描述:該連接器映射列表描述:存儲(chǔ)器劃分存儲(chǔ)器劃分輸入與輸出段的位置輸入與輸出段的位置 外部符號(hào)重新定位后的地址外部符號(hào)重新定位后的地址 當(dāng)沒有發(fā)現(xiàn)錯(cuò)誤時(shí),連接器就建立一當(dāng)沒有發(fā)現(xiàn)錯(cuò)誤時(shí),連接器就建立一個(gè)輸出模塊,省缺名為個(gè)輸出模塊,省缺名為a.out。也可以使。也可以使用用-o選擇項(xiàng),將輸出模塊寫入另外的文選擇項(xiàng),將輸出模塊寫入另外的文件:件:-o filename其中的文件名就是新的輸出模塊的文件名其中的文件名就是新的輸出模塊的文件名lnk500 o ru

17、n.out file1.obj file2.obj 將將ile1.obj 和和 file2.obj 連接起來,連接起來,建立一個(gè)名為建立一個(gè)名為run.out 的輸出模塊的輸出模塊可以將上述文件名及選擇項(xiàng),再加上注釋寫入一個(gè)命令文件link.cmd :a.obj /* First input filename */b.obj /* Second input filename */-o prog.out /* Option to specify output file */-m prog.map /* Option to specify map file */并用該命令文件來調(diào)用連接器:lnk5

18、00 link.cmd包含連接器偽指令的命令文件包含連接器偽指令的命令文件:a.obj b.obj c.obj /* Input filenames */-o prog.out -m prog.map /* Options */MEMORY /* MEMORY directive */RAM: origin = 100h length = 0100hROM: origin = 01000h length = 0100h SECTIONS /* SECTIONS directive */.text: ROM.data: ROM.bss: RAMMEMORYPAGE 0 : name 1 (att

19、r) : origin = constant , length = constant;PAGE n : name n (attr) : origin = constant , length = constant;PAGE 說明一個(gè)存儲(chǔ)器空間。用戶最多可說明一個(gè)存儲(chǔ)器空間。用戶最多可以說明以說明255頁(yè)。通常,頁(yè)。通常,page0是程序存儲(chǔ)是程序存儲(chǔ)器,器,page1是數(shù)據(jù)存儲(chǔ)器。是數(shù)據(jù)存儲(chǔ)器。name 命名一個(gè)存儲(chǔ)器范圍。一個(gè)存儲(chǔ)器的命名一個(gè)存儲(chǔ)器范圍。一個(gè)存儲(chǔ)器的名字可以是名字可以是18個(gè)字符,其中包括個(gè)字符,其中包括AZ,az,$,.,_。 Attr 存儲(chǔ)器的屬性:存儲(chǔ)器的屬性:R 存儲(chǔ)器

20、可讀存儲(chǔ)器可讀W 存儲(chǔ)器可寫存儲(chǔ)器可寫 X 存儲(chǔ)器可包含可執(zhí)行代碼存儲(chǔ)器可包含可執(zhí)行代碼I 存儲(chǔ)器可以初始化存儲(chǔ)器可以初始化 origin 指定存儲(chǔ)器的開始地址指定存儲(chǔ)器的開始地址length 指定存儲(chǔ)器范圍的長(zhǎng)度。指定存儲(chǔ)器范圍的長(zhǎng)度。fill 為存儲(chǔ)器范圍指定一個(gè)填入的字為存儲(chǔ)器范圍指定一個(gè)填入的字符,其值是符,其值是2-byte的整常數(shù)。的整常數(shù)。TMS320C54xTMS320C54x省缺的地址配置:省缺的地址配置:MEMORYPAGE 0: PROG: origin = 0 x0080 length = 0 xFF00PAGE 1: DATA: origin = 0 x0080 le

21、ngth = 0 xFF80SECTIONS.text: PAGE = 0.data: PAGE = 0.cinit: PAGE = 0 ;cflag option only.bss: PAGE = 1連接器使用舉例連接器使用舉例 本例連接三個(gè)目標(biāo)文件本例連接三個(gè)目標(biāo)文件demo.obj、fft.obj和和 tables.obj,并建立輸出文,并建立輸出文件件demo.out。符號(hào)。符號(hào)SETUP是程序的是程序的輸入點(diǎn)。輸入點(diǎn)。連接器命令文件連接器命令文件 demo.cmddemo.cmd/*/* Specify Linker Options */*/-e coeff /* Define th

22、e program entry point */-o demo.out /* Name the output file */-m demo.map /* Create an output map */*/* Specify the Input Files */*/demo.objfft.objtables.obj /*/* Specify the Memory Configurations */*/MEMORYPAGE 0: RAM_PG: origin=00080h length=06F80hROM: origin=0C000h length=03F80hPAGE 1: ONCHIP: or

23、igin=00080h length=0F7FhEXT: origin=01000h length=0EFFFh /*/* Specify the Output Sections */*/SECTIONS.text: load = ROM, page = 0 /* link .text into ROM */var_defs: load = ONCHIP, page=1 /* defs in RAM */.data: fill = 07A1Ch, load=ONCHIP, page=1tables.obj(.data) /* .data input */fft.obj(.data) /* .d

24、ata input */. = 100h; /* create hole, fill with 07A1Ch */ /* and link with ONCHIP */. b s s : l o a d = R A M _ P G ,p a g e = 0 ,fill=0FFFFh/* Remaining .bss; fill and link */映射文件映射文件demo.mapdemo.mapOUTPUT FILE NAME: ENTRY POINT SYMBOL: 0MEMORY CONFIGURATION Name origin length attributes fill - - -

25、 - -PAGE 0: RAM_PG 00000080 000006f80 RWIX R O M 0 0 0 0 c 0 0 0 000003f80 RWIXPAGE 1: ONCHIP 00000080 000000f7f RWIX EXT 00001000 00000efff RWIX SECTION ALLOCATION MAPoutput attributes/section page originlengthinput sections- -.text 00000c000000000150000c000 00000008 demo.obj (.text)0000c008 00000007 fft.obj (.text)0000c00f 00000006 tables.obj (.text)var_defs 1 00000080 0000000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論