亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iir_chebyshev_i_low.cpp

?? 數(shù)字濾波器的iir的chebyshev低通濾波器
?? CPP
字號:
#include <stdio.h>
#include <math.h>

//N:the max times of the filter equation.
//M:the length of the filter.
#define pi 3.1415926
#define N 20
#define M 1000
#define Fs 1000

double arcosh(double in);
//chebyshev_I:the filter of chebyshev_I generator.
void chebyshev_I(double *butter_real,double *butter_imag,int n,double qp);

//return_z:from p to z. (H(p)->H(z))
void return_z(double *z_real,double *z_imag,double qp);

//complex_***:the base operation of th complex.
void complex_add(double * out_real,double * out_imag,double in_real,double in_imag);
void complex_sub(double * out_real,double * out_imag,double in_real,double in_imag);
void complex_mul(double * out_real,double * out_imag,double in_real,double in_imag);
void complex_div(double * out_real,double * out_imag,double in_real,double in_imag);
void complex_change1(double *out_ampl,double *out_phase,double in_real,double in_imag);
void complex_change2(double *out_real,double *out_imag,double in_ampl,double in_phase);

//return_z:get the times of filter equation.
int return_n(double as,double ap,double ls);

//digit_low_filter:the digit low pass filter generator.
//wp:the end frequence.
//ws:the bigin frequence of fobid band.
//as:the max decay of pass band.
//ap:the min decay of close band.  
void digit_low_filter(double * out_real,double * out_imag,double wp,double ws,double as,double ap);

void read_file(double *u,char *file_name,int *n);
void write_file(double *u,char *file_name,int n);

double arcosh(double in)
{
	double temp1;
	temp1=in+sqrt(in*in-1);
	return (log(temp1));
}

void chebyshev_I(double *butter_real,double *butter_imag,int n,double qp)
{
	int i,j;
	double k;
	double z_real[M],z_imag[M];
	double p_real[N],p_imag[N];
	for (i=0;i<n;i++)
	{
		k=((2*(i+1)+n-1)*pi)/(2*n);
		p_real[i]=cos(k);
		p_imag[i]=sin(k);
	}
    return_z(z_real,z_imag,qp);
	for (i=0;i<M;i++)
	{
        butter_real[i]=1; 
        butter_imag[i]=0;
		for (j=0;j<n;j++)
		{
			double *temp1,*temp2,*temp3,*temp4,t1,t2,t3,t4;
			temp1=&t1;
			temp2=&t2;
			temp3=&t3;
			temp4=&t4;
			*temp1=1;
			*temp2=0;
            complex_div(temp1,temp2,(z_real[i]-p_real[j]),(z_imag[i]-p_imag[j]));
			*temp3=butter_real[i];
            *temp4=butter_imag[i];
			t1=*temp1;
			t2=*temp2;
			complex_mul(temp3,temp4,t1,t2);
            butter_real[i]=*temp3;
            butter_imag[i]=*temp4; 
		}
	}
}

void return_z(double *z_real,double *z_imag,double qp)
{
	int i;
	for (i=0;i<M;i++)
	{
		double temp1_real,temp1_imag,*temp2_real,*temp2_imag,t1,t2;
		temp2_real=&t1;
        temp2_imag=&t2;
		temp1_real=(cos(i*2*pi/Fs)+1)*qp;
        temp1_imag=(sin(i*2*pi/Fs))*qp;
        *temp2_real=cos(i*2*pi/Fs)-1;
        *temp2_imag=sin(i*2*pi/Fs);
		complex_div(temp2_real,temp2_imag,temp1_real,temp1_imag);
		z_real[i]=*temp2_real;
        z_imag[i]=*temp2_imag;
	}
}

void complex_add(double * out_real,double * out_imag,double in_real,double in_imag)
{
	*out_real=*out_real+in_real;
	*out_imag=*out_imag+in_imag;
}

void complex_sub(double * out_real,double * out_imag,double in_real,double in_imag)
{
	*out_real=*out_real-in_real;
	*out_imag=*out_imag-in_imag;
}

void complex_mul(double * out_real,double * out_imag,double in_real,double in_imag)
{
	double temp_real,temp_imag;
	temp_real=(*out_real)*in_real-(*out_imag)*in_imag;
	temp_imag=(*out_real)*in_imag+(*out_imag)*in_real;
	*out_real=temp_real;
	*out_imag=temp_imag;
}

void complex_div(double * out_real,double * out_imag,double in_real,double in_imag)
{
	double temp;
	complex_mul(out_real,out_imag,in_real,-in_imag);
	temp=in_real*in_real+in_imag*in_imag;
	*out_real=*out_real/temp;
	*out_imag=*out_imag/temp;
}

void complex_change1(double *out_ampl,double *out_phase,double in_real,double in_imag)
{
	*out_ampl=sqrt(in_real*in_real+in_imag*in_imag);
    *out_phase=atan(in_imag/in_real);
}

void complex_change2(double *out_real,double *out_imag,double in_ampl,double in_phase)
{
	*out_real=in_ampl*cos(in_phase);
    *out_imag=in_ampl*sin(in_phase);
}

