ADC数字滤波原理

ADC数字滤波原理
ADC数字滤波原理

基于单片机的数字滤波器设计

(2010-07-25 10:02:47)

转载▼

摘要

数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,数据采集领域已经发生了重要的变化。

而在数据采集中存在着各种噪声。滤除噪声的方法有很多种,既有数字滤波器,也有模拟滤波器。这里我们采用了基于单片机和C语言来设计并开发数字滤波系统。

我们针对于单片机数据采集系统中经常出现的随机干扰,通过手动输入来模拟数据采集过程,验证了几种使用较为普遍的克服随机干扰的单片机数字滤波算法,并给出了相应的C程序,尤其对中位值滤波和中位值平均滤波算法程序进行了改进。同时也对这几种滤波算法进行了比较,并指出了每一种算法的具体适用范围和注意事项。另外我们使用了 proteus进行仿真验证这几种滤波方法。另外我们还使用了AD和DA来采集及输出数据。

关键词:单片机、proteus、C语言、数字滤波。

1数字滤波设计原理

这里有很多种数字滤波方法,我们见选用其中几种来进行设计,如中值滤波、算术平均滤波、加权平均滤波等等。所以下面我将详细介绍它们。

1.1中值滤波

中位值滤波是先对某一参数连续采样N次(一般N取奇数),然后把N次采样值按从小到大排列,取中间值为本次采样值。

该滤波方法实际上是一种排序方法,我在此采用的是冒泡法排序。由于在冒泡法排序中,每出现一次前者数据大于后者数据,就要进行二者数据的交换。

该算法的样例子程序如下:

#define N 11 //N值可根据实际情况调整

char filter()

