Ver Fonte

add by xyh in 4.29

xyh123999 há 2 anos atrás
pai
commit
92517efbf8
6 ficheiros alterados com 513 adições e 126 exclusões
  1. 13 0
      interceptradar.cpp
  2. 4 0
      interceptradar.h
  3. 357 59
      mainwindow.cpp
  4. 5 3
      mainwindow.h
  5. 56 58
      mainwindow.ui
  6. 78 6
      radarsiggen.cpp

+ 13 - 0
interceptradar.cpp

@@ -30,6 +30,9 @@ double interceptRadar::getFc(){
 double interceptRadar::getFs(){
     return this->fs;
 }
+void interceptRadar::setFs(double fs){
+     this->fs = fs;
+}
 double interceptRadar::getPRF(){
     return this->PRF;
 }
@@ -54,3 +57,13 @@ void interceptRadar::setSig(double *sig){
     this->sig = sig;
 
 }
+void interceptRadar::setLen(double len){
+
+    this->len = len;
+
+}
+double interceptRadar::getLen(){
+
+    return this->len;
+}
+

+ 4 - 0
interceptradar.h

@@ -13,6 +13,7 @@ private:
     double PRF;//脉冲重复周期
     double fs;//系统采样率
     double* sig;
+    double len;
     std::string index;//雷达编号
 public:
     interceptRadar(char waveform,double fc,double simTime,
@@ -28,7 +29,10 @@ public:
     double getT();
     double getPRF();
     double getFs();
+    void setFs(double fs);
     double* getSig();
+    void setLen(double len);
+    double getLen();
     void setSig(double *sig);
 
 };

+ 357 - 59
mainwindow.cpp

@@ -10,11 +10,14 @@ MainWindow::MainWindow(QWidget *parent)
     //radarServer = new RadarServer(this, 1234);
     radarServerThread = new QThread(this);
     radarSigGenThread = new QThread(this);
+
      tableview = new QStandardItemModel;
      tableview->setHorizontalHeaderItem(0,new QStandardItem("雷达编号"));
-     tableview->setHorizontalHeaderItem(1,new QStandardItem("工作状态"));
+     tableview->setHorizontalHeaderItem(1,new QStandardItem("模型编号"));
      tableview->setHorizontalHeaderItem(2,new QStandardItem("信号类型"));
      tableview->setHorizontalHeaderItem(3,new QStandardItem("载波频率"));
+     tableview->setHorizontalHeaderItem(4,new QStandardItem("PRF模式"));
+     tableview->setHorizontalHeaderItem(5,new QStandardItem("脉内调制带宽"));
      rows = 0;
     radarServer = new RadarServer();
     radarSigGen = new RadarSigGen();
@@ -43,6 +46,18 @@ MainWindow::MainWindow(QWidget *parent)
     ui->lineEdit_PRF->setDisabled(true);
     ui->lineEdit_BW->setDisabled(true);
 
+    xAxis = new QValueAxis;
+
+       xAxis->setLabelFormat("%i");
+       xAxis->setTitleText("Time");
+
+       MyChart.addAxis(xAxis, Qt::AlignBottom);
+       MyChart.setTitle(QString::fromStdString("信号生成预览"));
+       yAxis = new QValueAxis;
+
+       yAxis->setTitleText("Signal Value");
+       MyChart.addAxis(yAxis, Qt::AlignLeft);
+
 
 
 }
