Skip to main content
. 2021 Jul 5;21(13):4602. doi: 10.3390/s21134602
Algorithm 7 Producer function.
Require:SendBlockSize
Require:Block[]
Require:Mcurr
Ensure:BlockSizeC
Ensure:BlockC
   FullCheck←AFifoCurrSize+SendBlockSize
 if FullCheck≤FifoTh then
   Mcurr←Mcurr<N?Mcurr+1:N
 else
   Mcurr←Mcurr>1?Mcurr−1:1
 end if
  i←0
 while SendBlockSize>i do
  if WidthCount=0 then
   BlockP[i]←AdpcmEncoder(Block[i],Mcurr,
                                                  true,Winit,
                                                  true,Pinit)
   WidthCount← WIDTH
 else
   BlockP[i]←AdpcmEncoder(Block[i],Mcurr,
                                                  false,null,
                                                  false,null)
 end if
 if WidthCount= WIDTH then
   Pinit←Block[i]
 end if
  i←i+1
  WidthCount←WidthCount−1
 end while
 if Mprev≠Mcurr then
   AseChangeDataWidth(Mcurr)
   AseSendException(Mcurr)
   Mprev←Mcurr
 end if
  AseCompression(BlockSize,BlockP,
                        ;           &BlockSizeC,&BlockC)