{

char value_buf[];

char count,i,j,k,temp;

for(count=0;count

{

value_buf[count]=get_data();

delay();

}

for(i=0;i

{k=i;

for(j=i+1;j

if(value_buf[j]

temp=value_buf[k];

value_buf[k]=value_buf[i];

value_buf[i]=temp;

}

return value_buf[(N-1)/2];

}

中位值滤波能有效地克服偶然因素引起的波动或采样器不稳定引起的误码等脉冲干扰。对温度、液位等缓慢变化的被测参数采用此算法能收到良好的滤波效果,但对于流量、压力等快速变化的数据,不宜采用中位值滤波。

1.2算术平均滤波

算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波。这种信号的特点是信号本身在某一数值范围附近上下波动,如测量流量、液位时经常遇到这种情况。

算术平均滤波法是要按输入的N 个采样数据,寻找这样一个Y,使得Y 与各个采样值之间的偏差的平方和最小。

具体实现此算法的子程序如下:

#define N 12

char filter()

{

int count;

int sum=0;

for(count=0;count

{

sum+=get_ad();

delay();

}

return (char)(sum/N);

}

算术平均滤波适用于对一般具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值,信号在某一数值范围附近做上下波动,在这种情况下仅取一个采样值做依据显然是不准确的。算术平均滤波对信号的平滑程序完全取决于N,当N较大时,平滑度高,但灵敏度低;当N

较小时,平滑度低,但灵敏度高,应视具体情况选取N,以便既少占用计算时间,又达到最好的效果。

1.3加权平均滤波

在算术平均滤波和移动平均滤波中,N次采样值在输出结果中的权重是均等的,取1/N。用这样的滤波算法,对于时变信号会引入滞后,N值越大,滞后越严重。为了增加新采样数据在移动平均中的权重,以提高系统对当前采样值中所受干扰的灵敏度,可采用加权平均滤波,它是移动平均滤波算法的改进。

加权平均滤波是对连续N次采样值分别乘上不同的加权系统之后再求累加和,加权系统一般先小后大,以突出后面若干采样的效果,加强系统对参数变化趋势的辨识。各个加权系统均为小于1的小数,且满足总和等于1的约束条件。这样,加权运算之后的累加和即为有效采样值。

为方便计算,可取各加权系数均为整数,且总和为256,加权运算后的累加和除以256,即舍去低字节后便是有效采样值。具体的样例子程序如下:

//code数组为加权系统表,存在ROM区。

#define N 12

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

char code sum_jp=1+2+3+4+5+6+7+8+9+10+11+12;

char filter_5()

{

char count;

char value_buf[N];

int sum=0;

for(count=0;count

{

value_buf[count]=get_data();

delay();

}

for(count=0;count

sum+=value_buf[count]*jq[count];

return (char)(sum/sum_jq);

}

1.4中位值平均滤波

它相当于是“中位值滤波法”和“算术平均滤波法”的结合。它连续采样N个数据,然后去掉一个最大值和一个最小值,最后计算N-2个数据的算术平均值。一般N值的选取:3-14。

具体算法程序如下:

#define N 12

char filter()

{

char count,i,j;

char value_buf[N];

int sum=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=1;count

sum += value[count];

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

}

这种滤波方法兼容了移动平均滤波算法和中位值滤波算法的优点,所以无论对缓慢变化的信号,还是对快速变化的信号,都能取得较好的滤波效果。

1.5限幅滤波

限幅滤波的基本原理是把两次相邻时刻(n和n-1)的采样值Yn和Yn-1相减,求出其差值,以绝对值表示,然后将这个差值与两次采样允许的最大偏差值ΔY比较,如果两次采样值的差值超过了允许的最大偏差值ΔY,则认为发生了随机干扰,并认为最后一次采样值Yn非法,应予剔除。剔除Yn后,可用Yn-1代替Yn;若未超过允许的最大偏差值范围,则认为本次采样值有效。可用如下公式表示:

|Yn-Yn-1|≤ΔY;则Yn有效

|Yn-Yn-1|>ΔY;则Yn-1有效

此算法的样例子程序如下:

#define A 10 //A值可根据实际情况调整

char data; //上一次的数据

char filter_1()

{

char datanew; //新数据变量

datanew=get_data(); //获得新数据

//滤波算法

if ((datanew-data>A)||(data-datanew>A)

return data;

return datanew;

}

该算法主要用于处理变化比较缓慢的数据,如温度、物体的位置等。使用时关键在于最大偏差值的Δy的选择,通常可根据经验获得,也可按照输出参数可能的最大变化速度Vmax及采样周期T来决定ΔY的值,即ΔY=VmaxT。

2原理图设计

2.1单片机AT89C51

这里我们使用了51系列单片机——AT89C51,利用这个单片机进行编程,实现对输入信号的滤波。

我使用了P0口作为接受AD转换的结果的端口,而P1口则输出数据到DA转换器。另外还利用了P2作为控制端口,P2.0-P2.2用来控制AD转换器,而P2.3-P2.6外接四个开关,用来实现滤波方式的选择。

2.2数据采集

另外我还使用了AD0808进行数据采集。这里AD0808是并联AD转换器,AD0808的引脚图如下图:

图1 AD0808的引脚图

IN0-IN8是八个模拟量输入端口,AD0808可以一次对八个模拟量进行模数转换,但是在这里我们只使用了其中的一个输入端IN0,所以ADDDA、ADDB、ADDC都应为0,所以我

让它们都接地。它的八个输出端接在单片机上,CLOCK接数据采样时钟,它可以接在单片机上由单片机控制,也可接在另外的数字时钟上,这里我选用外接别的时钟。START为转换启动信号,在其上跳变时,所有内部寄存器清零,在其下调变时,开始进行AD转换。ALE是地址锁存信号。这里我让START和ALE均接在单片机的同一个端口上,即P2.1,让单片机实现程序控制AD的转换。OE是输出允许信号,OE=1时,才能允许输出,这里我让它也接在单片机的端口P2.1上,也是为了让单片机实现程序控制AD0808的输出。EOC 是转换结束信号,EOC=1时,表示转换结束。这个信号可以用来提醒单片机AD已经转换完毕,程序中即可以用查询方式,也可以用中断方式,这里我使用查询方式,所以把它接在P2.2上。VREF(+)和VREF(-)都是参考电压信号端口,这里我让VREF(-)的参考电压为零,VREF(+)的参考电压为+3V。

2.3数模转换输出

这里我用了DA0832来进行数模转换。DA0832的引脚图如下图所示:

图2 DA0832的引脚图

DA0832有三种数模转换方法,直通方式、单缓冲方式、双缓冲方式,因为单片机输出后可以直接进行数模转换,所以这里我采用了不需要单片机控制的最为简单的直通方式,但是DA0832若用于直通方式,则在接单片机的输出端口之间还要接一个缓冲器件,如74LS373。若用于直通方式下,则、、、和GND均接地,而VCC和ILE则接正电源。VREF是参考电源。IOUT1、IOUT2是两个输出端。DA0832输出的是电流,要利用运算放大器转换成电压。

数模转换输出电路如下图所示:

图3 数模转换输出电路2.4总体电路图

总体电路图如下图所示:

图4 总体电路图

3程序设计

3.1滤波算法设计

这个在前面介绍滤波原理时已经说过了,在此就不再次重复了。因为设计时采集的时钟频率很大,所以在一定范围内采集的数据都差不多,因此对一系列的数据进行滤波处理时就好像是在对同一个数据进行滤波处理

但是因为这些算法处理的数据时连续采集了N个的,所以要设立一个变量数组来存储这些

输入的数据,而且要记得及时更新。我利用了队列的思想,如果输入一个新的数据,则丢弃最原始的一个数据,把新数据插入进来,就好像队列一样,对头删除数据,对位插入新的数据。

这个程序如下:

void change()

{

int i;

for(i=0;i

buf[i]=buf[i+1];

buf[N-1]=a;

}

而获得这一系列中的某一个数据就用了一个函数就可以了,直接返回队列中的第n项的数据。这个程序如下:

uchar get_data(n)

{

change();

return buf[n];

}

3.2 AD转换器

因为START为转换启动信号,在其上跳变时,所有内部寄存器清零,在其下调变时,开始进行AD转换。所以设计程序时,要先让START为0,在让START为1,最后让START

为0。开始采集数据后就要让OE为1,进行数据输入。同时数据采集结束时,利用查询语句,查看EOC是否为1,如果是1,则处于等待状态,如果变成1,则可以进行数据输入了。AD转换的程序如下:

START = 0;

START = 1;

START = 0;

while(EOC==0);

OE = 1;

a = P0;

这里a是一个变量,用来存储AD输入的数据。

3.3滤波算法的选择

我在电路上采用的是开关控制选择,所以这里只需要一系列的if选择语句就可以完成率把

算法的选择。

程序如下:

if(con==0)

{ if((con1==0)&&(con2==0)&&(con3==0))

res=filter1();

if((con1==0)&&(con2==0)&&(con3==1))

res=filter2();

if((con1==1)&&(con2==0)&&(con3==0))

res=filter5();

if((con1==1)&&(con2==0)&&(con3==1))

res=filter6();

if((con1==1)&&(con2==1)&&(con3==1))

res=filter8();

}

else

res=a;

con1、con2、con3三位用来控制滤波算法的选择,而con用来控制是否要进行滤波。

3.4总体程序

总体程序见附录。

中值滤波与均值滤波

四川大学电气信息学院微机原理与接口技术 实验报告 实验名称:中值滤波与均值滤波 实验地点:二基楼A514 年级: 2014级 姓名:宋雅婕 学号: 2014141443030 实验时间:2016年5月27日

一、实验内容 1.在数据段设变量数组TADA1和TADA2,并存入假设的两组采样值作为某一 采样周期的采样值。 ⒉设计中值滤波程序求出测量值。 ⒊设计均值滤波程序求出测量值。 ⒋每个程序应能将结果显示在屏幕上。 ⒌在计算机上调试程序,并获得正确结果。 二、程序框图 1. 2.中值滤波:

三、程序清单 1、中值滤波: DATAS SEGMENT TADA1 DB 65,72,33,84,43 N EQU $-TADA1 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX ;给DS段赋值 MOV CX,N-1 ;设置N-1轮比较次数 MOV DX,1 ;设置比较的轮次 AG: CALL MP ;调用子程序 INC DX LOOP AG MOV SI,0 XOR AX,AX ;将AX清零 MOV AL,TADA1[SI+(N-1)/2] ;取出中值 MOV BL,10 DIV BL PUSH AX ADD AL,30H MOV DL,AL MOV AH,2 INT 21H ;输出十进制数的高位POP AX ADD AH,30H MOV DL,AH MOV AH,2 INT 21H ;输出十进制数的低位 MOV AH,4CH INT 21H MP PROC ;冒泡法(从小到大排列) PUSH CX MOV CX,N SUB CX,DX MOV SI,0 RECMP: MOV AL,TADA1[SI]

数字图像处理实验三中值滤波和均值滤波实验报告

数字图像处理实验三中值滤波和均值滤波实验报告

数字图像处理实验三 均值滤波、中值滤波的计算机实现12281166 崔雪莹计科1202班 一、实验目的: 1)熟悉均值滤波、中值滤波处理的理论基础; 2)掌握均值滤波、中值滤波的计算机实现方法; 3)学习VC++ 6。0 的编程方法; 4)验证均值滤波、中值滤波处理理论; 5)观察均值滤波、中值滤波处理的结果。 二、实验的软、硬件平台: 硬件:微型图像处理系统,包括:主机, PC机;摄像机; 软件:操作系统:WINDOWS2000或WINDOWSXP应用软件:VC++ 6.0 三、实验内容: 1)握高级语言编程技术; 2)编制均值滤波、中值滤波处理程序的方法; 3)编译并生成可执行文件; 4)考察处理结果。 四、实验要求: 1)学习VC++确6。0 编程的步骤及流程; 2)编写均值滤波、中值滤波的程序;

