① 巴特沃斯滤波器
不是,巴特沃斯滤波器是一种典型的模拟原型滤波器,可以作为设计其它模拟、数字滤波器的原型。巴特滤波器本身的传递函数,你可以预先通过查表得到各阶的传递函数,但是里面的参数还不能确定,这要综合你所设计的滤波器的技术指标。
打个比方,你设计一个巴特沃斯低通滤波器的话,要有通带截止频率、阻带频率,用这2个指标去确定传递函数的参数,再结合你所设计滤波器的阶次才是完整的确定了参数的传递函数。
当然,上面举的只是一个低通模拟滤波器的设计,其它类型设计,根据不同类型,设计方法有差别。你自己看下资料就是了
② c语言设计巴特沃斯低通滤波器fp=9khz,fs=15khz,ap=1dB,as=70dB
能实行,c语言不能显示图像,但是你要懂得如何用c调用matlab,过程比较复杂,这个程序任何参数都可以用,不限制
#include<engine.h>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
doublecalcN(doublefp,doubleap,doublefs,doubleas)
{
doublei=pow(10,(as/10))-1;
doubletmp=ap/10;
doublej=pow(10,tmp)-1;
doublek=log10((i/j));
doublet=log10(fs/fp);
doubleN=0.5*k/t+1;
returnN;
};
intmain(void)
{
intfp,ap,fs,as;
printf("请输入fp:");
scanf("%d",&fp);
printf("请输入ap:");
scanf("%d",&ap);
printf("请输入fs:");
scanf("%d",&fs);
printf("请输入as:");
scanf("%d",&as);
intf=calcN(fp,ap,fs,as);
printf("N=%d ",f);
charlin[40];
char*str="N= ";
lin[0]='