DSP/task processor files and processing power

The binary code for running functions is contained in DSP files. One or more functions are contained in each file. NMS boards differ in the total number of DSPs they contain and the speed of the DSPs on the board.

DSP speed is measured in millions of instructions per second (MIPS). Each function that runs on a DSP consumes MIPS. If the total MIPS consumption for all the requested functions on all the ports of a given board exceeds the total MIPS available for that board, an error event occurs. If MIPS-intensive functions are required, you can reduce the total number of ports on a board, which makes more MIPS per port available.

The following table shows the MIPS usage for all the available functions shipped with Natural Access:

DSP file

Function

MIPS

Related API function

Related arguments

adsir.m54

ADSI receiver

3.13

adiStartReceivingFSK

 

adsix.m54

ADSI transmitter

1.13

adiStartSendingFSK

 

callp.m54

Call progress

1.06

adiStartCallProgress

 

dtmf.m54

DTMF only

0.69

adiStartDTMFDetector

 

dtmf.m54

Post- and pre-tone silence

0.69

adiStartEnergyDetector

 

dtmf.m54

DTMF, post- and pre-tone silence

1.94

adiStartToneProtocol

 

g726.m54

G.726 Play

7.63

adiStartPlaying

encoding = ADI_ENCODE_G726

g726.m54

G.726 Record

7.25

adiStartRecording

encoding = ADI_ENCODE_G726

gsm_ms.m54

MS-GSM Play
8 kHz

2.10

adiStartPlaying

encoding = ADI_ENCODE_GSM

gsm_ms.m54

MS-GSM Record
8 kHz

4.40

adiStartRecording

encoding = ADI_ENCODE_GSM

gsm_mspl.m54

MS-GSM Play limit 8 kHz

2.80

adiStartPlaying

encoding = ADI_ENCODE_GSM

gsm_mspl.m54

MS-GSM Record
8 kHz

4.40

adiStartRecording

encoding = ADI_ENCODE_GSM

ima.m54

IMA/DVI ADPCM Play
6 kHz

2.06

adiStartPlaying

encoding = ADI_ENCODE_IMA_24

ima.m54

IMA/DVI ADPCM Play
8 kHz

1.81

adiStartPlaying

encoding = ADI_ENCODE_IMA_32

ima.m54

IMA/DVI ADPCM Record
6 kHz

2.19

adiStartRecording

encoding = ADI_ENCODE_IMA_24

imaply.m54

IMA/DVI ADPCM Record
8 kHz

2.00

adiStartRecording

encoding = ADI_ENCODE_IMA_32

mf.m54

Forward detect, backward compelling

2.56

adiStartMFDetector

 

mf.m54

Backward detect, forward compelling

2.56

adiStartMFDetector

 

mf.m54

MF detection

1.81

adiStartMFDetector

 

mf.m54

MF forward detection

1.81

adiStartMFDetector

 

mf.m54

MF backward detection

1.81

adiStartMFDetector

 

oki.m54

OKI Play
6 kHz

2.19

adiStartPlaying

encoding = ADI_ENCODE_OKI_24,
maxspeed
= 100

oki.m54

OKI Play
8 kHz

2.06

adiStartPlaying

encoding = ADI_ENCODE_OKI_32,
maxspeed
= 100

oki.m54

OKI Play
6 kHz 1.5X

4.13

adiStartPlaying

encoding = ADI_ENCODE_OKI_24,
maxspeed
= 150

oki.m54

OKI Play
8 kHz 1.5X

3.63

adiStartPlaying

encoding = ADI_ENCODE_OKI_32,
maxspeed
= 150

oki.m54

OKI Play
6 kHz 2.0X

5.44

adiStartPlaying

encoding = ADI_ENCODE_OKI_24,
maxspeed
= 200

oki.m54

OKI Play
8 kHz 2.0X

4.81

adiStartPlaying

encoding = ADI_ENCODE_OKI_32,
maxspeed
= 200

oki.m54

OKI Record
6 kHz

2.25

adiStartRecording

encoding = ADI_ENCODE_OKI_24

oki.m54

OKI Record
8 kHz

2.00

adiStartRecording

encoding = ADI_ENCODE_OKI_32

ptf.m54

2 single freq or 1 tone pair

1.25

adiStartToneDetector

 

ptf.m54

4 single freq or 2 tone pair

1.81

adiStartCallProgress

precmask!=0

rvoice.m54

mu-law Play

0.63

adiStartPlaying

