亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ref_dsp.c

?? arm嵌入式系統開發--軟件設計與優化隨書源代碼。開發環境asm+c。dsp部分。
?? C
字號:
/* ____________________________________________________________________
 *
 * Copyright (c) 2003, Andrew N. Sloss, Dominic Symes, Chris Wright
 * All rights reserved.
 * ____________________________________________________________________
 * 
 * NON-COMMERCIAL USE License
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met: 
 *
 * 1. For NON-COMMERCIAL USE only.
 * 
 * 2. Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer. 
 *
 * 3. Redistributions in binary form must reproduce the above 
 *    copyright notice, this list of conditions and the following 
 *    disclaimer in the documentation and/or other materials provided 
 *    with the distribution. 
 *
 * 4. All advertising materials mentioning features or use of this 
 *    software must display the following acknowledgement:
 *
 *    This product includes software developed by Andrew N. Sloss,
 *    Chris Wright and Dominic Symes. 
 *
 *  THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY 
 *  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
 *  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE 
 *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
 *  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
 *  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
 *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
 *  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
 *  OF SUCH DAMAGE. 
 *
 * If you have questions about this license or would like a different
 * license please email : andrew@sloss.net
 *
 * Reference DSP routines for Chapter 8
 */
 
#include "ch08test.h"
#include <math.h>

static const real pi = 3.141592653589;

real ref_dot(real *samps, real *coefs, unsigned nSamps)
{
  real acc=0;
  
  for ( ; nSamps!=0; nSamps--)
  {
    acc += (*samps++) * (*coefs++);
  }
  
  return acc;
}

void ref_fir(real *a, real *x, rCoefs *coefs, int N)
{
  real *c = coefs->c;   /* coefficient pointer */
  int M = coefs->M;     /* number of coefficients */
  int i;
 
  do
  {
    real acc = 0;
    
    for (i=0; i<M; i++)
    {
      acc += x[i] * c[i];
    }
    
    *a++ = acc;
    x++;
    
  } while (--N);
}

void ref_iir(real *y, real *x, rBiquads *b, int N)
{
  unsigned int i, M = b->M;
  real acc, *biquad;
  
  do
  {
    /* filter next sample */
    biquad = b->b;
    acc = *x++;
    
    for (i=0; i<M; i++)
    {
       real a1,a2,b1,b2,s0,s1,s2;
       
       /* process the next biquad */
       a1 = *biquad++;  /* -a1 */
       a2 = *biquad++;  /* -a2 */
       b1 = *biquad++;  /* +b1 */
       b2 = *biquad++;  /* +b2 */
       s1 = biquad[0];  /* s[t-1] */
       s2 = biquad[1];  /* s[t-2] */
       
       s0 = acc + s1*a1 + s2*a2;
       acc = s0 + s1*b1 + s2*b2;
       
       *biquad++ = s0;  /* new s[t-1] */
       *biquad++ = s1;  /* new s[t-2] */
    }
    *y++ = acc;
  } while (--N);
}

/* Bit reverse and array - N must be a power of two */

void ref_bit_reverse(complex *y, complex *x, int N)
{
  unsigned int i,j,k;  /* j=bit reversal of i */
  
  for (i=0, j=0; i<N; i++)
  {
    y[i] = x[j];
    
    /* increment j in a bit reversed way */
    k=N>>1;
    while (j & k)
    {
      j = j^k;
      k >>= 1;
    }
    j = j^k; 
  }
}

__inline complex C_MUL(complex b, complex c)
{
  complex a;
  a.re = b.re*c.re - b.im*c.im;
  a.im = b.re*c.im + b.im*c.re;
  return a;
}

__inline complex C_ADD(complex b, complex c)
{
  complex a;
  a.re = b.re + c.re;
  a.im = b.im + c.im;
  return a;
}

__inline complex C_SUB(complex b, complex c)
{
  complex a;
  a.re = b.re - c.re;
  a.im = b.im - c.im;
  return a;
}

__inline complex C_HALVE(complex b)
{
  complex a;
  a.re = b.re/2.0;
  a.im = b.im/2.0;
  return a;
}

/* Calculate a table of powers of w:
 *  1, w, w^2, ...., w^(N-1)
 * N must be a power of 2
 */
 
