Matlab频域滤波练习

时间:2019-05-15 01:02:11下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Matlab频域滤波练习》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Matlab频域滤波练习》。

第一篇:Matlab频域滤波练习

%% fftshift 对数变换,所应用的图片本身很简单,就只有黑白2种颜色 clc clear

f = imread('.imagesdipum_images_ch04Fig0403(a)(image).tif');imshow(f)

title('原始图像')

imfinfo('.imagesdipum_images_ch04Fig0403(a)(image).tif');%此处如果用Imfinfo(f)就会报错fft

%没有居中的傅里叶频谱

F=fft2(f);%进行二维快速傅里叶变换,其结果和DFT的一样,只是计算机的计算速度变快了而已,因而叫fft S=abs(F);%求傅里叶变换后的幅值 figure,subplot(121),imshow(S,[])

title('傅里叶频谱图像1');%title函数一定要放在坐标显示的下一句才有效。

subplot(122),imshow(S),title('傅里叶频谱图像2')

%居中的傅里叶频谱

Fc=fftshift(F);%将频谱图像原点移至图像矩形中间 S1=abs(Fc);

figure,subplot(121),imshow(S1,[]);%加了第二个参数后显示的图像正常

subplot(122),imshow(S1);%当没有第二个参数时,显示的图像为竖线加一些孤立的黑点,why?

%使用对数后视觉增强后的傅里叶频谱 S2=log(1+S1);imshow(S2,[]);

%%用fftshift对数变换显示稍复杂的图片

clc clear

f=imread('.imagesdipum_images_ch04Fig0409(a)(bld).tif');imshow(f);

f=double(f);%其实这句不要试过对后面的变换结果也没有影响 F=fft2(f);

Fc=fftshift(F);S=abs(Fc);

S2=log(1+S);%如果没有这句的话,那么根本看不到细节的图,所以一定要用对数压缩增加对比度

figure,imshow(S2,[])

%%试一下ifft功能

clc clear

f=imread('.imagesdipum_images_ch04Fig0409(a)(bld).tif');imshow(f);

f=double(f);f(1:8,1:8)F=fft2(f);

f=ifft2(F);%取傅里叶变换后的反傅里叶变换,直接是整数,并不需要像某些代码一样取real部分 f(1:8,1:8)

%%先0扩充再滤波 clc clear f=imread('.imagesdipum_images_ch04Fig0405(a)(square_original).tif');imshow(f);

[M N]=size(f);

F=fft2(f);%没有经过0扩充直接计算fft sig=10;%高斯滤波参数

H=lpfilter('gaussian',M,N,sig);

G=H.*F;%加了.号的乘法表示对应每个元素都相乘,没加.号的乘法说明是真正的矩阵乘法

g=real(ifft2(G));

figure,imshow(g,[]);

PQ=paddedsize(size(f));%PQ为0扩展的面积,这里设置为与图像的大小相同?这里size(f)的大小为256*256

Fp=fft2(f,PQ(1),PQ(2));%如果fft2有3个参数的话,则是进行了0扩展了

Hp=lpfilter('gaussian',PQ(1),PQ(2),2*sig);%构造高斯滤波器 Gp=Hp.*Fp;%对0扩展后的图像进行高斯滤波 gp=real(ifft2(Gp));figure,imshow(gp,[])'

gpc=gp(1:size(f,1),1:size(f,2));%取gp图像的1到f的第一维的行,1到f第二维的列部分,即取与图像大小相同的部分

figure,imshow(gpc,[]);%此时显示的结果应该与g图像一样。

%直接使用空间域滤波

h=fspecial('gaussian',15,7);gs=imfilter(f,h);

figure,imshow(gs,[])

%% clc clear

f=imread('.imagesdipum_images_ch04Fig0405(a)(square_original).tif');f=double(f);imshow(f);

PQ=paddedsize(size(f));%size(f)的大小为256*256

sig=10;

H = lpfilter('gaussian',PQ(1),PQ(2),2*sig);% PQ=[512 512] figure,mesh(abs(H(1:10:512,1:10:512)));%画出滤波器的三维空间图 g=dftfilt(f,H);

figure,imshow(g,[])

%%空间滤波和频域滤波的比较

clc clear

f=imread('.imagesdipum_images_ch04Fig0409(a)(bld).tif');imshow(f);

F=fft2(f);

S=fftshift(log(1+abs(F)));

S=gscale(S);%用gscale来进行将数据缩放到默认值0~255 figure,imshow(S);

h=fspecial('sobel');%构造sobel空间滤波器 figure,freqz2(h);%查看滤波器的图形

PQ=paddedsize(size(f));