encoding = ADI_ENCODE_MULAW

rvoice.m54

A-law Play

0.63

adiStartPlaying

encoding = ADI_ENCODE_ALAW

rvoice.m54

WAVE Play,
8 kHz, 16-bit

0.63

adiStartPlaying

encoding = ADI_ENCODE_PCM8M16

rvoice.m54

mu-law Record

0.63

adiStartRecording

encoding = ADI_ENCODE_MULAW

rvoice.m54

A-law Record

0.63

adiStartRecording

encoding = ADI_ENCODE_ALAW

rvoice.m54

WAVE Record,
8 kHz, 16-bit

0.63

adiStartRecording

encoding = ADI_ENCODE_PCM8M16

rvoice_vad.m54

mu-law Play

0.63

adiStartPlaying

encoding = ADI_ENCODE_MULAW

rvoice_vad.m54

A-law Play

0.63

adiStartPlaying

encoding = ADI_ENCODE_ALAW

rvoice_vad.m54

WAVE Play,
8 kHz, 16-bit

0.63

adiStartPlaying

encoding = ADI_ENCODE_PCM8M16

rvoice_vad.m54

mu-law Record

0.88

adiCommandRecord

adiStartRecording

encoding = ADI_ENCODE_MULAW

rvoice_vad.m54

A-law Record

0.88

adiCommandRecord

adiStartRecording

encoding = ADI_ENCODE_ALAW

rvoice_vad.m54

WAVE Record,
8 kHz, 16-bit

0.88

adiCommandRecord

adiStartRecording

encoding = ADI_ENCODE_PCM8M16

tone.m54

Tone generator

0.75

adiStartDial

adiStartDTMF

adiStartTones

 

voice.m54

NMS Play
16 kbit/s

3.13

adiStartPlaying

encoding = ADI_ENCODE_NMS_16,
maxspeed
= 100

voice.m54

NMS Play
24 kbit/s

3.13

adiStartPlaying

encoding = ADI_ENCODE_NMS_24,
maxspeed
= 100

voice.m54

NMS Play
32 kbit/s

3.13

adiStartPlaying

encoding = ADI_ENCODE_NMS_32,
maxspeed
= 100

voice.m54

NMS Play
64 kbit/s

0.63

adiStartPlaying

encoding = ADI_ENCODE_NMS_64,
maxspeed
= 100

voice.m54

NMS Play 16
6 kHz 1.5X

5.63

adiStartPlaying

encoding = ADI_ENCODE_NMS_16,
maxspeed
= 150

voice.m54

NMS Play 24
6 kHz 1.5X

5.81

adiStartPlaying

encoding = ADI_ENCODE_NMS_24,
maxspeed
= 150

voice.m54

NMS Play 32
6 kHz 1.5X

5.81

adiStartPlaying

encoding = ADI_ENCODE_NMS_32,
maxspeed
= 150

voice.m54

NMS Play 64
6 kHz 1.5X

2.31

adiStartPlaying

encoding = ADI_ENCODE_NMS_64,
maxspeed
= 150

voice.m54

NMS Play 16
6 kHz 2.0X

7.19

adiStartPlaying

encoding = ADI_ENCODE_NMS_16,
maxspeed
= 200

voice.m54

NMS Play 24
6 kHz 2.0X

7.50

adiStartPlaying

encoding = ADI_ENCODE_NMS_24,
maxspeed
= 200

voice.m54

NMS Play 32
6 kHz 2.0X

7.44

adiStartPlaying

encoding = ADI_ENCODE_NMS_32,
maxspeed
= 200

voice.m54

NMS Play 64
6 kHz 2.0X

2.81

adiStartPlaying

encoding = ADI_ENCODE_NMS_64,
maxspeed
= 200

voice.m54

NMS Record
16 kbit/s

3.38

adiStartRecording

encoding = ADI_ENCODE_NMS_16

voice.m54

NMS Record
24 kbit/s

3.38

adiStartRecording

encoding = ADI_ENCODE_NMS_24

voice.m54

NMS Record
32 kbit/s

3.38

adiStartRecording

encoding = ADI_ENCODE_NMS_32

voice.m54

NMS Record
64 kbit/s

0.63

adiStartRecording

encoding = ADI_ENCODE_NMS_64

wave.m54

WAVE Play
11 kHz 8-bit

1.56

adiStartPlaying

encoding = ADI_ENCODE_PCM11M8

wave.m54

WAVE Play
11 kHz 16-bit

