of 69
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