title: Simple program convert int16_t array to uint16_t
body: <p>I have used the WinFilter Program to compute the FIR filter on C code but I got a issue:</p>
  
  <p>The program only provide the 16 bits signed array and i need to that this vector be a unsigned int. So i am looking for a simple solution to relocated the array values to the next "values".</p>
  
  <pre><code>int16_t FIRCoef[Ntap] = {
      -1029,
      -1560,
      -1188,
          0,
       1405,
       2186,
       1718,
          0,
      -2210,
      -3647,
      -3095,
          0,
       5160,
      10947,
      15482,
      17197,
      15482,
      10947,
       5160,
          0,
      -3095,
      -3647,
      -2210,
          0,
       1718,
       2186,
       1405,
          0,
      -1188,
      -1560,
      -1029,
          0
  };
  </code></pre>
  
  <hr>
  
  <pre><code>uint16_t fir(uint16_t NewSample) {
      static uint16_t x[Ntap]; //input samples
      uint32_t y=0;            //output sample
      int n;
  
      //shift the old samples
      for(n=Ntap-1; n&gt;0; n--)
         x[n] = x[n-1];
  
      //Calculate the new output
      x[0] = NewSample;
      for(n=0; n&lt;Ntap; n++)
          y += FIRCoef[n] * x[n]; // calculo da convolucao na amostra
                                  // Calculation of the convolution in the sample    
      return y / DCgain;
  }
  </code></pre>
  
  <p>I think that one solution should be like this:</p>
  
  <pre class="lang-none prettyprint-override"><code>uint16_t--------int16_t---------index
  0               -32767            1
  1               -32766            2
  2               -32765            3
  ...              ...             ...
  65535            32767            65535
  </code></pre>
  
  <p>any hint?</p>