资源简介
HHT变换matlab程序。可修改各种参数,采样点数,各种电能质量原始信号均由程序所得,可以信号叠加而来。比如电压跌落,谐波,暂时上升,中断等。例子给出的是 电压暂降。
代码片段和文件信息
function [imfortnbits] = emd(varargin)
[xtsdsd2tolMODE_COMPLEXndirsdisplay_siftingsdtsd2trimfknbitNbItMAXITERATIONSFIXEFIXE_HMAXMODESINTERPmask] = init(varargin{:});
if display_sifting
fig_h = figure;
end
%main loop : requires at least 3 extrema to proceed
while ~stop_EMD(rMODE_COMPLEXndirs) && (k < MAXMODES+1 || MAXMODES == 0) && ~any(mask)
% current mode
m = r;
% mode at previous iteration
mp = m;
%computation of mean and stopping criterion
if FIXE
[stop_siftmoyenne] = stop_sifting_fixe(tmINTERPMODE_COMPLEXndirs);
elseif FIXE_H
stop_count = 0;
[stop_siftmoyenne] = stop_sifting_fixe_h(tmINTERPstop_countFIXE_HMODE_COMPLEXndirs);
else
[stop_siftmoyenne] = stop_sifting(mtsdsd2tolINTERPMODE_COMPLEXndirs);
end
% in case the current mode is so small that machine precision can cause
% spurious extrema to appear
if (max(abs(m))) < (1e-10)*(max(abs(x)))
if ~stop_sift
warning(‘emd:warning‘‘forced stop of EMD : too small amplitude‘)
else
disp(‘forced stop of EMD : too small amplitude‘)
end
break
end
% sifting loop
while ~stop_sift && nbit
if(~MODE_COMPLEX && nbit>MAXITERATIONS/5 && mod(nbitfloor(MAXITERATIONS/10))==0 && ~FIXE && nbit > 100)
disp([‘mode ‘int2str(k)‘ iteration ‘int2str(nbit)])
if exist(‘s‘‘var‘)
disp([‘stop parameter mean value : ‘num2str(s)])
end
[imiM] = extr(m);
disp([int2str(sum(m(im) > 0))‘ minima > 0; ‘int2str(sum(m(iM) < 0))‘ maxima < 0.‘])
end
%sifting
m = m - moyenne;
%computation of mean and stopping criterion
if FIXE
[stop_siftmoyenne] = stop_sifting_fixe(tmINTERPMODE_COMPLEXndirs);
elseif FIXE_H
[stop_siftmoyennestop_count] = stop_sifting_fixe_h(tmINTERPstop_countFIXE_HMODE_COMPLEXndirs);
else
[stop_siftmoyennes] = stop_sifting(mtsdsd2tolINTERPMODE_COMPLEXndirs);
end
% display
if display_sifting && ~MODE_COMPLEX
NBSYM = 2;
[indminindmax] = extr(mp);
[tmintmaxmminmmax] = boundary_conditions(indminindmaxtmpmpNBSYM);
envminp = interp1(tminmmintINTERP);
envmaxp = interp1(tmaxmmaxtINTERP);
envmoyp = (envminp+envmaxp)/2;
if FIXE || FIXE_H
display_emd_fixe(tmmprenvminpenvmaxpenvmoypnbitkdisplay_sifting)
else
sxp=2*(abs(envmoyp))./(abs(envmaxp-envminp));
sp = mean(sxp);
display_emd(tmmprenvminpenvmaxpenvmoypsspsxpsdtsd2tnbitkdisplay_siftingstop_sift)
end
end
mp = m;
nbit=nbit+1;
NbIt=NbIt+1;
if(nbit==(MAXITERATIONS-1) && ~FIXE && nbit > 100)
if exist(‘s‘‘var‘)
warning(‘emd:warning‘[‘forced stop of sifting : too many iterations... mode ‘int2str(k)‘. stop parameter mean value : ‘num2str(s)])
else
warning(‘emd:warning‘[‘forced stop of sifting : too many iterations... mode ‘int2str(k)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 17417 2013-06-20 09:41 HHT变换matlab程序\emd.m
文件 1133 2013-06-20 09:41 HHT变换matlab程序\emdyy.m
文件 1915 2013-06-20 09:41 HHT变换matlab程序\hhspectrum.m
文件 2292 2013-06-20 09:41 HHT变换matlab程序\IMFeg.asv
文件 1628 2013-06-20 09:41 HHT变换matlab程序\IMFeg.m
文件 14397 2013-06-20 09:51 HHT变换matlab程序\input.m
文件 1942 2013-06-20 09:41 HHT变换matlab程序\toimage.m
文件 1065984 2013-06-20 09:47 HHT变换matlab程序\河北南网数据-西柏坡1号机.xls
文件 165 2013-06-20 09:41 HHT变换matlab程序\说明.txt
目录 0 2013-06-20 09:54 HHT变换matlab程序
----------- --------- ---------- ----- ----
1106873 10
- 上一篇:脉冲多普勒雷达
- 下一篇:利用双向渐进结构优化法(BESO )优化连续体的结构拓扑
相关资源
- 利用双向渐进结构优化法(BESO )优化
- LTE下行链路级仿真程序
- 惯导姿态解算
- 多相滤波(polyphase filter)的基本原理
- 最新最完整的Matlab粒子滤波工具箱(
- 移动机器人轨迹跟踪迭代学习控制 (
- 蓄电池模型 (power battery)
- 求解流体力学中有限体积(FVM)法的
- PSO SVM SVM用于分类时的参数优化
- 流体力学中simple算法的matlab代码
- 最小二乘算法(LMS)处理滤波并预测
- chirp信号的frft的峰值搜索仿真
- matlab编写的蛙跳聚类算法(SFLA)
- LBP特征提取的MATLAB实现
- 数字图像滤波程序
- GCC时延估计
- 基于kaiser窗的双谱线插值FFT谐波分析
- 加窗插值FFT算法的matlab 512点仿真
- GM_PHD_Filter_v110
- pls 可以用于计算排列熵
- 用α-β滤波器结合卡尔曼滤波器对相位
- matlab实现遗传算法 (Matlab Genetic Al
- 切比雪夫(Chebyshev)多项式展开式的
- SIR病毒传播模型的matlab程序
- STATCOM无功补偿不平衡负载,阶梯调制
-
matlab/simuli
nk仿真永磁无刷直流电机 - matlab 开发光伏阵列通用仿真模型
- 激光雷达点云滤波的topscan算法实现
- 比较分析协作通信三个节点时系统 (
- 基于HOUGH变换的车道线检测和识别的程
评论
共有 条评论