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

📄 test.c

📁 FIR转成Lattice结构[全零点系统转lattice) 根据要求的中心频点
💻 C
字号:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
typedef  double guan;  //定义double类型时输出用%lf 表示

void main()
{   int k;
    int i;
	int M;
    guan *b,*temp;
    guan mid;
	guan shang;
	printf("输入FIR滤波器的阶数");
	scanf("%d",&M);
	b=(guan *)calloc(sizeof(guan),M);
    temp=(guan *)calloc(sizeof(guan),M);

	printf("M=%d\n",M);
	for(i=0;i<M;i++)
	{
		printf("输入FIR滤波器的第%d个系数:\n",i);
        scanf("%lf",&b[i]);
	}

  for(k=M-1;k>=1;k--)
  {
	  for(i=0;i<k;i++)
	  {
		  mid=-b[k];
          shang=1-mid*mid;
		  temp[i]=(b[i]+mid*b[k-1-i])/shang;
	  }
	  for(i=0;i<k;i++)
	  {
		  b[i]=temp[i];
	  }
	  b[k]=mid;
  }
  b[0]=-b[0];
         
for(i=0;i<M;i++)
{
	printf("Lattice的第%d个系数(从左到右)是:%lf\n",i,-b[i]);
}
	free (b);
	free(temp);
}

⌨️ 快捷键说明

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