This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSPF_sp_dotprod in application of circular buffer

I use function DSPF_sp_dotprod from DSPlib to do FIR filter for single sample. 

struct FirFilterDesc {
	WORD Len;
	WORD Idx;
	float *Coeff;
	float *Data;
};

float FirFilter( float NewData, struct FirFilterDesc *Desc )
{
	float Result;

	Desc->Data[Desc->Idx] = NewData;
	Result = DSPF_sp_dotprod( Desc->Coeff, &(Desc->Data[Desc->Idx]), Desc->Len - Desc->Idx);
	if( Desc->Idx ) Result += DSPF_sp_dotprod( &(Desc->Coeff[Desc->Len - Desc->Idx]), Desc->Data, Desc->Idx);
	if( Desc->Idx ) Desc->Idx--; else Desc->Idx = Desc->Len - 1;
	return Result;
}

I have some mistakes in it works. In SPRU657B I read that: 

A memory pad of 4 bytes is required at the end of each array if the number
of inputs is odd

I add 4 bytes for each array Coeff and Data, but mistakes remains. What means this requirement? Is required that this 4 bytes must be equal 0? In circular buffer one of calls can be on odd number and data is in next word.