3)编译并改错; 4)把该程序嵌入试验二给出的界面中(作适当修改); 5)提交程序及文档; 6)写出本次实验的体会。 五、实验结果截图 实验均值滤波采用的是3X3的方块,取周围的像素点取得其均值代替原像素点。边缘像素的处理方法是复制边缘的像素点,增加一个边框,计算里面的像素值得均值滤波。

六、实验体会 本次实验在前一次的实验基础上增加均值滤波和中值滤波,对于椒盐噪声的处理,发现中值滤波的效果更为好一点,而均值滤波是的整个图像变得模糊了一点,效果差异较大。本次实验更加增加了对数字图像处理的了解与学习。 七、实验程序代码注释及分析 // HistDemoADlg.h : 头文件 // #include "ImageWnd.h" #pragma once // CHistDemoADlg 对话框 class CHistDemoADlg : public CDialogEx { // 构造

IIR数字滤波器设计原理

IIR 数字滤波器设计原理 利用双线性变换设计IIR 滤波器(只介绍巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数)(s H a ,然后由)(s H a 通过双线性变换可得所要设计的IIR 滤波器的系统函数)(z H 。 如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率 s p w w 和的转换,对s p αα和指标不作变化。边界频率的转换关系为)21tan(2w T =Ω。接着,按照模拟低通滤波器的技术指标根据相应 设计公式求出滤波器的阶数N 和dB 3截止频率c Ω;根据阶数N 查巴特沃斯归一 化低通滤波器参数表,得到归一化传输函数 )(p H a ;最后,将c s p Ω=代入)(p H a 去归一,得到实际的模拟滤波器传输函数)(s H a 。之后,通过双线性变换法转换公式 11 112--+-=z z T s ,得到所要设计的IIR 滤波器的系统函数)(z H 。 步骤及内容 1) 用双线性变换法设计一个巴特沃斯IIR 低通数字滤波器。设计指标参数为: 在通带内频率低于π2.0时,最大衰减小于dB 1;在阻带内[]ππ,3.0频率区间上,最小衰减大于dB 15。 2) 以π02.0为采样间隔,绘制出数字滤波器在频率区间[]2/,0π上的幅频响应特 性曲线。 3) 程序及图形 程序及实验结果如下: %%%%%%%%%%%%%%%%%%

%iir_1.m %lskyp %%%%%%%%%%%%%%%%%% rp=1;rs=15; wp=.2*pi;ws=.3*pi; wap=tan(wp/2);was=tan(ws/2); [n,wn]=buttord(wap,was,rp,rs,'s'); [z,p,k]=buttap(n); [bp,ap]=zp2tf(z,p,k); [bs,as]=lp2lp(bp,ap,wap); [bz,az]=bilinear(bs,as,.5); [h,f]=freqz(bz,az,256,1); plot(f,abs(h)); title('双线性z 变换法获得数字低通滤波器,归一化频率轴'); xlabel('\omega/2\pi'); ylabel('低通滤波器的幅频相应');grid; figure; [h,f]=freqz(bz,az,256,100); ff=2*pi*f/100; absh=abs(h); plot(ff(1:128),absh(1:128)); title('双线性z 变换法获得数字低通滤波器,频率轴取[0,\pi/2]'); xlabel('\omega'); ylabel('低通滤波器的幅频相应');grid on; 运行结果: 00.050.10.150.20.25 0.30.350.40.450.500.1 0.2 0.3 0.40.50.60.70.8 0.9 1 双线性z 变换法获得数字低通滤波器,归一化频率轴 ω/2π低通滤波器的幅频相应

数字滤波器的基本概念及一些特殊滤波器

第五章数字滤波器的基本概念及一些特殊滤波器 5.1 数字滤波器的基本概念 1.数字滤波器与数字滤波 滤波的涵义: 将输入信号的某些频率成分或某个频带进行压缩、放大; 对信号进行检测; 对参数估计; 数字滤波器: 通过对输入信号的进行数值运算的方法来实现滤波 模拟滤波器: 用电阻、电容、电感及有源器件等构成滤波器对信号进行滤波 2.数字滤波器的实现方法 用软件在计算机上实现 用专用的数字信号处理芯片 用硬件 3.数字滤波器的可实现性 ?要求系统因果稳定设计的系统极点全部集中 在单位圆内。 ?要求系统的差分方程的系数或者系统函数的系数为实数系统的零极点必须共轭成对出现,或者是实数。 4.数字滤波器的种类 现代滤波器 经典滤波器 ?滤波特性?a?a数字高通、数字低通、数字带 通、数字带阻; ?实现方法 ?a?a无限脉冲响应滤波器,简称IIR (Infinite Impulse Response),它的单位脉冲响应为无限长,网络中有反馈回路。其系统函数为: ?a?a有限脉冲响应滤波器,简称FIR (Finite Impulse Response)它的单位脉冲响应为有限长,网络中没有反馈回路。其系统函数为:5.2 理想数字滤波器