H=freqz2(h,PQ(1),PQ(2));%将空间滤波器h转换成频域滤波器H,但是滤波器的原点在矩阵的中心处

H1=ifftshift(H);%原点迁移到左上角

figure,mesh(abs(H1(1:20:1200,1:20:1200)));figure,subplot(121),imshow(abs(H),[]);subplot(122),imshow(abs(H1),[]);

gs=imfilter(double(f),h);%空间滤波,其实就是边缘检测 gf=dftfilt(f,H);%频域滤波

subplot(121),imshow(gs,[]),subplot(122),imshow(gf,[]);%将2种滤波结果显示出来

figure,imshow(abs(gs)>0.2*abs(max(gs(:))));%只显示最大值的20%的边缘

figure,imshow(abs(gf)>0.2*abs(max(gf(:))));

d=abs(gs-gf);a=max(d(:))b=min(d(:))

%%构造低通滤波器

clc clear

f=imread('.imagesdipum_images_ch04Fig0413(a)(original_test_pattern).tif');

imshow(f)

F1=fft2(f);

imshow(log(1+abs(fftshift(F1))),[]);%直接显示取对数后的傅里叶变换

PQ=paddedsize(size(f));

[U V]=dftuv(PQ(1),PQ(2));%这个函数还真不明白什么意思,help中解释的是计算网格频率矩阵U和V,这2个矩阵是用来频率滤波的 D0=0.05*PQ(2);

F=fft2(f,PQ(1),PQ(2));%用0扩充大小为PQ(1)*PQ(2),然后fft变换 figure,imshow(log(1+abs(fftshift(F))),[]);%显示0扩充后的fft变换图

H=exp(-(U.^2+V.^2)/(2*(D0^2)));%构造频域滤波算子 figure,imshow(fftshift(H),[]);%显示平移后滤波器算子 g=dftfilt(f,H)

figure,imshow(g,[]);

%%绘制一个低通滤波器的mesh图 clc clear

H1=lpfilter('gaussian',500,500,50)%构造一个中心点在左上角的高斯低通滤波器,size为500*500

H2=fftshift(H1);%将中心点平移至矩阵中心

mesh(H1(1:10:500,1:10:500)),figure,mesh(H2(1:10:500,1:10:500));%绘出2者的mesh图

axis([0 50 0 50 0 1]);%xy轴范围0~50,z轴范围0~1

figure,subplot(121),imshow(H1,[]),subplot(122),imshow(H2,[]);%绘出2者的灰度图

%%绘制一个低通滤波器的mesh图 clc clear

H=fftshift(hpfilter('ideal',500,500,100));%构造理想的高通滤波器 mesh(H(1:10:500,1:10:500));axis([1 50 1 50 0 1]);colormap([0 0 0]);%mesh网格全部用黑色画 axis off%关掉坐标轴显示 grid off%关掉网格显示 figure,imshow(H,[])

%%使用高通滤波器

clc clear

f=imread('.imagesdipum_images_ch04Fig0413(a)(original_test_pattern).tif');

imshow(f)

title('原始图像')

PQ=paddedsize(size(f));D0=0.05*PQ(1);

H=hpfilter('gaussian',PQ(1),PQ(2),D0);g=dftfilt(f,H);

figure,imshow(g,[])

%%将高通滤波和直方图均衡结合起来

clc clear

f=imread('.imagesdipum_images_ch04Fig0419(a)(chestXray_original).tif');imshow(f)

title('原始图像')

PQ = paddedsize(size(f));D0 = 0.05*PQ(1);

HBW=hpfilter('btw',PQ(1),PQ(2),D0,2);%构造高通Butterworth滤波器,截断频率为D0 H=0.5+2*HBW;

gdw=dftfilt(f,HBW);

gbw=gscale(gdw);%将灰度值自动缩放到0~255之间 figure,subplot(121),imshow(gdw,[]);title('高通滤波后图像');

gbe=histeq(gbw,256);%直方图均衡化 subplot(122),imshow(gbe,[]);title('高通滤波且直方图均衡化后图像');

ghf=dftfilt(f,H);%H是HBW的线性变换 ghf=gscale(ghf);

figure,subplot(121),imshow(ghf,[]);title('高频强调滤波后图像');

ghe=histeq(ghf,256);

subplot(122),imshow(ghe,[]);title('高频强调且均衡化后图像');

%%fftshift和ifftshift的加深理解 clc clear

A=[2 0 0 1

0 0 0 0

0 0 0 00 0 4]

B=fftshift(A)%中心点平移

C=fftshift(fftshift(A))%还原成A

