硬件设计中滤波电路与软件滤波算法.docx

上传人:b****5 文档编号:8128959 上传时间:2023-01-29 格式:DOCX 页数:17 大小:80.35KB
下载 相关 举报
硬件设计中滤波电路与软件滤波算法.docx_第1页
第1页 / 共17页
硬件设计中滤波电路与软件滤波算法.docx_第2页
第2页 / 共17页
硬件设计中滤波电路与软件滤波算法.docx_第3页
第3页 / 共17页
硬件设计中滤波电路与软件滤波算法.docx_第4页
第4页 / 共17页
硬件设计中滤波电路与软件滤波算法.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

硬件设计中滤波电路与软件滤波算法.docx

《硬件设计中滤波电路与软件滤波算法.docx》由会员分享,可在线阅读,更多相关《硬件设计中滤波电路与软件滤波算法.docx(17页珍藏版)》请在冰豆网上搜索。

硬件设计中滤波电路与软件滤波算法.docx

硬件设计中滤波电路与软件滤波算法

电磁兼容实验报告

(硬件设计中滤波电路与软件滤波的算法)

 

 

学院:

专业:

班级:

作者:

 

硬件设施中的滤波电路

硬件滤波的一些概念:

硬件滤波:

主要是通过电容电阻来组合起来滤波。

滤波:

就是滤掉电路中不需要的成分,留下有用的成分。

按功能分:

有电源滤波器、音频滤波器、电源滤波器(交流滤波器和直流滤波器)。

滤5HM,v5S)tqE0波的基本概念Dro5]@!

kem0

滤波是信号处理中的一个重要概念。

滤波分经典滤波和现代滤波。

0~%?

N

\v0

y