@@ -62,38 +77,19 @@ void MainWindow::on_pushButton_42_clicked()
 
 void MainWindow::on_comboBox_radarType_currentIndexChanged(const QString &arg1)
 {
-    if(arg1.toStdString()=="模型1"){
 
-        ui->lineEdit_sigType->setText(QString::fromStdString("相位编码"));
-        ui->lineEdit_fc->setText(QString::number(1e9,'f',2));
-        ui->lineEdit_T->setText(QString::number(5e-6,'f',6));
-        ui->lineEdit_PRF->setText(QString::number(1/(20e6),'f',8));
-        ui->lineEdit_BW->setText(QString::number(20e6,'f',2));
-
-    }
 
 }
 
 void MainWindow::on_pushButton_5_clicked()
 {
     // 1.获取画布
+
         std::string chooseIndex = ui->comboBox_28->currentText().toStdString();
         MyChartView = ui->SimShow;
-        QValueAxis MyAxisX;         // X轴
-        QValueAxis MyAxisY;         // Y轴
-        MyAxisX.setRange(0,100);
-        MyAxisY.setRange(-1,1);
-        MyAxisX.setTitleText(QStringLiteral("时间"));
-        MyAxisX.setTitleFont(QFont("宋体"));
-        MyAxisX.setTickCount(10);
-        MyAxisX.setGridLineVisible(true);
-        MyAxisX.setLineVisible(true);
-        MyAxisX.setGridLineColor(Qt::black);
-        MyChart.addAxis(&MyAxisX,Qt::AlignLeft);
-        MyChart.addAxis(&MyAxisY,Qt::AlignBottom);
-        MyChartView->setChart(&MyChart);
-        MyChartView->setRubberBand(QChartView::RectangleRubberBand);
-        MyChart.setTitle(QString::fromStdString("信号生成预览"));
+        MyChart.removeAllSeries();
+
+
 //        MyLineSeries.attachAxis(MyAxisX);
 //        MyLineSeries.attachAxis(MyAxisY);
 
@@ -101,27 +97,40 @@ void MainWindow::on_pushButton_5_clicked()
         for(int i=0;i<interceptRadarNum;i++)
         {
             if(chooseIndex==interceptRadarList[i]->getIndex()){
-                std::cout<<"选中";
+
                 currentSig = interceptRadarList[i]->getSig();
-                std::cout<<currentSig[1];
+                len = interceptRadarList[i]->getLen();
+
             }
         }
+        qDebug()<<len;
+
         // 3.给序列对象添加数据
-        for(int i = 0; i < 200000; i ++)
-        {
-            MyPointf << QPointF(i,currentSig[i]);
+//        QVector<QPointF> MyPointf ;
+        QLineSeries *MyLineSeries = new QLineSeries();
+        for (int i = 0; i < (int)len; i++) {
+            MyLineSeries->append(i, currentSig[i]);
         }
-        MyLineSeries.replace(MyPointf);
-        MyLineSeries.attachAxis(&MyAxisX);
-        // 4.将序列添加到坐标对象中
-        MyChart.addSeries(&MyLineSeries);
-        MyChart.addAxis(&MyAxisX,Qt::AlignLeft);
-        MyChart.addAxis(&MyAxisY,Qt::AlignBottom);
-        // 2.展示坐标对象(将坐标对象放到画布上)
+//        for(int i = 0; i < 100000; i ++)
+//        {
+//            MyPointf << QPointF(i,currentSig[i]);
+//        }
+//        MyLineSeries.replace(MyPointf);
+        MyChart.addSeries(MyLineSeries);
 
 
+           MyLineSeries->attachAxis(xAxis);
 
+           // Set up the Y axis
 
+           MyLineSeries->attachAxis(yAxis);
+
+//        MyLineSeries.attachAxis(&MyAxisX);
+//        MyLineSeries.attachAxis(&MyAxisY);
+        MyChartView->setRenderHint(QPainter::Antialiasing);
+        MyChartView->setRubberBand(QChartView::RectangleRubberBand);
+        MyChartView->setDragMode(QGraphicsView::ScrollHandDrag);
+        MyChartView->setChart(&MyChart);
 
 
 }
@@ -130,47 +139,336 @@ void MainWindow::on_pushButton_5_clicked()
 
 void MainWindow::on_CreateInterceptRadarButton_clicked()
 {
-    std::cout<<ui->comboBox_radarType->currentIndex();
-    if(ui->comboBox_radarType->currentIndex()==0){//模型1
-        radarSigGen->SlotRadarGen(1);
+
+    if(ui->comboBox_radarType->currentIndex()==0){//模型001
+
+         radarSigGen->SlotRadarGen(1);
          interceptRadarList[interceptRadarNum] = new interceptRadar();
          interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(400000);
+         interceptRadarList[interceptRadarNum]->setFs(*(radarSigGen->fs));
+         qDebug()<<*(radarSigGen->len);
          interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
-
+         ui->lineEdit_sigType->setText(QString::fromStdString("相位编码"));
+         ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+         ui->lineEdit_T->setText(QString::fromStdString("-"));
+         ui->lineEdit_PRF->setText(QString::fromStdString("抖动"));
+         ui->lineEdit_BW->setText(QString::fromStdString("1us"));
 
          int lines = 0;
 
-             tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+         tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
 
-             tableview->setItem(rows, lines++, new QStandardItem("正常"));
-              tableview->setItem(rows, lines++, new QStandardItem("相位编码"));
-               tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_fc->text()));
-           ui->tableView_6->setModel(tableview);
-           ui->tableView_11->setModel(tableview);
-           ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+         tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+         tableview->setItem(rows, lines++, new QStandardItem("相位编码"));
+         tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+         tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+         tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+         ui->tableView_6->setModel(tableview);
+         ui->tableView_11->setModel(tableview);
+         ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
 
     }
-    if(ui->comboBox_radarType->currentIndex()==1){//模型2
-        radarSigGen->SlotRadarGen(2);
+    if(ui->comboBox_radarType->currentIndex()==1){//模型101
+         radarSigGen->SlotRadarGen(2);
          interceptRadarList[interceptRadarNum] = new interceptRadar();
          interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
          interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+         ui->lineEdit_sigType->setText(QString::fromStdString("矩形脉冲"));
+         ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+         ui->lineEdit_T->setText(QString::fromStdString("-"));
+         ui->lineEdit_PRF->setText(QString::fromStdString("抖动"));
+         ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
          int lines = 0;
 
-             tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+         tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
 
-             tableview->setItem(rows, lines++, new QStandardItem("正常"));
-              tableview->setItem(rows, lines++, new QStandardItem("相位编码"));
-               tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_fc->text()));
-           ui->tableView_6->setModel(tableview);
-           ui->tableView_11->setModel(tableview);
+         tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+         tableview->setItem(rows, lines++, new QStandardItem("矩形脉冲"));
+         tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+         tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+         tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+         ui->tableView_6->setModel(tableview);
+         ui->tableView_11->setModel(tableview);
          ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
     }
