Motorola DSP Developer's Kit |
Motorola DSP Developer's Kit | ![]() ![]() |
B = mot###_diff(A,N)
This function performs an N-th order difference between the elements of real vector A.
INput/Output
Input: Real vector A, int N (N-th order)
Algorithm
for ( i = 1; i <= N; i ++ ) { for ( j = 1; j <= LengthA - 1; j ++ ) { A[j] = A[j + 1] - A[j]; } -- LengthA; } B = A;
Memory & Register
Memory allocation and register usage:
Assume M{0...7} = $ffff
Status Register
The assembly function diff-r.asm
does not explicitly set any status registers/bits during the function execution.
Data Size Limit
The length of vector A can't be larger than the continuous available data memory size.
Data Range Limit
The value of input vector must be between -1.0 and +1.0.
Precision
In the case of DSP563, precision is 23 bits.
In the case of DSP566, precision is 15 bits.
Performance Limit
![]() | decimate-iir-c.asm | diff-c.asm | ![]() |