0 说明
最近为了检验编译码模块的空口性能,故基于Gnuradio软件中的benchmark程序进行了空口程序的测试,在该过程中,不仅对python语言进行了初步的了解,并且需要gnuradio中的模块编写框架熟悉,前前后后花费一个多月的时间,故在此进行一下整理总结,也方便有需要的人,难免有错,请见谅!
关于Gnuradio的介绍及安装,可以自行Google以及查看相关教程,这里不再做介绍。我所使用的Gnuradio版本为 gnuradio-3.7.11,环境 Ubuntu 14.04,其中benchmark收发程序的目录为 gnuradio-3.7.11/gr-digital/examples/narrowband,发送端程序的入口为benchmark_tx.py,接收端程序的入口为benchmark_rx.py,两者均为python的可运行脚本。下面先来讲如何运行,然后对代码框架进行一个详解,希望对大家有用!
1 Benchmark运行
1.1 发送端
在linux命令行中输入:./benchmark_tx.py–h 可以查看benchmark_tx.py运行时的命令参数,以下对几个重点进行介绍,其余的参数,感兴趣的可以自己研究一下。
-h / --help |
show this help message and exit |
-m / --modulation |
Select modulation from: psk, cpm, qpsk, dqpsk, gfsk, qam, dbpsk, bpsk, gmsk [default=psk] 选择调制方式 |
-s / --size |
Set packet size [default=1500] 设置发送每个数据包的大小(单位:字节) |
-M / --megabytes |
set megabytes to transmit [default=1.0] 设置一共发送的字节大小,默认为1百万bytes,根据-s 及 –M的参数,可以计算出发送数据包的个数 |
--discontinuous |
enable discontinous transmission (bursts of 5 packets),可以设置在发送端每发送5个包之后,停顿1s再继续发送 |
--from-file=FROM_FILE |
use intput file for packet contents 从文件中读取数据,然后发送 |
--to-file=TO_FILE |
Output file for modulated samples 注意:这里的意思是将要发送的数据保存到文件中,不再通过USRP发送出去 |
-r / --bitrate |
specify bitrate [default=100000.0] |
--tx-amplitude |
set transmitter digital amplitude: 0 <= AMPL < 1 [default=0.25] |