采用分布式控制系统、负压波检测法 , 根据泄漏产生的瞬态压力信息传播到上、下游的时间差 , 以及管 内压力波的传播速度, 即可计算出泄漏点的位置 ; 但由于工业现场的电磁干扰、输油泵振动等因素 , 使采集到的压力波形序列夹杂着大量噪声. 要实现负压波准确定位 , 关键在于捕捉压力波形的奇异点 , 为此采用小波变换技术 . 阐述了基于小波变换的测漏原理及定位方法, 并在 Matlab 中利用 db 小波分析验证 . 经过处理 , 图形可以在开始时 产生较大的差值, 以便准确判断泄漏时刻 .
关键词 : 管道泄漏 ; 负压波 ; 小波多分辨率分解 ; Matlab; db 小波
在石油工业中 , 输油管道安全是系统运行的基本条件 . 由于距离长、地形复杂 , 加上人为盗油等因素 , 要 求管道监测系统能够及时准确地发现泄漏, 以便采取措施 , 避免经济损失 .
管道测漏方法有多种分类 , 根据对象不同 , 分为直接测漏法和间接测漏法 ; 根据检测位置不同 , 分管内 检测和管外检测; 从应用性质角度划分 , 有不影响输油工艺操作的在线检测和停运检测 [ 1] . 其中间接测漏法 较常用, 又细分为流量平衡法、水力坡降线法、音频测漏法、超声波检测法、统计测漏法、基于神经网络的测漏 法、压力波检测法等, 其中负压波检测法被越来越多地采用 [ 2] .
clc;close all;clear
 data = xlsread('data.xlsx');
 t=1:length(data);
 error=data(:,1)-data(:,2);
 figure(1)
 plot(t,data(:,1))
 title 泄露信号
 figure(2)
 plot(t,data(:,1))
 title 正常信号
 figure(3)
 plot(t,error)
 title 泄露信号与正常信号的误差
 data2 = xlsread('data2.xlsx');
 t1=1:length(data2);
 figure(4)
 plot(t1,data2)
 title 泄露信号
 %% 小波去噪音
 y=data2;%故障信号的
 y=y';
 %小波函数sym6 5层分解
 [C,L] = wavedec(y,7,'sym6'); %%db3小波变换。分解到4层
 sigma = wnoisest(C,L,2);%通过谐调参数选择信号的全局阈值
 alpha = 8;
 thr = wbmpen(C,L,sigma,alpha);%用软阈值和近似信号对信号去噪
 keepapp = 1;
 xd = wdencmp('gbl',C,L,'sym6',7,thr,'s',keepapp);
 t=1:length(y);
 figure(4)
 subplot(211)
 plot(t,y)
 title('泄露信号')
 subplot(212)
 plot(t,xd)
 title('去噪音后的信号')
 %% 小波变换
 [C1,L1] = wavedec(xd,4,'db3'); %%db3小波变换。分解到4层
 LS1 = length(y);
 sla4 = wrcoef('a',C1,L1,'db3',4);%%小波变换的系数
 figure(5)
 subplot(511)
 plot(sla4)
 %% 
 m = 0;n = 0;
 max1 = zeros(1,4);
 min1 = zeros(1,4);
 for i = 1:4
     decmp = wrcoef('d',C1,L1,'db3',5-i);
     subplot(5,1,i+1)
     plot(decmp)
     max1(i) = max(decmp);
     min1(i) = min(decmp);
     for j = 1:LS1 %%寻找分解信号的极值,输出
         if decmp(j) == max1(i)
             m = m+1;
             s1_min(i,m) = j;
         end
         if decmp(j) == min1(i)
             n = n+1;
             s1_min(i,n)=j;
         end
     end
 end
 %% 
 t1 = s1_min(1,1);t2 = s1_min(2,2);
 t3 = s1_min(3,3); %平均求到极值的信号
 t_xiaobo = t(round(mean([t1,t2,t3])));%%小波变换得到的泄露时间
 disp('小波变换得到的泄露的位置(第几个节点)')
 disp([num2str(t_xiaobo)])