EJ/lV[ja0经典滤波的概念,是根据傅立叶分析和变换提出的一个工程概念。

根据高等数学理论,任何一个满足一定条件的信号,都可以被看成是由无限个正弦波叠加而成。

换句话说,就是工程信号是不同频率的正弦波线性叠加而成的,组成信号的不同频率的正弦波叫做信号的频率成分或叫做谐波成分。

只允许一定频率范围内的信号成分正常通过,而阻止另一部分频率成分通过的电路,叫做经典滤波器或滤波电路。

电子爱好者社区!

m:

?

Z:

\%Em

F电子爱好者社区K

g(T�CR8nt-r5n

实际上,任何一个电子系统都具有自己的频带宽度(对信号最高频率的限制),频率特性反映出了电子系统的这个基本特点。

而滤波器,则是根据电路参数对电路频带宽度的影响而设计出来的工程应用电路。

*c!

d'X/j

n;QrZ0

9O0c+f3nb6S%N$?

b0用模拟电子电路对模拟信号进行滤波,其基本原理就是利用电路的频率特性实现对信号中频率成分的选择。

根据频率滤波时,是把信号看成是由不同频率正弦波叠加而成的模拟信号,通过选择不同的频率成分来实现信号滤波。

电子爱好者社区2U3k(I4}2U,[&c

l5Sq/NqT.`6GW0当允许信号中较高频率的成分通过滤波器时,这种滤波器叫做高通滤波器。

ie�Q1@_%r?

"Gs0电子爱好者社区ZG4d)}-L\

X

当允许信号中较低频率的成分通过滤波器时,这种滤波器叫做低通滤波器。

电子爱好者社区PGX]7y7_X`G

:

Io5P,m#M_k0当只允许信号中某个频率范围内的成分通过滤波器时,这种滤波器叫做带通滤波器。

电子爱好者社区Z

\"~D,kSM

r0dxix0理想滤波器的行为特性通常用幅度-频率特性图描述,也叫做滤波器电路的幅频特性。

理想滤波器的幅频特性如图所示。

图中,w1和w2叫做滤波器的截止频率。

电子爱好者社区"c1p3Z0w�o

 

电子爱好者社区[)N8Q?

\Y"^

Vb

Ye2g"_MV0滤波器频率响应特性的幅频特性图+H&MFeg

D0

4C`Up(w4iC-P8G9dj0  对于滤波器,增益幅度不为零的频率范围叫做通频带,简称通带,增益幅度为零的频率范围叫做阻带。

例如对于LP,从-w1当w1之间,叫做LP的通带,其他频率部分叫做阻带。

通带所表示的是能够通过滤波器而不会产生衰减的信号频率成分,阻带所表示的是被滤波器衰减掉的信号频率成分。

通带内信号所获得的增益,叫做通带增益,阻带中信号所得到的衰减,叫做阻带衰减。

在工程实际中,一般使用dB作为滤波器的幅度增益单位。

三:

低通滤波器和高通滤波器电子爱好者社区E]/B-HNIK[电子爱好者社区]E$q^lx

X

低通滤波器电子爱好者社区'R,}j7fL*q*ib

JI8dR0xnq&R0低通滤波器的基本电路特点是,只允许低于截止频率的信号通过。

[Q*akqd0 电子爱好者社区?

;IX$Mk6c

(1)一阶低通Butterworth滤波电路电子爱好者社区oC�d'OXTF电子爱好者社区i'K-B6h&@-m:

O

下图a和b是用运算放大器设计的两种一阶Butterworth滤波电路的电路。

图a是反相输入一阶低通滤波器,实际上就是一个积分电路,其分析方法与一阶积分电路相同。

电子爱好者社区/mkf^-Jj.S电子爱好者社区&Om"t6wU2?

 

电子爱好者社区\/x6R

{&g电子爱好者社区3W

DQ!

k)t4t

I(}{%zb`:

a$n'[T0s

Zv0

V)e7s9UJ2lH/OX0图b是同相输入的一阶低通滤波器。

根据给定的电路图可以得到电子爱好者社区k

[$tznJFQA电子爱好者社区G+D

e5a;B`

 

~~w-PsGDX0

U!

iUldJ1rjX,YQ(l0  对滤波器来说,更关心的是正弦稳态是的行为特性,利用拉氏变换与富氏变换的关系,有kg+O8dL1S0

V~I�D"Je&Ot]0 

YB5h0yy2uf0电子爱好者社区4S�cR

t5Z

  下图是上式RC=2时的幅频特性和相频特性波特图。

4O;\M_9w"A(nCR0电子爱好者社区1G4fmo0Z)J

 

电子爱好者社区�E0CsMT2v,]Fg电子爱好者社区3L~IJR

RC=2时一阶Butterworth低通滤波器的频率响应特性电子爱好者社区xgMX3P,D[_

 电子爱好者社区!

ka"MD2U/E*fp6E

(2)二阶低通Butterworth滤波电路W&r[T4Hg&KF0

PZ8cPjs`c0下图是用运算放大器设计的二阶低通Butterworth滤波电路。

电子爱好者社区*YRV;W$X+B!

j

bF(kq

i\'fy8u)L0 

Q+E)FT?

+z]e"lI0

3G\&H3Q*p0二阶Butterworth低通滤波电路     电子爱好者社区;[K)g

H

E+c电子爱好者社区MP&E6p;I

直接采用频域分析方法得到"Jq!

^dd0电子爱好者社区VyPT`,x4V)E

 

+f'D$Rz8G;b0电子爱好者社区L'a?

!

iv)jY

  其中k=1+R1/R2。

令Q=1/(3-k),w0=1/RC,则可以写成      

4eI%`Z\0电子爱好者社区!

[Y/sli~y'N

电子爱好者社区!

_"q

bb0z'Co电子爱好者社区'z3T4}\+F

Qs_+@,ti

  其中k相当于同相放大器的电压放大倍数,叫做滤波器的通带增益,Q叫做品质因数,w0叫做特征角频率。

电子爱好者社区9b9O4b._[X

d]9C6Cx

.^k3j;wg0oW$itx8M0下图是二阶低通滤波器在RC=2时的波特图,其中图a是Q>0.707时的效果,图b是Q=0.707时的效果,图c是Q<0.707时的效果。

w1f(B{8C

F

~0

d:

h1[&?

d0 

(a)Q>0.707电子爱好者社区.sFqe#T0o6V电子爱好者社区3@)sN,`M5Q4M#NzE

H

 

(b)Q=0.707电子爱好者社区V\XWXi"?

r+P

(q1i/{pv\G*F0

(c)Q<0.707

0`,]F@

}0电子爱好者社区8T

^\._3|b3K3M

二阶低通滤波器在RC=2时的波特图电子爱好者社区p]7dZWC

i2GL?

4MV:

u0  从图中可以看出,当Q>0.707或Q<0.707时,通带边沿处会出现比较大的不平坦现象。

因此,品质因数表明了滤波器通带的状态。

一般要求Q=0.707。

电子爱好者社区h)kcmln

LTV电子爱好者社区G&X.eG*r

由此可以得到 电子爱好者社区Q.J4sA^z电子爱好者社区U~U[9n

h\J(Z*a#Y

 

;`2|7@fbN5WhM0

.u`

Z/Tavsby1a0  这就是二阶Butterworth滤波器电压增益得计算0.707公式。

令Q=0.707,得电子爱好者社区b+T5E:

~7r"y7t�M

G%D&i#P/w#m8v#i5G4[s00.414R2=0.707R1.P2p�?

"zEd

YJ�C0

t.P6Jb7Fy8N3BR0  通常把最大增益倍所对应的信号频率叫做截止频率,这时滤波器具有3dB的衰减。

利用滤波器幅频特性的概念,可以得到截止频率w0=w =1/RC,即Xo_

Z?

O0

9jh`#wtP'Hb0     f=1/2pRC电子爱好者社区h$BG'Ak7AcEES0z8f6p%Y}cfFt's*E电子爱好者社区eASuiuO?

G

}Vk:

~"T6Af"e`0

电子爱好者社区o%\KwS0Sc

高通滤波器的特点是,只允许高于截止频率的信号通过。

下图是二阶Butterworth高通滤波器电路的理想物理模型。

1NB7f}f0

7S3n'E{C4dp0 直接采用频域分析方法,并令k=1+R1/R2,Q=1/(3-k),w0=1/RC,则可以得到二阶Butterworth高通滤波电路的传递函数为:

L8e4H:

qf,jQn6T0  gbBn-D:

e5Vp0i4a?

.V)BhQ0p电子爱好者社区A4b]-p6q

B电子爱好者社区4a#[qkmz

Bs&xbv)gG0电子爱好者社区LuE8Hf

高通滤波器Z1m7u3[\Z)P0

.H!

e

_2cJg0

+D;@#U7]&CLLFJ0电子爱好者社区0CD!

W9Ew2_VeE

{,\电子爱好者社区.IY%s�b/h(`k

考虑正弦稳态条件下,s=jw,得电子爱好者社区,sHa)a3s�W9ouz

电子爱好者社区)J[G7I:

S+xo

电子爱好者社区}[/r%BN#Y6zp

x电子爱好者社区g,@:

X-`%_.q*[9J\F

二阶Butterworth高通滤波器在频率响应特性与低通滤波器相似,当Q>0.707或Q<0.707时,通带边沿处会出现不平坦现象。

有关根据品质因数Q计算电路电阻参数R1和R2的方法与二阶低通滤波器的计算相同。

电子爱好者社区xf8N[/|'L电子爱好者社区Ct/Pw(cD|%CSEM

同样,利用滤波器幅频特性的概念,可以得到截止频率w0=w=1/RC,即f=1/2pRC

 

软件滤波的方法和算法

软件滤波的概念

软件滤波:

用软件来识别有用信号和干扰信号,并滤除干扰信号的方法叫软件滤波。

软件滤波的方法

软件滤波的方法:

限幅滤波法(又称程序判断滤波法)、中位值滤波法、算术平均滤波法、递推平均滤波法(又称滑动平均滤波法)、中位值平均滤波法(又称防脉冲干扰平均滤波法)、限幅平均滤波法、一阶滞后滤波法、加权递推平均滤波法、消抖滤波法、限幅消抖滤波法、IIR数字滤波器。

软件滤波的各种方法比较:

1、限幅滤波法(又称程序判断滤波法)

  A、方法:

根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新值时判断:

如果本次值与上次值之差<=A,则本次值有效。

如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值

  B、优点:

能有效克服因偶然因素引起的脉冲干扰。

  C、缺点:

无法抑制那种周期性的干扰,平滑度差。

  

2、中位值滤波法

  A、方法:

连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。

  B、优点:

能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。

  C、缺点:

对流量、速度等快速变化的参数不宜。

  

3、算术平均滤波法

  A、方法:

连续取N个采样值进行算术平均运算。

N值较大时:

信号平滑度较高,但灵敏度较低;N值较小时:

信号平滑度较低,但灵敏度较高。

N值的选取:

一般流量,N=12;压力:

N=4

  B、优点:

适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。

  C、缺点:

对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。

  

4、递推平均滤波法(又称滑动平均滤波法)

  A、方法:

把连续取N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则),把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。

N值的选取:

流量,N=12;压力:

N=4;液面,N=4~12;温度,N=1~4

  B、优点:

对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。

  C、缺点:

灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合,比较浪费RAM

  

5、中位值平均滤波法(又称防脉冲干扰平均滤波法)

  A、方法:

相当于“中位值滤波法”+“算术平均滤波法”。

连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。

N值的选取:

3~14

  B、优点:

融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。

  C、缺点:

测量速度较慢,和算术平均滤波法一样,比较浪费RAM。

  

6、限幅平均滤波法

  A、方法:

相当于“限幅滤波法”+“递推平均滤波法”,每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理。

  B、优点:

融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。

  C、缺点:

比较浪费RAM。

  

7、一阶滞后滤波法

  A、方法:

取a=0~1,本次滤波结果=(1-a)*本次采样值+a*上次滤波结果。

  B、优点:

对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合。

  C、缺点:

相位滞后,灵敏度低,滞后程度取决于a值大小,不能消除滤波频率高于采样频率的1/2的干扰信号。

  

8、加权递推平均滤波法

  A、方法:

是对递推平均滤波法的改进,即不同时刻的数据加以不同的权。

通常是,越接近现时刻的数据,权取得越大。

给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低。

  B、优点:

适用于有较大纯滞后时间常数的对象和采样周期较短的系统。

  C、缺点:

对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,滤波效果差。

  

9、消抖滤波法

  A、方法:

设置一个滤波计数器将每次采样值与当前有效值比较:

如果采样值=当前有效值,则计数器清零如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出),如果计数器溢出,则将本次值替换当前有效值,并清计数器。

  B、优点:

对于变化缓慢的被测参数有较好的滤波效果,可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。

  C、缺点:

对于快速变化的参数不宜,如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统。

  

10、限幅消抖滤波法

  A、方法:

相当于“限幅滤波法”+“消抖滤波法”先限幅,后消抖。

  B、优点:

继承了“限幅”和“消抖”的优点改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统。

  C、缺点:

对于快速变化的参数不宜。

  

11、IIR数字滤波器

  A.方法:

确定信号带宽,滤之。

Y(n)=a1*Y(n-1)+a2*Y(n-2)+.+ak*Y(n-k)+b0*X(n)+b1*X(n-1)+b2*X(n-2)+.+bk*X(n-k)。

  B.优点:

高通,低通,带通,带阻任意。

设计简单(用matlab)

  C.缺点:

运算量大。

软件滤波C程序详例

  11种软件滤波方法的示例程序

  假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();

  1111限副滤波

  /*A值可根据实际情况调整

  value为有效值,new_value为当前采样值

  滤波程序返回有效的实际值*/

  #defineA10

  charvalue;

  charfilter()

  {

  charnew_value;

  new_value=get_ad();

  if((new_value-value>A)||(value-new_value>A)

  returnvalue;

  elsereturnnew_value;

  }

  2222、中位值滤波法

  /*N值可根据实际情况调整

  排序采用冒泡法*/

  #defineN11

  charfilter()

  {

  charvalue_buf[N];

  charcount,i,j,temp;

  for(count=0;count

  {

  value_buf[count]=get_ad();

  delay();

  }

  for(j=0;j

  {

  for(i=0;i

  {

  if(value_buf[i]>value_buf[i+1])

  {

  temp=value_buf[i];

  value_buf[i]=value_buf[i+1];

  value_buf[i+1]=temp;

  }

  }

  }

  returnvalue_buf[(N-1)/2];

  }

  3333、算术平均滤波法

  /*

  */

  #defineN12

  charfilter()

  {

  intsum=0;

  for(count=0;count

  {

  sum+=get_ad();

  delay();

  }

  return(char)(sum/N);

  }

  4444、递推平均滤波法(又称滑动平均滤波法)

  /*

  */

  #defineN12

  charvalue_buf[N];

  chari=0;

  charfilter()

  {

  charcount;

  intsum=0;

  value_buf[i++]=get_ad();

  if(i==N)i=0;

  for(count=0;count

  return(char)(sum/N);

  }

  5555、中位值平均滤波法(又称防脉冲干扰平均滤波法)

  /*

  */

  #defineN12

  charfilter()

  {

  charcount,i,j;

  charvalue_buf[N];

  intsum=0;

  for(count=0;count{

  value_buf[count]=get_ad();

  delay();

  }

  for(j=0;j

  {

  for(i=0;i

  {

  if(value_buf[i]>value_buf[i+1])

  {

  temp=value_buf[i];

  value_buf[i]=value_buf[i+1];

  value_buf[i+1]=temp;

  }

  }

  }

  for(count=0;count

  return(char)(sum/(N-2));

  }

  6666、限幅平均滤波法

  /*

  */

  略参考子程序1、3

  7777、一阶滞后滤波法

  /*为加快程序处理速度假定基数为100,a=0~100*/

  #definea50

  charvalue;

  charfilter()

  {

  charnew_value;

  new_value=get_ad();

  return(100-a)*value+a*new_value;

  }

  8888、加权递推平均滤波法

  /*coe数组为加权系数表,存在程序存储区。

*/

  #defineN12

  charcodecoe[N]={1,2,3,4,5,6,7,8,9,10,11,12};

  charcodesum_coe=1+2+3+4+5+6+7+8+9+10+11+12;

  charfilter()

  {

  charcount;

  charvalue_buf[N];

  intsum=0;

  for(count=0,count{

  value_buf[count]=get_ad();

  delay();

  }

  for(count=0;count

  return(char)(sum/sum_coe);

  }

  9999、消抖滤波法

  #defineN12

  charfilter()

  {

  charcount=0;

  charnew_value;

  new_value=get_ad();

  while(value!

=new_value);

  {

  count++;

  if(count>=N)returnnew_value;

  delay();

  new_value=get_ad();

  }

  returnvalue;

  }

  10101010、限幅消抖滤波法

  /*

  */

  略参考子程序1、9

  11111111、IIRIIRIIRIIR滤波例子

  intBandpassFilter4(intInputAD4)

  {

  intReturnValue;

  intii;

  RESLO=0;

  RESHI=0;

  MACS=*PdelIn;

  OP2=1068;//FilterCoeff4[4];

  MACS=*(PdelIn+1);

  OP2=8;//FilterCoeff4[3];

  MACS=*(PdelIn+2);

  OP2=-2001;//FilterCoeff4[2];

  MACS=*(PdelIn+3);

  OP2=8;//FilterCoeff4[1];

  MACS=InputAD4;

  OP2=1068;//FilterCoeff4[0];

  MACS=*PdelOu;

  OP2=-7190;//FilterCoeff4[8];

  MACS=*(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1