
+---------------------------------------------------------------------+
|   Question: The DSP56200 currently outputs the error term when      |
|             configured as an adaptive filter.   Is there a way      |
|             to get the the FIR filter output when the DSP56200      |
|             is operating as an adaptive filter?   See the cor-      |
|             responding figure.                                      |
|                                                                     |
|     d(n)  --------------------------------                          |
|                                         + |                         |
|                                           v                         |
|                 --------------       -   ---                        |
|    x1(n)  ----->|    FIR     |--+------>| + |------> (error term)   |
|                 |  Structure |  |        ---    |                   |
|                 --------------  |               |                   |
|                       ^         |               |                   |
|                       |         |               |                   |
|                        -------------------------                    |
|                                 |                                   |
|                                 |                                   |
|                                  --------------------> FIR Output?  |
|                                                                     |
+---------------------------------------------------------------------+

     Answer:
          Yes, the FIR filter's output  is  easily  obtained
     using  a simple trick.  The DSP56200 provides the two's
     complement of the error term  in  the  OUTPUT  register
     when  in  adaptive  filter mode.  This error term, how-
     ever, is comprised of two components - the FIR filter's
     output  and the reference input.  The FIR filter's out-
     put is calculated by adding  the  d(n)  term  with  the
     value read from the OUTPUT register:

           FIR Filter Output

                       = d(n) - error

                       = d(n) + DSP56200 OUTPUT Register

     Note that the pipelined nature of the DSP56200 makes it
     necessary  to  delay  the  d(n)  term  by  three sample
     periods.  Therefore, the host processor  can  calculate
     the  FIR's  output  by implementing the following block
     diagram in software:

               Three-Tap Shift Register             Value Read from the
              (resides on host processor)          DSP56200's OUTPUT Reg

              _____________^_____________                  |
             /                           \                 |
                                                           |
             -------    -------    -------                 |
             |  -1 |    |  -1 |    |  -1 |                 |
   d(n)  --->| z   |--->| z   |--->| z   |---              |
             |     |    |     |    |     |   |             |
             -------    -------    -------   |             |
                ^          ^          ^      |     ---     |
                |          |          |       --->| + |<---
  START  -------+----------+----------             ---
                                                    |
                                                    |
                                                    v

                                             FIR Filter Output

       Figure 1. Algorithm for Calculating the FIR Filter's Output
