mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 23:39:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
|    /******************************************************************
 | |
| 
 | |
|        iLBC Speech Coder ANSI-C Source Code
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|        hpInput.c
 | |
| 
 | |
|        Copyright (C) The Internet Society (2004).
 | |
|        All Rights Reserved.
 | |
| 
 | |
|    ******************************************************************/
 | |
| 
 | |
|    #include "constants.h"
 | |
| 
 | |
|    /*----------------------------------------------------------------*
 | |
|     *  Input high-pass filter
 | |
|     *---------------------------------------------------------------*/
 | |
| 
 | |
|    void hpInput(
 | |
|        float *In,  /* (i) vector to filter */
 | |
|        int len,    /* (i) length of vector to filter */
 | |
|        float *Out, /* (o) the resulting filtered vector */
 | |
|        float *mem  /* (i/o) the filter state */
 | |
|    ){
 | |
|        int i;
 | |
|        float *pi, *po;
 | |
| 
 | |
|        /* all-zero section*/
 | |
| 
 | |
|        pi = &In[0];
 | |
|        po = &Out[0];
 | |
|        for (i=0; i<len; i++) {
 | |
|            *po = hpi_zero_coefsTbl[0] * (*pi);
 | |
|            *po += hpi_zero_coefsTbl[1] * mem[0];
 | |
|            *po += hpi_zero_coefsTbl[2] * mem[1];
 | |
| 
 | |
|            mem[1] = mem[0];
 | |
|            mem[0] = *pi;
 | |
|            po++;
 | |
|            pi++;
 | |
| 
 | |
|        }
 | |
| 
 | |
|        /* all-pole section*/
 | |
| 
 | |
|        po = &Out[0];
 | |
|        for (i=0; i<len; i++) {
 | |
|            *po -= hpi_pole_coefsTbl[1] * mem[2];
 | |
|            *po -= hpi_pole_coefsTbl[2] * mem[3];
 | |
| 
 | |
|            mem[3] = mem[2];
 | |
|            mem[2] = *po;
 | |
|            po++;
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|        }
 | |
|    }
 |