int return_n(double as,double ap,double ls)
{
	int n;
	double temp1,temp2,temp3,temp4,temp5;
	temp1=pow(10,as/10)-1;
    temp2=pow(10,ap/10)-1;
	temp3=sqrt(temp1/temp2);
	temp4=arcosh(temp3);
	temp5=arcosh(ls);
    n=(int)(temp4/temp5+1);
	return n;
}

void digit_low_filter(double * out_real,double * out_imag,double wp,double ws,double as,double ap)
{
	double qp,qs,ls,lp,s;
	int n;
	qp=tan(wp/2);
	qs=tan(ws/2);
	lp=1;
	ls=qs/qp;
	n=return_n(as,ap,ls);
    s=sqrt(pow(10,as/10)-1);
    chebyshev_I(out_real,out_imag,n,qp);
}

void read_file(double *u,char *file_name,int *n)
{
	FILE *fp;
	int i;
    if ((fp=fopen(file_name,"r"))==NULL)
	{
		printf("cannot open file\n");
		return;
	}
	i=0;
	while (!feof(fp))
	{
		fscanf(fp,"%f",&u[i]);
		i=i+1;
	}
	*n=i-1;
	fclose(fp);
}

void write_file(double *u,char *file_name,int n)
{
	FILE *fp;
	int i;
    if ((fp=fopen(file_name,"w"))==NULL)
	{
		printf("cannot open file\n");
		return;
	}
    for (i=0;i<n;i++)
	{
		fprintf(fp,"%f ",u[i]);
	}
    fclose(fp);
}

