Название: QwtPlotSpectrogram в Qwt в библиотеке. Отправлено: kvrus от Январь 07, 2011, 14:15 Здравствуйте.
Пытаюсь разработать утилитку отображения спектра сигнала во времени (ось x - частота, ось у - время, ось Z уровень сигнала). Разбираюсь с примером spectrogram приложенным к библиотеке кувт. Но в этом примере спектрограмма не меняется во времени , она как бы создана в QwtRasterData по формуле z = 1.0 / (v1(x,y) * v1(x,y) + v2(x,y) * v2(x,y)); в переопределении виртуального метода value. Не могу сообразить как мне отобразить спектрограмму из имеющегося массива данных (двумерный массив строки - ось х столбцы - ось у и значения соответствуют значениям z). Может кто то сталкивался с такой задачей? Название: Re: QwtPlotSpectrogram в Qwt в библиотеке. Отправлено: SLiDER от Январь 19, 2011, 13:37 Данный контрол абсолютно не приспособлен для Вашего случая. Единственный вариант это переопределять функцию (метод value у QwtRasterData) возвращающую значение точки запрашиваемой компонентом и рассчитывать её интерполируя для этого Ваши данные. Но тормозить всё это будет чудовищно, так как сколько точек (физических пикселей) будет в Вашей спектрограмме столько раз и будет вызван метод value, т.е. при картинке 800х600, для однократной перерисовки, это будет 480000 вызовов метода.
Название: Re: QwtPlotSpectrogram в Qwt в библиотеке. Отправлено: Ubuntu_linux от Январь 24, 2011, 03:53 А просто по таймеру реплот ?
Название: Re: QwtPlotSpectrogram в Qwt в библиотеке. Отправлено: gorec323 от Май 16, 2013, 15:29 А просто по таймеру реплот ? При вызове replot() у меня не получилось обновить спектрограмму. А вот после изменения массива данных пришлось вызывать следующие функции: Код: QwtPlotSpectrogram *d_Spectrogram; |