真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

帶通濾波器c語(yǔ)言函數(shù) iir帶通濾波器c語(yǔ)言

求:一個(gè)關(guān)于FIR帶通濾波器的C語(yǔ)言設(shè)計(jì)程序 代碼

short h[], short y[])

創(chuàng)新互聯(lián)公司專(zhuān)注于敖漢網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供敖漢營(yíng)銷(xiāo)型網(wǎng)站建設(shè),敖漢網(wǎng)站制作、敖漢網(wǎng)頁(yè)設(shè)計(jì)、敖漢網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開(kāi)發(fā)服務(wù),打造敖漢網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供敖漢網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

{

int i, j, sum; for (j = 0; j 100; j++) {

sum = 0;

for (i = 0; i 32; i++)

sum += x[i+j] * h[i];

y[j] = sum 15;

}

}

2

void fir(short x[], short h[], short y[])

{

int i, j, sum0, sum1;

short x0,x1,h0,h1; for (j = 0; j 100; j+=2) {

sum0 = 0;

sum1 = 0;

x0 = x[j];

for (i = 0; i 32; i+=2){

x1 = x[j+i+1];

h0 = h[i];

sum0 += x0 * h0;

sum1 += x1 * h0;

x0 = x[j+i+2];

h1 = h[i+1];

sum0 += x1 * h1;

sum1 += x0 * h1;

}

y[j] = sum0 15;

y[j+1] = sum1 15;

}

}

3

void fir(short x[], short h[], short y[])

{

int i, j, sum0, sum1;

short x0,x1,x2,x3,x4,x5,x6,x7,h0,h1,h2,h3,h4,h5,h6,h7; for (j = 0; j 100; j+=2) {

sum0 = 0;

sum1 = 0;

x0 = x[j];

for (i = 0; i 32; i+=8){

x1 = x[j+i+1];

h0 = h[i];

sum0 += x0 * h0;

sum1 += x1 * h0;

x2 = x[j+i+2];

h1 = h[i+1];

sum0 += x1 * h1;

sum1 += x2 * h1;

x3 = x[j+i+3];

h2 = h[i+2];

sum0 += x2 * h2;

sum1 += x3 * h2;

x4 = x[j+i+4];

h3 = h[i+3];

sum0 += x3 * h3;

sum1 += x4 * h3;

x5 = x[j+i+5];

h4 = h[i+4];

sum0 += x4 * h4;

sum1 += x5 * h4;

x6 = x[j+i+6];

h5 = h[i+5];

sum0 += x5 * h5;

sum1 += x6 * h5;

x7 = x[j+i+7];

h6 = h[i+6];

sum0 += x6 * h6;

sum1 += x7 * h6;

x0 = x[j+i+8];

h7 = h[i+7];

sum0 += x7 * h7;

sum1 += x0 * h7;

}

y[j] = sum0 15;

y[j+1] = sum1 15;

}

}

二階通用濾波器用C語(yǔ)言怎么編程

shorth[],shorty[]){inti,j,sum;for(j=0;j15;}}2voidfir(shortx[],shorth[],shorty[]){inti,j,sum0,sum1;shortx0,x1,h0,h1;for(j=0;j15;y[j+1]=sum115;}}3voidfir(shortx[],shorth[],shorty[]){inti,j,sum0,sum1;shortx0,x1,x2,x3,x4,x5,x6,x7,h0,h1,h2,h3,h4,h5,h6,h7;for(j=0;j15;y[j+1]=sum115;}}

c語(yǔ)言中butte函數(shù)是什么意思

C語(yǔ)言沒(méi)有這個(gè)函數(shù)

MATLAB中有這個(gè)函數(shù)

說(shuō)明

巴特沃斯濾波器設(shè)計(jì)

語(yǔ)法

[z,p,k]=butter(n,Wn)

[z,p,k] = butter(n,Wn,'ftype')

[b,a]=butter(n,Wn)

[b,a]=butter(n,Wn,'ftype')