D=ifftshift(fftshift(A))%也同样还原成A E=ifftshift(A)%平移结果和B一样

第二篇:实验8 医学图像频域滤波

实验8 医学图像频域滤波与图像复原

实验目的:

1.熟悉医学图像离散傅里叶变化的原理和方法;

2.掌握医学图像频域滤波的原理;

3.掌握使用Matlab中的函数实现医学图像进行频域滤波的方法;

4.掌握使用Matlab中的图像退化与复原的方法;

实验内容:

一、医学图像频域滤波方法与实现

使用imnoise给图像BMRI1_24bit.bmp添加概率为0.2的椒盐噪声,对原图像和加噪声后的图像进行傅氏变换并显示变换后的移中频谱图,然后分别使用Butterworth低、高通滤波器对噪声图像进行低通和高通滤波,显示D0为5,10,20,40时的滤波效果图,并说明存两种滤波效果中所存在的差异及原因。

二、医学图像退化及复原

1、产生带运动和噪声的退化图像

首先使用fspecial 产生一个了len=7,theta=45的移动退化滤波器,然后使用产生的移动退化滤波器作为imfilter的滤波模板,边界填充选项(boundary_options)选择‘circular’,为图像BMRI1_24bit.bmp添加一个移动退化,再使用imnoise产生一个均值为0,方差为0.001的高斯噪声,并将高斯噪声叠加到已经产生移动退化的图像MRIBrain_10.bmp上。

2、对退化图像进行复原

使用DECONVWNR函数对产生退化的MRIBrain_10.bmprp按下面的四种方法进行复原。

(1)省略DECONVWNR中参数NSR;

(2)NSR取一个大于0的数值;

(3)NSR取一个等于1的数值;

(4)NSR取一个大于1的数值;

通过比较上面四种方法的结果,指出哪一种方法的效果最好。

提示:当省略NSR时表示进行直接逆滤波,不省略时表示进行维纳滤波

第三篇:基于matlab的语音信号滤波处理——数字信号处理课程设计

数字信号处理课程设计

题目: 学院: 专业: 班级: 学号: 姓名: 指导教师:

基于matlab的语音信号滤波处理

物理与电子信息学院电子信息工程

摘要:

语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。

Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境!

本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。

目录

1.设计内容……………………………………………………………4 2.设计原理……………………………………………………………4 2.1语音信号的时域分析…………………………………………4 2.2语音信号的频域分析…………………………………………5 3.设计过程……………………………………………………………5 3.1实验程序源代码………………………………………………6

3.1.1原语音信号时域、频域图………………………………6

3.1.2低通滤波器的设计………………………………………6

3.1.3高通滤波器的设计………………………………………7

3.1.4带通滤波器的设计………………………………………8

3.1.5语音信号的回放………………………………………9 3.2调试结果描述…………………………………………………10 3.3所遇问题及结果分析…………………………………………15

3.3.1所遇主要问题…………………………………………16

3.3.2结果分析………………………………………………16 4.体会与收获…………………………………………………………17 5.参考文献……………………………………………………………17

1.设计内容:

1.首先录制好一段自己的语音。

2.用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。3.用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。4.用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异。

2.设计原理:

语音信号时一种非平稳的时变信号,它带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。语音信号处理可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,崎岖的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。2.1语音信号的时域分析

信号提取:通过图形用户界面上的菜单功能按键采集电脑上的一段音频信号,完成音频信号的频率,幅度等信息的提取,并得到该语音信号的波形图。

信号调整:在设计的用户图形界面下对输入的音频信号进行各种变化,如变化幅度、改变频率等操作,以实现对语音信号的调整。

2.2语音信号的频域分析

信号的傅里叶表示在信号的分析和处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅里叶分析方法能完善地解决许多信号分析和处理问题。另外,傅里叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。

由于语音信号时随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。身份到系统的频率响应及激励源都是随时间变化的,因此一般标准的傅里叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。

1.信号变换:在用户图形界面西啊对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图和倒谱图。

2.信号滤波:滤除语音信号中的噪音部分,可以采用抵用滤波、高通滤波、带通滤波,并比较各种滤波后的效果。

3.设计过程:

3.1实验程序源代码(原语音信号存放在e:下):

3.1.1.原语音信号的时域、频域图

[x1,fs,bits]=wavread('e:txwz.wav');%sound(x1,fs,bits);figure(1);

plot(x1);%做原始语音信号的时域图形 title('原始语音信号');xlabel('时间 t');ylabel('音量 n');figure(2);y1=fft(x1);%做length(x1)点的FFT y1=fftshift(y1);%平移,是频率中心为0 derta_fs = fs/length(x1);%设置频谱的间隔,分辨率 plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%画出原始语音信号的频谱图

