永发信息网

matlab filter怎么写成C语言?求教

答案:1  悬赏:60  手机版
解决时间 2021-01-14 18:40
matlab filter怎么写成C语言?求教
最佳答案
根据filter的定义实现:y = filter(b,a,x) 等价于


对于第N个数,根据以下的循环就好了
y[n] = 1/a[1] *(b[1]x[n]+b[2]x[n-1]+...+b[N]x[n-B+1]-a[2]y[n-1]-...-a[N]y[n-N+1]);



代码前人肯定有的,例如http://mechatronics.ece.usu.edu/yqchen/filter.c/:注意需要适当改写,另外参数名跟你不同,建议你用matlab给的参数名,能给转换带来方便




#include
#define ORDER 3
#define NP 1001



filter(int ord, float *a, float *b, int np, float *x, float *y)
{
       int i,j;
y[0]=b[0]*x[0];
for (i=1;i {
       y[i]=0.0;
       for (j=0;j         y[i]=y[i]+b[j]*x[i-j];
       for (j=0;j         y[i]=y[i]-a[j+1]*y[i-j-1];
}

for (i=ord+1;i{
y[i]=0.0;
       for (j=0;j        y[i]=y[i]+b[j]*x[i-j];
       for (j=0;j        y[i]=y[i]-a[j+1]*y[i-j-1];
}
}







main()
{
FILE *fp;
float x[NP],y[NP],a[ORDER+1],b[ORDER+1];
int i,j;



if((fp=fopen("acc1.dat","r"))!=NULL)
{
       for (i=0;i        {
        fscanf(fp,"%f",&x[i]);

       }
}
else
{
       printf("
file not found!
");
       exit(-1);
}
close(fp);


b[0]=0.0007;
b[1]=0.0021;
b[2]=0.0021;
b[3]=0.0007;
a[0]=1.0000;
a[1]=-2.6236;
a[2]=2.3147;
a[3]=-0.6855;

filter(ORDER,a,b,NP,x,y);



for (i=0;i{ x[i]=y[NP-i-1];}

filter(ORDER,a,b,NP,x,y);

for (i=0;i{ x[i]=y[NP-i-1];}
for (i=0;i{ y[i]=x[i];}


if((fp=fopen("acc10.dat","w+"))!=NULL)
{
       for (i=0;i        {
        fprintf(fp,"%f
",y[i]);
       }
}
else
{
       printf("
file cannot be created!
");
       exit(-1);
}
close(fp);
}  

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我承包了两个自然村老百姓的600亩自留地,需
潘越云简介
人生是看不见摸不着的,请你借助具体可感的事
库依热克拜登阔拉斯这个地址在什么地方,我要
请问日语中有「测试」一词的说法吗?比如说:
怎样才算是学佛?
仔细阅读下面的铁路列车时刻表,回答问题.
在一阶b树上,每个非树根结点的关键字数目最
与侠相关的成语,带侠字的成语
你好,请问我的戴尔主板OT1D10可以换个四核CP
今天早上射进去了,今天是安全期吗
U盘量产以及格式化(芯邦芯片的)
省统计局先进个人有什么用
安徽黄山103省道251公里500米处在什么地方?
眷恋是什么部首除去部首还有几画眷恋中的眷是
推荐资讯
下列物质的水溶液能导电,但该物质属于非电解
2015玛卡价多少钱一斤
作为大学生,我想到国外走走,了解一下国外的
请问“无垠”和“无限”有何区别?
我投进沃客的钱怎么办
如何解决桥梁沉井基础的缺点
黄义钧连笔字怎么写
如何给孩子制定一个好的“家规”
芒果可以直接带上飞机不托运吗?
厨房里怎么养花最好看?
啊 啊 啊 啊 啊 啊什么歌的歌词
高铁动车D7814 春运时间调整
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?