1.44

adiStartPlaying

encoding = ADI_ENCODE_PCM11M16

wave.m54

WAVE Record
11 kHz 8-bit

1.5

adiStartRecording

encoding = ADI_ENCODE_PCM11M8

wave.m54

WAVE Record
11 kHz 16bit

1.13

adiStartRecording

encoding = ADI_ENCODE_PCM11M16


 

The following table shows the correspondence between the filter and adapt values used for the echo canceller and MIPS consumption:

DSP file

Filter length (ms)

Adapt time (ms)

MIPS

echo.m54

2

100

2.75

echo.m54

2

200

2.38

echo.m54

2

400

2.25

echo.m54

2

800

2.13

echo.m54

4

100

3.13

echo.m54

4

200

2.63

echo.m54

4

400

2.38

echo.m54

4

800

2.25

echo.m54

6

100

3.50

echo.m54

6

200

2.88

echo.m54

6

400

2.63

echo.m54

6

800

2.50

echo.m54

8

100

3.88

echo.m54

8

200

3.13

echo.m54

8

400

2.88

echo.m54

8

800

2.75

echo.m54

10

100

4.25

echo.m54

10

200

3.50

echo.m54

10

400

3.00

echo.m54

10

800

2.88

echo.m54

16

100

5.25

echo.m54

16

200

4.25

echo.m54

16

400

3.63

echo.m54

16

800

3.38

echo.m54

20

100

5.63

echo.m54

20

200

4.50

echo.m54

20

400

3.88

echo.m54

20

800

3.38

echo_v3.m54

24

100

8.56

echo_v3.m54

24

200

6.13

echo_v3.m54

24

400

4.88

echo_v3.m54

24

800

4.25

echo_v3.m54

32

100

10.75

echo_v3.m54

32

200

7.56

echo_v3.m54

32

400

5.94

echo_v3.m54

32

800

5.13

echo_v3.m54

40

100

13.00

echo_v3.m54

40

200

9.00

echo_v3.m54

40

400

7.00

echo_v3.m54

40

800

6.00

echo_v3.m54

48

100

15.25

echo_v3.m54

48

200

10.44

echo_v3.m54

48

400

8.06

echo_v3.m54

48

800

6.88

echo_v3.m54

64

100

19.69

echo_v3.m54

64

200

13.31

echo_v3.m54

64

400

10.19

echo_v3.m54

64

800

8.56

echo_v4.m54

2

100

4.125

echo_v4.m54

2

200

3.938

echo_v4.m54

2

400

3.875

echo_v4.m54

2

800

3.813

echo_v4.m54

4

100

4.438

echo_v4.m54

4

200

4.188

echo_v4.m54

4

400

4.063

echo_v4.m54

4

800

4.000

echo_v4.m54

6

100

4.750

echo_v4.m54

6

200

4.438

echo_v4.m54

6

400

4.313

echo_v4.m54

6

800

4.188

echo_v4.m54

8

100

5.063

echo_v4.m54

8

200

4.688

echo_v4.m54

8

400

4.500

echo_v4.m54

8

800

4.438

echo_v4.m54

10

100

5.375

echo_v4.m54

10

200

4.938

echo_v4.m54

10

400

4.750

echo_v4.m54

10

800

4.625

echo_v4.m54

16

100

6.313

echo_v4.m54

16

200

5.688

echo_v4.m54

16

400

5.375

echo_v4.m54

16

800

5.188

echo_v4.m54

20

100

6.938

echo_v4.m54

20

200

6.188

echo_v4.m54

20

400

5.813

echo_v4.m54

20

800

5.625

echo_v4.m54

24

100

10.375

echo_v4.m54

24

200

7.938

echo_v4.m54

24

400

6.750

echo_v4.m54

24

800

6.125

echo_v4.m54

32

100

12.625

echo_v4.m54

32

200

9.375

echo_v4.m54

32

400

7.813

echo_v4.m54

32

800

7.000

echo_v4.m54

40

100

14.813

echo_v4.m54

40

200

10.875

echo_v4.m54

40

400

8.875

echo_v4.m54

40

800

7.875

echo_v4.m54

48

100

17.063

echo_v4.m54

48

200

12.313

echo_v4.m54

48

400

9.938

echo_v4.m54

48

800

8.750

echo_v4.m54

64

100

21.500

echo_v4.m54

64

200

15.188

echo_v4.m54

64

400

12.000

echo_v4.m54

64

800

10.438