В Gnuradio есть возможноcти переключать частоту приема USRP следующими способами:
- через параметр "Ch0: Center Freq (Hz)" блока UHD Source
- с помощью отправки pmt сообщения на вход command блока UHD Source
- из питоновского кода схемы через метод uhd_source.set_center_freq(_f0, 0)
Из особенности схемы, я должен получать на каждой частоте вектор в 2**16 элементов, затем сразу переключаться на следующую частоту (+- 1МГц)
Проблема в том, что я не знаю точно точку в потоке данных, когда произошло переключение частоты.
После получения команды на установку частоты USRP еще около 30к сэмплов думает, потом выдает около 10-20к нулей, потом резкий выброс по амплитуде и далее идут сэмплы с новой частоты.
Как отследить конкретное место начала данных на новой частоте, или
Как остановить USRP и забирать данные по своему запросу?