c语言写的fir低通滤波器.doc

c语言写的fir低通滤波器.doc

ID:55118693

大小:40.01 KB

页数:5页

时间:2020-04-27

c语言写的fir低通滤波器.doc_第1页
c语言写的fir低通滤波器.doc_第2页
c语言写的fir低通滤波器.doc_第3页
c语言写的fir低通滤波器.doc_第4页
c语言写的fir低通滤波器.doc_第5页
资源描述:

《c语言写的fir低通滤波器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、根据fir滤波器的公式y(n)=∑h(m)x(n-m);(m:0~(N-1)).利用MATLAB产生滤波器系数(h(n))并归一化,下面为一个LP滤波算法voidfilter(void){uint16i,j;fp32sum;int16x1[2030];fp32h[19]={-0.0027,-0.0025,0.0050,0.0157,-0.0000,-0.0471,-0.0482,0.0838,0.2953,0.4013,0.2953,0.0838,-0.0482,-0.0471,-0.0000,0.0157,0.0050,-0.0025,-0.0027};for(i=0;i<

2、2020;i++)x1[i]=data0[i];for(i=0;i<2020;i++){sum=0.0;for(j=0;j<19;j++){if(i>=j)sum+=h[j]*x1[i-j];else;}data0[i]=(int16)sum;}for(i=0;i<2000;i++){data0[i]=data0[i+20];}}考虑到前19个点为不完全累加和,故抛去前19个点。(应该是前后各18个点都是不完全累加和,都应该去掉,对于数据分段进入滤波器的情况,应该把前一段的后面数据放到下一段的前面,这段时间我在解调FSK时遇到了这个问题,通过滤波器的数据的分段处理。)设输入数

3、据x[N],输出数据y[N],滤波器系数h[n]1.直接法(由y(m)=h(0)*x(m)+h(1)*x(m-1)+...+h(N-1)*x(m-n-1));voidfir(shortx[],shorth[],shorty[]){inti,j;longlongsum;for(j=0;j>15;}}乘法器使用次数:N*n2.逆推法:voidfir(shortx[],shorth[],shorty[]){inti,j;longsum;for(j=0;j

4、or(i=0;i>15;}}}乘法器使用次数:N*n3.倒序法:(输入输出可以是同一量)voidfir(shortx[],shorth[],shorty[]){inti,j;longlongsum;for(j=N;j>0;j--){sum=0;for(i=n;i>0;i--)sum+=x[j-i]*h[i];y[j]=sum>>15;}}#include#include#definetrue1#definefalse0#definen8#definebufsize100

5、/*thebuffersizeis100*//*globaldeclarations*/intin_buffer[bufsize];/*processingdatabuffers*/intout_buffer[bufsize];/*functions*/staticintprocessing(int*input,int*output);staticvoiddataio(void);staticlonground(longa);voidmain(){int*input=&in_buffer[0];int*output=&out_buffer[0];puts("the1stexp

6、erimentstarted");/*loopforever*/while(true){/**readinputdatausingaprobe-pointconnectedtoahostfile.*writeoutputdatatoagraphconnectedthroughaprobe-point.*///readtheinputsignal.//iftheinputfileissine1.dat,thesignalcontains300hz,400hzand500hz.//iftheinputfileissine2.dat,thesignalcontains100hz

7、,400hzand500hz.//thesamplingfrequencyis1200hz.dataio();/*removethefrequencycompomentof400hzand500hz*/processing(input,output);//writetheoutputsignal.//theoutputfileisresult.dat.dataio();}}/**========processing========**function:applyalow-passfirfiltertoi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。