[A,B,C,D]=butter(n,Wn)

[A,B,C,D] = butter(n,Wn,'ftype')

[z,p,k]=butter(n,Wn,'s')

[z,p,k] = butter(n,Wn,'ftype','s')

[b,a]=butter(n,Wn,'s')

[b,a]=butter(n,Wn,'ftype','s')

[A,B,C,D]=butter(n,Wn,'s')

[A,B,C,D] = butter(n,Wn,'ftype','s')

描述

butter 用來(lái)設(shè)計(jì)低通、帶通、高通、和帶阻數(shù)字和模擬的巴特沃斯濾波器。巴特沃斯濾波器的特征是通帶內(nèi)幅度響應(yīng)最大平坦,且整體上是單調(diào)的。

巴特沃斯濾波器犧牲了在通帶和阻帶內(nèi)的單調(diào)衰減陡度。除非需要巴特沃斯濾波器的平滑性,橢圓或切比雪夫?yàn)V波器可以用更小的濾波器階數(shù)獲得更陡峭的衰減特性。

數(shù)字域

[z,p,k] = butter(n,Wn) 設(shè)計(jì)一個(gè)階數(shù)為n,歸一化截止頻率為Wn的低通數(shù)字巴特沃斯濾波器。此函數(shù)用n列的向量z和p返回零點(diǎn)和極點(diǎn),以及用標(biāo)量k返回增益。

[z,p,k] = butter(n,Wn,'ftype') 設(shè)計(jì)一個(gè)高通、低通或帶阻濾波器,字符串'ftype'取值是:

'high' 用于設(shè)計(jì)歸一化截止頻率為Wn的高通數(shù)字濾波器

'low' 用于設(shè)計(jì)歸一化截止頻率為Wn的低通數(shù)字濾波器

'stop' 用于設(shè)計(jì)階數(shù)為2*n的帶阻數(shù)字濾波器,Wn應(yīng)該是有兩個(gè)元素的向量Wn=[w1 w2]。阻帶是w1 ω w2.

截止頻率 是幅度響應(yīng)為處的的頻率。對(duì)巴特沃斯濾波器,歸一化截止頻率Wn必須是介于0和1之間的數(shù),這里的1對(duì)應(yīng)于尼奎斯特頻率,即每秒π弧度(π rad/s)。

如果Wn是含有兩個(gè)元素的向量,Wn=[w1 w2],butter 返回階數(shù)為 2*n的數(shù)字帶通濾波器,通頻帶為w1 ω w2.

通過(guò)返回不同數(shù)量的輸出參數(shù),butter 直接地得到其它的濾波器實(shí)現(xiàn)。要獲得傳輸函數(shù)形式,使用如下所示的兩個(gè)輸出參數(shù)。

注意 參考下面的限制 了解關(guān)于影響形成傳輸函數(shù)的數(shù)值問(wèn)題。

[b,a] = butter(n,Wn) 設(shè)計(jì)一個(gè)階為n,歸一化截止頻率為Wn的數(shù)字低通巴特沃斯濾波器。它返回濾波器系數(shù)在長(zhǎng)度為n+1的行向量b和a中,這兩個(gè)向量包含z的降冪系數(shù)。

[b,a] = butter(n,Wn,'ftype') 設(shè)計(jì)一個(gè)高通、低通或帶阻濾波器,字符串'ftype' 是上面描述的'high'、'low'、或 'stop'。

要獲得狀態(tài)空間形式,使用下面所示的4個(gè)輸出參數(shù):

[A,B,C,D] = butter(n,Wn) 或

[A,B,C,D] = butter(n,Wn,'ftype') 其中 A、 B,、C,、和D 是

并且u是輸入, x是狀態(tài)向量, y 是輸出。

模擬域

[z,p,k] = butter(n,Wn,'s') 設(shè)計(jì)一個(gè)階n,截止角頻率為Wn rad/s的模擬低通巴特沃斯濾波器。它返回零點(diǎn)和極點(diǎn)在長(zhǎng)n或2*n的列向量z和p中,標(biāo)量k返回增益。butter的截止角頻率Wn必須大于0 rad/s。

