MCPcopy Create free account
hub / github.com/BatchDrake/SigDigger / onCostasRecovery

Method onCostasRecovery

Components/TimeWindow.cpp:1873–1929  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1871}
1872
1873void
1874TimeWindow::onCostasRecovery(void)
1875{
1876 if (!this->ui->realWaveform->isComplete())
1877 return;
1878
1879 try {
1880 enum sigutils_costas_kind kind = SU_COSTAS_KIND_BPSK;
1881
1882 SUFLOAT relBw = SU_ABS2NORM_FREQ(
1883 this->fs,
1884 this->ui->costasBwSpin->value());
1885
1886 SUFLOAT tau = 1. / SU_ABS2NORM_BAUD(
1887 this->fs,
1888 this->ui->costasArmBwSpin->value());
1889 const SUCOMPLEX *orig;
1890 SUCOMPLEX *dest;
1891 SUSCOUNT len;
1892
1893 this->getTransformRegion(
1894 orig,
1895 dest,
1896 len,
1897 this->ui->afcSelCheck->isChecked());
1898
1899 switch (this->ui->costasOrderCombo->currentIndex()) {
1900 case 0:
1901 kind = SU_COSTAS_KIND_BPSK;
1902 break;
1903
1904 case 1:
1905 kind = SU_COSTAS_KIND_QPSK;
1906 break;
1907
1908 case 2:
1909 kind = SU_COSTAS_KIND_8PSK;
1910 break;
1911 }
1912
1913 CostasRecoveryTask *task = new CostasRecoveryTask(
1914 orig,
1915 dest,
1916 len,
1917 tau,
1918 relBw,
1919 kind);
1920
1921 this->notifyTaskRunning(true);
1922 this->taskController.process("costas", task);
1923 } catch (Suscan::Exception &e) {
1924 QMessageBox::warning(
1925 this,
1926 "Costas carrier recovery",
1927 "Cannot perform operation: " + QString(e.what()));
1928 }
1929}
1930

Callers

nothing calls this directly

Calls 4

getTransformRegionMethod · 0.95
notifyTaskRunningMethod · 0.95
valueMethod · 0.80
processMethod · 0.45

Tested by

no test coverage detected