radarsiggen.cpp 996 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "radarsiggen.h"
  2. RadarSigGen::RadarSigGen(QObject *parent) : QObject(parent)
  3. {
  4. SigMutex = new QMutex();
  5. sig = new double();
  6. fs = new double();
  7. PRF = new double();
  8. len = new double();
  9. coderSig = new coder::array<double,1U>();
  10. }
  11. void RadarSigGen::SlotRadarGen(int order)
  12. {
  13. qDebug() << QString::fromLocal8Bit("生成信号")<<order;
  14. SigMutex->lock();
  15. if (nullptr != sig)
  16. {
  17. delete sig;
  18. }
  19. switch (order) {
  20. case 1:
  21. sig = new double[400000];
  22. RadarSignalGenerator001(sig,fs,PRF);
  23. break;
  24. case 2:
  25. coderSig = new coder::array<double,1U>[400000];
  26. RadarSignalGenerator101(coderSig[0],fs,PRF,len);
  27. sig = coderSig->data();
  28. break;
  29. default:
  30. sig = new double[20];
  31. break;
  32. }
  33. for (int i = 0;i < 20;i++)
  34. {
  35. std::cout << sig[i] << std::endl;
  36. }
  37. std::cout << *fs << std::endl;
  38. std::cout << *PRF << std::endl;
  39. SigMutex->unlock();
  40. }