⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convolve.c

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 C
字号:
/***********************************************************************************      GSM AMR-NB speech codec   R98   Version 7.6.0   December 12, 2001*                                R99   Version 3.3.0                *                                REL-4 Version 4.1.0                ***********************************************************************************      File             : convolve.c*      Purpose          : Perform the convolution between two vectors x[]*                       : and h[] and write the result in the vector y[].*                       : All vectors are of length L and only the first*                       : L samples of the convolution are computed.**********************************************************************************//**********************************************************************************                         MODULE INCLUDE FILE AND VERSION ID*********************************************************************************/#include "convolve.h"const char convolve_id[] = "@(#)$Id $" convolve_h; /**********************************************************************************                         INCLUDE FILES*********************************************************************************/#include "typedef.h"#include "basic_op.h"#include "count.h" /**********************************************************************************                         LOCAL VARIABLES AND TABLES*********************************************************************************/ /**********************************************************************************                         PUBLIC PROGRAM CODE*********************************************************************************//************************************************************************* * *  FUNCTION:   Convolve * *  PURPOSE: *     Perform the convolution between two vectors x[] and h[] and *     write the result in the vector y[]. All vectors are of length L *     and only the first L samples of the convolution are computed. * *  DESCRIPTION: *     The convolution is given by * *          y[n] = sum_{i=0}^{n} x[i] h[n-i],        n=0,...,L-1 * *************************************************************************/void Convolve (    Word16 x[],        /* (i)     : input vector                           */    Word16 h[],        /* (i)     : impulse response                       */    Word16 y[],        /* (o)     : output vector                          */    Word16 L           /* (i)     : vector size                            */){    Word16 i, n;    Word32 s;    for (n = 0; n < L; n++)    {        s = 0;                  move32 ();         for (i = 0; i <= n; i++)        {            s = L_mac (s, x[i], h[n - i]);        }        s = L_shl (s, 3);        y[n] = extract_h (s);   move16 ();     }    return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -