① 巴特沃斯濾波器
不是,巴特沃斯濾波器是一種典型的模擬原型濾波器,可以作為設計其它模擬、數字濾波器的原型。巴特濾波器本身的傳遞函數,你可以預先通過查表得到各階的傳遞函數,但是裡面的參數還不能確定,這要綜合你所設計的濾波器的技術指標。
打個比方,你設計一個巴特沃斯低通濾波器的話,要有通帶截止頻率、阻帶頻率,用這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]='