You have no items in your shopping cart.

Subtotal:Rs.0.00
DSP/DSC Boards

# How to implement the DSP algorithms on TMS320C6745/C5505/F2812 DSP kits

Digital signal processing will always involve with signals by doing some mathematical operation on signals then it produces an output signal in the form of digital so the conversion may required whether to digital to analog or analog to digital.

The basic elements of DSP are ADC, Digital Signal Processor, and DAC.

Usually, the Digital signal processing is mathematical manipulation on a DSP chip. All the algorithms will end with the mathematical equation whether a signal, image or video processing. We will start with the basic DSP algorithm to learn how to implementation of DSP algorithm on DSP kits. Before proceed to implement stage first we must be familiar with that algorithm.

## Linear Convolution

Convolution is a one of the basic algorithm in Digital signal processing. It is nothing but a mathematical operation, just as addition, subtraction, multiplication, and integration. Mathematical operation takes two numbers and produces a third number, while convolution takes two signals and produces a third signal.

In linear systems, convolution is used to describe the relationship between three signals of interest: the input signal, the impulse response, and the output signal.

If the input and impulse response of a system are x[n] and h[n] respectively, then the Convolution is given by the expression,

Where,

Y[n] = output sequence

X[n] = input sequence

H[n] = impulse response

k ranges between 0 and N-1

If,

X (n) is an M – point sequence.

H (n) is an N – point sequence.

Then,

Y (n) is a (M+N-1) – point sequence.

In this equation, x(k), h(n-k) and y(n) represent the input to and output from the system at time n. Here we could see that one of the inputs is shifted in time by a value every time it is multiplied with the other input signal.

Example: x(n) = {1,1,1,1} and h(n) = {1,2,3,4} then Y(n) = ?

Y (n) = {1, 3, 6, 10, 9, 7, 4}.

Linear Convolution is quite often used as a method of implementing filters of various types.

Implementation of Linear convolution algorithm on DSP kit:

ü  Note: This explanation is done with the help of TMS320C6745 DSP kit (kit link).

To implement the linear convolution on kit,

• Receive inputs via a program or a memory server in code composer studio.
• Then, processing
• Storing the result in a program and displaying the output in console window or memory server in code composer studio.

For this basic algorithm, we don’t need ADC or DAC to convert the input or output because we have discrete input sequence to process.

For an input, we may give in a program through declaring an array or we can use pointer to point DSP RAM Memory location or SDRAM memory location. Before accessing a DSP RAM/SDRAM memory location for user input we must familiar with linker script.

Example:

1. Input in array

short x[N] = {1,1,1,1};

short h[N] = {1,2,3,4};

1. Input in memory

int *x,*h,*y;

x = (int *)0xc0001000;

h = (int *)0xc0001030;

y = (int *)0xc0001050;

Give the input as follow in code composer studio memory server:

X(n)                                                                  h(n)

0xC0001000 – 00000001        0xC0001030 – 00000001

0xC0001004 – 00000001        0xC0001034 – 00000002

0xC0001008 – 00000001        0xC0001038 – 00000003

0xC000100C – 00000001        0xC000103C – 00000004

After received the input, process the linear convolution formulae with the help of some conditional loop statements (for, if, while).

Example:

for(n=0;n<(xn+hn-1);n++)

{

for(k=0;k<=n;k++)

y[n] = (y[n]) + ((x[k])*(h[n-k]));

}

After processing the algorithm, we may store the results in array or a DSP RAM/SDRAM memory.

This is the simple algorithm we implemented on DSP kit, in the same way we can proceed the all the DSP algorithms. You may refer the below tutorial and video for further understanding this blog