void ref_powers_table(complex *table, complex w, int N)
{
  int i;
  
  table[0].re = 1.0;
  table[0].im = 0.0;
  
  for (i=1; i<N; i++)
  {
    table[i] = C_MUL(table[i-1], w);
  }
}

/* Perform the next FFT stage
 *  R = the size of each input block (R-point DFT's)
 *  S = the number of input blocks (R*S=N)
 * On output we have doubled R and halved S
 */

void ref_fft_stage(complex *y, complex *table, int R, int S)
{
  int i,j;
  complex x0,x1,xx,z;
  
  for (i=0; i<R/2; i++)
  {
    z = table[i*S];
    
    for (j=0; j<S; j++)
    {
      x0 = y[j*R+i];
      x1 = y[j*R+i+R/2];
      xx = C_MUL(x1, z);
      x1 = C_SUB(x0, xx);
      x0 = C_ADD(x0, xx);
      y[j*R+i]    =C_HALVE(x0);  /* (x0+z*x1)/2 */
      y[j*R+i+R/2]=C_HALVE(x1);  /* (x0-z*x1)/2 */
    }
  }
}

/* Perform a radix 2 FFT */

void ref_fft(complex *y, complex *x, int N)
{
  complex w, *table;
  int R,S;
  
  /* create table of powers of w */
  table = (complex*)my_malloc(N*sizeof(complex)/2);
  w.re = cos(-2.0*pi/(real)N);
  w.im = sin(-2.0*pi/(real)N);
  ref_powers_table(table, w, N/2);
  
  /* bit reverse the input array */
  ref_bit_reverse(y, x, N);
    
  /* perform radix 2 FFT stages */
  for (R=2, S=N/2; S!=0; S>>=1, R<<=1)
  {
    ref_fft_stage(y, table, R, S);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成在线观看| 成人永久aaa| 国产精品69毛片高清亚洲| 成人精品小蝌蚪| 欧美另类久久久品| 最新成人av在线| 麻豆成人av在线| 欧美伊人久久久久久久久影院| 久久久亚洲国产美女国产盗摄| 亚洲成人综合在线| 99久久亚洲一区二区三区青草| 日韩精品一区二区三区在线播放 | 91 com成人网| 《视频一区视频二区| 国产一区二区三区免费播放| 国产日韩欧美综合在线| 午夜精品免费在线| 色乱码一区二区三区88| 中文字幕欧美一| 国产jizzjizz一区二区| 精品久久久久久久人人人人传媒 | 国产专区综合网| 欧美精品亚洲二区| 伊人夜夜躁av伊人久久| www.激情成人| 中文字幕五月欧美| 成人网在线免费视频| 久久亚洲综合av| 久久99精品久久久| 日韩欧美精品在线视频| 日韩综合在线视频| 欧美精品日韩一区| 日韩精品久久久久久| 在线电影一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 97精品国产露脸对白| 国产精品日韩成人| 9i看片成人免费高清| 中文字幕一区二区在线播放| hitomi一区二区三区精品| 国产精品久久毛片av大全日韩| 国产不卡在线一区| 亚洲色图视频网| 91成人在线观看喷潮| 五月天丁香久久| 69精品人人人人| 国产专区综合网| 亚洲国产精品黑人久久久| 9色porny自拍视频一区二区| 亚洲色图制服诱惑| 欧美日本高清视频在线观看| 日本亚洲欧美天堂免费| 久久久久久久网| 99久久精品国产麻豆演员表| 国产激情一区二区三区| 国产精品成人一区二区艾草 | 精品亚洲成av人在线观看| 久久先锋影音av鲁色资源网| 成人精品亚洲人成在线| 亚洲资源在线观看| 日韩欧美一级精品久久| 国产91精品一区二区| 亚洲综合一区二区三区| 日韩欧美精品在线视频| 丰满少妇久久久久久久| 亚洲午夜久久久久| 久久午夜羞羞影院免费观看| 91蜜桃在线观看| 污片在线观看一区二区| 国产欧美日韩精品在线| 欧美日韩高清一区二区三区| 黄色资源网久久资源365| 亚洲天堂福利av| 日韩视频123| 91蜜桃免费观看视频| 六月婷婷色综合| 亚洲天天做日日做天天谢日日欢 | 成人免费视频一区| 亚洲国产色一区| 国产日产精品一区| 337p亚洲精品色噜噜狠狠| 国产91高潮流白浆在线麻豆 | 偷偷要91色婷婷| 中文字幕在线免费不卡| 欧美一区二区三区人| 91在线丨porny丨国产| 久久精品国产99国产精品| 一区二区三区四区五区视频在线观看 | 欧美性色综合网| 国产福利视频一区二区三区| 视频一区二区不卡| 亚洲日本va午夜在线影院| 久久看人人爽人人| 日韩午夜精品电影| 欧美在线观看你懂的| 99免费精品视频| 国产盗摄视频一区二区三区| 免费成人在线播放| 亚洲444eee在线观看| 亚洲精品欧美二区三区中文字幕| 欧美国产一区视频在线观看| 精品欧美一区二区在线观看| 欧美日韩亚州综合| 欧美亚洲愉拍一区二区| 91亚洲午夜精品久久久久久| 成人免费精品视频| 国产v日产∨综合v精品视频| 国产一区二区三区免费在线观看| 久久国产综合精品| 免费一级欧美片在线观看| 日韩国产精品久久久| 丝袜诱惑亚洲看片| 午夜影院在线观看欧美| 五月天中文字幕一区二区| 亚洲午夜精品网| 偷拍日韩校园综合在线| 99久久精品免费看| www.欧美色图| 色综合久久久网| 在线免费精品视频| 欧美日韩一区二区电影| 欧美精品一二三| 日韩视频一区二区| 精品欧美乱码久久久久久1区2区| 日韩精品一区二区三区在线观看 | 日韩在线观看一区二区| 天使萌一区二区三区免费观看| 亚洲国产精品久久不卡毛片| 午夜电影久久久| 日韩成人精品在线| 精品一区二区三区在线观看国产 | 91精品欧美久久久久久动漫| 欧美久久免费观看| 日韩欧美激情四射| 国产亚洲短视频| 中文字幕欧美一区| 亚洲影视在线播放| 蜜桃一区二区三区在线观看| 国产乱码精品一区二区三区av | 在线视频国内自拍亚洲视频| 精品视频一区二区三区免费| 欧美一区二区国产| 国产区在线观看成人精品| 亚洲精品免费在线播放| 日本不卡高清视频| 成人一二三区视频| 精品视频免费在线| 久久人人爽人人爽| 亚洲老司机在线| 乱一区二区av| 色婷婷国产精品久久包臀| 777久久久精品| 中文字幕精品在线不卡| 天天综合日日夜夜精品| 国模娜娜一区二区三区| 91福利视频在线| 精品久久99ma| 国产91在线观看| 欧美日韩国产天堂| 国产视频一区二区在线| 亚洲国产视频直播| 成人性生交大合| 欧美一二三区精品| 一个色综合av| 国产91丝袜在线18| 欧美一区二区播放| 亚洲免费在线视频| 国产精品原创巨作av| 欧美高清dvd| 亚洲女爱视频在线| 国产乱人伦精品一区二区在线观看| 日本韩国视频一区二区| 久久影视一区二区| 日韩成人免费看| 欧美日韩在线观看一区二区 | 亚洲欧美日韩精品久久久久| 美女一区二区三区在线观看| 色婷婷久久久久swag精品| 久久亚洲精精品中文字幕早川悠里| 亚洲专区一二三| 99精品偷自拍| 欧美高清在线一区二区| 麻豆精品一区二区综合av| 欧美日韩aaaaaa| 一区二区三区在线免费视频| 国产成人8x视频一区二区| 精品黑人一区二区三区久久| 亚洲大片在线观看| 在线观看亚洲一区| 亚洲欧美日本韩国| 成人sese在线| 欧美激情资源网| 国产一区二区视频在线播放| 日韩欧美在线一区二区三区| 天堂在线一区二区| 欧美性生活久久| 亚洲成av人片在www色猫咪| 欧亚洲嫩模精品一区三区| 国产原创一区二区| 日韩精品一区二区三区在线播放|