如果Wn是有兩個(gè)元素w1w2的向量, butter(n,Wn,'s') 返回階 2*n 帶通模擬濾波器,其通帶是w1 ω w2。

[z,p,k] = butter(n,Wn,'ftype','s') 通過(guò)使用上面描述的ftype 值可以設(shè)計(jì)一個(gè)高通、低通或帶阻濾波器。

只要返回不同數(shù)量的輸出參數(shù),butter 可以直接地獲得其它的模擬濾波器實(shí)現(xiàn)。要獲得傳輸函數(shù)形式,使用如下所示的兩個(gè)輸出參數(shù):

[b,a] = butter(n,Wn,'s') 設(shè)計(jì)一個(gè)階n、截止角頻率為Wn rad/s的模擬低通巴特沃斯濾波器。它返回濾波器的系數(shù)在長(zhǎng)n+1的行向量b和a中,這兩個(gè)向量包含下面這個(gè)傳輸函數(shù)中s的降冪系數(shù):

[b,a] = butter(n,Wn,'ftype','s') 通過(guò)設(shè)置上面描述的ftype 值,可以設(shè)計(jì)一個(gè)高通、低通或帶阻濾波器。

要獲得狀態(tài)空間形式,使用下面的四個(gè)參數(shù):

[A,B,C,D] = butter(n,Wn,'s') 或

[A,B,C,D] = butter(n,Wn,'ftype','s') 其中A、 B、 C、和D 是

并且u 作為輸入, x 是狀態(tài)向量, y 是輸出。

舉例

高通濾波器

對(duì)于1000Hz的采樣,設(shè)計(jì)一個(gè)9階高通巴特沃斯濾波器,截止頻率300Hz,相應(yīng)的歸一化值為0.6:

[z,p,k] = butter(9,300/500,'high');

[sos,g] = zp2sos(z,p,k); % 轉(zhuǎn)換為二次分式表示形式

Hd = dfilt.df2tsos(sos,g); % 創(chuàng)建dfilt對(duì)象

h = fvtool(Hd); % 繪制幅度響應(yīng)

set(h,'Analysis','freq') % 顯示頻率響應(yīng)

關(guān)于C語(yǔ)言中的函數(shù)調(diào)用問(wèn)題,出現(xiàn)了以下錯(cuò)誤,現(xiàn)貼出程序,請(qǐng)大家?guī)兔匆豢?,我是菜鳥(niǎo)....萬(wàn)分感謝!

懷疑你這段代碼是不是書(shū)上摘來(lái)的,連main()函數(shù)都沒(méi)有,修改了下代碼,上面四個(gè)錯(cuò)誤不再出現(xiàn)了,你再把main()函數(shù)補(bǔ)上,應(yīng)該可以運(yùn)行了。

#include stdio.h

#include "math.h"

#include "stdlib.h"

void iirbcfpass(ns,n,f1,f2,f3,f4,db,b,a)

double b[],a[],f1,f2,f3,f4,db;

int ns,n;

{

int k;

double *d,*c;

double omega,lamda,esslon,fl,fh; //帶通不需要omega;lamda;warp();bpsub();omin(),cosh1()

void bwtf();//函數(shù)聲明

//double cosh1(),warp(),bpsub();omin();

void fblt();//函數(shù)聲明

fl=f2;

fh=f3;

for (k=0;kns;k++)

{

bwtf(2*ns,k,4,d,c); //求歸一化L階的每一階的分子、分母系數(shù)

fblt(d,c,n,fl,fh,b[k*(n+1)+0],a[k*(n+1)+0]); //計(jì)算出低通濾波器系數(shù),然后轉(zhuǎn)化成為帶通系數(shù)

}

}

static void bwtf(ln,l,k,n,d,c) //求歸一化L階的每一階的分子、分母系數(shù)

