Buy/Sample Options SW300022
Contact Microchip
Development Tool Selector
Memory & Analog Parts Selector (MAPS)
  Programming
Design Center Home
Programming Home
Programming Specifications
Code Examples
Code Templates
Firmware Drivers
Application Maestro Software
FAQs
  Resources
Technical Support
24/7 Technical Support
Third Party Development Tools and Design Resources
Online Discussion Groups
dsPIC30F DSP Algorithm Library 
Part Number: SW300022

Summary

The dsPIC30F DSP Library provides a set of speed optimized functions for the most common digital signal processing applications. The DSP Library provides significant performance savings over equivalent functions coded in “C” and allows developers to dramatically shorten their development time. The DSP Library may be used with any dsPIC30F variant

 

Description
The DSP Library is written predominantly in assembly language and makes extensive use of the dsPIC30F DSP instruction set and hardware resources, including X and Y memory addressing, modulo addressing, bit-reversed addressing, 9.31 saturation, and REPEAT and DO loops.

The DSP Library provides functions for the following types of operations:
• Vector Operations
• Matrix Operations
• Filtering Operations
• Transform Operations
• Window Operations

Features
FEATURED DOWNLOADS
• 49 total functions
• Full compliance with the Microchip dsPIC30F C30 Compiler, Assembler and Linker
• Simple user interface – just one library file and one header file
• Functions are both “C” and assembly callable
• FIR filtering functions include support for Lattice, Decimating, Interpolating and LMS filters
• IIR filtering functions include support for Canonic, Transposed Canonic and Lattice filters
• FIR and IIR functions may be used with the filter files generated by the dsPIC30F Filter Design program
• Transform functions include support for in-place and out-of-place DCT, FFT and IFFT transforms
• Window functions include support for Bartlett, Blackman, Hamming, Hanning and Kaiser windows
• Support for Program Space Visibility
• Complete function profile information including register usage, cycle count and function size information

Devices Supported
All processors in the dsPIC30F family

Getting Started
• Read the summary section of this web page
• Read the “Using the DSP Library” section in the MPLAB C30 Libraries manual.
• The DSP library file “libdsp.a” should be located in your C30 language tools “lib” folder.
• The DSP library header file “dsp.h” should be located in your C30 language tools “include” folder.

 

Function Execution Times

Function

Cycle Count Equation

Conditions

Number of Cycles

Execution Time @30 MIPS

 

Complex FFT**

-

N=64

3739

124.6 us

 

Complex FFT**

-

N=128

8485

282.8 us

 

Complex FFT**

-

N=256

19055

635.2 us

 

Block FIR

53+N(4+M)

N=32, M=32

1205

40.2 us

 

Block FIR Lattice

41+N(4+7M)

N=32, M=32

7337

244.6 us

 

Block IIR Canonic

36+N(8+7S)

N=32, S=4

1188

39.6 us

 

Block IIR Lattice

46+N(16+7M)

N=32, M=8

2350

78.3 us

 

Matrix Add

20+3(C*R)

C=8, R=8

212

7.1 us

 

Matrix Transpose

16+C(6+3(R-1))

C=8, R=8

232

7.7 us

 

Vector Dot Product

17+3N

N=32

113

3.8 us

 

Vector Max

19+7(N-2)

N=32

229

7.6 us

 

Vector Multiply

17+4N

N=32

145

4.8 us

 

Vector Power

16+2N

N=32

80

2.7 us

 

*C= #columns, N=# samples, M=#taps, S=#sections, R=#rows
**Complex FFT routine inherently prevents overflow

1 cycle = 33 nanoseconds @30 MIPS

 
Downloads
dsPIC30F DSP Algorithm Library 2/23/06 192KB
dsPIC30F DSP Algorithm Library Product Overview 7/11/05 36KB
 
 
  Site Index  |  Legal Information  |  microchipDIRECT  |  Samples  |  Technical Support  |  Contact Us ©2006 Microchip Technology Inc..