理想滤波器是一类很重要的滤波器,对信号进行滤波能够达到理想的效果,但是他只能近似实现。设计的时候可以把理想滤波器作为逼近标准用。 本节主要讲述: 理想滤波器的特点: 在滤波器的通带内幅度为常数(非零),在阻带中幅度为零; 具有线性相位; 单位脉冲响应是非因果无限长序列。 理想滤波器的传输函数: ?幅度特性为: 相位特性为: 群时延为: ?则信号通过滤波器输出的频率响应为: 其时域表达式: ?输入信号输出信号, 表示输出信号相对输入信号没有发生失真。 假设低通滤波器的频率响应为 式中,是一个正整数,称为通带截止频率。 其幅度特性和相位特性图形如下: 滤波器的单位脉冲响应为: 举例:假设

中值滤波和均值滤波代码

%均值滤波 clc,clear; f=imread('2.bmp'); subplot(221),imshow(f); f1=imnoise(f,'gaussian',0.002,0.0008); subplot(222),imshow(f1); k1=floor(3/2)+1; k2=floor(3/2)+1; X=f1; [M,N]=size(X); uint8 Y=zeros(M,N); funBox=zeros(3,3); for i=1:M-3 for j=1:N-3 funBox=X(i:i+3,j:j+3); s=sum(funBox(:)); h=s/9; Y(i+k1,j+k2)=h; end; end; Y=Y/255; subplot(223),imshow(Y); 注意:在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算。在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型。如果直接运行imshow(I),我们会发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围。而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。 那么如何解决这个问题呢?笔者曾经用fix()函数把图像矩阵由实数形式转化成整数形式,但这样仍无法改变图像矩阵是double型的事实。 通过搜索,找到两个解决方法: imshow(I/256); ----------将图像矩阵转化到0-1之间 imshow(I,[]); -----------自动调整数据的范围以便于显示(不明白原理!) PS:imshow(I,[]),将I的最小值看作0,最大值看作255,所以黑白明显

滤波器基本原理、分类、应用

滤波器原理 滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大地衰减其它频率成分。在测试装置中,利用滤波器的这种选频作用,可以滤除干扰噪声或进行频谱分析。 广义地讲,任何一种信息传输的通道(媒质)都可视为是一种滤波器。因为,任何装置的响应特性都是激励频率的函数,都可用频域函数描述其传输特性。因此,构成测试系统的任何一个环节,诸如机械系统、电气网络、仪器仪表甚至连接导线等等,都将在一定频率范围内,按其频域特性,对所通过的信号进行变换与处理。 本文所述内容属于模拟滤波范围。主要介绍模拟滤波器原理、种类、数学模型、主要参数、RC滤波器设计。尽管数字滤波技术已得到广泛应用,但模拟滤波在自动检测、自动控制以及电子测量仪器中仍被广泛应用。带通滤波器 二、滤波器分类 ⒈根据滤波器的选频作用分类 ⑴低通滤波器 从0~f2频率之间,幅频特性平直,它可以使信号中低于f2的频率成分几乎不受衰减地通过,而高于f2的频率成分受到极大地衰减。 ⑵高通滤波器 与低通滤波相反,从频率f1~∞,其幅频特性平直。它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。 ⑶带通滤波器 它的通频带在f1~f2之间。它使信号中高于f1而低于f2的频率成分可以不受衰减地通过,而其它成分受到衰减。 ⑷带阻滤波器 与带通滤波相反,阻带在频率f1~f2之间。它使信号中高于f1而低于f2的频率成分受到衰减,其余频率成分的信号几乎不受衰减地通过。 推荐精选

低通滤波器和高通滤波器是滤波器的两种最基本的形式,其它的滤波器都可以分解为这两种类型的滤波器,例如:低通滤波器与高通滤波器的串联为带通滤波器,低通滤波器与高通滤波器的并联为带阻滤波器。 低通滤波器与高通滤波器的串联 低通滤波器与高通滤波器的并联 ⒉根据“最佳逼近特性”标准分类 ⑴巴特 沃斯滤波 器 从幅频特 性提出要 求,而不 考虑相频 特性。巴 特沃斯滤 波器具有最大平坦幅度特性,其幅频响应表达式为: ⑵切比雪夫滤波 器 推荐精选

数字图像处理实验三中值滤波和均值滤波实验报告材料

数字图像处理实验三 均值滤波、中值滤波的计算机实现12281166 崔雪莹计科1202班 一、实验目的: 1)熟悉均值滤波、中值滤波处理的理论基础; 2)掌握均值滤波、中值滤波的计算机实现方法; 3)学习VC++ 6。0 的编程方法; 4)验证均值滤波、中值滤波处理理论; 5)观察均值滤波、中值滤波处理的结果。 二、实验的软、硬件平台: 硬件:微型图像处理系统,包括:主机, PC机;摄像机; 软件:操作系统:WINDOWS2000或WINDOWSXP应用软件:VC++ 6.0 三、实验内容: 1)握高级语言编程技术; 2)编制均值滤波、中值滤波处理程序的方法; 3)编译并生成可执行文件; 4)考察处理结果。 四、实验要求: 1)学习VC++确6。0 编程的步骤及流程; 2)编写均值滤波、中值滤波的程序;

3)编译并改错; 4)把该程序嵌入试验二给出的界面中(作适当修改); 5)提交程序及文档; 6)写出本次实验的体会。 五、实验结果截图 实验均值滤波采用的是3X3的方块,取周围的像素点取得其均值代替原像素点。边缘像素的处理方法是复制边缘的像素点,增加一个边框,计算里面的像素值得均值滤波。