int ln,k,n;

double d[],c[];

{

int i;

double pi,tmp;

pi=4.0*atan(1.0);

d[0]=1.0;

c[0]=1.0;

for (i=1;in;i++)

{

d[i]=0.0;

c[i]=0.0;

}

tmp=(k+1)-(ln+1.0)/2.0;

if (tmp==0.0)

{

c[1]=1.0;

}

else

{

c[1]=-2.0*cos((2*(k+1)+ln-1)*pi/(2*ln));

c[2]=1.0;

}

}

static void fblt(d,c,n,fln,fhn,b,a)//計(jì)算出低通濾波器系數(shù),然后轉(zhuǎn)化成為帶通系數(shù)

int n;

double fln,fhn,d[],c[],b[],a[];

{

int i,k,m,n1,n2,ls;

double pi,w,w0,w1,w2,tmp,tmpd,tmpc,*work;

double combin();

void bilinear();

pi=4.0*atan(1.0);

w1=tan(pi*fln);

for (i=n;i=0 ;i-- )

{

if(c[i]!=0.0 || (d[i]!=0.0))

break;

}

m=i; //標(biāo)示非0值的位置

n2=2*m;

n1=n2+1;

work=malloc(n1*n1*sizeof(double));

w2=tan(pi*fhn);

w=w2-w1;

w0=w1*w2;

for (i=0;i=n2 ;i++ )

{

work[0*n1+i]=0.0; //小心1與l

work[1*n1+i]=0.0;

}

for (i=0;i=m ;i++ )

{

tmpd=d[i]*pow(w,(m-i));

tmpd=c[i]*pow(w,(m-i));

for (k=0;k=i ;k++ )

{

ls=m+i-2*k;

tmp=combin(i,i)/(combin(k,k)*combin(i-k,i-k));

work[0*n1+ls]+=tmpd*pow(w0,k)*tmp;

work[1*n1+ls]+=tmpc*pow(w0,k)*tmp;

}

}

for (i=0;i=n2 ;i++ )

{

d[i]=work[0*n1+i];

c[i]=work[1*n1+i];

}

free(work);

bilinear(d,c,b,a,n);//合并每個(gè)級(jí)的系數(shù)到一個(gè)大的傳遞函數(shù)系數(shù)集合

}

static double combin(i1,i2)

int i1,i2;

{

int i;

double s;

s=1.0;

if (i2==0) return(s);

for (i=i1;i(i1-i2) ;i-- )

{

s*=i;

}

return(s);

}

static void bilinear(d,c,b,a,n)

int n;

double d[],c[],b[],a[];

{

int i,j,n1;

double sum,atmp,scale,*temp;

n1=n+1;

temp=malloc(n1*n1*sizeof(double));

for (j=0;j=n ;j++ )

{

temp[j*n1+0]=1.0;

}

sum=1.0;

for (i=1;i=n;i++)

{

sum=sum*(double)(n-i-1)/(double)i;

temp[0*n1+i]=sum;

}

for (i=1;i=n ;i++ )

for (j=1;j=n ;j++ )

{

temp[j*n1+i]=temp[(j-1)*n1+i]-temp[j*n1+i-1]-temp[(j-1)*n1+i-1];

}

for (i=n;i=0 ;i-- )

{

b[i]=0.0;

atmp=0.0;

for (j=0;j=n ;j++ )

{

b[i]=b[i]+temp[j*n1+i]*d[j];

atmp=atmp+temp[j*n1+i]*c[j];

}

scale=atmp;

if (i!=0)

{

a[i]=atmp;

}

}

for (i=0;i=n ;i++ )

{

b[i]=b[i]/scale;

a[i]=a[i]/scale;

}

a[0]=1.0;

free(temp);

}


新聞名稱(chēng):帶通濾波器c語(yǔ)言函數(shù) iir帶通濾波器c語(yǔ)言
URL鏈接:http://weahome.cn/article/doecjeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部