title('原始语音信号的频谱');grid on;3.1.2低通滤波器的设计

%低通滤波:截止频率4000,阻带衰减20dB,过渡带宽0.1π

fc1=4000;N1=2*pi*0.9/(0.1*pi)wc1=2*pi*fc1/fs;if rem(N1,2)==0 N1=N1+1;end Window= boxcar(N1+1);%长度为N1的矩形窗Window b1=fir1(N1,wc1/pi,Window);

figure(3);freqz(b1,1,512);title('低通滤波器的频率响应');x1_low = filter(b1,1,x1);%对信号进行低通滤波 figure(4);plot(x1_low);title('信号经过低通滤波器(时域)');figure(5);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_low))));title('信号经过低通滤波器(频域)');3.1.3高通滤波器的设计

%高通滤波:截止频率4000,阻带衰减40dB,过渡带宽0.1π

fc2=4000;N2=2*pi*3.1/(0.1*pi)wc2=2*pi*fc1/fs;N2=N2+mod(N2,2);Window=hanning(N2+1);b2=fir1(N2,wc2/pi,'high',Window);figure(6);freqz(b2,1,512);%数字滤波器频率响应 title('高通滤波器的频率响应');

x1_high = filter(b2,1,x1);%对信号进行高通滤波 figure(7);plot(x1_high);title('信号经过高通滤波器(时域)');figure(8);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_high))));title('信号经过高通滤波器(频域)')3.1.4带通滤波器的设计

%带通滤波:下截止频率4000,上截止频率8000,阻带衰减20dB,过渡带宽度0.1π

f1=4000;f2=8000;%带通滤波器的通带范围 w1=2*pi*f1/fs;w3=w1+0.1*pi;w2=2*pi*f2/fs;w4=w2-0.1*pi;w=[(w1+w3)/2,(w2+w4)/2];B=0.1*pi;N3=ceil(2*0.9*pi/B);N3=N3+mod(N3,2);Window=boxcar(N3+1);b3=fir1(N3,w/pi,'stop',Window);%带通滤波器

figure(9);freqz(b3,1,512);%数字滤波器频率响应 title('带通滤波器的频率响应');x1_daitong = filter(b3,1,x1);%对信号进行带通滤波 figure(10);plot(x1_daitong);title('信号经过带通滤波器(时域)');figure(11);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_daitong))));title('信号经过带通滤波器(频域)');3.1.5语音信号的回放(分别执行)

sound(x1,fs,bits);%原始信号

sound(x1_low,fs,bits);%经过低通滤 sound(x1_high,fs,bits);%经过高通滤波 sound(x1_daitong,fs,bits);%经过带通滤波

3.2调试结果描述

原始语音信号的时域图形:

原始语音信号频谱:

低通滤波器的频率响应:

信号经过低通滤波后的时域波形:

信号经过低通滤波后的频域波形

高通滤波器的频率响应:

信号经过高通滤波后的时域波形:

信号经过高通滤波后的频域波形:

带通滤波器的频率响应:

信号经过带通滤波后的时域波形:

信号经过带通滤波后的频域波形:

3.3所遇问题及结果分析

3.3.1所遇主要问题

1.在高通与带通滤波器的设计时老是报错,但同样的用法在低通滤波器中就可以实现

b2=fir1(N2,wc2/pi,'high',Window);??? Error using ==> fir1 The window length must be the same as the filter length.其要求在fir函数中所选用的窗长要和滤波器长度一致。但在参考书上指出,滤波器阶数必须为窗长加1。经上网查询后,原来高通、带阻滤波器的阶数应该控制为奇数,因为如果阶数为偶数,则在π点必有一零点,这对于高通带阻来说是不允许的,故取阶数为奇数,而你FIR1滤波器阶数为M+1阶,所以你的M必须为偶数,所以可以将程序中去窗长算法由原程序的: N2=2*pi*0.9/(0.1*pi);if rem(N2,2)==0 N2=N2+1;End 和: N3=2*pi*0.9/(0.1*pi);if rem(N3,2)==0 N3=N3+1;End 改为了:

N2=N2+mod(N2,2);和: B=0.1*pi;(B为过渡带宽)N3=ceil(2*0.9*pi/B);N3=N3+mod(N3,2);2.在设计高通滤波器时先是使用的矩形窗,用矩形窗验证出来的结果中低频语音分量依旧很强,不能将其全部抑制在0,之后换窗,选着了最小衰减可以到达53dB的海明窗,再次试验,非常成功!3.3.2结果分析

