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

📄 mchebsh.c

📁 用高级语言编写的信号处理经典算法源程序
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "msp.h"
void mchebsh(int l,int k,int ln,float d[],float c[],float phi2,
int *ierror)
{
/*---------------------------------------------------------------------
    routine mchebsh: To design low-pass Chebyshev analog filter:
                        H(s)=D(s)/C(s)
       If ierror=0: no errors detected
                =1: invalid filter order l
                =2: invalid section number k
                                        in chapter 7
--------------------------------------------------------------------*/
        float pi;
        int i;
        pi=4.*atan(1.);
        *ierror=0;
        if(l<=0)
           *ierror=1;
        if(k<=0||k>l)
           *ierror=2;
        if(*ierror!=0)
           return;
        for(i=1;i<ln;i++)
           {d[i]=0.;
            c[i]=0.;
             }
        d[0]=1.0;
        c[0]=1.0;
        if(k-(l+1.)/2==0)
          {c[0]=(exp(phi2)-exp(-phi2))/2.0;
           c[1]=1.0;
           }
        else
       {c[0]=pow(sin((2*k-1)*pi/(2*l))*(exp(phi2)-exp(-phi2))/2.0,2)
             +pow(cos((2*k-1)*pi/(2*l))*(exp(phi2)+exp(-phi2))/2.0,2);
        c[1]=2.*sin((2*k-1)*pi/(2*l))*(exp(phi2)-exp(-phi2))/2.0;
        c[2]=1.;
             }
        return;
        }

⌨️ 快捷键说明

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