六、实验体会 本次实验在前一次的实验基础上增加均值滤波和中值滤波,对于椒盐噪声的处理,发现中值滤波的效果更为好一点,而均值滤波是的整个图像变得模糊了一点,效果差异较大。本次实验更加增加了对数字图像处理的了解与学习。 七、实验程序代码注释及分析 // HistDemoADlg.h : 头文件 // #include "ImageWnd.h" #pragma once // CHistDemoADlg 对话框 class CHistDemoADlg : public CDialogEx { // 构造

几种中值滤波去噪方法分析

几种中值滤波去噪方法分析 在数字图像的转换、存储和传输等过程中,经常性由于电子设备工作环境的不稳定,由于设备中含有一些污染物等原因,导致数字图像中一些像素点的灰度值发生非常大的变化,变得非常小或者非常大;而且大气环境很容易干扰无线数据传输,从而让传输信号混入噪声,接收到的无线信号恢复成传输过来的数字图像较原图像相比也会有很大的不同。在这些过程中,椒盐噪声很容易就会对数字图像造成感染。客户满意的数字图像尽可能少或者没有受到椒盐噪声的污染。所以我们需要去噪处理。 在现阶段处理椒盐噪声方面的研究成果方面,因为中值滤波有其非线性的特性,对比其他线性滤波方法可以取得更好的效果,同切同时还可以更好的保留图像的边缘信息。很多学者在研究通过中值滤波消除椒盐噪声的影响,希望可以得到更好的去噪效果。 第一节标准中值滤波方法 标准中值滤波是把这个窗口内的像素点按灰度值大小进行排列,把灰度值的平均值当作标准值。 我们以一个8位的图像作为例子,因为椒盐噪声会让受影响的像素点灰度值改为亮点,即灰度值为255;或者暗点,即灰度值为0。我们在排序的时候,把收到污染的像素点的灰度值大小排列出来,取中间值为所有噪点值,那么就可以消除噪声污染对这个点的影响。其具体步骤如下: ①把窗口在图像中滑动,然后让窗口中心与某一像素点重合 ②记录下窗口中所有像素点的灰度值 ③将这些灰度值从小到大排序 ④记录下该灰度值序列中间的值 ⑤将所记录下的中间值替代窗口中心像素点的灰度值 因为中值滤波的输出灰度值大小是由窗口的中值大小所决定的,所以中值滤

波对于窗口内脉冲噪声远远没有均值滤波敏感。因此相对于均值滤波,中值滤波可以在有效去除脉冲噪声的同时,减小更多的模糊图像。由于由于中值滤波所采用的窗口大小会直接决定去噪效果和图像模糊程度,而且图像去噪后的用途也就决定了窗口的形式。以5*5窗口为例,常见的形状如图2.1所示: 图 2.1 常见的尺寸为5*5的中值滤波窗口 尽管标准中值滤波方法称得上是现在市面上的一种最简单有效的去除椒盐噪声的方法。但是它判断像素点是否被噪声影响的机制不明确,尽管采用该方法时已经对所有像素点进行了一次滤波操作,还是会在一定程序上对图像的边缘、细节信息产生破坏。 第二节带权值的中值滤波方法 Brownrigg提出了一种改进的中值滤波方法:带权值的中值滤波方法。这个滤波的步骤和SM基本一样,不同的地方在于:WM在排序取中值的时候要在

均值滤波和中值滤波

均值滤波与自适应中值滤波的仿真与实现 摘要 图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵,然而在图像使用和传输过程中,不可避免会受到噪声的干扰,因此为了恢复原始图像,达到好的视觉效果,需要对图像进行滤波操作。根据噪声种类不同,可以采用不同的滤波方法,均值滤波是典型的线性滤波算法,能够有效滤波图像中的加性噪声,而中值滤波器是能够有效滤除脉冲噪声的非线性滤波器,但传统中值滤波去脉冲噪声的性能受滤波窗口尺寸的影响较大, 在抑制图像噪声和保护细节两方面存在矛盾。本文首先对不同均值滤波器在处理不同噪声方面的优缺点进行了分析,然后分别用中值滤波器和自适应中值滤波器对被椒盐噪声污染的图像进行了滤波操作,发现自适应中值滤波方法不仅可以有效滤波椒盐噪声,同时还可以有效地克服中值滤波器造成图像边缘模糊的缺点。 1.均值滤波 均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素点和其本身像素点。再用模板中的全体像素的平均值来代替原来像素值。均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其邻近的若干像素组成,求模板中所有像素

的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度

值g(x,y),即g(x,y)=1/m ∑f(x,y), m为该模板中包含当前像素在内的像素总个数。均值滤波能够有效滤除图像中的加性噪声,但均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊。均值滤波主要有算术均值滤波,几何均值滤波,谐波均值滤波以及逆谐波均值滤波,本文只对算术均值滤波,几何均值滤波和逆谐波均值滤波进行研究。其中几何均值滤波器所达到的平滑度可以与算术均值滤波器相比,但在滤波过程中丢失更少的图象细节。逆谐波均值滤波器更适合于处理脉冲噪声,但它有个缺点,就是必须要知道噪声是暗噪声还是亮噪声,以便于选择合适的滤波器阶数符号,如果阶数的符号选择错了可能会引起灾难性的后果。下面分别对算术平均滤波,几何平均滤波和逆谐波均值滤波对不同噪声的滤波效果进行仿真分析。

中值和均值滤波论文(附代码)

