
有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。
无源滤波装置
该装置由电容器、电抗器,有时还包括电阻器等无源元件组成,以对某次谐波或其以上次谐波形成低阻抗通路,以达到抑制高次谐波的作用由于SC的调节范围要由感性区扩大到容性区,所以滤波器与动态控制的电抗器一起并联,这样既满足无功补偿、改善功率因数,又能消除高次谐波的影响。
国际上广泛使用的滤波器种类有:各阶次单调谐滤波器、双调谐滤波器、二阶宽颇带与三阶宽频带高通滤波器等。
1单调谐滤波器:一阶单调谐滤波器的优点是滤波效果好,结构简单缺点是电能损耗比较大,但随着品质因数的提高而减少,同时又随谐波次数的减少而增加,而电炉正好是低次谐波,主要是2~7次,因此,基波损耗较大。二阶单调谐滤波器当品质因数在50以下时,基波损耗可减少20~50%,属节能型,滤波效果等效。三阶单调谐滤波器是损耗最小的滤波器,但组成复杂些,投资也高些,用于电弧炉系统中,2次滤波器选用三阶滤波器为好,其它次选用二阶单调谐滤波器。
2高通(宽频带滤波器,一般用于某次及以上次的谐波抑制。当在电弧炉等非线性负荷系统中采用时,对5次以上起滤波作用时,通过参数调整,可形成该滤波器回路对5次及以上次谐波的低阻抗通路。
有源滤波器
虽然无源滤波器具有投资少、效率高、结构简单及维护方便等优点,在现阶段广泛用于配电网中,但由于滤波器特性受系统参数影响大,只能消除特定的几次谐波,而对某些次谐波会产生放大作用,甚至谐振现象等因素,随着电力电子技术的发展,人们将滤波研究方向逐步转向有源滤波器(Active PowerFliter,缩写为APF。
APF即利用可控的功率半导体器件向电网注入与谐波源电流幅值相等、相位相反的电流,使电源的总谐波电流为零,达到实时补偿谐波电流的目的。它与无源滤波器相比,有以下特点:
a.不仅能补偿各次谐波,还可抑制闪变,补偿无功,有一机多能的特点,在性价比上较为合理
b.滤波特性不受系统阻抗等的影响,可消除与系统阻抗发生谐振的危险
c.具有自适应功能,可自动跟踪补偿变化着的谐波,即具有高度可控性和快速响应性等特点
一、无源滤波器的优点
无源滤波器具有结构简单、成本低廉、运行可靠性较高、运行费用较低等优点,至今仍是应用广泛的被动谐波治理方法。
二、无源滤波器的分类
无源滤波器主要可以分为两大类:调谐滤波器和高通滤波器。
2.1、调谐滤波器
调谐滤波器包括单调谐滤波器和双调谐滤波器,可以滤除某一次(单调谐)或两次(双调谐)谐波,该谐波的频率称为调谐滤波器的谐振频率;
2.2、高通滤波器
高通滤波器也称为减幅滤波器,主要包括一阶高通滤波器、二阶高通滤波器、三阶高通滤波器和c型滤波器,用来大幅衰减高于某一频率的谐波,该频率称为高通滤波器的截止频率。
三、无源滤波器和有源滤波器的区别
无源滤波器和有源滤波器,存在以下的区别:
3.1、工作原理
无源滤波器由LC等被动元件组成,将其设计为某频率下极低阻抗,对相应频率谐波电流进行分流,其行为模式为提供被动式谐波电流旁路通道;而有源滤波器由电力电子元件和DSP等构成的电能变换设备,检测负载谐波电流并主动提供对应的补偿电流,补偿后的源电流几乎为纯正弦波,其行为模式为主动式电流源输出。
3.2、谐波处理能力
无源滤波器只能滤除固定次数的谐波;但完全可以解决系统中的谐波问题,解决企业用电过程中的实际问题,且可以达到国家电力部门的标准;有源滤波器可动态滤除各次谐波。
3.3、系统阻抗变化的影响
无源滤波器受系统阻抗影响严重,存在谐波放大和共振的危险;而有源滤波不受影响。
3.4、频率变化的影响
无源滤波器谐振点偏移,效果降低;有源滤波器不受影响。
3.3、负载增加的影响
无源滤波器可能因为超载而损坏;有源滤波器无损坏之危险,谐波量大于补偿能力时,仅发生补偿效果不足而已。
3.6、负载变化对谐波补偿效果的影响
无源滤波器随着负载的变化而变化;有源滤波器不受负载变化影响。
3.7、设备造价
无源滤波器较低;有源滤波器太高。
3.8、应用场合对比
1.有源滤波容量单套不超过KA,无源滤波则无此限制;
2.有源滤波在提供滤波时,不能或很少提供无功功率补偿,因为要占容量;而无源滤波则同时提供无功功率补偿。
3.有源滤波目前最高适用电网电压不超过,而低压无源滤波最高适用电网电压可达。
4.无源滤波由于其价格优势、且不受硬件限制,广泛用于电力、油田、钢铁、冶金、煤矿、石化、造船、汽车、电铁、新能源等行业;有源滤波器因无法解决的硬件问题,在大容量场合无法使用,适用于、等用电功率较小且谐波频率较高的单位,优于无源滤波。
无源滤波器又称LC滤波器,是利用电感、电容和电阻的组合设计构成的滤波电路,可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路;单调谐滤波器、双调谐滤波器、高通滤波器都属于无源滤波器。
无源滤波器的优点
无源滤波器具有结构简单、成本低廉、运行可靠性较高、运行费用较低等优点,至今仍是应用广泛的被动谐波治理方法。
无源滤波器的分类
无源滤波器主要可以分为两大类:调谐滤波器和高通滤波器。
调谐滤波器
调谐滤波器包括单调谐滤波器和双调谐滤波器,可以滤除某一次(单调谐)或两次(双调谐)谐波,该谐波的频率称为调谐滤波器的谐振频率;
高通滤波器
高通滤波器也称为减幅滤波器,主要包括一阶高通滤波器、二阶高通滤波器、三阶高通滤波器和c型滤波器,用来大幅衰减高于某一频率的谐波,该频率称为高通滤波器的截止频率。
无源滤波器的发展历程
3.1、年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。
3.2、20世纪50年代无源滤波器日趋成熟。
3.3、自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展;
3.4、到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。
3.5、80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。
3.6、90年代至现在主要致力于把各类滤波器应用于各类产品的和研制。
当然,对滤波器本身的研究仍在不断进行。
我国滤波器行业现状
我国广泛使用滤波器是50年代后期的事,当时主要用于话路滤波和报路滤波。 经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。
无源滤波器和有源滤波器的区别
无源滤波器和有源滤波器,存在以下的区别:
工作原理
无源滤波器由LC等被动元件组成,将其设计为某频率下极低阻抗,对相应频率谐波电流进行分流,其行为模式为提供被动式谐波电流旁路通道;而有源滤波器由电力电子元件和DSP等构成的电能变换设备,检测负载谐波电流并主动提供对应的补偿电流,补偿后的源电流几乎为纯正弦波,其行为模式为主动式电流源输出。
谐波处理能力
无源滤波器只能滤除固定次数的谐波;但完全可以解决系统中的谐波问题,解决企业用电过程中的实际问题,且可以达到国家电力部门的标准;有源滤波器可动态滤除各次谐波。
系统阻抗变化的影响
无源滤波器受系统阻抗影响严重,存在谐波放大和共振的危险;而有源滤波不受影响。
频率变化的影响
无源滤波器谐振点偏移,效果降低;有源滤波器不受影响。
负载增加的影响
无源滤波器可能因为超载而损坏;有源滤波器无损坏之危险,谐波量大于补偿能力时,仅发生补偿效果不足而已。
负载变化对谐波补偿效果的影响
无源滤波器随着负载的变化而变化;有源滤波器不受负载变化影响。
设备造价
无源滤波器较低;有源滤波器太高。
应用场合对比
1.有源滤波容量单套不超过KA,无源滤波则无此限制;
2.有源滤波在提供滤波时,不能或很少提供无功功率补偿,因为要占容量;而无源滤波则同时提供无功功率补偿。
3.有源滤波目前最高适用电网电压不超过,而低压无源滤波最高适用电网电压可达。
4.无源滤波由于其价格优势、且不受硬件限制,广泛用于电力、油田、钢铁、冶金、煤矿、石化、造船、汽车、电铁、新能源等行业;有源滤波器因无法解决的硬件问题,在大容量场合无法使用,适用于、等用电功率较小且谐波频率较高的单位,优于无源滤波。
主要发展情况
由于无源滤波的具有大容量低价位的优点,钢铁行业的滤波都采用无源滤波,目前国内滤波场(电力谐波治理场)上主要以无源滤波为主。
实在不行换一个 或者在硬之城上面找找这个型号的资料
https://www.oschina.net/code/snippet_1170370_32834opencv 理想滤波、巴特沃兹滤波和高斯滤波的高通、低通滤波演示
Filter Parameters 窗口: 滤波器参数窗口
- d0: 滤波器大小 D0
- flag: 滤波器类型
0 - 理想滤波
1 - 巴特沃兹滤波
2 - 高斯滤波
- n: 巴特沃兹滤波的阶数
- lh: 低通滤波 or 高通滤波
Filtered Image 窗口: 过滤后的图像和过滤器图像
#! /usr/bin/env python
#coding=utf-8
importcv2
importnumpy as np
'''
opencv 理想滤波、巴特沃兹滤波和高斯滤波的高通、低通滤波演示
Filter Parameters 窗口: 滤波器参数窗口
- d0: 滤波器大小 D0
- flag: 滤波器类型
0 - 理想滤波
1 - 巴特沃兹滤波
2 - 高斯滤波
- n: 巴特沃兹滤波的阶数
- lh: 低通滤波 or 高通滤波
Filtered Image 窗口: 过滤后的图像和过滤器图像
'''
defcombine_images(images, axis=1):
'''
合并图像。
@param images: 图像列表(图像成员的维数必须相同)
@param axis: 合并方向。
axis=0时,图像垂直合并
axis = 1 时, 图像水平合并。
@return 合并后的图像
'''
ndim =images[0].ndim
shapes =np.array([mat.shape format inimages])
assertnp.all(map(lambdae: len(e)==ndim, shapes)), 'all images should be same ndim.'
ifaxis ==0:# 垂直方向合并图像
# 合并图像的 cols
cols =np.max(shapes[:, 1])
# 扩展各图像 cols大小,使得 cols一致
copy_imgs =[cv2.copyMakeBorder(img, 0, 0, 0, cols-img.shape[1],
cv2.BORDER_CONSTANT, (0,0,0)) forimg inimages]
# 垂直方向合并
returnnp.vstack(copy_imgs)
else:# 水平方向合并图像
# 合并图像的 rows
rows =np.max(shapes[:, 0])
# 扩展各图像rows大小,使得 rows一致
copy_imgs =[cv2.copyMakeBorder(img, 0, rows-img.shape[0], 0, 0,
cv2.BORDER_CONSTANT, (0,0,0)) forimg inimages]
# 水平方向合并
returnnp.hstack(copy_imgs)
deffft(img):
'''对图像进行傅立叶变换,并返回换位后的频率矩阵'''
assertimg.ndim==2, 'img should be gray.'
rows, cols =img.shape[:2]
# 计算最优尺寸
nrows =cv2.getOptimalDFTSize(rows)
ncols =cv2.getOptimalDFTSize(cols)
# 根据新尺寸,建立新变换图像
nimg =np.zeros((nrows, ncols))
nimg[:rows,:cols] =img
# 傅立叶变换
fft_mat =cv2.dft(np.float32(nimg), flags=cv2.DFT_COMPLEX_OUTPUT)
# 换位,低频部分移到中间,高频部分移到四周
returnnp.fft.fftshift(fft_mat)
deffft_image(fft_mat):
'''将频率矩阵转换为可视图像'''
# log函数中加1,避免log(0)出现.
log_mat=cv2.log(1+cv2.magnitude(fft_mat[:,:,0], fft_mat[:,:,1]))
# 标准化到0~255之间
cv2.normalize(log_mat, log_mat, 0, 255, cv2.NORM_MINMAX)
returnnp.uint8(np.around(log_mat))
defifft(fft_mat):
'''傅立叶反变换,返回反变换图像'''
# 反换位,低频部分移到四周,高频部分移到中间
f_ishift_mat =np.fft.ifftshift(fft_mat)
# 傅立叶反变换
img_back =cv2.idft(f_ishift_mat)
# 将复数转换为幅度, sqrt(re^2 + im^2)
img_back =cv2.magnitude(*cv2.split(img_back))
# 标准化到0~255之间
cv2.normalize(img_back, img_back, 0, 255, cv2.NORM_MINMAX)
returnnp.uint8(np.around(img_back))
deffft_distances(m, n):
'''
计算m,n矩阵每一点距离中心的距离
见《数字图像处理MATLAB版.冈萨雷斯》93页
'''
u =np.array([i ifi<=m/2elsem-i fori inrange(m)], dtype=np.float32)
v =np.array([i ifi<=m/2elsem-i fori inrange(m)], dtype=np.float32)
v.shape =n, 1
# 每点距离矩阵左上角的距离
ret =np.sqrt(u*u +v*v)
# 每点距离矩阵中心的距离
returnnp.fft.fftshift(ret)
deflpfilter(flag, rows, cols, d0, n):
'''低通滤波器
@param flag: 滤波器类型
0 - 理想低通滤波
1 - 巴特沃兹低通滤波
2 - 高斯低通滤波
@param rows: 被滤波的矩阵高度
@param cols: 被滤波的矩阵宽度
@param d0: 滤波器大小 D0
@param n: 巴特沃兹低通滤波的阶数
@return 滤波器矩阵
'''
assertd0 >0, 'd0 should be more than 0.'
filter_mat =None
#理想低通滤波
ifflag ==0:
filter_mat =np.zeros((rows, cols ,2), np.float32)
cv2.circle(filter_mat, (rows/2, cols/2) , d0, (1,1,1), thickness=-1)
# 巴特沃兹低通滤波
elifflag ==1:
duv =fft_distances(*fft_mat.shape[:2])
filter_mat =1/(1+np.power(duv/d0, 2*n))
# fft_mat有2个通道,实部和虚部
# fliter_mat 也需要2个通道
filter_mat =cv2.merge((filter_mat, filter_mat))
#高斯低通滤波
else:
duv =fft_distances(*fft_mat.shape[:2])
filter_mat =np.exp(-(duv*duv) /(2*d0*d0))
# fft_mat有2个通道,实部和虚部
# fliter_mat 也需要2个通道
filter_mat =cv2.merge((filter_mat, filter_mat))
returnfilter_mat
defhpfilter(flag, rows, cols, d0, n):
'''高通滤波器
@param flag: 滤波器类型
0 - 理想高通滤波
1 - 巴特沃兹高通滤波
2 - 高斯高通滤波
@param rows: 被滤波的矩阵高度
@param cols: 被滤波的矩阵宽度
@param d0: 滤波器大小 D0
@param n: 巴特沃兹高通滤波的阶数
@return 滤波器矩阵
'''
assertd0 >0, 'd0 should be more than 0.'
filter_mat =None
#理想高通滤波
ifflag ==0:
filter_mat =np.ones((rows, cols ,2), np.float32)
cv2.circle(filter_mat, (rows/2, cols/2) , d0, (0,0,0), thickness=-1)
# 巴特沃兹高通滤波
elifflag ==1:
duv =fft_distances(rows, cols)
# duv有 0 值(中心距离中心为0), 为避免除以0,设中心为 0.000001
duv[rows/2, cols/2] =0.000001
filter_mat =1/(1+np.power(d0/duv, 2*n))
# fft_mat有2个通道,实部和虚部
# fliter_mat 也需要2个通道
filter_mat =cv2.merge((filter_mat, filter_mat))
#高斯高通滤波
else:
duv =fft_distances(*fft_mat.shape[:2])
filter_mat =1-np.exp(-(duv*duv) /(2*d0*d0))
# fft_mat有2个通道,实部和虚部
# fliter_mat 也需要2个通道
filter_mat =cv2.merge((filter_mat, filter_mat))
returnfilter_mat
defdo_filter(_=None):
'''滤波,并显示'''
d0 =cv2.getTrackbarPos('d0', filter_win)
flag =cv2.getTrackbarPos('flag', filter_win)
n =cv2.getTrackbarPos('n', filter_win)
lh =cv2.getTrackbarPos('lh', filter_win)
# 滤波器
filter_mat =None
iflh ==0:
filter_mat =lpfilter(flag, fft_mat.shape[0], fft_mat.shape[1], d0, n)
else:
filter_mat =hpfilter(flag, fft_mat.shape[0], fft_mat.shape[1], d0, n)
# 进行滤波
filtered_mat =filter_mat *fft_mat
# 反变换
img_back =ifft(filtered_mat)
# 显示滤波后的图像和滤波器图像
cv2.imshow(image_win, combine_images([img_back, fft_image(filter_mat)]))
if__name__ =='__main__':
img =cv2.imread('images/Fig0515.jpg',0)
rows, cols =img.shape[:2]
# 滤波器窗口名称
filter_win ='Filter Parameters'
# 图像窗口名称
image_win ='Filtered Image'
cv2.namedWindow(filter_win)
cv2.namedWindow(image_win)
# 创建d0 tracker, d0为过滤器大小
cv2.createTrackbar('d0', filter_win, 20, min(rows, cols)/4, do_filter)
# 创建flag tracker,
# flag=0时,为理想滤波
# flag=1时,为巴特沃兹滤波
# flag=2时,为高斯滤波
cv2.createTrackbar('flag', filter_win, 0, 2, do_filter)
# 创建n tracker
# n 为巴特沃兹滤波的阶数
cv2.createTrackbar('n', filter_win, 1, 5, do_filter)
# 创建lh tracker
# lh: 滤波器是低通还是高通, 0 为低通, 1为高通
cv2.createTrackbar('lh', filter_win, 0, 1, do_filter)
fft_mat =fft(img)
do_filter()
cv2.resizeWindow(filter_win, 512, 20)
cv2.waitKey(0)
cv2.destroyAllWindows()
2. [图片] 低通图像和滤波器.jpg
3. [图片] 滤波器参数.jpg
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)