波形解析代码移植

This commit is contained in:
2025-09-01 13:30:59 +08:00
parent 0043a21455
commit 17c4616da4

View File

@@ -353,10 +353,7 @@ public class WaveFileComponent {
**********************************/
private ComtradeCfgDTO getComtradeCfg(InputStream cfgStream) {
ComtradeCfgDTO comtradeCfgDTO = new ComtradeCfgDTO();
try (
InputStreamReader read = new InputStreamReader(cfgStream, CharsetUtil.CHARSET_GBK);
BufferedReader bufferedReader = new BufferedReader(read);
) {
try (InputStreamReader read = new InputStreamReader(cfgStream, CharsetUtil.CHARSET_GBK); BufferedReader bufferedReader = new BufferedReader(read);) {
// 第一行不关心仅仅是一些描述类的信息
String strFileLine = bufferedReader.readLine();
@@ -435,6 +432,7 @@ public class WaveFileComponent {
rateDTO.setNOneSample(result);
// 总点数 //这里的strTemp是一个偏移量
rateDTO.setNSampleNum((Integer.parseInt(strTempArray[1]) - nOffset));
nOffset = rateDTO.getNSampleNum();
lstRate.add(rateDTO);
}
comtradeCfgDTO.setLstRate(lstRate);
@@ -576,6 +574,7 @@ public class WaveFileComponent {
break;
}
}
tmpRateDTO = comtradeCfgDTO.getLstRate().get(nIndex);
//YXB 2025-08-27 如果是有效值,那么需要去补点,而不是抽点
if (newLstRate.get(nIndex).bRMSFlag == true) {
//计算本段补点采样间隔
@@ -612,6 +611,7 @@ public class WaveFileComponent {
break;
}
float fCoef = comtradeCfgDTO.getLstAnalogDTO().get(j).getFCoefficent();
fValue = BitConverter.byte2ToUnsignedShort(datArray, i * nBlockSize + 2 * 4 + j * 2) * fCoef;
//WW 2019-11-14
/*************************
@@ -1366,10 +1366,10 @@ public class WaveFileComponent {
s = sdf.format(d);
System.out.println(s);
WaveFileComponent waveFileComponent = new WaveFileComponent();
InputStream cfgStream = waveFileComponent.getFileInputStreamByFilePath("D:\\comtrade\\00-B7-8D-00-FA-44\\PQMonitor_PQM1_005_20250709_173908_812.CFG");
InputStream datStream = waveFileComponent.getFileInputStreamByFilePath("D:\\comtrade\\00-B7-8D-00-FA-44\\PQMonitor_PQM1_005_20250709_173908_812.DAT");
InputStream cfgStream = waveFileComponent.getFileInputStreamByFilePath("F:\\PQ_PQLD3_9_20250821_081038_640.cfg");
InputStream datStream = waveFileComponent.getFileInputStreamByFilePath("F:\\PQ_PQLD3_9_20250821_081038_640.dat");
// 获取瞬时波形 //获取原始波形值
WaveDataDTO waveDataDTO = waveFileComponent.getComtrade(cfgStream, datStream, 0);
WaveDataDTO waveDataDTO = waveFileComponent.getComtrade(cfgStream, datStream, 1);
d = new Date();
s = sdf.format(d);
System.out.println(s);
@@ -1380,6 +1380,7 @@ public class WaveFileComponent {
System.out.println(s);
// 获取特征值
List<EigenvalueDTO> lstEigenvalueDTO = waveFileComponent.getEigenvalue(waveDataDTO, true);
System.out.println(1);
}
}