FIR高通滤波器设计-DSP大作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

高通FIR滤波器设计一、实验原理1、有限冲击响应数字滤波器的基础理论(请参考相关书籍)。2、模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。3、数字滤波器系数的确定方法。4、根据要求设计高通FIR滤波器。要求:通带边缘频率3500Hz,阻带边缘频率1500kHz,阻带衰减75dB,采样频率10kHz。利用matlabe计算出高通滤波器的参数。如同所示5、程序流程图:参数选取:实验程序采用10阶滤波参数,高通滤波,采样频率为10000Hz,增益40dB。二、主程序#includemyapp.h#includecsedu.h#includescancode.h#includemath.h#defineFIRNUMBER10#defineSIGNAL1F1000#defineSIGNAL2F3500#defineSAMPLE10000#definePI3.1415926floatInputWave();floatFIR();floatfHn[FIRNUMBER]={-0.015,-0.032,0.069,0.130,-0.448,0.448,-0.130,-0.069,0.032,0.015};floatfXn[FIRNUMBER]={0.0};floatfInput,fOutput;floatfSignal1,fSignal2;floatfStepSignal1,fStepSignal2;floatf2PI;inti;floatfIn[256],fOut[256];intnIn,nOut;main(){nIn=0;nOut=0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;while(1){fInput=InputWave();fIn[nIn]=fInput;nIn++;nIn%=256;fOutput=FIR();fOut[nOut]=fOutput;nOut++;/*breakpoint*/if(nOut=256){nOut=0;}}}floatInputWave(){for(i=FIRNUMBER-1;i0;i--)fXn[i]=fXn[i-1];fXn[0]=sin((double)fSignal1)+cos((double)fSignal2)/6.0;fSignal1+=fStepSignal1;if(fSignal1=f2PI)fSignal1-=f2PI;fSignal2+=fStepSignal2;if(fSignal2=f2PI)fSignal2-=f2PI;return(fXn[0]);}floatFIR(){floatfSum;fSum=0;for(i=0;iFIRNUMBER;i++){fSum+=(fXn[i]*fHn[i]);}return(fSum);}三、滤波效果滤波分析:上图为输入波形以及输出波形的对比图,下图为输出波形的频域,结合而主可以看出,此高通滤波器能较好的滤除低频成分,但还不够完美,有一部分低频没有滤除干净。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功