经过回放三个不同类型滤波器输出的语音信号,并与原语音信号对比得到了如下结论。

语音高频成分音质非常尖锐,齿音中,声音有些暗淡。语音低频成分音质沉稳,空间感觉强,语音浑厚。语音中频成分音质有力度,有通透感。

4.体会与收获

以往都是通过课本来感性的认知语音信号,通过本次的课程设计,让我对语音信号有了一个较为实际的认识。于此同时,让我再次把数字信号处理及数字滤波器的设计方法重新进行了复习和学习。而对于Matlab,也再次让我感受到了其功能的强大。最为重要的是,本次课 17

程设计让我重新审视了学习的过程:只去做实验是不行的,首先还是要思考,遇到了问题查书籍,百度搜索也只是一种手段,更加重要的是想,再理解,只有这样才能真正的做好实验。

5.参考文献

《数字信号处理》钱同惠、百度文库

第四篇:滤波技术

有关EMI的一点常识

滤波技术是抑制干扰的一种有效措施,尤其是在对付开关电源EMI信号的传导干扰和某些辐射干扰方面,具有明显的效果。任何电源线上传导干扰信号,均可用差模和共模干扰信号来表示。差模干扰在两导线之间传输,属于对称性干扰;共模干扰在导线与地(机壳)之间传输,属于非对称性干扰。在一般情况下,差模干扰幅度小、频率低、所造成的干扰较小,共模干扰幅度大、频率高,还可以通过导线产生辐射,所造成的干扰较大。因此,欲削弱传导干扰,把EMI信号控制在有关EMC标准规定的极限电平以下。

除抑制干扰源以外,最有效的方法就是在开关电源输入和输出电路中加装EMI滤波器。一般设备的工作频率约为10~50 kHz。EMC很多标准规定的传导干扰电平的极限值都是从10 kHz算起。对开关电源产生的高频段EMI信号,只要选择相应的去耦电路或网络结构较为简单的EMI滤波器,就不难满足符合EMC标准的滤波效果。

瞬态干扰

是指交流电网上出现的浪涌电压、振铃电压、火花放电等瞬间干扰信号,其特点是作用时间极短,但电压幅度高、瞬态能量大。瞬态干扰会造成单片开关电源输出电压的波动;当瞬态电压叠加在整流滤波后的直流输入电压VI上,使VI超过内部功率开关管的漏-源击穿电压V(BR)DS时,还会损坏TOPSwitch芯片,因此必须采用抑制措施。

通常,静电放电(ESD)和电快速瞬变脉冲群(EFT)对数字电路的危害甚于其对模拟电路的影响。静电放电在5 — 200MHz的频率范围内产生强烈的射频辐射。此辐射能量的峰值经常出现在35MHz — 45MHz之间发生自激振荡。许多I/O电缆的谐振频率也通常在这个频率范围内,结果,电缆中便串入了大量的静电放电辐射能量。

当电缆暴露在4 — 8kV静电放电环境中时,I/O电缆终端负载上可以测量到的感应电压可达到600V。这个电压远远超出了典型数字的门限电压值0.4V。典型的感应脉冲持续时间大约为400纳秒。将I/O电缆屏蔽起来,且将其两端接地,使内部信号引线全部处于屏蔽层内,可以将干扰减小60 — 70dB,负载上的感应电压只有0.3V或更低。

电快速瞬变脉冲群也产生相当强的辐射发射,从而耦合到电缆和机壳线路。电源线滤波器可以对电源进行保护。线 — 地之间的共模电容是抑制这种瞬态干扰的有效器件,它使干扰旁路到机壳,而远离内部电路。当这个电容的容量受到泄漏电流的限制而不能太大时,共模扼流圈必须提供更大的保护作用。这通常要求使用专门的带中心抽头的共模扼流圈,中心抽头通过一只电容(容量由泄漏电流决定)连接到机壳。共模扼流圈通常绕在高导磁率铁氧体芯上,其典型电感值为15 ~ 20mH。

传导的抑制

往往单纯采用屏蔽不能提供完整的电磁干扰防护,因为设备或系统上的电缆才是最有效的干扰接收与发射天线。许多设备单台做电磁兼容实验时都没有问题,但当两台设备连接起来以后,就不满足电磁兼容的要求了,这就是电缆起了接收和辐射天线的作用。唯一的措施就是加滤波器,切断电磁干扰沿信号线或电源线传播的路径,与屏蔽共同够成完善的电磁干扰防护,无论是抑制干扰源、消除耦合或提高接收电路的抗能力,都可以采用滤波技术。针对不同的干扰,应采取不同的抑制技术,由简单的线路清理,至单个元件的干扰抑制器、滤波器和变压器,再至比较复杂的稳压器和净化电源,以及价格昂贵而性能完善的不间断电源,下面分别作简要叙述。

