📄 test.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 + -