AnsweredAssumed Answered

ADSP 2101 low level audio signals

Question asked by akeane01 on Nov 30, 2009
Latest reply on Feb 9, 2010 by ggeerling

Hi,

 

below is a sample of the filter to process de-emphasis on audio signals on a receiver card with a ADSP2101. When i run the code without this filter the linearity of the audio signals is good down to 80dB below full scale which is around -60dBm. So -10dBm input equals -10dBm output for good linearity and so on. What i notice is that when i add this filter to compensate from the pre-emphasized signal from the transmitter, my low level linearity response is starts dropping off at -50dBm input. If I add gain before the filter then the better the low level signal response but i lose that range on the high level signals. Is there anything that can be done to this 1.15 fractional mode filter for low level signals?

 

 

 

 

/* load loop count and coefficents     */

/* setup pointers to buffer  */

 

DIS M_MODE;

       
startDemph:     

CNTR = ar;           /* load counter */

DO to_lrs UNTIL CE;                      /* loop  until count expires, end of buffer  */

        
   SR0 = dm(I7,M6);                      /* load sample from buffer */
   MX1 = dm(l_last_in);                  /* previous samples     */
   AR  = dm(l_last_out);
   MY0 = dm(de_a0);                    /* load 1st coefficient  */
   MR  = MX0 * MY0 (SS);
   MY0 = dm(de_a1);                    /* load 2nd coefficient  */
   MR  = MR + MX1 * MY0 (SS);
   MY0 = dm(de_b1);                    /* load 3rd coefficient  */
   MR  = MR + AR  * MY0 (SS);
   MR  = MR (RND);
   IF MV SAT MR;
   dm(l_last_out) = MR1;
   dm(l_last_in)  = MX0;
   dm(I7,M7) = MR1;                     /* store new filtered sample     */

to_lrs:

Outcomes