基于MATLAB 的带噪图像的中值和均值滤波 摘要:图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵。本文将纯净的图像加入椒盐噪声,然后采用中值和均值滤波的方法对其进行去噪。在图像处理中,中值和均值滤波对滤除脉冲干扰噪声都很有效。文章阐述了中值和均值滤波的原理、算法以及在图像处理中的应用。MATLAB 是一种高效的工程计算语言,在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。 关键词:图像,中值滤波,均值滤波,去噪,MATLAB 1. 引言 20世纪20年代,图像处理首次得到应用。上个世纪60年代中期,随着计算机科学的发展和计算机的普及,图像处理得到广泛的应用。60年代末期,图像处理技术不断完善,逐渐成为一个新兴的学科。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。 为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。根据噪声频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。经典的去噪方法有:空域合成法,频域合成法和最优合成法等,与之适应的出现了许多应用方法,如均值滤波器,中值滤波器,低通滤波器,维纳滤波器,最小失真法等。这些方法的广泛应用,促进数字信号处理的极大发展,显著提高了图像质量。 2. 中值滤波 中值滤波是一种典型的低通滤波器,属于非线性滤波技术,它的目的是保护图像边缘的同时去除噪声。所谓中值滤波,是指把以某点(x,y )为中心的小窗口内的所有象素的灰度按从大到小的顺序排列,若窗口中的象素为奇数个,则将中间值作为(x ,y)处的灰度值。若窗口中的象素为偶数个,则取两个中间值的平均值作为(x ,y)处的灰度值。中值滤波对去除椒盐噪声很有效。中值滤波器的缺点是对所有象素点采用一致的处理,在滤除噪声的同时有可能改变真正象素点的值,引入误差,损坏图像的边缘和细节。该算法对高斯噪声和均匀分布噪声就束手无策。 设有一个一维序列1f ,2f ,…,n f ,取窗口长度为m(m 为奇数),对此序列

11种经典软件滤波的原理和实现58239

11种经典软件滤波的原理和实现 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、缺点: 相位滞后,灵敏度低

中值滤波&均值滤波

数字图像处理作业(中值滤波&均值 滤波) 学院:电子信息工程学院 专业:控制工程 姓名:苏良碧