-    if(ui->comboBox_radarType->currentIndex()==2){//模型3
+    if(ui->comboBox_radarType->currentIndex()==2){//模型102
         radarSigGen->SlotRadarGen(3);
-         interceptRadarList[interceptRadarNum] = new interceptRadar();
-         interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
-         ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("矩形脉冲"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("-"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem("矩形脉冲"));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==3){//模型103
+        radarSigGen->SlotRadarGen(4);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+
+        ui->lineEdit_sigType->setText(QString::fromStdString("矩形脉冲"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("-"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("0.5us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==4){//模型201
+        radarSigGen->SlotRadarGen(5);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("相位编码"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("-"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("抖动"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==5){//模型202
+        radarSigGen->SlotRadarGen(6);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("相位编码"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("-"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==6){//模型203
+        radarSigGen->SlotRadarGen(7);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("相位编码"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("-"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("0.5us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==7){//模型301
+        radarSigGen->SlotRadarGen(8);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("线性调频"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("1GHz"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("抖动"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==8){//模型302
+        radarSigGen->SlotRadarGen(9);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("线性调频"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("1GHz"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==9){//模型303
+        radarSigGen->SlotRadarGen(10);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("线性调频"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("500MHz"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("0.5us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==10){//模型401
+        radarSigGen->SlotRadarGen(11);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("调频连续"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("1GHz"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("抖动"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==11){//模型402
+        radarSigGen->SlotRadarGen(12);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("调频连续"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("1GHz"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("1us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
+    }
+    if(ui->comboBox_radarType->currentIndex()==12){//模型403
+        radarSigGen->SlotRadarGen(13);
+        interceptRadarList[interceptRadarNum] = new interceptRadar();
+        interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString());
+         interceptRadarList[interceptRadarNum]->setLen(*(radarSigGen->len));
+        interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig);
+        ui->lineEdit_sigType->setText(QString::fromStdString("调频连续"));
+        ui->lineEdit_fc->setText(QString::fromStdString("9.5GHz"));
+        ui->lineEdit_T->setText(QString::fromStdString("500MHz"));
+        ui->lineEdit_PRF->setText(QString::fromStdString("固定"));
+        ui->lineEdit_BW->setText(QString::fromStdString("0.5us"));
+
+        int lines = 0;
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text()));
+
+        tableview->setItem(rows, lines++, new QStandardItem(ui->comboBox_radarType->currentText()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_sigType->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_fc->text()));
+        tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_PRF->text()));
+        tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_BW->text()));
+        ui->tableView_6->setModel(tableview);
+        ui->tableView_11->setModel(tableview);
+        ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text());
     }
 
 

+ 5 - 3
mainwindow.h

@@ -10,6 +10,7 @@
 #include <QStandardItemModel>
 #include <QtCharts>
 QT_BEGIN_NAMESPACE
+QT_CHARTS_USE_NAMESPACE
 namespace Ui { class MainWindow; }
 QT_END_NAMESPACE
 
@@ -42,10 +43,11 @@ private:
     QChartView * MyChartView;   // 画布对象
     QChart MyChart;             // 图表对象
     QLineSeries MyLineSeries;   // 展示在图表对象上面的线对象
-    QVector<QPointF> MyPointf;  // 绘制线对象所需要的数据
-    QValueAxis MyAxisX;         // X轴
-    QValueAxis MyAxisY;         // Y轴
+
+    QValueAxis *xAxis ;
+     QValueAxis *yAxis ;
     QStandardItemModel *tableview;
+    double len;
     int rows;
 
 };

+ 56 - 58
mainwindow.ui

@@ -409,7 +409,7 @@
        </rect>
       </property>
       <property name="text">
-       <string>脉内调制带宽/Hz:</string>
+       <string>脉冲带宽:</string>
       </property>
      </widget>
      <widget class="QLineEdit" name="lineEdit_BW">
@@ -455,7 +455,7 @@
        </rect>
       </property>
       <property name="text">
-       <string>脉冲宽度/s:</string>
+       <string>带宽/Hz:</string>
       </property>
      </widget>
      <widget class="QLineEdit" name="lineEdit_T">
@@ -478,7 +478,7 @@
        </rect>
       </property>
       <property name="text">
-       <string>脉冲重复周期/s:</string>
+       <string>PRF模式:</string>
       </property>
      </widget>
      <widget class="QLineEdit" name="lineEdit_PRF">
@@ -515,17 +515,67 @@
       </property>
       <item>
        <property name="text">
-        <string>模型1</string>
+        <string>模型001</string>
        </property>
       </item>
       <item>
        <property name="text">
-        <string>模型2</string>
+        <string>模型101</string>
        </property>
       </item>
       <item>
        <property name="text">
-        <string>模型3</string>
+        <string>模型102</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型103</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型201</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型202</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型203</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型301</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型302</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型303</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型401</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型402</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>模型403</string>
        </property>
       </item>
      </widget>
@@ -882,58 +932,6 @@
        <string>信号参数设置</string>
       </property>
      </widget>
-     <widget class="QLabel" name="label_231">
-      <property name="geometry">
-       <rect>
-        <x>650</x>
-        <y>250</y>
-        <width>121</width>
-        <height>20</height>
-       </rect>
-      </property>
-      <property name="text">
-       <string>范围:(5e8~2e9)</string>
-      </property>
-     </widget>
-     <widget class="QLabel" name="label_232">
-      <property name="geometry">
-       <rect>
-        <x>650</x>
-        <y>290</y>
-        <width>121</width>
-        <height>20</height>
-       </rect>
-      </property>
-      <property name="text">
-       <string>范围:(1e6~1e8)</string>
-      </property>
-     </widget>
-     <widget class="QLabel" name="label_233">
-      <property name="geometry">
-       <rect>
-        <x>630</x>
-        <y>330</y>
-        <width>141</width>
-        <height>20</height>
-       </rect>
-      </property>
-      <property name="text">
-       <string>范围:(3e-6~5e-2)</string>
-      </property>
-     </widget>
-     <widget class="QLabel" name="label_234">
-      <property name="geometry">
-       <rect>
-        <x>630</x>
-        <y>370</y>
-        <width>141</width>
-        <height>20</height>
-       </rect>
-      </property>
-      <property name="text">
-       <string>范围:(1e-7~1e-3)</string>
-      </property>
-     </widget>
      <widget class="QComboBox" name="comboBox_27">
       <property name="geometry">
        <rect>

+ 78 - 6
radarsiggen.cpp

@@ -13,6 +13,11 @@ RadarSigGen::RadarSigGen(QObject *parent) : QObject(parent)
 void RadarSigGen::SlotRadarGen(int order)
 {
     qDebug() << QString::fromLocal8Bit("生成信号")<<order;
+
+    sig = new double();
+    len = new double();
+
+
     SigMutex->lock();
     if (nullptr != sig)
     {
@@ -26,19 +31,86 @@ void RadarSigGen::SlotRadarGen(int order)
         break;
     case 2:
         coderSig = new coder::array<double,1U>[400000];
+        sig = new double[400000];
         RadarSignalGenerator101(coderSig[0],fs,PRF,len);
         sig = coderSig->data();
         break;
+    case 3:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator102(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 4:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator103(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 5:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator201(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 6:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator202(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 7:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator203(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 8:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator301(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 9:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator302(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 10:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator303(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 11:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator401(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 12:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator402(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
+    case 13:
+        sig = new double[400000];
+        coderSig = new coder::array<double,1U>[400000];
+        RadarSignalGenerator403(coderSig[0],fs,PRF,len);
+        sig = coderSig->data();
+        break;
 
     default:
         sig = new double[20];
         break;
     }
-    for (int i = 0;i < 20;i++)
-    {
-        std::cout << sig[i] << std::endl;
-    }
-    std::cout << *fs << std::endl;
-    std::cout << *PRF << std::endl;
+
+//    for (int i = 10000;i < 10050;i++)
+//        {
+//            std::cout << sig[i] << std::endl;
+//        }
+
     SigMutex->unlock();
 }