导航:首页 > 电器电路 > fir电路

fir电路

发布时间:2021-02-27 00:25:03

『壹』 有没有可用的0-20HZ的带通滤波电路拜托各位大神

#include <stdio.h> #include <stdlib.h> #include <math.h> #include "msp.h" float ad[66],x[66],y[66],grid[1045],des[1045],wt[1045],alpha[66]; int iext[66]; float pi2,dev; int nfcns,ngrid,niter; void mdefir3(int nfilt,int nbands,float edge[],float fx[], float wtx[],float h[]) { /*--------------------------------------------------------------------- mdefir3: To design FIR filter by Weighted Chebyshev Approximation. Input parameters: nfilt : the length of FIR filter,in this program nfilt<128; nbands :Number of bands,in this program nbands<=10; fx :Desired function array for each band,from fx(1) to fx(nbands); wtx :Weight function array in each band,from wtx(1) to wtx(nbands); edge :Bandedge array,lower and upper freq. for each band,from edge(1) to edge(2*nbands); Output parameters: h: nfilt dimensioned real array,the impulse response. in chapter 8 ---------------------------------------------------------------------*/ float pi,delf,fup,temp,change,a,xt; int j,nfmax,lgrid,nodd,l,lband,nm1,nz,nzmj,nf2j; pi2=8.*atan(1.); pi=pi2/2.; nfmax=128; lgrid=16; if(nfilt==0) return; if(nfilt>nfmax || nfilt<3) return; if(nbands<=0) nbands=1; nodd=nfilt/2; nodd=nfilt-2*nodd; nfcns=nfilt/2; if(nodd==1) nfcns++; grid[1]=edge[1]; delf=lgrid*nfcns; delf=0.5/delf; if(edge[1]<delf) grid[1]=delf; j=1; l=1; lband=1; do { fup=edge[l+1]; do { temp=grid[j]; des[j]=fx[lband]; wt[j]=wtx[lband]; j++; grid[j]=temp+delf; if(grid[j]>fup) break; }while(1); grid[j-1]=fup; des[j-1]=fx[lband]; wt[j-1]=wtx[lband]; lband++; l+=2; if(lband>nbands) break; grid[j]=edge[l]; }while(1); ngrid=j-1; if(nodd==0) if(grid[ngrid]>(.5-delf)) ngrid-=1; /*-------------------------------------------------------------------*/ if(nodd!=1) for(j=1;j<=ngrid;j++) { change=cos(pi*grid[j]); des[j]/=change; wt[j]*=change; } temp=(float)(ngrid-1)/(float)(nfcns); for(j=1;j<=nfcns;j++) { xt=j-1; iext[j]=xt*temp+1.; } iext[nfcns+1]=ngrid; nm1=nfcns-1; nz=nfcns+1; /*-------------------------------------------------------------------*/ mremez1(); if(nodd!=0) { for(j=0;j<nm1;j++) {nzmj=nfcns-j; h[j]=.5*alpha[nzmj]; h[nfilt-j-1]=h[j]; } h[nm1]=alpha[1]; } else { h[0]=.25*alpha[nfcns]; h[nfilt-1]=h[0]; for(j=1;j<nm1;j++) {nzmj=nfcns-j; nf2j=nz-j; h[j]=.25*(alpha[nzmj]+alpha[nf2j]); h[nfilt-j-1]=h[j]; } h[nm1]=.5*alpha[1]+.25*alpha[2]; h[nfcns]=h[nm1]; } h[nfilt]=0.0; printf("\n"); printf(" Deviation Deviation(db)\n"); for(j=1;j<=nbands;j++) {a=dev/wtx[j]; printf(" Band%d, %f, %f\n",j,a,20.*log10(a+fx[j])); } return; } 一个切比雪夫滤波器代码,但是我看不太懂。

『贰』 请简述窗函数法设计FIR数字滤波器的方法与步骤。

滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为hd(n)=窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数。w(n)将hd(n)截断,并进行加权处理:

h(n)=hd(n)w(n)h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(ejω)为H(ejω)=用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。

一般都选用Ⅰ型线性相位滤波器即滤波器阶数M为偶数,程序如下:

wp=;ws=;Ap=1;As=100;

dev=[Rp Rs];

[M,wc,beta,ftype]=kaiserord(f,a,dev);

M=mod(M,2)+M;

plot(omega/pi,20*log10(abs(mag)));

运行程序可以得到滤波器的通阻带衰减,画出频率响应,若同阻带衰减不满足要求还可以使用滤波器的优化,一般使用的等波纹FIR进行优化。

(2)fir电路扩展阅读:

滤波器与机箱之间的一段连线会产生两种不良作用: 一个是机箱内部空间的电磁干扰会直接感应到这段线上,沿着电缆传出机箱,借助电缆辐射,使滤波器失效;另一个是外界干扰在被板上滤波器滤波之前,借助这段线产生辐射,或直接与线路板上的电路发生耦合,造成敏感度问题;

滤波阵列板、滤波连接器等面板滤波器一般都直接安装在屏蔽机箱的金属面板上。由于直接安装在金属面板上,滤波器的输入与输出之间完全隔离,接地良好,电缆上的干扰在机箱端口上被滤除,因此滤波效果相当理想。

