+ All Categories
Home > Documents > CCS4 DSP Workshop

CCS4 DSP Workshop

Date post: 13-Apr-2018
Category:
Upload: thinhktdt
View: 228 times
Download: 0 times
Share this document with a friend

of 69

Transcript
  • 7/27/2019 CCS4 DSP Workshop

    1/69

    CCS4 DSP WorkshopTraining Guide Document for studentTi liu hng dn th nghim X l s tn hiu trn phin bn CCS mi 4.x caTexas Instruments. Ti liu dnh cho sinh vin chuyn nghnh in t ,H CngNghip TP HCM.

    2013

    Hoang Nguyen, Electronic FacultyIndustrial University of Ho Chi Minh City

    12/1/2013

    Draft version

  • 7/27/2019 CCS4 DSP Workshop

    2/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 1

    DSK6416 Labs workshop withCCS4

    Contents

    1 Gii thiu v DSP Development Kit ........ ....... ....... .............. ....... ........ ....... .............. ....... ....... ... 2

    Gii thiu ....................................................................................................................... 21.1

    DSK TMS320C6713 v TMS320C6416 .............................................................................. 31.2

    Code Composer Studio ................................................................................................... 51.3

    2 Ci t mi trng th nghim cho Kt DSP DSK6416 ............. .............. ....... ....... ........ ............. 6

    Ci t CCS4 IDE ............................................................................................................. 82.1

    Ci t th vin v mi trng pht trin code cho DSK6416 ............. ....... ............... .... 102.2

    3 Cc bi th nghim DSP trn kit DSK6416 ............. .............. ....... ....... ........ .............. ....... ....... . 11

    Lab 1 Lm quen vi CCS4 ........................................................................................... 113.1

    Lab 2 Thut ton to sng sin trn DSP ................... ....... ........ ....... .............. ....... ....... . 303.2

    Lab 3 - Giao tip AIC23 X l tn hiu m thanh trn Kit DSK6416 ............ ............... .... 363.3

    Lab 4 - Thit k b lc FIR trn DSK6416 ...... .............. ....... ....... ........ .............. ....... ....... . 423.4

    Lab 5 - Thit k b lc IIR trn DSK6416 ....... .............. ....... ........ ....... .............. ....... ....... . 533.5

    Lab 6 - Thut ton bin i Fourier FFT (Optional) ............ ....... ........ .............. ....... ....... . 613.6

    Reference ................................................................................................................................ 68

  • 7/27/2019 CCS4 DSP Workshop

    3/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 2

    1Gii thiu v DSP Development Kit

    Gii thiu1.1

    B TMS320C6416 v TMS320C6713 Digital Signal Processing Starter Kit(DSK) ca Texas Instrument l nn tng pht trin gi thnh thp cho cc ngdng x l tn hiu s thi gian thc. Mi b bao gm mt mch pht trin vi

    b x l tn hiu s dng s thc du chm ng TMS320C6713 hoc b x ltn hiu s dng s thc du chm tnh TMS320C6416 , mt b Audio CodecTLV320AIC23 v mt Emulator kt ni ti PC qua cng USB. Phn mm chytrn my tnh l Code Composer Studio (CCS) c cung cp bi TI h trvit cc chng trnh C hay ngn ng assembly v c bin dch, dowload ,chy trn kit DSK.

    B x l tn hiu s (DSP) l mt dng vi x l chuyn dng. N c cu trcv tp lnh ca DSP c ti u ha cho qu trnh x l tn hiu s thi gianthc. Kit DSK6416 s dng dng DSP h TMS320C6000 (C6x). Cu trc ca bx l tn hiu s C6x rt thch hp trong cc tnh ton m rng. Da trn kintrc tp lnh cc di (VLIW), C6x c xem l mt trong nhng h vi x lmnh m nht ca TI.

    B x l tn hiu s c s dng tng i rng ri, t communication viu khin n x l ging ni v hnh nh... Chng ta c th thy chng trongcc thit b in thoi di ng, my fax/modem, a cng, radio, my in, tai nghe,my chi nhc mp3, HDTV, my nh k thut sc bit DSPs c s dng

    ph bin trong iu khin ng c v cc ng dng trong nghnh cng nghip t v cc ng dng cng nghip. Nhn chung, DSPs c quan tm ch yu khichng ta cn x l tn hiu thi gian thc. X l thi gian thc c ngha l qutrnh phi theo kp vi cc s kin xy ra ngoi.

    Hnh 1.1 : Cc ng dng ca DSP

  • 7/27/2019 CCS4 DSP Workshop

    4/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 3

    DSK TMS320C6713 v TMS320C64161.2

    DSK TMS320C6713

    Hnh 1.2 : Kit C6713 DSK

    Thng s chnh :

    A Texas Instruments TMS320C6713 DSP operating at 225 MHz.

  • 7/27/2019 CCS4 DSP Workshop

    5/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 4

    An AIC23 stereo codec 16 Mbytes of synchronous DRAM 512 Kbytes of non-volatile Flash memory (256 Kbytes usable in default

    configuration) 4 user accessible LEDs and DIP switches Software board configuration through registers implemented in CPLD Configurable boot options

    Standard expansion connectors for daughter card use JTAG emulation through on-board JTAG emulator with USB host interface or

    external emulator Single voltage power supply (+5V)

    DSK TMS320C6416

    Hnh 1.3 : Kit 6416 DSK

    Thng s board C6416 DSK :

    A Texas Instruments TMS320C6416T DSP operating at 1 Gigahertz. An AIC23 stereo codec 16 Mbytes of synchronous DRAM 512 Kbytes of non-volatile Flash memory 4 user accessible LEDs and DIP switches Software board configuration through registers implemented in CPLD Configured boot options and clock input selection Standard expansion connectors for daughter card use JTAG emulation through on-board JTAG emulator with USB host interface or

    external emulator Single voltage power supply (+5V)

  • 7/27/2019 CCS4 DSP Workshop

    6/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 5

    Code Composer Studio1.3

    CCS cung cp mt mi trng pht trin tch hp (IDE) da trn ngn ng Ccho cc ng dng x l thi gian thc. N cn tch hp c mt trnh dch C ,assembler v liker , phin bn CCS4 cng h tr cc emulator cho php phttrin nhanh cc ng dng DSP trn nhiu nn tng khc nhau. Ngoi ra, n cnh tr kh nng hin th ha v h tr g li thi gian thc.

    Hnh 1.4 CCS phin bn mi nht V5.x

    Mt project trn CCS s bao gm tt c cc file cn thit, to ra file thcthi .out . CCS cho php chng ta ty chnh cc option, cc define nh rt nhiucc cng c IDE thng dng khc, Bn CCS3.x th ch tng thch vi h iu

    hnh Win XP tr v trc. Trong khi cc phin bn mi hn nh CCS4.x hayCCS5.x h tr Windows 7 v Win Vista c 32 v 64-bit. Cc phin bn CCS4.xtr ln s dng nn tng java v c giao din i mi v phc tp hn bn CCS3. B li, chng tch hp hu ht cc dng MCU, DSP v OMAP ca TI vo mtcng c pht trin duy nht.

    Trong phm vi ti liu th nghim ny, chng ta s s dng phin bn CCS4.x v nn tng phn cng l DSK6416. Tuy vy , Nu chng ta pht trin ccng dng ny trn DSK6713, th cng khng c s khc bit nhiu lm v mtthut ton, ngoi tr vic hiu sut thc thi ca chng c th khc nhau do C6416

    c kin trc s thc du chm tnh, so vi C6713 vi kin trc s thc du chmng.

  • 7/27/2019 CCS4 DSP Workshop

    7/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 6

    2Ci t mi trng th nghim cho Kt DSP DSK6416

    Trong a CD i km theo kit c phin bn CCS3.1 . Tuy nhin, hin CCS3.xch chy trn h iu hnh Win XP m khng h tr Win 7 hoc Vista. Do ,

    trong ti liu ny, chng ta s s dng bn 4.x mi hn, c h tr Windows 7 vVista.

    B kit pht trin DSK6416 v DSK6713 ca Texas Instruments .

    Mi trng pht trin cn yu cu ti thiu :

    CPU Ti thiu Pentum 4 1.8Ghz tr ln Window XP , Win 7 hoc Vista CCS phin bn 4.x i km theo ti liu. Ci t Matlab phin bn 2006 tr ln. Kit TMS320C6416 hoc TMS6713

  • 7/27/2019 CCS4 DSP Workshop

    8/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 7

    Trong phn ny, chng ta s ci t chng trnh CCS 4.x. Sau , chng tas phi thc hin mt s thao tc ci t v setup mi trng pht trin DSP trnCCS4.x ca Texas Instruments. Phn tip theo chng ta s thc hin cc bi thnghim v cc thut ton x l tn hiu s, b lc s

  • 7/27/2019 CCS4 DSP Workshop

    9/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 8

    Ci t CCS4 IDE2.1

    Click vo chng trnh ci t ci t CCS4.

    Hnh 2.1 : Ci t CCS4

    Sau ta chn Next, giao din s hin ra nh sau :

  • 7/27/2019 CCS4 DSP Workshop

    10/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 9

    Hnh 2.2 : Click custom, b cc phn khng cn thit

    Bc tip theo ta chn dng chip C54x, C55x, C6000 DSP, cn li u bchn, nhn next qua mc Select Components. Trong mc ny ta chn tt c.

    Hnh 2.3 : Chn cc dng chip v components cn thit.

    Sau chn next tin hnh ci t. Ch , trong qu trnh ci t, CCS4 st ci t Driver cho b emulator. Do , chng ta phi xc nhn yes cho mt shp thoi trong qu trnh ci t.

    Nu trong qu trnh ci khng xy ra li g, th CCS4 setup s hin ra bngthng bo hon tt nh sau :

    Hnh 2.4 : Ci t hon tt, nhn Finish kt thc.

  • 7/27/2019 CCS4 DSP Workshop

    11/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 10

    Ci t th vin v mi trng pht trin code cho DSK64162.2

    Sau khi ci t song CCS, ta tin hnh ci t th vin v mi trng phttrin cho CCS. u tin, ta copy ba th mc : BIOS, CSL, DSK6416 vo thmc ci t CCS4

    Hnh 2.5 : Ci t hon tt, nhn Finish kt thc.

    Ty vo h iu hnh , v ty vo th mc ta chn lc ci t, th th mc cis khc nhau. Hnh sau v d cho h iu hnh win 7, ci t th mc mc nh

    Hnh 2.6 : Ci t hon tt, nhn Finish kt thc.

    Trong th mc chnh, ta cn c hai file : c6416dskinit.cvc6416dskinit.h, Hai file ny l hai file cu hnh cc thit lp c bn

    dnh cho Kit DSK, hai file ny s c dng khi ta to project mi.

  • 7/27/2019 CCS4 DSP Workshop

    12/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 11

    3Cc bi th nghim DSP trn kit DSK6416

    Lab 1 Lm quen vi CCS43.1

    Trong bi Lab ny, chng ta s c lm quen vi mi trng pht trin CCS4. Hc cch to mt project mi, import mt project tn ti, Bin dch mt chng trnh v debug trn phn cng DSK6416

    To Project mi vi CCS4

    u tin khi ng CCS4bng cch click vo biu tng CCS4 trndesktop, hoc trong Programs.

    Hnh L-1.1 : Ci t hon tt, nhn Finish kt thc.

    Sau l mn hnh hin th yu cu chn Workspace, l khng gian lm vicca CCS4. Ta c th chn mc nh ti a C.

    Ch , a ch th mc workspace khng nht thit phi l th mc cha ccprojects ca ta sau ny. Do , ta c th chn mc nh a ch ny , v sau nykhi to project ta s ch nh cho chng th mc khc nu mun.

  • 7/27/2019 CCS4 DSP Workshop

    13/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 12

    Hnh L-1.2 : Chn OK ci mc nh, hoc nhn browse chn th mc khc

    Bc tip theo s l phn ci t bn quyn cho CCS4. Bi v chng ta khngc license chnh thc, do ta s chn bn Evaluate 30 days. Chng ta cng cth to ti khon TI trn website www.ti.com ng k mt license free sdng.

    Hnh L-1.3 : Chn Evaluate 30 days

    Sau voMenu File -> New-> CCS Project nh hnh sau :

  • 7/27/2019 CCS4 DSP Workshop

    14/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 13

    Hnh L1.4 : Chn Evaluate 30 days

    Ti hp thoi, ta t tn cho project v chn ni lu tr cho project. Nu chnUse default location, CCS4 s lu vo th mc ca workspace.

    Hnh L-1.5 : Chn Evaluate 30 days

    Chn dng DSP s dung, c th y l C6000 family. Sau clickNext

  • 7/27/2019 CCS4 DSP Workshop

    15/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 14

    Hnh L-1.6 : Chn dng chip DSP Family cho project

    V tip tc chnNext

    Hnh L-1.7 : Additional Project Setting

    Thit lp nh trong hnh L-1.8 vFinish . Nu mun chn cc example csn, th chnNextri chn cc example nh hnh L-1.9

  • 7/27/2019 CCS4 DSP Workshop

    16/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 15

    Hnh L-1.8 : Chn cc option cho C6416

    Hnh L-1.9 : Chn cc example c sn trong CCS4

    Sau , ta c mt project trng nh hnh L-1.10, nu CCS4 khng hin ranh vy, chng ta click vo View -> C/C++ project

  • 7/27/2019 CCS4 DSP Workshop

    17/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 16

    Hnh L-1.10 : New Project with CCS4

    Bc tip theo l thit lp mi trng pht trin cho project.Click phi vo project helloworld > Properties nh hnh L-1.11.

    Hnh L-1.11 : Project PropertiesChn C/C++ Build > Include Options >Thm ba ng dn ti th mc

    DSK6416, CSL v BIOS m chng ta copy phn trc.

  • 7/27/2019 CCS4 DSP Workshop

    18/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 17

    Hnh L-1.12 : C/C++ Include Options

    Ti mcPredefined Symbols, chng ta s nh ngha tn chip s dng lCHIP_6416

    Hnh L-1.13 : C/C++ Include Options

    Ti mcFile Search Pathchng ta thm cc th vin v ng dn cha ccth vin .

  • 7/27/2019 CCS4 DSP Workshop

    19/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 18

    Hnh L-1.14 : C/C++ Include Options

    Trong phn C6000 Linker > Basic Option, ThmStack SizevHeap Sizel0x400 nh hnh L-1.15. V khai boData modell kiu far trong mc C6000Compiler > Runtime Model Options > Data Access Modelnh hnh L-1.16.

    Hnh L-1.15 : Khai bo Stack Size v Heap Size

  • 7/27/2019 CCS4 DSP Workshop

    20/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 19

    Hnh L-1.16 : Khai bo Stack Size v Heap Size

    Bc tip theo l vit mt chng trnh C helloworld.Click phi vo project helloworld > New > Source Filenh hnh L-1.17.

    Hnh L-1.17 : New Project with CCS4

    Chn th mc lu file cng vi thu mc cha project. t tn file lHelloworld.c . Nhn Finish kt thc.

  • 7/27/2019 CCS4 DSP Workshop

    21/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 20

    Hnh L-1.18 : New Project with CCS4

    Trong giao din vit code ca file Helloworld.c , Vit on code sau :

    #include

    void main (void){

    printf(\n\rHello World from DSK6416 ! ); //xut message ra consolereturn ;

    }

    Sau save li nh sau :

    Hnh L-1.19 : New Project with CCS4

    Bc tip theo l tin hnh bin dch chng trnh.Click phi voProject > Build Active Project

  • 7/27/2019 CCS4 DSP Workshop

    22/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 21

    Hnh L-1.20 : New Project with CCS4

    Nu khng b li g trong qu trnh vit code , ta s thu c kt qu nh hnhL-1.21. Nu c li xy ra. Hy kim tra li code chng trnh, v cc option chnh cho ng nh hng dn trn hay cha.

    Hnh L-1.21 : New Project with CCS4

    Bc tip theo to file configuartion kt ni vi DSK6416.Qui trnh kt ni vi board trong CCS4 c qun l theo kiu target

    configuration File. Ngha l , kt ni vi board DSK, ta phi to mt fileconfig cho board . Vi cch qun l ny, CCS4 cho php chng ta trin khaing dng trn nhiu nn tng khc nhau m khng phi thay i nhiu trong mi

    trng pht trin.To file Target Config bng cch vo Target > New target Configuration...

    nh hnh L-1.22

  • 7/27/2019 CCS4 DSP Workshop

    23/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 22

    Hnh L-1.22 : New Project with CCS4

    i tn thnhHelloworld.ccxml, ri nhn finnish.

    Hnh L-1.23 : New Project with CCS4

    Sau , chnh cc thng s nh hnh L-1.23, ri save li. Ch , l sau khisave li file config ta phi c thm file Helloworld.ccxml trong giao din projectnh hnh L-1.24. Nu khng thy file ny, Thc hin li cc bc trn

  • 7/27/2019 CCS4 DSP Workshop

    24/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 23

    Hnh L-1.24 : Target Configuration File for DSK6416

    Hnh L-1.25 : File Helloworld.ccxml

    Bc tip theo l load chng trnh xung board thc thi.Trc ht, ta phi kt ni DSK6416 vi PC thng qua cp USB. Qu

    trnh kt ni s cn ci t driver Emulator. Trong qu trnh ci t CCS4, n t ng ci t driver ny. Tuy nhin , nu v l do no m PC cha ci cdriver cho DSK6416 Emulator, th chng ta c th ci li driver trong th mc

    DSK Emulator Driver i km vi ti liu ny. Nu qu trnh ci t hon tt, tas c phn cng sau trong phn hardware Manager ca Windows nh hnh L-1.26

  • 7/27/2019 CCS4 DSP Workshop

    25/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 24

    Hnh L-1.26 : Spectrum Digital Emulator for DSK6416

    By gi, chng ta s load chng trnh xung board DSK6416 thc thibng cch chnProject > Debug Active Project. Nu qu trnh kt ni khng cli th CCS4 s hin ra mn hnh Debug nh hnh L-1.27. Nu c li xy ra, hykim tra li kt ni USB , Driver Emulator hoc reset li board DSK6416.

    Hnh L-1.27 : Debug chng trnh Helloworld

    Ta ch cc nt Run , Pause , Stop iu khin qu trnh debug chngtrnh, ngoi ra cn c cc icon step, step over

    Ta nhn nt Run chy chng trnh , nt Pause dng chng trnh, numun thot khi giao din debug th nhn Stop. V kt qu sau khi thc thichng trnh Helloworld thu c trn mn hnh Console nh hnh L-1.28. Nukhng thy xut hin ca s Console, vo View > Console .

  • 7/27/2019 CCS4 DSP Workshop

    26/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 25

    Hnh L-1.28 : Mn hnh Console khi Run chng trnh Helloworld.c

    Import mt project c sn

    Trong qu trnh pht trin, bn c th cn import mt project c sn. Cchthc hin nh sau :ClickFile > Import ca s s hin ra bng hi thoi nh hnh L-1.29

    Hnh L-1.29 : Import Project

    Sau , chn Browse ti th mc cha project mun import. Sau nhnfinish hon tt.

  • 7/27/2019 CCS4 DSP Workshop

    27/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 26

    Hnh L-1.30 : Browse to CCS Project

    Sau khi Import, ca s qun l project s hin ra project m ta import. Ch project no in m v c ch[Active - Debug]ngha l ta ang lm vic trn

    project . Mun chuyn qua project khc lm vic , click phi vo project v chn Set as Active project

    Hnh L-1.31 : Qun l nhiu project trong CCS4

    API giao tip vi ngoi vi trn board DSK6416i km vi board mch DSK6416, chng ta c nh sn xut cung cp km

    theo cc API h tr cho board DSK gip vic giao tip ng dng tr nn n

  • 7/27/2019 CCS4 DSP Workshop

    28/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 27

    gin hn. Trong phn th nghim ny, chng ta s s dng th vin giao tipvi led v Dip SW.

    Vi cc hm API c sn chng ta ch vic khai bo v s dng chng trongchng trnh ca mnh.

    V d: Vit chng trnh giao tip vi LED v DIP trn board DSK6416.Khi nhn Dip switch 0 th led 1 s sng, ngc li led 1 s tt.

    Chng ta s hiu chnh code cho chng trnh Helloworld.c thc hin v

    d ny. on code chng trnh c vit li nh sau :/** Demo with LED, DIP on board* Author : Hoang Nguyen* Date : 12/1/2013* Hardware : DSK6416 board* Platform : CCS4 Texas Instruments**//Include API library support for DSK6416 board#include#include"dsk6416_dip.h"#include"dsk6416_led.h"voidmain(){

    printf("\n\rHello World from DSK6416 !");printf("\n\rDemo Led & SW using DSK6416 Library!");DSK6416_init(); // Init DSK6416 boardDSK6416_LED_init(); //init LedDSK6416_DIP_init(); //init Dip switchwhile(1) {

    DSK6416_LED_on(0); //turn on led 0if(DSK6416_DIP_get(0)) //read dip switch 0 pressed status

    DSK6416_LED_on(1); //turn on led 1else

    DSK6416_LED_off(1); //turn off led 1}while(1); //stop here

    }

  • 7/27/2019 CCS4 DSP Workshop

    29/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 28

    Hnh L-1.32 : Hiu chnh chng trnh Helloworld.c

    Bin dch chng trnh v np code thc thi xung board DSK6416, chng tac th gt SW trn board v xem led hin th tng ng.

  • 7/27/2019 CCS4 DSP Workshop

    30/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 29

    Bi tp thm :1) Vit code hin th led sng ui cho kit DSK6416 ( Gi , s

    dng hm delayDSK6416_waitusec()c sn trong th vindsk6416.h )

    2) VIt code c switch thay i kiu nhp nhy ca led sdng hmDSK6416_LED_toggle()c sn trong th vindsk6416_led.h

  • 7/27/2019 CCS4 DSP Workshop

    31/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 30

    Lab 2 Thut ton to sng sin trn DSP3.2

    Trong bi lab ny, chng ta s

    Tm hiu thut ton to sng sine n gin. Vit chng trnh C trn DSK6416 bng phng

    php tra bng.

    S dng cng c graph phn tch ph ca tn hiu

    Nguyn l to sng sin :Trong bi ny chng ta s thc hin thut ton dsp u tin, l to tn hiu

    sin bng phng php tra bng. Mt mng sine_table lu tr 8 phn t tothnh sng sine, c tnh t cng thc sau :

    1000sin(2/8) , trong i chy t 0 ti 7

    Hnh L-2.1 : Tn hiu sine tm im

    T cng thc ny ta s c mng sng sine nh sau :sine_table[8]={0,707,1000,707,0,-707,-1000,-707};

    Trong bi lab ny, chng ta s vit chng trnh to sng sine bng cch trabng nh sau :

    u tin l to project sine_genTo mt projectsine_gennh hng dn bi lab 1. Sau to file

    mi c tn lsine_gen.cvi ni dung nh sau:

    /** Generate a sine wave using table-lookup method* Author : Hoang nguyen* File : sine_gen.c* Date : 14/1/2013* Rev : 1.0* Hardware: DSK6416 board* Platform: CCS4 Texas Instruments

  • 7/27/2019 CCS4 DSP Workshop

    32/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 31

    */#include//Declare Amplitude of Sine waveshortA = 10;//create sine wave tableshortsine_table[8]={0,707,1000,707,0,-707,-1000,-707};//sinevaluesshortoutput_buffer[8];//buffer luu tru du lieu song sinevoid

    main(){unsigned inti,j;printf(" \n\rSine wave generate using Table-Lookup");while(1) //infinity Loop sine wave generator{

    for(i=0;i

    Debug Active project nh hnh L-2.2

    Hnh L-2.2 : lab2 sine_gen example

    Tip theo l v th sng sine mi to.Nhn biu tng Run thc thi code, sau khi chng trnh thc thi

    c mt lc, nhn nt pause. Sau , vo Tools -> Graph -> Single Time .Mtbng cu hnh thng s s hin ra nh hnh L-2.3

  • 7/27/2019 CCS4 DSP Workshop

    33/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 32

    Hnh L-2.3: Tools > Graph > Single Time

    Hnh L-2.4: Graph Properties for output_graph

    M t cc thng s chng ta cn quan tm:Acquisition Buffer Size:kch thc ca mng (c th y l 8 byte).

    DSP data type :kiu d liu ca bin mng ( c th y l bin c gi trl bin nguyn 16bit c du).

    Sampling rate:tn s ly mu (ex: 8KHz).

    Start Address:tn ca mng mun v th.

    Display data size: kch thc ca d liu cn hin th.

  • 7/27/2019 CCS4 DSP Workshop

    34/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 33

    Ngoi ra cc thng s khc chng ta mc nh. Sau khi hon tt, nhn OK.Cng ta s thu c mt th hin th gi tr ca mng output_buffer . chnhl hnh sine m chng ta to nn. l hnh sine ca chng ta b gp khc,nguyn nhn l do ta ch dng 8 im to ra tn hiu sine, do tn hiu sineny c phn gii kh thp.

    Hnh L-2.5: th biu din gi tr ca mng output_buffer

    Nhn vo th chng ta c th thy rng mt tn hiu sine output_buffer c to ra t mng sine_table, v bin ca n tng ln gp 10 ln (bin A= 10).

    Xem xt ph tn hiu ca chng.

    Click vo Tools - >Graph->FFT Magnitude . V nhp vo cc thng snh hnh 45

    .

  • 7/27/2019 CCS4 DSP Workshop

    35/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 34

    Hnh L-2.6: Graph Properties for FFT View

    Mt s thng s cn quan tm: Acquisition Buffer Size:kch thc ca mng (c th y l 8 byte).

    DSP data type :kiu d liu ca bin mng ( c th y l bin c gi trl bin nguyn 16bit c du).

    Sampling rate:tn s ly mu (ex: 8KHz). Start Address:tn ca mng mun v th.

    FFT Order: Bc ly FFT.Ngoi ra cc thng s khc c th tm hiu thm ti liu hng dn ca CCS4.

    Sau khi han tt. Nhn OK xem ph ca tn hiu output_buffer nh hnhL-2.7

    Hnh L-2.7: FFT ca tn hiu output_buffer

    - Ch l vi tn s ly mu l 8000 (8Khz) th tn hu sineca chng ta c tn s l 1KHz. Hy gii thch ti sao ?- Nu ta mun c sng sine vi tn s 2Khz th tn s ly mu

    phi l bao nhiu?

  • 7/27/2019 CCS4 DSP Workshop

    36/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 35

    Bi tp thm :1) Vit chng trnh to mt sng sine bao gm tng ca hai

    sng sine c tn s 1Khz v 2Khz (vi tn s ly mu l16Khz)

    2) Vit chng trnh to sng sine 16 im , so snh vi phca tn hiu sine 8 im.

    3) Hiu chnh chng trnh c tn hiu sine vi bin tnggp i.

    4) Vit chng trnh to sng sine bng phng php ni suyhoc bng cng thc.

  • 7/27/2019 CCS4 DSP Workshop

    37/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 36

    Lab 3 - Giao tip AIC23 X l tn hiu m thanh trn Kit3.3

    DSK6416

    Trong bi lab ny, chng ta : Hc cch giao tip khi Audio Codec trn DSK6416 . Xut tn hiu sng sine ra headphone thng qua

    AIC23. c tn hiu vo t line-in v xut T/H ra headphone

    u tin l to project sine_genTo mt project sine_gennh hng dn bi lab 2. Sau copy hai

    file c6416dskinit.cv c6416dskinit.hvo project v to file sourcesine_gen_out.cmi thay th cho file sine_gen.cvi ni dung nh sau :

    /** Output a sine wave tone to headphone Interface withAIC23

    * Author : Hoang nguyen* File : sine_gen_out.c* Date : 14/1/2013* Rev : 1.0* Hardware: DSK6416 board* Platform: CCS4 Texas Instruments*/#include#include"dsk6416_aic23.h"unsignedintfs=DSK6416_AIC23_FREQ_8KHZ; //set sampling rate//Declare Amplitude of Sine waveshortA = 4;//create sine wave tableshortsine_table[8]={0,707,1000,707,0,-707,-1000,-707};//sinevalues

    shortoutput_buffer[8];//buffer luu tru du lieu song sinevoidmain(){

    unsigned inti,j;comm_poll(); //init DSK, codec, McBSPi=0;j=0;printf(" \n\rSine wave generate using Table-Lookup");while(1) //infinity Loop sine wave generator{

    for(i=0;i

  • 7/27/2019 CCS4 DSP Workshop

    38/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 37

    s dng th vin, chng ta cn phi include file dsk6416_aic23. ng thiadd hai file c6416dskinit.cv c6416dskinit.h vo project. Hai file ny gip chochng ta khi to v cu hnh th vin d dng.

    Hnh L-3.1: Giao tip vi AIC23 s dng McBSP ca C6416

    Trong file chng trnh, trc tin chng ta cn khai bo tn s ly mu l8Khz. V trong hm main , chng ta s dng hm compoll() khai bo s dngth vin giao tip AIC23, trong bi ny, chng ta s xut d liu bng phng

    php polling data. xut d liu ra chip AIC23, chng ta s dng hmoutput_sample() .

    Bc tip theo l thc thi chng trnh trn kit DSK6416.To file Target Configuration nh hng dn lab 1. Kt ni kit

    DSK6416 vi PC thng qua cp USB, kt ni headphone nh hnh L-3.2. Sau

    bin dch chng trnh v np chng trnh xung kit bng cch nhn biutng debug , hoc vo Target-> Debug Active project

    Chy chng trnh v nghe m thanh pht ra trn headphone. Nu khng thym thanh, kim tra li source code v kt ni kit DSK6416.

  • 7/27/2019 CCS4 DSP Workshop

    39/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 38

    Hnh L-3.2: Kt ni DSK6416 vi Headphone nghe tone 888hz

    Hiu chnh code to ra cc tn s 100Hz,1Khz,10Khz . Nghe tn hiutrn headphone v nhn xt?

    Audio Loop backBc tip theo, chng ta s phi hiu chnh source code thc hin ng

    dng loopback audio nh hnh L-3.3. Trong bi trc, chng ta ch mi bit xutm thanh ra chip AIC23, trong phn ny, chng ta s tm hiu cch c d liuaudio analog thng qua chip AIC23 nh hnh L-3.4.

    Hnh L-3.3: Kt ni DSK6416 cho v d Audio Loopback

    Hnh L-3.4: DSK6416 giao tip vi AIC23

  • 7/27/2019 CCS4 DSP Workshop

    40/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 39

    c d liu t AIC23 qua ng Line in , s dng hm input_sample().Da vo hm ny, hy vit code thm vo on chng trnh sau c d liut my pht nhc , sau xut ra headphone nh hnh L-3.3.

    /** Audio loopback example* Author : Hoang nguyen

    * File : audio_loopback.c* Date : 14/1/2013* Rev : 1.0* Hardware: DSK6416 board* Platform: CCS4 Texas Instruments*/#include#include"dsk6416_aic23.h"unsignedintfs=DSK6416_AIC23_FREQ_8KHZ; //set sampling ratevoidmain(){

    unsigned inti,j;comm_poll(); //init DSK, codec, McBSPi=0;j=0;

    printf(" \n\r Audio Loopback using AIC23");while(1) //infinity Loop Application{

    // hy vit code y thc hin// chc nng nh m t phn trn

    }}

    To project mi c tn l audio_loopback.Sau to file source code mi l audio_loopback.c, hy nh nhng

    don code trn vo file audio_loopback.c , sau thm cc on code thchin yu cu ca bi th nghim da vo bng m t cc hm trong th vin nhsau :

    M t cc hm c trong th vin c6416dskinit.c

    Hm M tVoid c6416_dsk_init() Thit lp board DSK6416 v McBSP giao

    tip AIC23Void comm_poll() Thit lp board DSK6416 v McBSP, v

    thit lp mode polling cho McBSPvoid comm_intr() Thit lp board DSK6416 v McBSP, v

    thit lp mode interrupt cho McBSPvoid output_sample(Uint32out_data)

    Xut d liu audio stereo ra AIC23Outdate : d liu integer 32bit ghp giaknh left v right m ta mun xut raAIC23

    void output_left_sample(short out_data)

    Xut d liu audio mono knh left raAIC23Outdate : d liu integer 16bit knh left mta mun xut ra AIC23

  • 7/27/2019 CCS4 DSP Workshop

    41/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 40

    void output_right_sample(short out_data)

    Xut d liu audio mono knh right raAIC23Outdate : d liu integer 16bit knh rightm ta mun xut ra AIC23

    Uint32 input_sample() c d liu stereo audio-in t AIC23, trv d liu stereo ghp gia knh left v

    right thnh gi tr 32-bitshort input_left_sample() c d liu mono audio-in t AIC23, tr vd liu mono knh left 16-bit

    short input_right_sample() c d liu mono audio-in t AIC23, tr vd liu mono knh right 16-bit

  • 7/27/2019 CCS4 DSP Workshop

    42/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 41

    Bi tp thm :1) Vit chng trnh to 7 tn hiu sng sine c tn s ca 7 nt nhc

    : , R , Mi , Pha , Son , La , Si . Cho tn s ly mu l 24Khz.2) Vit chng trnh chi nhc n m bi happy birthday (Gi

    s dng bi tp s 1 v cc hm delay to ra on nhc mongmun)

    3) Vit chng trnh to cng tn hiu t line-in vi sng sine to lab 2 ri xut ra headphone.

  • 7/27/2019 CCS4 DSP Workshop

    43/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 42

    Lab 4 - Thit k b lc FIR trn DSK64163.4

    Trong bi lab ny, chng ta s: Thit k b lc FIR trn matlab. T/H b lc bng PP x l theo khi (Block processing) T/H b lc bng PP x l theo mu (Sample by sample)

    L thuyt v bc lc FIRNh chng ta bit b lc FIR c c trng bi :

    ()= () ()Vi x(n) l tn hiu ng vo, h(n) l p ng xung ca b lc, y(n) l tn hiu

    ng ra sau khi c lc. tnh tch chp ny chng ta c th s dng mt sphng php nh sau:

    i vi phng php x l khi chng ta s s dng mt s phng php sau:

    a. Dng tch chp (convolution)y l phng php tnh tch chp trc tip . i vi tn hiu dng LTI s

    c tnh theo cng thc ny.

    ()= ()(),

    Cng thc ny s tnh tng tt c cc gi tr h(i)x(j) vi i+j = n. Trongphng trnh trn i,j ph thuc vo c tnh t nhin ca b lc v d liu uvo l h(n) v x(n).

    b. Dng trc tip(direct form)

    ()= ()( )(.)

    (,)

    Vi M l bc ca b lc nhn qu FIR vi p ng xung h(i) , i = 0,1,2.M.L l chiu di ca chui d liu ng vo (c th l s mu ng vo).Nh vy khi d liu ng ra s c chiu di nh sau:

    Ly = L+MSuy ra: 0 n L+M-1

    c. Dng tuyn tnh bt bin theo thi gian LTI (LTI form)

    ()= ()( )(,)

    (,)

  • 7/27/2019 CCS4 DSP Workshop

    44/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 43

    Vi L l chiu di (s mu) ca ng vo,M l bc ca b lc c p ng xung h(i),vi i= 0,1,2M.n = 0,1,2,.L+M-1. L chiu di ca tn hiu ng ra.

    d. Trng thi tc thi v trng thi tnh.

    ()= ()( )

    Vi 0 n L 1.

    y c xem nh l phng trnh vo ra I/O cho tt c b lc FIR bcM. Nhm mc ch vit chng trnh, ngi ta s s dng cng thc b , bicng thc ny khng dn n vic vt qu vng bin ca dy.

    Trong bi lab ny, chng ta s thc hin b lc FIR trn CCS4 bng phngphp x l khi v x l mu.

    * Phng php x l khi (block processing method)y l phng php x l mt khi d liu c snx(n) v cho ra mt khi

    d liu miy(n).Trc tin, ta s thit k b lc trn matlab s dngFDA Toolbox nh hnh

    L-4.1. T , chng ta s thu c cc h s p ng xung h(n) ca b lc, cth trong phn ny s l thit k b lc FIR thng thp (lowpass fir filter) bc 121kiu Equiripple .

    y l p ng xung ca b lc thu c trn Matlab vi cc thng s sau:

  • 7/27/2019 CCS4 DSP Workshop

    45/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 44

    Hnh L-4.1: Thit k bc lc FIR trn matlab FDATool

    Thng s b lc nh sau:Specify order: l bc ca b lc 121

    Fs : l tn s ly mu 32KHzFpass: tn s ct passband 300HzFstop : Tn s ct stopband 3Khz

    Sau khi thit k xong, FDA Tool ca Matlab s sinh ra cc h s b lch(n). chnh l cc h s ca b lc, v cc h s ny t, ta s include

    trc tip cc h s ny vo CCS4 bng tay thc hin thut ton lc FIR. Trongbi th nghim ny, chng ta s s dng mt khi d liu m thanh 150.000 mu,l ging ni demo thu trn PC lu trong fileSpeech.h. Ta s thc hin b lcFIR tn s thp trn on speech ny, v chng ta s xem xt hiu ng ca nnh th no.

    To mtproject mi c tn lfir_filter_block_processingv copy cc file

    c6416dskinit.h, c6416dskinit.h vSpeech.hnh hnh L-4.2.

  • 7/27/2019 CCS4 DSP Workshop

    46/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 45

    Hnh L-4.2 : Lab 4 FIR Filter Block Processing

    Sau to file mi c tn main.c v thm source code cho chng trnhmain.c nh sau s dng cng thc :

    ()= ()( ) , Vi 0 n L 1.

    /** Project: fir filter deisgn on DSK6416 board* Block processing method* Author : Chu Manh Cuong* Date: 24/8/2011* Board support: DSK6416 TI* Platform: CCS4**///include library support#include#include"dsk6416_aic23.h"

    #include"Speech.h"#includeUint32 fs=DSK6416_AIC23_FREQ_32KHZ; //set sampling rate//macro function#definemax(a,b) (((a)>(b))?(a):(b))#definemin(a,b) (((a)

  • 7/27/2019 CCS4 DSP Workshop

    47/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 46

    915,1339, 1773, 2192, 2568, 2876, 3095, 3208, 3208,

    3095,2876, 2568, 2192, 1773, 1339, 915, 526, 191,

    -79,-277, -402, -460, -461, -417, -343, -252, -157,

    -69,6, 62, 99, 117, 119, 109, 90, 67,

    44, 22, 5, -8, -17, -21, -22, -20, -16,-12,

    -8, -5, -2, 0, 1, 2, 2, 2,1,

    1, 1, 1, 0, 0, 0, 0, 0,0,

    0, 0, 0, 0, 0};signedlongtemp;//init output buffer yshorty[OUTPUT_LEN];voidmain(){

    inti,n;comm_poll(); //init dsk6416 board and DAC,ADC

    DSK6416_LED_init(); //LEDs init

    /*fir filter with block processing method*/for(n=0;n

  • 7/27/2019 CCS4 DSP Workshop

    48/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 47

    Hnh L-4.3 : Lab 4 FIR Filter Example

    Xem xt p ng b lc thc t, v phn tch ph tn hiu in/out. V th graph ca bin h(n). Chy chng trnh v nghe headphone xem

    s khc bit gia vic c b lc v khng c b lc.

    p ng ca b lc c v trn CCS. Hy so snh vi p ng l tng vtrn matlab

    Hnh L-4.4 : p ng ca b lc FIR v trn CCS.

    Ph tn s ca tn hiu input speech:

  • 7/27/2019 CCS4 DSP Workshop

    49/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 48

    Hnh L-4.5: th ph ca tn hiu Speech input

    Ph tn s ca tn hiu sau b lc. So snh v nhn xt vi ph tn hiu uvo

    Hnh L-4.6 : th ph ca tn hiu output, sau khi qua b lc FIR thng thp

    * Thit k b lc FIR thng thp vi phng php sample-by-sample

  • 7/27/2019 CCS4 DSP Workshop

    50/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 49

    Trong phng php ny, d liu c x l tng mu thi im hin tibng gii thut DSP cho cc mu ng ra. Phng php ny dng ph bintrong cc ng dng thi gian thc nh mch lc thi gian thc p dng cho tnhiu di, x l cc hiu ng m thanh s, cc h thng iu khin s, v x l tnhiu thch nghi

    Thut ton x l mu trc tip (sample by sample )thc hin theo thut tonnh sau:

    w0 =x;//c d liu hin thiy = h0w0+ h1w1+ h2w2+h3w3+hN-1wN-1 ;//Tnh d liu u rawN-1 = wN-2 ;//Cp nht cc tn hiu trwN-2 = wN-3w1= w0

    vi N l bc ca b lc, x l u vo, y l u ra, hil h s b lc v wil

    bin trung gian.S dng tng t v d trn vi b lc thit k bng Matlab. To mi

    projectfir_filter_sample_by_sample tng t nh trn v vit code cho filemainnh sau :

    /** Project: Audio filter on DSK6416 board* Author : Hoang Nguyen* Date: 18/1/2013* Board support: DSK6416 TI* Platform: CCS4*

    *///include library support#include#include"dsk6416_aic23.h"#include"dsk6416_led.h"#include"dsk6416_dip.h"Uint32 fs=DSK6416_AIC23_FREQ_32KHZ; //set sampling rate//set gain#defineGAIN 10//filter order#defineFIL_ORDER 122//include filter coeffciensconstshorth[FIL_ORDER] = {0, 0, 0, 0, 0,0, 0,

    0, 0, 1, 1, 1, 1, 2,2, 2,1, 0, -2, -5, -8, -12, -16, -

    20, -22,-21, -17, -8, 5, 22, 44, 67,

    90, 109,119, 117, 99, 62, 6, -69, -157, -

    252, -343,-417, -461, -460, -402, -277, -79, 191,

    526, 915,1339, 1773, 2192, 2568, 2876, 3095, 3208,

  • 7/27/2019 CCS4 DSP Workshop

    51/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 50

    3208, 3095,2876, 2568, 2192, 1773, 1339, 915, 526,

    191, -79,-277, -402, -460, -461, -417, -343, -252, -

    157, -69,6, 62, 99, 117, 119, 109, 90,

    67, 44,22, 5, -8, -17, -21, -22, -20, -

    16, -12,-8, -5, -2, 0, 1, 2, 2,2, 1,

    1, 1, 1, 0, 0, 0, 0,0, 0,

    0, 0, 0, 0, 0};

    //temp variable for convolutionsignedlongtemp;

    shortw[FIL_ORDER];shortx;shorty;

    voidmain()

    {inti,n=0;comm_poll(); //init dsk6416 board and DAC,ADCDSK6416_LED_init(); //LEDs initDSK6416_DIP_init();for(i=0;i=FIL_ORDER)n=0;elsen++;//Read current sample frim line-inx = input_left_sample();w[0] = x;temp = 0;for(i=0;i0;i--)

    w[i] = w[i-1];

    //Output to Headphoneoutput_sample(y);

    }}

    }

    Kt ni phn cng nh hnh 4.6. Sau chng ta s load chng trnh xungkit DSK6416 .

  • 7/27/2019 CCS4 DSP Workshop

    52/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 51

    Khi chy chng trnh, chng ta s dng Dip switch SW[0] chn modehot ng gia s dng b lc v khng c b lc. Nhn xt v hiu ng thuc.

    Hnh L-4.7 : Audio FIR Filter Example

    Nh vy, qua bi th nghim ny, chng ta hc cch thit k mt b lcFIR , v thc hin chng trn kit DSP. c bit l chng ta bit cch x l tnhiu audio realtime v xem xt c hiu ng thc t ca chng. Trong bi sau ,chng ta s xem xt mt dng b lc khc , l dng IIR v cch thc hin blc IIR s dng ghp cascade cc tng SOS (Second-Order Section) rt thngdng trong thc t.

  • 7/27/2019 CCS4 DSP Workshop

    53/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 52

    Bi tp thm :1) Vit chng trnh thu m thnh t line-in, thc hin b lc FIR

    trn hai knh stereo v xut ra headphone bng phng phpsample by sample..

    2) Thit k b lc thng di bc 65 , s dng Hamming windows,vi tn s ct l 2500Hz, tn s ly mu 8Khz.

    3) Thit k b lc thng cao bc 89 , s dng Hamming windows,vi tn s ct l 2200Hz, tn s ly mu 8Khz.

    4) Vit chng trnh tnh p ng tn s ca b lc FIR trn CCS4.

  • 7/27/2019 CCS4 DSP Workshop

    54/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 53

    Lab 5 - Thit k b lc IIR trn DSK64163.5

    Trong bi thc hnh ny, chng ta s :Thit k b lc IIR bng cng c FDATool ca matlabVit chng trnh C thc hin b lc IIR bng thut ton

    x l theo tng mu cho dng audio lin tc.

    Xem xt phng trnh vo ra I/O sau :

    Hoc tng ng.

    Phng trnh c dng qui ny chnh l cng thc ca b lc IIR (B lcp ng xung v hn). Ta thy rng tn hiu u ra hin ti y(n) , ngoi vic phthuc vo cc tn hiu u vo trc x(n-k) nh b lc FIR, n cn ph thucvo cc tn hiu u ra trc y(n-k) .

    Cc dng cu trc ca b lc IIR :

    Cu trc Direct form I

    Cu trc Direct form II

    Cu trc ghp cascade

    Cu trc ghp song song.

    Dng Direct form I c m t tng qut nh hnh 5.1

  • 7/27/2019 CCS4 DSP Workshop

    55/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 54

    Hnh L-5.1 : IIR dng Direct form I

    Dng Direct form II l dng ph bin hn vi s khi delay gim mt na sovi dng direct form I.

    Hnh L-5.2 : IIR dng Direct form IICn dng ghp cascade v song song l dng ghp nhiu b lc bc thp

    c bc lc vi bc cao hn nhm tng hiu sut ca b lc.

    Trong bi lab ny , chng ta s dng b lc IIR SOS (Second Order Section)l dng Direct form II ghp dng cascade nhiu tng, vn rt ph bin trong thct. Mi tng SOS c cu trc nh sau:

  • 7/27/2019 CCS4 DSP Workshop

    56/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 55

    Sau , chng ta ghp nhiu b SOS li theo kiu cascade c cc b lc vi hs cao hn. Hnh 5.3 m t mt b lc IIR bc 4 s dng hai b lc SOS bc hai

    ghp kiu cascade.

    Hnh L-5.3 : IIR dng Direct form II SOS mc cascade

    Bc u tin, l thit k b lc IIR SOS bng cng c matlabFDATool. Trong bi thc hnh ny, chng ta s thit k mt b lc IIR s

    dng 8 tng SOS kiu Chebyshev II nh hnh 5.2 . Sau khi thit k xong ta s tora file impinv.cof cha h s ca cc tng SOS. Thng s b lc IIR nh sau:

    IIR Type : Low pass Filter (Chebyshev II)

    Sections : 8

    Fs : 32Khz

    Fstop : 3Khz

  • 7/27/2019 CCS4 DSP Workshop

    57/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 56

    Hnh L-5.4 : IIR SOS Design by Matlab FDATool

    To mtproject mi c tn lIIR_SOS_Filterv copy cc filec6416dskinit.h, c6416dskinit.h v impinv.hnh hnh 5.3.

    Hnh L-5.5 : Lab 5 IIR Filter using SOS stages

    Sau to file mi c tn main.cv thm source code cho chng trnhmain.cnh sau :

    /** INDUSTRIAL UNIVERSITY of HO CHI MINH CITY

  • 7/27/2019 CCS4 DSP Workshop

    58/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 57

    * Project : IIR_SOS_filter* Description : Implementation of IIR Filter Using* Cascaded Second Order Direct Form II Sections* Author : Hoang Nguyen* Date: 19/1/2013* Board support: DSK6416 TI* Platform: CCS4*

    */

    //include library support#include#include"dsk6416_aic23.h"#include"dsk6416_led.h"#include"dsk6416_dip.h"#include"impinv.cof"

    Uint32 fs=DSK6416_AIC23_FREQ_32KHZ; //set sampling rate

    //#define DEBUG

    shortx_buffer[500]={0}; //Input buffer

    shorty_buffer[500]={0}; //Output buffer

    floatw[NUM_SECTIONS][2] = {0};

    voidmain(){

    inti,j,sect;floatxn=0;floatwn=0;floatyn=0;shortinput,output;

    comm_poll(); //init dsk6416 board and DAC,ADC

    DSK6416_LED_init(); //LEDs initDSK6416_DIP_init(); //DIPs SW init

    for(i=0;i499) i =0;output_sample(input);

    }elseif(DSK6416_DIP_get(0)==0)//filtered audio{

    DSK6416_LED_off(0);DSK6416_LED_off(1);DSK6416_LED_on(2);

  • 7/27/2019 CCS4 DSP Workshop

    59/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 58

    xn = input_left_sample();x_buffer[i++]=(short)xn;if(i>499) i =0;for(sect=0 ; sect< NUM_SECTIONS ; sect++)

    {wn = xn - a[sect][0]*w[sect][0]

    - a[sect][1]*w[sect][1];#ifdefDEBUG

    printf("w[%d] = %f \n",i,wn);#endifyn = b[sect][0]*wn +

    b[sect][1]*w[sect][0]+ b[sect][2]*w[sect][1];

    #ifdefDEBUGprintf("y[%d] = %f\n",i,yn);

    #endifw[sect][1] = w[sect][0];w[sect][0] = wn;xn = yn; //output of current

    section//will be input to next

    }output = (Uint32)yn;

    y_buffer[j++]=(short)yn;if(j>499) j =0;output_sample(output);//Send to headphone DAC

    }}

    }

    Chy chng trnh trn Kit DSK6416. Build v chy chng trnh vnghe headphone xem s khc bit gia vic c b lc v khng c b

    lc nh hnh 5.4. S dng SW[0] chn c b lc v khng c b mc

    Hnh L-5.6 : Lab 5 IIR Filter Example

    Xem xt p ng tn s ca b lc. V th graph ph ca tn hiux_buffer v y_buffer. Hy so snh v nhn xt ph ca tn hiu audio trc

    v sau khi s dng b lc IIR.

  • 7/27/2019 CCS4 DSP Workshop

    60/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 59

    Hnh L-5.7 : Ph tn hiu u vo

    Hnh L-5.8 : Ph tn hiu sau b lc IIR

    Thay i h s b lc high pass filter. Hy thay i b lc high pass filterbng cch s dng h s trong file hp_sos16_iir.cof . H s ca b lc ny

    c to bi cng c FDAtool ca matlab vi thng s nh hnh 5.6 .

  • 7/27/2019 CCS4 DSP Workshop

    61/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 60

    Hnh L-5.9 : High pass Filter tn s ct 3Khz

    Load chng trnh xung DSK6416 v nhn xt v hiu ng ca b lc

    Bi tp thm :1) Thit k b lc chn lc bc 16 s dng ghp tng SOS , s dng

    Hamming windows, vi tn s ct l 888Hz, tn s ly mu 8Khz.2) Vit chng trnh tnh p ng tn s ca b lc IIR trn CCS4.3) Vit tn hiu gi ngu nhin trn CCS4 v a vo b lc xem

    p ng ca u ra.4) Vit chng trnh sine_sweep to tn s sng sin qut t tn s

    300Hz ti 10Khz trn CCS4

  • 7/27/2019 CCS4 DSP Workshop

    62/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 61

    Lab 6 - Thut ton bin i Fourier FFT (Optional)3.6

    Trong bi thc hnh ny, chng ta s :Vit chng trnh C thc hin b lc thut ton x l

    Fourier nhanh FFT (Fast Fourier Transform) da trn thut tonDFT. V ng dng vo vic phn tch ph ca tn hiu bt k.

    Thut ton bin i Fourier ri rc l thut ton bin i tn hiu min thigian thnh tn hiu tng ng trong min tn s.

    Cng thc DFT ca tn hiu ri rc theo thi gian x(n) c dng nh sau :

    X() = (n)

    =

    2

    hoc =

    N l s im ly DFT.L l chiu di khung (frame length) ly DFT.

    To project trn CCS:

    Vit chng trnh nh sau:

    /** INDUSTRIAL UNIVERSITY of HO CHI MINH CITY* Implement DFT with C program* Author: Chu Manh Cuong* Project : example_dft* Date: 23/9/2011* Hardware : DSK6416

    * Platform : CCS4*/#include#include#include"dsk6416_aic23.h"#include"dsk6416_led.h"#include"dsk6416_dip.h"Uint32 fs = DSK6416_AIC23_FREQ_8KHZ;

    /*setting N point DFT*/#defineN 128 //N point DFT

  • 7/27/2019 CCS4 DSP Workshop

    63/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 62

    #defineL 8 //leght of x#defineFs 8000 //sampling frequency for calculate fk (at fk,magnitude is max)/*creat a sine wave table for example*/shortx[L] = {0,707,1000,707,0,-707,-1000,-707};

    /*declare struct for Complex*/typedefstructtagComplex {

    floatreal;floatimg;

    }Complex;Complex X[N], z; //declar variables complex

    structtagMagnitude{shortmax;Uint32 loc;

    }Magnitude;

    /*put DFT value to DFT array, note value at here is complex*/shortDFT_Complex[N];/*real part of DFT*/shortDFT_Real[N/2];/*wk, to calculate DFT*/

    /*pi constant*/#definepi 3.14

    /*Detect peak of Frequency Spectrum array*/

    shortmax_DFT(Uint32 *loc){

    shortmax;inti;max = DFT_Real[0];*loc = 0;for( i=0;imax)

    {max = DFT_Real[i];*loc = i;

    }}returnmax;

    }

    voidmain (void){

    intn,k;floatwk,fk;floattemp;

    comm_poll();

    printf("-------------------------------------------------\n");

    printf(" INDUSTRIAL UNIVERSITY of HO CHI MINH CITY\n");

    printf(" Lab 6 : Implement DFT on CCS4\n");printf(" Author: Chu Manh Cuong\n");printf("-------------------------------------------------

    \n\n");

  • 7/27/2019 CCS4 DSP Workshop

    64/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 63

    printf("DSK6416> %d point DFT ofx[n]\n",sizeof(DFT_Complex)/2);

    printf("DSK6416> Length of x\n");printf("DSK6416> L = %d\n",sizeof(x)/2);printf("DSK6416> fs = %dhz\n",Fs);printf("DSK6416> DFT Calculating...\n");

    //DFT Algorithm Implementationfor

    (k=0;k0)

    printf(" + %fi\n",X[k].img);else

    printf(" - %fi\n",abs(X[k].img));#endif

    }

    /*determine DFT module*/for(n=0;n

  • 7/27/2019 CCS4 DSP Workshop

    65/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 64

    Kt ni board ti my tnh vi cable USB, nhp voDebug Active Projectsau nhn voRun.Sau khi thc hin xong chng trnh, ca s Console s xut hin ccthng s v chng trnh nh sau:

    Tin hnh theo hng dn chng ta s xem c ln lt:Tn hiu sine cn xc nh DFT:

    th bin i FFT ca CCSV4 s c dng nh sau:

  • 7/27/2019 CCS4 DSP Workshop

    66/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 65

    V y l th DFT ca tn hiu x(n) sau khi c p dng thut tonDFT:

    - Ph phc:

    - Ph thc ca tn hiu:

  • 7/27/2019 CCS4 DSP Workshop

    67/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 66

    So snh DFT thu c sau khi chy chng trnh v FFT ca CCSV4 l ging

    nhau.

    Nh vy kt lun rng vi tn hiu x(n) cho trong chng trnh chng ta xc nh c DFT ca n vi kt qu thu c nh sau:

    N = 128 l s im DFT

    L = 8 l kch thc ca x(n)

    Fs = 8Khz l tn s ly mu

    Mainlobe DFT ca tn hiu nm ti v tr f thu c:

    F = 875 Hz (~888Hz nh l thuyt)

  • 7/27/2019 CCS4 DSP Workshop

    68/69

    CCS4 DSP Workshop

    Nguyn Th Hang, B mn Vin Thng, H CN TP HCM Page 67

    Bi tp thm :1) Thc hin thut ton DCT (Discrete Cosine Transform ) trn

    CCS4.2) Thc hin thut ton FFT (Fast Fourier Transform ) 256 im

    trn CCS4.

  • 7/27/2019 CCS4 DSP Workshop

    69/69

    CCS4 DSP Workshop

    Reference

    1. X l s tn hiu v wavelets 1, L Tin Thng , NXB HQG TPHCM ,2004

    2. Digital Signal Processing and Applications with the C6713 and C6416 DSKII, Rulph Chassaing , Wiley & Sons Publication , 2008

    3.

    Matlab 2009, The Mathwork , 20094. Internet websites


Recommended