您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > IIR滤波器设计报告
IIR滤波器设计一、实验内容根据要求设计低通IIR滤波器。要求:通带截止频率0.8pirad,通带衰减不大于3dB,阻带截止频率0.5pi,阻带衰减不小于10dB,二、实验步骤1参数计算H(z)=(1-1/z)/(4.007+2.0777/z)y(n)=-0.51y(n-1)+0.245x(n)-0.245x(n-1)2编写程序根据滤波器系数,编写DSP实现的程序,下面是采用CCS软件仿真的形式,验证IIR滤波器的效果。#includemath.h#defineIIRNUMBER2#defineSIGNAL1F1000#defineSIGNAL2F4500#defineSAMPLEF10000#definePI3.1415926floatInputWave();floatIIR();floatfBn[IIRNUMBER]={0.0,-0.51};floatfAn[IIRNUMBER]={0.245,-0.245};floatfXn[IIRNUMBER]={0.0};floatfYn[IIRNUMBER]={0.0};floatfInput,fOutput;floatfSignal1,fSignal2;floatfStepSignal1,fStepSignal2;floatf2PI;inti;floatfIn[256],fOut[256];intnIn,nOut;main(){nIn=0;nOut=0;fInput=fOutput=0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;//fStepSignal1=2*PI/30;//fStepSignal2=2*PI*1.4;fStepSignal1=2*PI/50;fStepSignal2=2*PI/2.5;while(1){fInput=InputWave();fIn[nIn]=fInput;nIn++;nIn%=256;fOutput=IIR();fOut[nOut]=fOutput;nOut++;//breakpointif(nOut=256){nOut=0;}}}floatInputWave(){for(i=IIRNUMBER-1;i0;i--){fXn[i]=fXn[i-1];fYn[i]=fYn[i-1];}fXn[0]=sin((double)fSignal1)+cos((double)fSignal2)/6.0;fYn[0]=0.0;fSignal1+=fStepSignal1;if(fSignal1=f2PI)fSignal1-=f2PI;fSignal2+=fStepSignal2;if(fSignal2=f2PI)fSignal2-=f2PI;return(fXn[0]);}floatIIR(){floatfSum;fSum=0.0;for(i=0;iIIRNUMBER;i++){fSum+=(fXn[i]*fAn[i]);fSum+=(fYn[i]*fBn[i]);}return(fSum);}3.仿真结果输入输出波形频谱图InputOutput三、心得体会课程设计能培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,能训练我们的实际工作能力.通过这次设计,我掌握了数字滤波器的设计过程,了解了IIR的原理和特性,学习IIR滤波器的DSP实现原理.学会了使用CCS的波形观察窗口观察输入输出信号波形和频谱变化情况,懂得了理论与实际相结合是很重要的,提高了自己的实际动手能力和独立思考的能力.
本文标题:IIR滤波器设计报告
链接地址:https://www.777doc.com/doc-6335447 .html