『叁』 如何从FIR滤波器的参数来推测滤波器类型

第2个是全通滤波器y=x。第3个是滑动平均滤波器,一个很基础的低通。1和4初看看怎么是一样的?这两个特性要算下才知道了,一眼还真看不出来

『肆』 请教些关于FIR滤波器的FPGA实现中遇到的一些问题:

首先,分清FIR的设计与实现是2阶段;关系很紧密,但是还是有些概念不能混同的。专
实际的AD采样如果是直接属送到滤波器接口上,就直接将Fs设置为40MHz;若有下采样或其他处理导致实际“数据率”是其他的值,就应该设定其他值的。既问题又回来了,先确定需要处理什么样的数据,得到什么样的效果;再确定FIR的参数;这阶段的重点是FIR理论。

而实现阶段,数据是正数、截位等就需要找一下相关的资料了。
简单点说:
1. 40MHz采集5MHz频率的数据可以不失真,信号能较好还原;可以直接进入FIR处理;既Fs=40MHz;
2. 采集的数据都是正数可能是AD有编码处理,如偏置、强行改了符号位等;如果信号是有符号数,需要处理回来的;建议对数据进行去偏置处理
3. 滤波器需要量化吧?看你量化的位宽和插损怎么样,输出信号强度怎么样了;我们一般原则是输入的信号最大时,输出没有溢出;输出很小时,精度尽量高;建议使用MATLAB先仿真一下;还是有些工作或细节需要注意的

『伍』 关于systemview中,仿真电路中FIR低通滤波器参数的设置

relative frequency是相对频率,当设为0.05的时候频率为50Hz,因此上面的两个参数Rel Freq应改为0.05和0.06

『陆』 数字基带传输系统的接收滤波器是模拟的还是数字的 若是数字的FIR,其前后该接些什么电路

这个要看你的传输系统是数字的还是模拟的了。如果传输的数字信号,那内么就直接用数字滤容波器进行滤波,滤除带外的频谱分量就可以了。如果传输的是模拟信号,就需要一个模拟的抗混叠滤波器,后面再接一个A/D将模拟信号变为数字信号进行后续的基带信号处理。

『柒』 快要答辩了,我想问的是FIR数字滤波器的原理就是他所采用的算法吗

分布式算法是FPGA过程中的算法优化,根据FIR滤波器的结构特点,将加回乘单元进行化简,简化计算单答元,缩短计算时间。
FIR设计原理应该是用MATLAB的fir1()函数得到的系数,将系数直接应用到FPGA中,如用VHDL编写代码的话,可将系数设为常量。
FIR原理是滤波的原理,就是h(n)与输入信号卷积后得到输出序列y(n).
算法是在设计过程中的优化,二者不同。

『捌』 IIR与FIR滤波器的异同

IIR为无限冲激响应,FIR为有限冲激响应。
从其系统函数看,IIR滤波器的系统函数是有理分式,其分版母多项式对应于权反馈电路,因而其实递归结构的;FIR滤波器的系统函数则是有限多项式,只有在原点处有一个N阶极点,属于非递归结构。
IIR可以用较少阶数完成和FIR相同的阶数指标。
FIR滤波器可以得到严格的线性相位,而IIR则不行,准确来说,IIR的滤波器的选频特性越好,其相位的非线性越严重。
在实际应用中,IIR往往用于传输语音信号的滤波器,因为其不用保证线性相位,可以发挥其经济高效的特点;FIR往往用于传输图像信号,其对线性相位要求较高,采用FIR效果较好。

『玖』 低通FIR滤波器参数

截止频率(the cutoff frequency ):用来说明电路频率特性指标的特殊频率。当保持电回路输入信号的幅度不变,改答变频率使输出信号降至最大值的0.707倍,或某一特殊额定值时该频率称为截止频率。
阻带频率(the stopband frequency ):也是用来说明电路频率特性指标的特殊频率。当保持电路输入信号的幅度不变,改变频率使输出信号衰减60dB时,该频率称为阻带频率。
本人觉得响应的截止频率就是the cutoff frequency 。
仅供参考啊!

阅读全文

与fir电路相关的资料

热点内容
桐乡买家电在哪里 浏览:686
温州龙湾哪里有木家具定制 浏览:901
广州家居卖场有哪些 浏览:523
怎么分清翻新电瓶 浏览:486
什么牌子的车维修率低 浏览:276
防水面料水彩笔印怎么去除 浏览:145
维修电动吊篮视频教程 浏览:481
4s店售后维修成本结转 浏览:94
低压电路坏了 浏览:268
辣妹子家居 浏览:630
白沟电力维修电话 浏览:202
上菱洗衣机维修中心 浏览:286
哪个家用小家具好用 浏览:537
销售家电招工怎么写 浏览:498
林岳红木家具城 浏览:957
常熟便宜厂房防水多少钱 浏览:461
上海德龙除湿机售后维修电话 浏览:966
未来小家电有哪些新需求 浏览:150
德尔家居收购 浏览:604
银川好的汽车维修电话号码是多少钱 浏览:827