Motorola DSP Developer's Kit | ![]() ![]() |
C = mot###_conv( A,B )
Description
This function convolves vectors A and B, where both A and B are real vectors
Input/Output
Input: Real vector A, and real vector B
Algorithm
LengthC = LengthB + LengthA - 1
for ( i = 1; i <= LengthC; i ++ ) { if ( i <= LengthA ) { for ( j = 1; j <= i; j ++ ) { C[i] += A[j] * B[i - j + 1]; }} else { for ( j = i - LengthA; j <= LengthA - 1; j ++ ) { C[i] += A[j + 1] * B[i - j]; }}}
Memory & Register
Status Register
The assembly function conv-r.asm
does not set any status registers/bits during the function execution
Data Size Limit
The maximum length of vector A and B can't be larger than 1/3 of the continuous available data memory size.
Data Range Limit
The input data vector range is [-1.0, +1.0].
Precision
In the case of DSP563, precision is 23 bits.
In the case of DSP566, precision is 15 bits.
Performance Limit
![]() | angle-c.asm | conv-c.asm | ![]() |