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

📄 升余弦rcosine.cpp

📁 数个关于滤波器的产生的C程序
💻 CPP
字号:


   #include <math.h>
   #include <stdio.h>
   #define pi 3.141592653589793
   // 本函数实现滚降特性函数,升余弦滤波器
   // 说明:fs/fd必须为整数,fd为信号采样频率,fs为滤波器采样频率
   //      当函数返回0时为正常返回,为-1时为异常返回
   int rcosine(float fd,float fs,float rcs[])
  { int k,n;                 /* 函数(升余弦滤波器)返回0为正常返回,-1为异常返回 */
    float kf,nf;

    nf=fs/fd; n=int(nf);
    if(nf!=n) return(-1);    /* 当fs/fd不是整数时异常返回 */
    for(k=0; k<3*n; k++)
      { kf=k-3*n;
        if(kf==-n) rcs[k]=0;
        else
          { nf=kf/n;   kf=pi*nf;
            rcs[k]=sin(kf)/kf*cos(kf/2)/(1-nf*nf);
            }
        rcs[6*n-k]=rcs[k];
        }
    rcs[3*n]=1.0;
    return(0);               /* 当fs/fd是整数时正常返回 */
    }
       
   void main(  )
   { int flag,i;
     static float rcs[121];
     
     flag=rcosine(0.05,1.0,rcs);
     if(flag==0)
       for(i=0;i<121;i++)
         printf("%.4f\t",rcs[i]);
     else printf("\n\n error!");

     scanf("%d",&i);
     }

⌨️ 快捷键说明

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