专用线路

只要通过对供电线路的简单清理就可以取得一定的干扰抑制效果。如在三相供电线路中认定一相作为干扰敏感设备的供电电源;以另一相作为外部设备的供电电源;再以一相作为常用测试仪器或其他辅助设备的供电电源。这样的处理可避免设备间的一些相互干扰,也有利于三相平衡。值得一提的是在现代电子设备系统中,由于配电线路中非线性负载的使用,造成线路中谐波电流的存在,而零序分量谐波在中线里不能相互抵消,反而是叠加,因此过于纤细的中线会造成线路阻抗的增加,干扰也将增加。同时过细的中线还会造成中线过热。

瞬变干扰抑制器

属瞬变干扰抑制器的有气体放电管、金属氧化物压敏电阻、硅瞬变吸收二极管和固体放电管等多种。其中金属氧化物压敏电阻和硅瞬变吸收二极管的工作有点象普通的稳压管,是箝位型的干扰吸收器件;而气体放电管和固体放电管是能量转移型干扰吸收器件(以气体放电管为例,当出现在放电管两端的电压超过放电管的着火电压时,管内的气体发生电离,在两电极间产生电弧。由于电弧的压降很低,使大部分瞬变能量得以转移,从而保护设备免遭瞬变电压破坏)。瞬变干扰抑制器与被保护设备并联使用。

气体放电管

气体放电管也称避雷管,目前常用于程控交换机上。避雷管具有很强的浪涌吸收能力,很高的绝缘电阻和很小的寄生电容,对正常工作的设备不会带来任何有害影响。但它对浪涌的起弧响应,与对直流电压的起弧响应之间存在很大差异。例如90V气体放电管对直流的起弧电压就是90V,而对5kV/μs的浪涌起弧电压最大值可能达到1000V。这表明气体放电管对浪涌电压的响应速度较低。故它比较适合作为线路和设备的一次保护。此外,气体放电管的电压档次很少。

金属氧化物压敏电阻

由于价廉,压敏电阻是目前广泛应用的瞬变干扰吸收器件。描述压敏电阻性能的主要参数是压敏电阻的标称电压和通流容量即浪涌电流吸收能力。前者是使用者经常易弄混淆的一个参数。压敏电阻标称电压是指在恒流条件下(外径为7mm以下的压敏电阻取0.1mA;7mm以上的取1mA)出现在压敏电阻两端的电压降。由于压敏电阻有较大的动态电阻,在规定形状的冲击电流下(通常是8/20μs的标准冲击电流)出现在压敏电阻两端的电压(亦称是最大限制电压)大约是压敏电阻标称电压的1.8~2倍(此值也称残压比)。这就要求使用者在选择压敏电阻时事先有所估计,对确有可能遇到较大冲击电流的场合,应选择使用外形尺寸较大的器件(压敏电阻的电流吸收能力正比于器件的通流面积,耐受电压正比于器件厚度,而吸收能量正比于器件体积)。使用压敏电阻要注意它的固有电容。根据外形尺寸和标称电压的不同,电容量在数千至数百pF之间,这意味着压敏电阻不适宜在高频场合下使用,比较适合于在工频场合,如作为晶闸管和电源进线处作保护用。特别要注意的是,压敏电阻对瞬变干扰吸收时的高速性能(达ns)级,故安装压敏电阻必须注意其引线的感抗作用,过长的引线会引入由于引线电感产生的感应电压(在示波器上,感应电压呈尖刺状)。引线越长,感应电压也越大。为取得满意的干扰抑制效果,应尽量缩短其引线。关于压敏电阻的电压选择,要考虑被保护线路可能有的电压波动(一般取1.2~1.4倍)。如果是交流电路,还要注意电压有效值与峰值之间的关系。所以对220V线路,所选压敏电阻的标称电压应当是220×1.4×1.4≈430V。此外,就压敏电阻的电流吸收能力来说,1kA(对8/20μs的电流波)用在晶闸管保护上,3kA用在电器设备的浪涌吸收上;5kA用在雷击及电子设备的过压吸收上;10kA用在雷击保护上。压敏电阻的电压档次较多,适合作设备的一次或二次保护。2.1.7硅瞬变电压吸收二极管(TVS管)硅瞬变电压吸收二极管具有极快的响应时间(亚纳秒级)和相当高的浪涌吸收能力,及极多的电压档次。可用于保护设备或电路免受静电、电感性负载切换时产生的瞬变电压,以及感应雷所产生的过电压。TVS管有单方向(单个二极管)和双方向(两个背对背连接的二极管)两种,它们的主要参数是击穿电压、漏电流和电容。使用中TVS管的击穿电压要比被保护电路工作电压高10%左右,以防止因线路工作电压接近TVS击穿电压,使TVS漏电流影响电路正常工作;也避免因环境温度变化导致TVS管击穿电压落入线路正常工作电压的范围。TVS管有多种封装形式,如轴向引线产品可用在电源馈线上;双列直插的和表面贴装的适合于在印刷板上作为逻辑电路、I/O总线及数据总线的保护。

