diff --git a/mainwindow.cpp b/mainwindow.cpp index aae8c33..cb70dc0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -14,5 +14,5 @@ MainWindow::MainWindow() connect(dock, SIGNAL(fftSizeChanged(int)), &spectrogram, SLOT(setFFTSize(int))); connect(dock->powerMaxSlider, SIGNAL(valueChanged(int)), &spectrogram, SLOT(setPowerMax(int))); - connect(dock->powerRangeSlider, SIGNAL(valueChanged(int)), &spectrogram, SLOT(setPowerRange(int))); + connect(dock->powerMinSlider, SIGNAL(valueChanged(int)), &spectrogram, SLOT(setPowerMin(int))); } \ No newline at end of file diff --git a/spectrogram.cpp b/spectrogram.cpp index 82a027e..35b84a2 100644 --- a/spectrogram.cpp +++ b/spectrogram.cpp @@ -10,7 +10,7 @@ Spectrogram::Spectrogram() { inputSource = new InputSource("/home/mike/Downloads/hubsan-chopped.cfile", 1024); powerMax = 0.0f; - powerRange = 40.0f; + powerMin = -50.0f; resize(inputSource->GetWidth(), inputSource->GetHeight()); } @@ -95,6 +95,7 @@ void Spectrogram::paintEvent(QPaintEvent *event) QImage image(width, height, QImage::Format_RGB32); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { + float powerRange = std::abs(powerMin - powerMax); float normPower = (data[y*width + x] - powerMax) * -1.0f / powerRange; normPower = clamp(normPower, 0.0f, 1.0f); @@ -127,8 +128,8 @@ void Spectrogram::setPowerMax(int power) update(); } -void Spectrogram::setPowerRange(int power) +void Spectrogram::setPowerMin(int power) { - powerRange = power; + powerMin = power; update(); } \ No newline at end of file diff --git a/spectrogram.h b/spectrogram.h index d216dcd..3d86f7f 100644 --- a/spectrogram.h +++ b/spectrogram.h @@ -13,7 +13,7 @@ public: public slots: void setFFTSize(int size); void setPowerMax(int power); - void setPowerRange(int power); + void setPowerMin(int power); protected: void paintEvent(QPaintEvent *event); @@ -23,5 +23,5 @@ private: InputSource *inputSource; float powerMax; - float powerRange; + float powerMin; }; \ No newline at end of file diff --git a/spectrogramcontrols.cpp b/spectrogramcontrols.cpp index d55b316..2b7595b 100644 --- a/spectrogramcontrols.cpp +++ b/spectrogramcontrols.cpp @@ -13,14 +13,14 @@ SpectrogramControls::SpectrogramControls(const QString & title, QWidget * parent layout->addRow(new QLabel(tr("FFT size:")), fftSizeSlider); powerMaxSlider = new QSlider(Qt::Horizontal, widget); - powerMaxSlider->setRange(-60, 20); + powerMaxSlider->setRange(-100, 20); powerMaxSlider->setValue(0); layout->addRow(new QLabel(tr("Power max:")), powerMaxSlider); - powerRangeSlider = new QSlider(Qt::Horizontal, widget); - powerRangeSlider->setRange(0, 80); - powerRangeSlider->setValue(40); - layout->addRow(new QLabel(tr("Power range:")), powerRangeSlider); + powerMinSlider = new QSlider(Qt::Horizontal, widget); + powerMinSlider->setRange(-100, 20); + powerMinSlider->setValue(40); + layout->addRow(new QLabel(tr("Power min:")), powerMinSlider); widget->setLayout(layout); setWidget(widget); diff --git a/spectrogramcontrols.h b/spectrogramcontrols.h index 707cabd..03b6007 100644 --- a/spectrogramcontrols.h +++ b/spectrogramcontrols.h @@ -22,5 +22,5 @@ private: QSlider *fftSizeSlider; public: QSlider *powerMaxSlider; - QSlider *powerRangeSlider; + QSlider *powerMinSlider; }; \ No newline at end of file