void main()
{
//	double * outreal,outr;
//	double * outimag,outi;
//	double inreal;
//	double inimag;
	int i;
//	int n;
	double as,ap,wp,ws,fs,fp;
//	double fs,ls;
	double out_real[M],out_imag[M];
	char filename[10];
//	outreal=&outr;
//	outimag=&outi;
//	*outreal=1;
///	*outimag=1;
//	inreal=1;
//	inimag=-1;
//	fs=1000;
//	printf("\nplease input fs");
	as=60;
	ap=0.1;
	fs=300;
	fp=30;
//	ls=2;
	wp=2*fp*pi/Fs;
	ws=2*fs*pi/Fs;
//    complex_div(outreal,outimag,inreal,inimag);
//	printf("real=%f;imag=%f",*outreal,*outimag);
//	n=return_n(as,ap,ls);
//	printf("\nn=%d",n);
	digit_low_filter(out_real,out_imag,wp,ws,as,ap);
	for (i=0;i<M;i++)
	{
		double *out_ampl,*out_phase,ampl,phase;
		out_ampl=&ampl;
		out_phase=&phase;
		complex_change1(out_ampl,out_phase,out_real[i],out_imag[i]);
		out_real[i]=20*log10(*out_ampl);
	}
//	for (i=300;i<310;i++)
//    printf("\nreal=%f;imag=%f",out_real[i],out_imag[i]);
	printf("\nplease input the file name:");
	scanf("%s",filename);
	write_file(out_real,filename,M);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jvid福利写真一区二区三区| 午夜精品福利一区二区三区av| 中文字幕欧美国产| 久久精品视频在线看| 亚洲欧洲成人精品av97| 亚洲国产乱码最新视频| 日韩二区三区四区| 久草在线在线精品观看| 波多野结衣中文一区| 色88888久久久久久影院按摩| 欧美日产在线观看| 亚洲精品一区二区三区精华液| 国产精品色哟哟| 亚洲一区二区在线视频| 韩国欧美国产1区| 九九视频精品免费| 不卡的av电影在线观看| 欧美日韩一区成人| 久久久亚洲精品石原莉奈| 国产精品不卡在线观看| 日韩成人av影视| 成人国产精品免费观看| 91麻豆精品国产91久久久久久久久 | 奇米精品一区二区三区在线观看一| 久久国产精品色婷婷| 成人一区二区视频| 欧美日韩一区 二区 三区 久久精品 | 国产精品福利电影一区二区三区四区| 亚洲一区二区高清| 成人一区二区三区视频在线观看| 欧美日本一区二区三区四区| 久久久午夜电影| 一区二区免费在线播放| 国内久久婷婷综合| 精品视频一区二区三区免费| 久久精品视频免费观看| 日本欧洲一区二区| 99国产一区二区三精品乱码| 日韩一级高清毛片| 亚洲欧美日韩一区二区三区在线观看| 久久精品噜噜噜成人av农村| 日本高清成人免费播放| 久久久久国产一区二区三区四区 | 国产精品原创巨作av| 欧美亚洲国产一区二区三区 | 国产资源在线一区| 欧美三级资源在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 久久福利视频一区二区| 欧美日韩一区二区三区在线| 国产精品国产a| 国产在线精品不卡| 欧美一区二区在线观看| 亚洲综合色视频| 成人小视频免费观看| 日韩精品中文字幕一区| 五月婷婷久久综合| 欧美最新大片在线看| 国产精品女上位| 国产精品亚洲一区二区三区妖精| 日韩午夜在线观看视频| 午夜精品久久久久久久蜜桃app| 成人h动漫精品一区二区| 亚洲精品一区二区三区香蕉| 污片在线观看一区二区| 欧美视频完全免费看| 亚洲精品欧美二区三区中文字幕| 成人久久久精品乱码一区二区三区| 精品国产一区二区国模嫣然| 裸体一区二区三区| 欧美乱熟臀69xxxxxx| 亚洲精品福利视频网站| av动漫一区二区| 国产精品网站在线观看| 国产福利精品一区二区| 视频一区在线播放| 国产在线精品一区二区不卡了| 日韩一区二区三区电影| 日本免费在线视频不卡一不卡二| 欧美日韩一区二区欧美激情| 亚洲福利视频三区| 欧美日本一区二区三区四区 | 欧美日韩综合色| 性做久久久久久免费观看| 欧美性大战久久久久久久蜜臀| 亚洲乱码国产乱码精品精小说| 成人免费视频视频在线观看免费| 中文幕一区二区三区久久蜜桃| 国产成人免费视频网站高清观看视频| 久久九九99视频| 国产精品911| 最新热久久免费视频| 在线一区二区三区四区| 亚洲高清中文字幕| 在线播放91灌醉迷j高跟美女| 日韩精品乱码免费| 欧美一区二区视频在线观看2022 | 777xxx欧美| 免费久久99精品国产| 欧美哺乳videos| 国产九色精品成人porny | 国产一区二区精品久久| 国产午夜精品一区二区三区视频 | 亚洲综合成人在线| 欧美体内she精视频| 日本欧美肥老太交大片| 精品国产乱码久久久久久夜甘婷婷| 国产精品99久久久久久宅男| 韩国三级在线一区| 91麻豆视频网站| 亚洲成年人网站在线观看| 日韩视频一区二区三区| 另类小说图片综合网| 欧美韩国日本一区| 97se狠狠狠综合亚洲狠狠| 亚洲成人1区2区| 国产性做久久久久久| 91蝌蚪国产九色| 琪琪久久久久日韩精品| 欧美精彩视频一区二区三区| 91免费国产在线| 久久99在线观看| 亚洲码国产岛国毛片在线| 制服.丝袜.亚洲.另类.中文| 国产一区激情在线| 一区二区三区四区激情| 亚洲精品一区二区在线观看| 99国产精品国产精品久久| 日本中文一区二区三区| 国产精品久久三| 日韩三级免费观看| 99精品欧美一区二区蜜桃免费 | 欧美猛男超大videosgay| 国产一区二区女| 一区二区中文字幕在线| 日韩欧美视频在线| gogo大胆日本视频一区| 免费视频一区二区| 一区二区三区在线视频观看 | 美腿丝袜亚洲一区| 国产精品国产三级国产有无不卡| 538prom精品视频线放| eeuss影院一区二区三区| 美女精品一区二区| 一区二区三区在线看| 久久无码av三级| 欧美曰成人黄网| 成人精品高清在线| 狠狠久久亚洲欧美| 午夜视黄欧洲亚洲| 亚洲欧美日韩小说| 久久精品视频在线免费观看| 3d动漫精品啪啪一区二区竹菊| 99麻豆久久久国产精品免费优播| 麻豆精品国产传媒mv男同| 亚洲国产一区二区三区青草影视 | 国产91在线|亚洲| 婷婷久久综合九色综合绿巨人| 亚洲国产精品黑人久久久| 日韩午夜在线观看视频| 欧美少妇一区二区| av午夜精品一区二区三区| 国产高清亚洲一区| 久久精品国产亚洲一区二区三区| 亚洲综合丁香婷婷六月香| 亚洲天堂中文字幕| 日本一区二区三区国色天香| 精品国产一区二区亚洲人成毛片| 欧美区一区二区三区| 一本久久a久久免费精品不卡| 丁香五精品蜜臀久久久久99网站| 日本一不卡视频| 天堂在线亚洲视频| 亚洲成年人网站在线观看| 亚洲综合色丁香婷婷六月图片| 亚洲欧洲精品一区二区精品久久久| 国产三级精品在线| 久久综合九色综合欧美亚洲| 欧美疯狂做受xxxx富婆| 欧美日韩电影一区| 在线亚洲高清视频| 99久久国产综合精品麻豆| 国产69精品一区二区亚洲孕妇| 韩国精品免费视频| 精品综合免费视频观看| 免费成人美女在线观看.| 免费在线观看一区二区三区| 91免费版pro下载短视频| 亚洲国产一二三| 性久久久久久久久久久久| 一区二区激情视频| 夜夜嗨av一区二区三区网页| 日韩美女视频19| 亚洲欧洲精品一区二区精品久久久 | 综合电影一区二区三区| 日韩伦理电影网| 一区二区三区91| 天堂影院一区二区| 捆绑紧缚一区二区三区视频| 国产又黄又大久久|