GNURadio 中的U O aU aO

        输 出 O U u a 的意义当运行 gnu radio 程序时,会有时看见 O U u a 字符出现在屏幕上。这一般当数据从 USRP 到 PC 机数据输到硬件的时候PC数据速率跟不上。

  • 输 出 "O" "U" "u" "a" 的意义
当运行 gnu radio 程序时,会有时看见 "O" "U" "u" "a" 字符出现在屏幕上。这一般当数据从 USRP 到 PC 机数据传输停止或什么事情发生时会出现。

       "u" = USRP 
       "a" = audio (声卡) 
       "O" = overrun (PC 无法同步地接受来自 USRP 或 声卡的数据 - PC not keeping up with received data from usrp                  or audio card)
       "U" = underrun(PC 无法快速的提供数据 - PC not providing data quickly enough)

        aUaU == audio underrun (PC 无法快速地给“漏”- 声卡提供数据 - not enough samples ready to send to sound                           card sink
        uUuU == USRP underrun (PC 无法快速地给“漏”- USRP提供数据 - not enough sample ready to send to USRP                          sink
        uOuO == USRP overrun (USRP 采样掉链源于它没有及时准备到位 - USRP samples dropped because they weren't read in time)


  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在GNU Radio新建模块需要以下步骤: 1. 创建一个新的模块目录,例如“my_module”。 2. 在该目录下创建一个名为“CMakeLists.txt”的文件,并添加以下内容: ``` cmake_minimum_required(VERSION 3.2) project(my_module) find_package(Gnuradio REQUIRED) include_directories(${GNURADIO_INCLUDE_DIRS}) link_directories(${GNURADIO_LIBRARY_DIRS}) set(CMAKE_CXX_STANDARD 11) set(MY_MODULE_SOURCES my_block.cc my_block.h my_module.cc my_module.h ) add_library(my_module SHARED ${MY_MODULE_SOURCES}) target_link_libraries(my_module ${GNURADIO_ALL_LIBRARIES}) ``` 3. 创建一个名为“my_block.h”的头文件,并在其定义您的GNU Radio块。 ``` #ifndef MY_BLOCK_H #define MY_BLOCK_H #include <gnuradio/block.h> class my_block : public gr::block { public: typedef std::shared_ptr<my_block> sptr; static sptr make(); }; #endif // MY_BLOCK_H ``` 4. 创建一个名为“my_block.cc”的源文件,并在其实现您的GNU Radio块。 ``` #include "my_block.h" my_block::sptr my_block::make() { return std::make_shared<my_block>(); } my_block::my_block() : gr::block("my_block", gr::io_signature::make(0, 0, 0), gr::io_signature::make(0, 0, 0)) { } my_block::~my_block() { } ``` 5. 创建一个名为“my_module.h”的头文件,并在其包含您的所有块。 ``` #ifndef MY_MODULE_H #define MY_MODULE_H #include "my_block.h" #endif // MY_MODULE_H ``` 6. 创建一个名为“my_module.cc”的源文件,并在其注册您的模块。 ``` #include <gnuradio/block.h> #include <gnuradio/top_block.h> #include <gnuradio/gr_complex.h> #include "my_module.h" extern "C" { void my_module_cc_init() { static bool done = false; if (!done) { done = true; my_block::sptr my_block = my_block::make(); gr::block_registry::register_block( "my_module", gr::io_signature::make(0, 0, 0), gr::io_signature::make(0, 0, 0), my_block ); } } } ``` 7. 在GNU Radio源代码的“CMakeLists.txt”文件添加您的模块。 ``` add_subdirectory(my_module) ``` 8. 编译并安装您的模块。 ``` mkdir build cd build cmake .. make sudo make install ``` 完成以上步骤后,您的新模块就可以在GNU Radio使用了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值