diff --git a/entrance/src/test/java/com/njcn/AnalysisServiceStreamTest.java b/entrance/src/test/java/com/njcn/AnalysisServiceStreamTest.java index 03203120..541de510 100644 --- a/entrance/src/test/java/com/njcn/AnalysisServiceStreamTest.java +++ b/entrance/src/test/java/com/njcn/AnalysisServiceStreamTest.java @@ -25,10 +25,10 @@ public class AnalysisServiceStreamTest { private ICompareWaveService compareWaveServiceImpl; // 测试文件路径 - 请根据实际情况修改 - private static final String SOURCE_CFG_PATH = "F:\\hatch\\wavecompare\\wave\\PQMonitor_PQM1_000001_20200430_113404_845.cfg"; - private static final String SOURCE_DAT_PATH = "F:\\hatch\\wavecompare\\wave\\PQMonitor_PQM1_000001_20200430_113404_845.dat"; - private static final String TARGET_CFG_PATH = "F:\\hatch\\wavecompare\\wave\\PQMonitor_PQM1_000001_20200430_113407_075.cfg"; - private static final String TARGET_DAT_PATH = "F:\\hatch\\wavecompare\\wave\\PQMonitor_PQM1_000001_20200430_113407_075.dat"; + private static final String SOURCE_CFG_PATH = "C:\\Users\\hongawen\\Desktop\\Event\\192.168.1.239\\PQ_PQLD1_000251_20250904_145126_769.cfg"; + private static final String SOURCE_DAT_PATH = "C:\\Users\\hongawen\\Desktop\\Event\\192.168.1.239\\PQ_PQLD1_000251_20250904_145126_769.dat"; + private static final String TARGET_CFG_PATH = "C:\\Users\\hongawen\\Desktop\\Event\\192.168.1.238\\PQ_PQLD2_000099_20250904_145126_750.cfg"; + private static final String TARGET_DAT_PATH = "C:\\Users\\hongawen\\Desktop\\Event\\192.168.1.238\\PQ_PQLD2_000099_20250904_145126_750.dat"; // 输出路径 private static final String OUTPUT_PATH = "./test-output/"; diff --git a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/algorithm/WaveformAligner.java b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/algorithm/WaveformAligner.java index 18a52cda..81f0dee1 100644 --- a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/algorithm/WaveformAligner.java +++ b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/algorithm/WaveformAligner.java @@ -296,7 +296,7 @@ public class WaveformAligner { * 计算可进行计算的200ms窗口数量 * 每个窗口需要10个周波的数据用于电能质量分析 */ - int windowSamples = (int) (data1.getSmpRate() * 10); + int windowSamples = (int) (data1.getFactSmpRate() * 10); int availableWindows1 = (data1.getSmpNum() - startCalPos1) / windowSamples; int availableWindows2 = (data2.getSmpNum() - startCalPos2) / windowSamples; int maxWindows = Math.min(availableWindows1, availableWindows2); @@ -344,7 +344,7 @@ public class WaveformAligner { * 寻找从负值到正值的过零点 * 注意:使用严格不等号(< 和 >),避免0值影响判断 */ - if (voltageData[i] < 0 && voltageData[i + 1] > 0) { + if (voltageData[i] <= 0 && voltageData[i + 1] >= 0) { // 返回过零点后的第一个正值位置 return i + 1; } diff --git a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/io/ComtradeReader.java b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/io/ComtradeReader.java index 59dbd848..dff40738 100644 --- a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/io/ComtradeReader.java +++ b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/io/ComtradeReader.java @@ -93,7 +93,7 @@ public class ComtradeReader { lineFreq = 50.0f; } float samplesPerCycle = (float)cfgInfo.getSampleRate() / lineFreq; - + dataBuf.setFactSmpRate(samplesPerCycle); // 验证采样率限制要求 if (samplesPerCycle < 128) { log.error("采样率过低:每周波采样点数={},最小要求128", samplesPerCycle); diff --git a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/model/DataPq.java b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/model/DataPq.java index a40354e8..ee7ef1fb 100644 --- a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/model/DataPq.java +++ b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/core/model/DataPq.java @@ -42,8 +42,11 @@ public class DataPq { /** 实际采样点数 */ private int smpNum; + + /** 实际采样率 */ + private float factSmpRate; - /** 采样率 (Hz) */ + /** 改良后的采样率 */ private float smpRate; /** 系统频率 (Hz) */ diff --git a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/service/impl/CompareWaveServiceImpl.java b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/service/impl/CompareWaveServiceImpl.java index 5e5a343f..d8250412 100644 --- a/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/service/impl/CompareWaveServiceImpl.java +++ b/tools/wave-comtrade/src/main/java/com/njcn/gather/tools/comtrade/comparewave/service/impl/CompareWaveServiceImpl.java @@ -19,7 +19,7 @@ import java.util.List; /** * 波形比对分析服务实现类 - * + * *
提供电能质量波形数据的分析和比对功能,支持:
*包含分析计算所需的各项配置:
*