GNU Radio简介
GNU Radio是什么
基本思想
定义
GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来链接真实的无线电系统。GNU Radio是一个高度模块化,采用流图类形式的软件架构平台,它本身提供了许多模块库,使用者可以很快速的使用这些模块来建立关于信号处理的流程。
主要思想
GNU Radio是一个通过最小程度地结合硬件(主要是USRP),用软件来定义无线电波发射和接收的方式,搭建无线电通信系统的的开源软件系统。

软件架构(GNU Radio的"hello world")
GNU Radio 提供一个信号处理模块的库,并且有个机制可以把单个的处理模块连接在一起形成一个系统。编程者通过建立一个流向图(flow graph)就能搭建成一个无线电系统。
信号处理模块是使用 C++来实现的,理论上说,信号数据流不停的从输入端口流入从输出端口流出。信号处理块 (blocks)的属性包括输入和输出的端口数,流过它们的数据的类型。
经常使用的数据流的类型是短整型(short),浮点型(float),和复数 (complex)类型。一些处理模块仅仅有输出端口或者输入端口,它们分别成为信号源(data source)和信号接收器(sink)。有的信号源从文件或者 ADC 读入数据,信号接收器写入文件或者 DAC 或者 PC 的多媒体接口。
GNU Radio 提供了超过 100 个信号处理块,并且扩展新的处理模块也是非常容易的。软件图形化接口和信号处理模块的链接机制是通过 python 脚本语言来进行的。
Python编写"hello wolrd"案例
下面的python文件是一个 GNU Radio 的“Hello World”的例子。它产生两个 sine 波形并且把他们输出到声卡,一个输出到声卡的左声道,一个输出到右声道。
// Linux终端命令
sudo vi Dial_tone.py
//注意保存不成功,修改文件权限
sudo chmod 777 Dial_tone.py
// 在编辑器中添加以下案例代码
#!/usr/bin/env python
#
# Copyright 2004,2005,2007 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published
by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT

本文介绍了GNURadio,一个开源软件无线电平台,用于设计、仿真及连接真实无线电系统。文章详细阐述了其核心思想、软件架构,展示了Python编写与图形界面实现的HelloWorld案例,以及硬件架构需求。
GNU radio简介&spm=1001.2101.3001.5002&articleId=105706691&d=1&t=3&u=5c325b23e3c148e986d546a83212e06f)
2万+

被折叠的 条评论
为什么被折叠?