TVS管在使用中应注意的事项:

1、对瞬变电压的吸收功率(峰值)与瞬变电压脉冲宽度间的关系。手册给的只是特定脉宽下的吸收功率(峰值),而实际线路中的脉冲宽度则变化莫测,事前要有估计。对宽脉冲应降额使用。

2、对小电流负载的保护,可有意识地在线路中增加限流电阻,只要限流电阻的阻值适当,不会影响线路的正常工作,但限流电阻对干扰所产生的电流却会大大减小。这就有可能选用峰值功率较小的TVS管来对小电流负载线路进行保护。

3、对重复出现的瞬变电压的抑制,尤其值得注意的是TVS管的稳态平均功率是否在安全范围之内。

4、作为半导体器件的TVS管,要注意环境温度升高时的降额使用问题。

5、特别要注意TVS管的引线长短,以及它与被保护线路的相对距离。

6、当没有合适电压的TVS管供采用时,允许用多个TVS管串联使用。串联管的最大电流决定于所采用管中电流吸收能力最小的一个。而峰值吸收功率等于这个电流与串联管电压之和的乘积。

7、TVS管的结电容是影响它在高速线路中使用的关键因素,在这种情况下,一般用一个TVS管与一个快恢复二极管以背对背的方式连接,由于快恢复二极管有较小的结电容,因而二者串联的等效电容也较小,可满足高频使用的要求。

8、固体放电管 固体放电管是一种较新的瞬变干扰吸收器件,具有响应速度较快(10~20ns级)、吸收电流较大、动作电压稳定和使用寿命长等特点。固体放电管与气体放电管同属能量转移型。当外界干扰低于触发电压时,管子呈截止状。一旦干扰超出触发电压时,伏安特性发生转折,进入负阻区,此时电流极大,而导通电阻极小,使干扰能量得以转移。随着干扰减小,通过放电管电流的回落,当放电管的通过电流低于维持电流时,放电管就迅速走出低阻区,而回到高阻态,完成一次放电过程。固体放电管的一个优点是它的短路失效模式(器件失效时,两电极间呈短路状),为不少应用场合所必须,已在国内外得到广泛应用。固体放电管的电压档次较少,比较适合于作网络、通信设备,乃至部件一级的保护。

第五篇:数字图像处理_平均滤波与中值滤波(含MATLAB代码)[小编推荐]

数字图像处理实验二

15生医

一、实验内容

产生教材104页题图4.18(右图)所示的二值图像(白为1,黑为0),编程实现习题4.18所要求的处理(3x3的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取0或1),显示处理前后的图像,比较其异同。

二、运行环境 MATLAB R2014a

三、运行结果及分析

1.四种不同的窗的3x3平均滤波

4邻域平均滤波后图像8邻域平均滤波后图像4邻域加权平均滤波后图像8邻域加权平均滤波后图像

①在MATLAB图形窗界面进行放大可以看出四者之间的差别: 4领域与8邻域之间没有明显差别,但是加权与未加权之间的差别较为明显,体现在:加权后每个矩形块的四个尖角部分都被保留了下来(图像四周边界不考虑),而未加权的尖角处黑色变为白色。②原因分析:

加权后尖角处原来白色的点(1)进行计算3/5=0.6四舍五入后值为1,保持白色,原来黑色的点(0)进行计算2/5=0.4四舍五入后值为0,保持黑色;而未加权尖角处无论原来是黑色还是白色,进行计算2/4=0.5四舍五入后值为1,所以原先的黑色(0)也变成了白色(1)。③下图为放大后的截图:

2.中值滤波与原图像的对比 原图像中值滤波后图像

①在MATLAB图形窗界面进行放大后可观察出:

使用3x3方形中值滤波模板的效果与4领域、8领域加权平均滤波的效果相同,每个矩形块的四个尖角部分都被保留了下来(图像四周边界不考虑)。②原因分析:

套用3x3方形中值滤波模板后,尖角处原来白色的点(1)在窗内1多于0,取中值后仍保持白色,原来黑色的点(0)在窗内0多于1,取中值后仍保持白色。③下图为放大后的截图:

