diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.ui b/ChannelItem.ui
index 173f4a5..3236187 100644
--- a/ChannelItem.ui
+++ b/ChannelItem.ui
@@ -81,7 +81,7 @@
-
-
+
微软雅黑
@@ -97,7 +97,7 @@
-
-
+
微软雅黑
@@ -142,7 +142,7 @@
-
-
+
微软雅黑
@@ -158,7 +158,7 @@
-
-
+
微软雅黑
@@ -199,7 +199,7 @@
-
-
+
微软雅黑
@@ -215,7 +215,7 @@
-
-
+
微软雅黑
@@ -260,7 +260,7 @@
-
-
+
微软雅黑
@@ -276,7 +276,7 @@
-
-
+
微软雅黑
@@ -317,7 +317,7 @@
-
-
+
微软雅黑
@@ -333,7 +333,7 @@
-
-
+
微软雅黑
@@ -525,7 +525,7 @@
-
-
+
微软雅黑
diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.ui b/ChannelItem.ui
index 173f4a5..3236187 100644
--- a/ChannelItem.ui
+++ b/ChannelItem.ui
@@ -81,7 +81,7 @@
-
-
+
微软雅黑
@@ -97,7 +97,7 @@
-
-
+
微软雅黑
@@ -142,7 +142,7 @@
-
-
+
微软雅黑
@@ -158,7 +158,7 @@
-
-
+
微软雅黑
@@ -199,7 +199,7 @@
-
-
+
微软雅黑
@@ -215,7 +215,7 @@
-
-
+
微软雅黑
@@ -260,7 +260,7 @@
-
-
+
微软雅黑
@@ -276,7 +276,7 @@
-
-
+
微软雅黑
@@ -317,7 +317,7 @@
-
-
+
微软雅黑
@@ -333,7 +333,7 @@
-
-
+
微软雅黑
@@ -525,7 +525,7 @@
-
-
+
微软雅黑
diff --git a/DataProcessAlgorithm.cpp b/DataProcessAlgorithm.cpp
new file mode 100644
index 0000000..95ce0e2
--- /dev/null
+++ b/DataProcessAlgorithm.cpp
@@ -0,0 +1,29 @@
+#include "DataProcessAlgorithm.h"
+#include
+
+DataProcessAlgorithm::DataProcessAlgorithm(QObject *parent) : QObject(parent)
+{
+
+}
+
+double DataProcessAlgorithm::allan(double x[], int d, int aN, int ai)
+{
+ int j = 0;
+ int i = 0;
+ double tau0; //tau0是基本采样间隔,由计数器或比相仪的最小采样间隔决定,最小为1s
+ double sum = 0.0;
+ double allan[2] = {0.0};
+ double *y = new double[aN];
+ double tau_2 = pow(d * tau0, 2); //pow是计算x的y次幂
+ for (i = 0; i < aN - 2 * d; i = i+1)
+ {
+ y[i] = pow(x[i+2*d] - 2 * x[i+d] + x[i], 2);
+ sum=sum+y[i];
+ j+=1;
+ }
+ allan[0] = sum/(2*tau_2*(aN-2*d)); //delta的平方
+ allan[1] = sqrt(sum/(2*tau_2*(aN-2*d))); //delta
+
+ j = 0;
+ return allan[ai];
+}
diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.ui b/ChannelItem.ui
index 173f4a5..3236187 100644
--- a/ChannelItem.ui
+++ b/ChannelItem.ui
@@ -81,7 +81,7 @@
-
-
+
微软雅黑
@@ -97,7 +97,7 @@
-
-
+
微软雅黑
@@ -142,7 +142,7 @@
-
-
+
微软雅黑
@@ -158,7 +158,7 @@
-
-
+
微软雅黑
@@ -199,7 +199,7 @@
-
-
+
微软雅黑
@@ -215,7 +215,7 @@
-
-
+
微软雅黑
@@ -260,7 +260,7 @@
-
-
+
微软雅黑
@@ -276,7 +276,7 @@
-
-
+
微软雅黑
@@ -317,7 +317,7 @@
-
-
+
微软雅黑
@@ -333,7 +333,7 @@
-
-
+
微软雅黑
@@ -525,7 +525,7 @@
-
-
+
微软雅黑
diff --git a/DataProcessAlgorithm.cpp b/DataProcessAlgorithm.cpp
new file mode 100644
index 0000000..95ce0e2
--- /dev/null
+++ b/DataProcessAlgorithm.cpp
@@ -0,0 +1,29 @@
+#include "DataProcessAlgorithm.h"
+#include
+
+DataProcessAlgorithm::DataProcessAlgorithm(QObject *parent) : QObject(parent)
+{
+
+}
+
+double DataProcessAlgorithm::allan(double x[], int d, int aN, int ai)
+{
+ int j = 0;
+ int i = 0;
+ double tau0; //tau0是基本采样间隔,由计数器或比相仪的最小采样间隔决定,最小为1s
+ double sum = 0.0;
+ double allan[2] = {0.0};
+ double *y = new double[aN];
+ double tau_2 = pow(d * tau0, 2); //pow是计算x的y次幂
+ for (i = 0; i < aN - 2 * d; i = i+1)
+ {
+ y[i] = pow(x[i+2*d] - 2 * x[i+d] + x[i], 2);
+ sum=sum+y[i];
+ j+=1;
+ }
+ allan[0] = sum/(2*tau_2*(aN-2*d)); //delta的平方
+ allan[1] = sqrt(sum/(2*tau_2*(aN-2*d))); //delta
+
+ j = 0;
+ return allan[ai];
+}
diff --git a/DataProcessAlgorithm.h b/DataProcessAlgorithm.h
new file mode 100644
index 0000000..055df83
--- /dev/null
+++ b/DataProcessAlgorithm.h
@@ -0,0 +1,18 @@
+#ifndef DATAPROCESSALGORITHM_H
+#define DATAPROCESSALGORITHM_H
+
+#include
+
+class DataProcessAlgorithm : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DataProcessAlgorithm(QObject *parent = nullptr);
+
+ double allan(double x[], int d, int aN, int ai);
+
+signals:
+
+};
+
+#endif // DATAPROCESSALGORITHM_H
diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.ui b/ChannelItem.ui
index 173f4a5..3236187 100644
--- a/ChannelItem.ui
+++ b/ChannelItem.ui
@@ -81,7 +81,7 @@
-
-
+
微软雅黑
@@ -97,7 +97,7 @@
-
-
+
微软雅黑
@@ -142,7 +142,7 @@
-
-
+
微软雅黑
@@ -158,7 +158,7 @@
-
-
+
微软雅黑
@@ -199,7 +199,7 @@
-
-
+
微软雅黑
@@ -215,7 +215,7 @@
-
-
+
微软雅黑
@@ -260,7 +260,7 @@
-
-
+
微软雅黑
@@ -276,7 +276,7 @@
-
-
+
微软雅黑
@@ -317,7 +317,7 @@
-
-
+
微软雅黑
@@ -333,7 +333,7 @@
-
-
+
微软雅黑
@@ -525,7 +525,7 @@
-
-
+
微软雅黑
diff --git a/DataProcessAlgorithm.cpp b/DataProcessAlgorithm.cpp
new file mode 100644
index 0000000..95ce0e2
--- /dev/null
+++ b/DataProcessAlgorithm.cpp
@@ -0,0 +1,29 @@
+#include "DataProcessAlgorithm.h"
+#include
+
+DataProcessAlgorithm::DataProcessAlgorithm(QObject *parent) : QObject(parent)
+{
+
+}
+
+double DataProcessAlgorithm::allan(double x[], int d, int aN, int ai)
+{
+ int j = 0;
+ int i = 0;
+ double tau0; //tau0是基本采样间隔,由计数器或比相仪的最小采样间隔决定,最小为1s
+ double sum = 0.0;
+ double allan[2] = {0.0};
+ double *y = new double[aN];
+ double tau_2 = pow(d * tau0, 2); //pow是计算x的y次幂
+ for (i = 0; i < aN - 2 * d; i = i+1)
+ {
+ y[i] = pow(x[i+2*d] - 2 * x[i+d] + x[i], 2);
+ sum=sum+y[i];
+ j+=1;
+ }
+ allan[0] = sum/(2*tau_2*(aN-2*d)); //delta的平方
+ allan[1] = sqrt(sum/(2*tau_2*(aN-2*d))); //delta
+
+ j = 0;
+ return allan[ai];
+}
diff --git a/DataProcessAlgorithm.h b/DataProcessAlgorithm.h
new file mode 100644
index 0000000..055df83
--- /dev/null
+++ b/DataProcessAlgorithm.h
@@ -0,0 +1,18 @@
+#ifndef DATAPROCESSALGORITHM_H
+#define DATAPROCESSALGORITHM_H
+
+#include
+
+class DataProcessAlgorithm : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DataProcessAlgorithm(QObject *parent = nullptr);
+
+ double allan(double x[], int d, int aN, int ai);
+
+signals:
+
+};
+
+#endif // DATAPROCESSALGORITHM_H
diff --git a/PhaseMeasure.pro b/PhaseMeasure.pro
index ca48f14..d2d47d3 100644
--- a/PhaseMeasure.pro
+++ b/PhaseMeasure.pro
@@ -4,22 +4,24 @@
CONFIG += c++11
-FORMS += ChannelItem.ui \
- SetConfig.ui
+FORMS += ChannelItem.ui
FORMS += PhaseWindow.ui
+FORMS += SetConfig.ui
include(common/common.pri)
include(protocol/protocol.pri)
-HEADERS += PhaseDevice.h \
- SetConfig.h
+HEADERS += PhaseDevice.h
HEADERS += ChannelItem.h
HEADERS += PhaseWindow.h
+HEADERS += SetConfig.h
+HEADERS += DataProcessAlgorithm.h
-SOURCES += PhaseDevice.cpp \
- SetConfig.cpp
+SOURCES += PhaseDevice.cpp
SOURCES += ChannelItem.cpp
SOURCES += PhaseWindow.cpp
+SOURCES += SetConfig.cpp
+SOURCES += DataProcessAlgorithm.cpp
SOURCES += main.cpp
# Default rules for deployment.
diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.ui b/ChannelItem.ui
index 173f4a5..3236187 100644
--- a/ChannelItem.ui
+++ b/ChannelItem.ui
@@ -81,7 +81,7 @@
-
-
+
微软雅黑
@@ -97,7 +97,7 @@
-
-
+
微软雅黑
@@ -142,7 +142,7 @@
-
-
+
微软雅黑
@@ -158,7 +158,7 @@
-
-
+
微软雅黑
@@ -199,7 +199,7 @@
-
-
+
微软雅黑
@@ -215,7 +215,7 @@
-
-
+
微软雅黑
@@ -260,7 +260,7 @@
-
-
+
微软雅黑
@@ -276,7 +276,7 @@
-
-
+
微软雅黑
@@ -317,7 +317,7 @@
-
-
+
微软雅黑
@@ -333,7 +333,7 @@
-
-
+
微软雅黑
@@ -525,7 +525,7 @@
-
-
+
微软雅黑
diff --git a/DataProcessAlgorithm.cpp b/DataProcessAlgorithm.cpp
new file mode 100644
index 0000000..95ce0e2
--- /dev/null
+++ b/DataProcessAlgorithm.cpp
@@ -0,0 +1,29 @@
+#include "DataProcessAlgorithm.h"
+#include
+
+DataProcessAlgorithm::DataProcessAlgorithm(QObject *parent) : QObject(parent)
+{
+
+}
+
+double DataProcessAlgorithm::allan(double x[], int d, int aN, int ai)
+{
+ int j = 0;
+ int i = 0;
+ double tau0; //tau0是基本采样间隔,由计数器或比相仪的最小采样间隔决定,最小为1s
+ double sum = 0.0;
+ double allan[2] = {0.0};
+ double *y = new double[aN];
+ double tau_2 = pow(d * tau0, 2); //pow是计算x的y次幂
+ for (i = 0; i < aN - 2 * d; i = i+1)
+ {
+ y[i] = pow(x[i+2*d] - 2 * x[i+d] + x[i], 2);
+ sum=sum+y[i];
+ j+=1;
+ }
+ allan[0] = sum/(2*tau_2*(aN-2*d)); //delta的平方
+ allan[1] = sqrt(sum/(2*tau_2*(aN-2*d))); //delta
+
+ j = 0;
+ return allan[ai];
+}
diff --git a/DataProcessAlgorithm.h b/DataProcessAlgorithm.h
new file mode 100644
index 0000000..055df83
--- /dev/null
+++ b/DataProcessAlgorithm.h
@@ -0,0 +1,18 @@
+#ifndef DATAPROCESSALGORITHM_H
+#define DATAPROCESSALGORITHM_H
+
+#include
+
+class DataProcessAlgorithm : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DataProcessAlgorithm(QObject *parent = nullptr);
+
+ double allan(double x[], int d, int aN, int ai);
+
+signals:
+
+};
+
+#endif // DATAPROCESSALGORITHM_H
diff --git a/PhaseMeasure.pro b/PhaseMeasure.pro
index ca48f14..d2d47d3 100644
--- a/PhaseMeasure.pro
+++ b/PhaseMeasure.pro
@@ -4,22 +4,24 @@
CONFIG += c++11
-FORMS += ChannelItem.ui \
- SetConfig.ui
+FORMS += ChannelItem.ui
FORMS += PhaseWindow.ui
+FORMS += SetConfig.ui
include(common/common.pri)
include(protocol/protocol.pri)
-HEADERS += PhaseDevice.h \
- SetConfig.h
+HEADERS += PhaseDevice.h
HEADERS += ChannelItem.h
HEADERS += PhaseWindow.h
+HEADERS += SetConfig.h
+HEADERS += DataProcessAlgorithm.h
-SOURCES += PhaseDevice.cpp \
- SetConfig.cpp
+SOURCES += PhaseDevice.cpp
SOURCES += ChannelItem.cpp
SOURCES += PhaseWindow.cpp
+SOURCES += SetConfig.cpp
+SOURCES += DataProcessAlgorithm.cpp
SOURCES += main.cpp
# Default rules for deployment.
diff --git a/PhaseMeasure.pro.user b/PhaseMeasure.pro.user
index d1824d6..f111ef2 100644
--- a/PhaseMeasure.pro.user
+++ b/PhaseMeasure.pro.user
@@ -1,6 +1,6 @@
-
+
EnvironmentId
diff --git a/ChannelItem.h b/ChannelItem.h
index 74ff48b..94ca1ba 100644
--- a/ChannelItem.h
+++ b/ChannelItem.h
@@ -24,7 +24,7 @@
private:
Ui::ChannelItem *ui;
- double channelDelay;
+ double channelDelay = 0.0;
};
#endif // CHANNELITEM_H
diff --git a/ChannelItem.ui b/ChannelItem.ui
index 173f4a5..3236187 100644
--- a/ChannelItem.ui
+++ b/ChannelItem.ui
@@ -81,7 +81,7 @@
-
-
+
微软雅黑
@@ -97,7 +97,7 @@
-
-
+
微软雅黑
@@ -142,7 +142,7 @@
-
-
+
微软雅黑
@@ -158,7 +158,7 @@
-
-
+
微软雅黑
@@ -199,7 +199,7 @@
-
-
+
微软雅黑
@@ -215,7 +215,7 @@
-
-
+
微软雅黑
@@ -260,7 +260,7 @@
-
-
+
微软雅黑
@@ -276,7 +276,7 @@
-
-
+
微软雅黑
@@ -317,7 +317,7 @@
-
-
+
微软雅黑
@@ -333,7 +333,7 @@
-
-
+
微软雅黑
@@ -525,7 +525,7 @@
-
-
+
微软雅黑
diff --git a/DataProcessAlgorithm.cpp b/DataProcessAlgorithm.cpp
new file mode 100644
index 0000000..95ce0e2
--- /dev/null
+++ b/DataProcessAlgorithm.cpp
@@ -0,0 +1,29 @@
+#include "DataProcessAlgorithm.h"
+#include
+
+DataProcessAlgorithm::DataProcessAlgorithm(QObject *parent) : QObject(parent)
+{
+
+}
+
+double DataProcessAlgorithm::allan(double x[], int d, int aN, int ai)
+{
+ int j = 0;
+ int i = 0;
+ double tau0; //tau0是基本采样间隔,由计数器或比相仪的最小采样间隔决定,最小为1s
+ double sum = 0.0;
+ double allan[2] = {0.0};
+ double *y = new double[aN];
+ double tau_2 = pow(d * tau0, 2); //pow是计算x的y次幂
+ for (i = 0; i < aN - 2 * d; i = i+1)
+ {
+ y[i] = pow(x[i+2*d] - 2 * x[i+d] + x[i], 2);
+ sum=sum+y[i];
+ j+=1;
+ }
+ allan[0] = sum/(2*tau_2*(aN-2*d)); //delta的平方
+ allan[1] = sqrt(sum/(2*tau_2*(aN-2*d))); //delta
+
+ j = 0;
+ return allan[ai];
+}
diff --git a/DataProcessAlgorithm.h b/DataProcessAlgorithm.h
new file mode 100644
index 0000000..055df83
--- /dev/null
+++ b/DataProcessAlgorithm.h
@@ -0,0 +1,18 @@
+#ifndef DATAPROCESSALGORITHM_H
+#define DATAPROCESSALGORITHM_H
+
+#include
+
+class DataProcessAlgorithm : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DataProcessAlgorithm(QObject *parent = nullptr);
+
+ double allan(double x[], int d, int aN, int ai);
+
+signals:
+
+};
+
+#endif // DATAPROCESSALGORITHM_H
diff --git a/PhaseMeasure.pro b/PhaseMeasure.pro
index ca48f14..d2d47d3 100644
--- a/PhaseMeasure.pro
+++ b/PhaseMeasure.pro
@@ -4,22 +4,24 @@
CONFIG += c++11
-FORMS += ChannelItem.ui \
- SetConfig.ui
+FORMS += ChannelItem.ui
FORMS += PhaseWindow.ui
+FORMS += SetConfig.ui
include(common/common.pri)
include(protocol/protocol.pri)
-HEADERS += PhaseDevice.h \
- SetConfig.h
+HEADERS += PhaseDevice.h
HEADERS += ChannelItem.h
HEADERS += PhaseWindow.h
+HEADERS += SetConfig.h
+HEADERS += DataProcessAlgorithm.h
-SOURCES += PhaseDevice.cpp \
- SetConfig.cpp
+SOURCES += PhaseDevice.cpp
SOURCES += ChannelItem.cpp
SOURCES += PhaseWindow.cpp
+SOURCES += SetConfig.cpp
+SOURCES += DataProcessAlgorithm.cpp
SOURCES += main.cpp
# Default rules for deployment.
diff --git a/PhaseMeasure.pro.user b/PhaseMeasure.pro.user
index d1824d6..f111ef2 100644
--- a/PhaseMeasure.pro.user
+++ b/PhaseMeasure.pro.user
@@ -1,6 +1,6 @@
-
+
EnvironmentId
diff --git a/common/utils/UDPClientUtil.cpp b/common/utils/UDPClientUtil.cpp
index 6695afe..b7ebbe0 100644
--- a/common/utils/UDPClientUtil.cpp
+++ b/common/utils/UDPClientUtil.cpp
@@ -7,7 +7,7 @@
{
client = new QUdpSocket(this);
- client->bind(QHostAddress("127.0.0.1"), SettingConfig::getInstance().LISTEN_PORT);
+ client->bind(QHostAddress("192.168.0.201"), SettingConfig::getInstance().LISTEN_PORT);
connect(client, &QUdpSocket::readyRead,
this, &UDPClientUtil::readData);
}