Получение данных из USRP

0

Вопрос

Я написал небольшую программу на c++, которая получает данные из USRP. Программа может получать данные ввода-вывода и отображать их на анализаторе спектра. Однако индикатор приемника не всегда горит зеленым. Он как бы мигает и тускнеет. Я подозреваю, что существует несоответствие скорости между компьютером и USRP. Может ли это быть так? Как убедиться, что компьютер потребляет образцы с той же скоростью, с какой их получает USRP? Ниже приведена функция потока, которую я использую для сбора сигнала ввода-вывода.

void
USRPDriver::RxEventLoop()
{
    uhd::rx_metadata_t md;
    uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
    stream_cmd.stream_now = true;
    stream_cmd.num_samps = 1024;
    //std::cout << "Maximum num samps = " << rx_stream->get_max_num_samps() << std::endl;
    std::vector<std::complex<float> > fcpxIQ;
    fcpxIQ.resize(1024);
    usrp->issue_stream_cmd(stream_cmd);
    while(true)
    {
        usrp->issue_stream_cmd(stream_cmd);
        size_t num_rx_samps = rx_stream->recv(&fcpxIQ[0], 1024, md);
        emit ReceiveIQ(fcpxIQ);
        //std::cout << "Rx rate = " << usrp->get_rx_rate(0) << std::endl;
        //fcpxIQ.clear();
    }
}
c++ gnuradio usrp
2021-11-16 14:11:52
1

Лучший ответ

0

вы не должны использовать NUM_SAMPS_AND_DONE если вы хотите непрерывную потоковую передачу. Это совсем не тот вариант использования, для которого он предназначен: он сообщает USRP прекратить прием после получения 1024 образцов.

Просто не используйте этот режим.

2021-11-16 15:15:00

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................