四、心得体会

通过MATLAB编程更加理解了课后题的计算结果,直观地看出了黑白像素点灰度值变化前后的取值异同。同时,对MATLAB实现像素点灰度值的替换机理也有所掌握,比如后边附的程序中会提到的“%”标注的思考。

五、具体程序

% 生成黑白块图像

unit=zeros(64,64);f=zeros(256,256);for i=1:1:32 for j=1:1:32 unit(i,j)=1;% 1/4白块 end end for i=33:1:64 for j=33:1:64 unit(i,j)=1;% 1/4白块 end end for i=1:64:256 for j=1:64:256 f(i:i+63,j:j+63)=unit;end end

% 对原图像进行3x3平均滤波 for i=2:1:255 for j=2:1:255 fave4(i,j)=(f(i-1,j)+f(i+1,j)+f(i,j-1)+f(i,j+1))/4;

fave8(i,j)=(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1))/8;

fave4_weighted(i,j)=(f(i-1,j)+f(i+1,j)+f(i,j-1)+f(i,j+1)+f(i,j))/5;

fave8_weighted(i,j)=(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)+f(i,j))/9;end end fave4=round(fave4);%平均后灰度值有可能是小数,要取整 fave8=round(fave8);fave4_weighted =round(fave4_weighted);fave8_weighted =round(fave8_weighted);subplot(2,2,1);imshow(fave4);title('4邻域平均滤波后图像');subplot(2,2,2);imshow(fave8);title('8邻域平均滤波后图像')subplot(2,2,3);imshow(fave4_weighted);title('4邻域加权平均滤波后图像')subplot(2,2,4);imshow(fave8_weighted);title('8邻域加权平均滤波后图像')

4邻域平均滤波后图像8邻域平均滤波后图像4邻域加权平均滤波后图像8邻域加权平均滤波后图像

% 对原图像进行3x3方形中值滤波 for i=2:1:255 for j=2:1:255

a=[f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i,j-1),f(i,j),f(i,j+1),f(i+1,j-1),f(i+1,j),f(i+1,j+1)];b=sort(a);% 排序函数

fmid(i,j)=b(5);% 9个数排序的中值 end end subplot(1,2,1);imshow(f);title('原图像');subplot(1,2,2);imshow(fmid);title('中值滤波后图像')

原图像中值滤波后图像

下载Matlab频域滤波练习word格式文档
下载Matlab频域滤波练习.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    实验四频域分析

    实验四连续信号与系统的频域分析 一、 实验目的: 1、 绘制非周期信号的频谱。 2、 绘制系统的幅频及相频响应曲线。 二、 实验内容 1、 非周期信号的频谱 调出下列程序,并观察......

    空间频率滤波实验报告

    空间频率滤波空间频率滤波是在光学系统的空间频谱面上放置适当的滤波器,去掉(或有选择地通过)某些空间频率或改变它们的振幅和位相,使物体的图像按照人们的希望得到改善。它是信......

    逆滤波实验报告

    实验报告 一、实验目的和要求 用逆滤波及其限制病态性的简单改进方法进行散焦模糊图像恢复实验 二、实验原理 1、 不考虑加性噪声时,图像的退化可以看成图像信息f(x,y)经过......

    图像滤波总结

    数字图像处理:各种变换滤波和噪声的类型和用途总结 一、基本的灰度变换函数 1.1.图像反转 适用场景:增强嵌入在一幅图像的暗区域中的白色或灰色细节,特别是当黑色的面积在尺寸......

    浅谈 中值滤波

    浅谈中值滤波 1.中值滤波的现状 在数字信号处理和数字图像处理的早期研究中,线性滤波是主要的处理手段。线性滤波简单的数学表达式以及某些理想特性使其很容易设计和实现。......

    滤波电路教案

    课题:电容滤波 滤波电路滤波电路常用于滤去整流输出电压中的纹波,一般由电抗元件组成,如在负载电阻两端并联电容器,或与负载串联电感器,滤波是指当流过电感的电流变化时,电感线圈......

    滤波和算子总结

    滤波和算子都是数字图像处理的基本操作,其中滤波是指在像素领域内做领域处理(中值滤波、均值滤波)或者在图像频域内(需要先做傅里叶变换)做处理(低通滤波、高通滤波、带通滤波)。......

    滤波电路分析经验总结

    常用滤波电路经验总结滤波是信号处理中的一个重要概念。滤波电路常用于滤去整流输出电压中的纹波,一般由电抗元件组成.如在负载电阻两端并联电容器C,或与负载串联电感器L,以及......