1中值滤波 1.1、中值滤波原理: 中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)},其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。 1.2、实现方法: (1)通过从图像中的某个采样窗口取出奇数个数据进行排序; (2)用排序后的中值取代要处理的数据即可; 1.3、matlab程序(zhongzhilvbo.m) clear; close all; I=imread('I3_256.bmp'); figure,imshow(I),title('原始图象'); J=imnoise(I,'salt&pepper',0.02); imshow(J);title('噪声干扰图像') X=J;a=3;b=3;%3*3的邻域 k=floor(a*b/2)+1;%求出中值,即k=5 [M,N]=size(X);%求出输入图像的行数M和列数N uint8Y=zeros(M,N); funBox=zeros(a,b); temp=zeros(a*b); %X(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素 for i=1:M-a for j=1:N-b funBox=X(i:i+a,j:j+b);%把图像中的一个3*3领域赋给funbox temp=funBox(:);%把领域中的每个元素赋给temp tempSort=sort(temp);%对其中的像素值进行排序 Y(i,j)=tempSort(k);%将模板的中值(k=5)赋给模板中

均值滤波 中值滤波 直方图均衡

实验报告 一.实验目的 对图像进行空域增强,实现均值滤波、中值滤波、直方图均衡。 二.实验内容 对加入椒盐噪声的图像进行均值滤波、中值滤波,对图像实现直方图均衡,通过改变图像的直方图来改变图像中像素的灰度,以达到图像增强的目标。 三.实验原理 均值滤波的原理 均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。 均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(,) x y,选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(,) u x y,即 x y,作为处理后图像在该点上的灰度值(,)

1 (,)(,)u x y f x y m = ∑,m 为该模板中包含当前像素在内的像素总个数。 中值滤波的原理 中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。中值滤波的目的是保护图像边缘的同时去除噪声。 在一维的情况下,中值滤波器是一个含有奇数个像素的窗口,在处理之后,将窗口正中的像素灰度值用窗口内各像素灰度值的中值来代替。设有一个维序列 12,,...n f f f ,取窗口长度为奇数m ,对此序列进行中值滤波,就是从输入序列中 相续抽出m 个数,,,,,i v i i v f f f -+,其中为窗口的中心值(1)/2v m =-,再将这 m 个点的数值按其数值大小排列,取其序号为正中间的那个数作为滤波输出。中 值滤波表达式为: {}v i i v i i f f f Med F +-=,,,, 对二维序列{X i,j }的中值滤波,滤波窗口也是二维的,但这种二维窗口可以有各种不同的形状,如线状、方形、圆形、十字形、圆环形等。二维中值滤波可表示为: {}为滤波窗口,A x Med F j i A j i ,,= 在实际使用窗口时,窗口的尺寸一般先用33?再取55?逐渐增大,直到其滤波效果满意为止。 由于中值滤波是非线性运算,在输入和输出之间的频率上不存在一一对应关系,故不能用一般线性滤波器频率特性的研究方法。设G 为输入信号频谱,F 为输出信号频谱,定义F G H /=为中值滤波器的频率响应特性,实现表明H 是与G 有关,呈不规则波动不大的曲线,其均值比较平坦,可以认为信号经中值滤波后,传输函数近似为1,即中值滤波对信号的频域影响不大,频谱基本不变。

中值滤波与均值滤波

四川大学电气信息学院 微机原理与接口技术 实验报告 实验名称: 中值滤波与均值滤波 实验地点: 二基楼A514 年级: 2014级 姓名: 宋雅婕 学号: 20 实验时间:2016年5月27日 一、实验内容 1.在数据段设变量数组TADA1与TADA2,并存入假设的两组采样值作为某一 采样周期的采样值。

⒉ 设计中值滤波程序求出测量值。 ⒊ 设计均值滤波程序求出测量值。 ⒋ 每个程序应能将结果显示在屏幕上。 ⒌ 在计算机上调试程序,并获得正确结果。 二、 程序框图 1. : 2. 中值滤波:

三、程序清单 1、中值滤波: DATAS SEGMENT TADA1 DB 65,72,33,84,43 N EQU $-TADA1 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX ;给DS段赋值 MOV CX,N-1 ;设置N-1轮比较次数 MOV DX,1 ;设置比较的轮次 AG: CALL MP ;调用子程序 INC DX LOOP AG MOV SI,0

XOR AX,AX ;将AX清零 MOV AL,TADA1[SI+(N-1)/2] ;取出中值 MOV BL,10 DIV BL PUSH AX ADD AL,30H MOV DL,AL MOV AH,2 INT 21H ;输出十进制数的高位 POP AX ADD AH,30H MOV DL,AH MOV AH,2 INT 21H ;输出十进制数的低位 MOV AH,4CH INT 21H MP PROC ;冒泡法(从小到大排列) PUSH CX MOV CX,N SUB CX,DX MOV SI,0 RECMP: MOV AL,TADA1[SI] CMP AL,TADA1[SI+1] ;比较相邻两数据的大小 JLE L1 ;若前者小于等于后者,跳转到L1

数字滤波器原理

4.2经典数字滤波器原理 数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。 数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。 4.2.1数字滤波器的概念 若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器。当用硬件实现一个DF时,所需的元件是乘法器、延时器和相加器;而用MATLAB软件实现时,它仅仅需要线性卷积程序就可以实现。众所周知,模拟滤波器(Analog Filter,AF)只能用硬件来实现,其元件有电阻R,电感L,电容C及运算放大器等。因此,DF的实现要比AF容易得多,并且更容易获得较理想的滤波性能。 数字滤波器的作用是对输入信号进行滤波,就如同信号通过系统一样。对于线性时不变系统,其时域输入输出关系是: (4-1)若y(n)、x(n)的傅里叶变化存在,则输入输出的频域关系是: (4-2) 当输入信号x(n)通过滤波器h(n)后,其输出y(n)中不再含有的频率成分,仅使的信号成分通过,其中是滤波器的转折频率。 4.2.2经典数字滤波器的分类 经典数字滤波器按照单位取样响应h(n)的时域特性可分为无限冲激响应(IIR,I nfinite Impulse Response)系统和有限冲激响应(FIR,Finite Impulse Respo nse)系统。如果单位取样响应是时宽无限的h(n),则称之为IIR系统;而如果单位取样响应是时宽有限的h(n),,则称之为FIR系统。

电源滤波器的工作原理及其作用

电源滤波器的工作原理及其作用 引言:电源滤波器,又名“电源EMI滤波器”,或是“EMI电源滤波器”,是一种无源双向网络,是一种对电源中特定频率的频点或该频点以外的频率进行有效滤除的电气设备。当我们选用电源滤波器时,应主要考虑三个方面的指标;首先是电压、电流,其次是插入损耗,最后是结构尺寸。由于滤波器内部一般是经过灌封处理的,因此环境特性不是主要问题。但是所有的灌封材料和滤波电容器的温度特性对电源滤波器的环境特性有一定的影响。 电源滤波器是一种无源双向网络,它的一端是电源,另一端是负载。 电源滤波器的原理就是一种——阻抗失配网络:电源滤波器输入、输出侧与电源和负载侧的阻抗失配越大,对电磁干扰的衰减就越有效。 很多人认为电源线滤波器的作用是使设备能够满足电磁兼容标准中对传导发射和传导敏感度的要求,电源线滤波器对抑制设备产生较强的辐射干扰方面也很重要。 电源线滤波器的作用是防止设备本身产生的电磁干扰进入电源线,同时防止电源线上的干扰进入设备。电源线滤波器是一种低通滤波器,它允许直流或50Hz的工作电流通过,而不允许频率较高的电磁干扰电流通过。电源线滤波器是双向的,它既能防止电网上的干扰进入设备对设备产生不良影响,使设备满足传导敏感度的要求;又能防止设备内的电磁干扰通过。电源线传到电网上,使设备满足传导发射的要求(图F-3)。能够产生较强干扰的设备和对外界干扰敏感的设备都要使用电源线滤波器。能够产生强干扰的设备有:含有脉冲电路(微处理器)的设备、使用开关电源的设备、使用可控硅的设备、变频调速设备、含有马达的设备等。敏感电路如:使用微处理器的设备、小信号模拟电路等。 关键字:电源滤波器工作原理https://www.360docs.net/doc/d34951628.html,

数字滤波器的一般概念

数字滤波器的一般概念 滤波器可广义地理解为一个信号选择系统。它让某些信号成分通过又阻止或衰减另一些成分。在更多地情况下,被窄义地理解为选频系统,如低通、高通、带通、带阻。频域与时域均衡器也是一种滤波器,通信系统的传输媒介如明线、电缆等从特性看也是滤波器。滤波器如系统一样可分为三类:模拟滤波器、采样滤波器和数字滤波器.模拟滤波器(AF)可以是由RLC构成的无源滤波器,也可以是加上运放的有源滤波器,它们是连续时间系统。采样滤波器(SF)由电阻、电容、电荷转移器件、运放等组成,属于离散时间系统,其幅度是连续的。开关电容滤波器、电荷耦合滤波器军属这类滤波器。数字滤波器(DF)由加法器、乘法器、存储延迟单元、时钟脉冲滤波器及逻辑单元等数字电路构成。它精度高,稳定性好,不存在阻抗匹配问题,可以时分复用,能够完成一些模拟滤波器完成不了的滤波任务。其缺点是需要抽样、量化、编码,以及手时钟频率所限,所能处理的信号最高频率还不够高。另外,由于有限字长效应会造成域设计值的频率偏差、量化和运算噪声及极限环振荡。 本章讨论的是数字滤波器。 5.1.1 数字滤波器的分类 下面从各种不同角度对数字滤波器分类: 1.按冲激响应h(n)的长度分类 分为有限冲激响应(FIR)DF和无限冲激响应(IIR)DF两种。冲 激响应本来是用于模拟系统,指系统对冲激函数δ(t)的响应。 发展到数字滤波器后,工程上仍沿用这个名称,与单位抽样响应和 单位脉冲响应的说法通用。 FFR DF的冲激响应h(n)为有限长序列,其差分方程为 y(n)= (5.1) 系统函数为 H(z)= (5.2) IIR DF 的冲激响应h(n)为无限长序列,其差分方程为

图像处理——均值滤波+中值滤波(Matlab)讲课讲稿

题目:均值滤波和中值滤波 在自己的证件照中加入椒盐噪声、高斯白噪声。 分别用3*3、5*5、7*7的均值滤波器和中值滤波器进行滤波。 处理过程 1.用imnoise函数在图像中分别加入椒盐噪声和高斯白噪声; 2.均值滤波:用fspecial函数创建各模板大小的均值滤波器,并用imfilter函数进行 滤波。 中值滤波:直接用matlab提供的medfilt2中值滤波器进行滤波即可。 处理结果 程序清单 (1)均值滤波 rgb=imread('photo.jpg'); J1=imnoise(rgb,'salt & pepper',0.02); J2=imnoise(J1,'gaussian',0,0.01); h1=fspecial('average',[3,3]); h2=fspecial('average',[5,5]); h3=fspecial('average',[7,7]); rgb1=imfilter(J2,h1); rgb2=imfilter(J2,h2); rgb3=imfilter(J2,h3); figure; subplot(2,3,1);imshow(rgb) title('原图像'); subplot(2,3,2);imshow(J2) title('加入噪声后的图像'); subplot(2,3,4);imshow(rgb1) title('3*3均值滤波图像'); subplot(2,3,5);imshow(rgb2) title('5*5均值滤波图像'); subplot(2,3,6);imshow(rgb3) title('7*7均值滤波图像'); (2)中值滤波 rgb=imread('photo.jpg'); J1=imnoise(rgb,'salt & pepper',0.02); J2=imnoise(J1,'gaussian',0,0.01); J3=rgb2gray(J2); rgb1=medfilt2(J3,[3 3]);

FIR滤波器的原理及设计

选题2 实验讲义 实验名称:基于分布式算法的FIR 滤波器设计 1.数字滤波器基础知识 数字滤波是信号与信号处理领域的一个重要分支,在语音图像处理、模式识别、谱分析、无线通信等领域都有着非常广泛的应用。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而达到修正时域或频域中信号属性的目的。数字滤波器就是用于完成这种信号滤波功能,用有限精度算法来实现的一种离散时间线性时不变(LTI )系统。相比于模拟滤波器,数字滤波器具有以下优点:(1)数字滤波器的频域特性容易控制,性能指标优良;(2)数字滤波器可以工作在极低的频率,可以方便地实现模拟滤波器难以实现的线性相位系统;(3)数字滤波器工作稳定,一般不会受到外部环境的影响;(4)数字滤波器的灵活性和可重用性高,只需要简单编程就可以修改滤波器的特性,设计周期短。数字滤波器的实现可以采用专用DSP 芯片,通过编写程序,利用软、硬件结合完成滤波器设计,也可以采用市面上通用的数字滤波器集成电路来实现,但这两种方法无法适应高速应用场合。随着集成电路技术的高速发展,FPGA 应用越来越普及,FPGA 器件具有芯片密度大、执行效率高,速度快,集成度高等优点,用FPGA 芯片作为滤波器的设计载体,可以实现高速信号滤波功能。 1.1 FIR 数字滤波器特点 数字滤波器通常分为IIR (无限冲激响应)和FIR(有限冲激响应)两种。FIR 滤波器具有以下特点:(1)可以做成严格的线性相位,同时又可以具有任意的幅度特性(2)单位冲激响应是有限长的,所以一定是稳定的,因此在实际中得到广泛的应用。 1.2 FIR 滤波器结构 设FIR 滤波器的单位冲激响应为)(n h ,10-≤≤N n , 系统函数 ∑-=-= 1 )()(N n n z n h Z H 差分方程形式为:∑-=-=1 )()()(N k k n x k h n y (1) 基本结构(直接型):

滤波器的原理和作用

一:滤波器的分类 滤波器是由集中参数的电阻、电感、和电容,或分布参数的电阻、电感和电容构成的一种网络。这中网络允许一些频率通过,而对其他频率成分加以抑制。 广低通(LPF)(低频滤波器 从截至频率分]高通(HPF)从工作频率分< 中频滤波器 J带通(BHF)I高频滤波器 从使用器件上分有源滤波器和无源滤波器 无源又分:RC滤波器和LC滤波器。RC滤波器又分为低通RC, 高通RC和带通RC和带阻RC。LC同理 有源又分为:有源高通、低通、带通、带阻滤波器。 二:滤波器的参数 1插入损耗。用dB来表示,分贝值越大,说明抑制噪干扰的能力就越强。插入损耗和频率有直接的关系。l L=20lg(U1/U2)U1为信号源输出电压,U2为接入滤波器后,在其输出端测得的信号源电压 2、截至频率。滤波器的插入损耗大于3dB的频率点称为滤波器的截至频率,当频率超过截止频率时,滤波器就进入了阻带,在阻带内干扰信号会受到较大的衰减。 3、额定电压。滤波器正常工作时能长时间承受的电压。绝对要区分交流和直流。 4、额定电流。滤波器在正常工作时能够长时间承受的电流。 5、工作温度范围。-55---125C X电容

6、漏电流。安规电容 Y电容选择容值和耐压值要非常慎重, 漏电流不能超过0.35mA或0.7mA,总容值不能超过4700pF 7、承受电压。能承受的瞬间最高电压。 三:滤波器的结构 n型,L型,T型 电源滤波器在实际应用中,为使它有效的抑制噪声应合理配接。 组合滤波器的网络结构和参数,才成得到较好的EMI抑制效果。当 滤波器的输出阻抗与负载阻抗不相等式,EMI信号将其输入端和输出端都产生反射。这时电源滤波器对EMI噪声的衰减,就与滤波器固有的插入损耗和反射损耗有关,可以用这点更有效抑制EMI噪声。 在实际设计和选择使用EMI滤波器是,要注意滤波器的正确连接,以造成尽可能大的反射,是滤波器在很宽的频率范围内造成较大的阻抗失配,从而得到更好的EMI抑制性能。当然滤波器对噪声的抑制和取决于扼流圈的阻抗Z F的大小。 由于差模电感滤波器很容易产生磁饱和,且电感滤波器的体积也比较大,因此目前很少使用,基本上都用共模滤波器来代替。实际应用中共模电感滤波器的两个线圈之间也存在很大的漏感,因此,它对 差模干扰信号也具有一定的滤波作用。同时还有电路中的分布电容和分布电感以及各个线圈电感值的差值都可以抑制差模信号。 四:滤波器的结构初步设计 根据EMC 的定义和原理,EMC 滤波电路不但要抑制本电子设备产生

相关文档
最新文档