从零开始USRP 01 环境搭建以及基本demo

写在前面:

本文是对https://blog.csdn.net/YOUNGAAAAA/article/details/128098154的拓展,即不是从0开始URSP,而是从-100开始,笔者是真的一点都不会。

基本概念

通用软件无线电外设(Universal Software Radio Peripheral,USRP)是由Ettus Research及其母公司National Instruments设计和销售的一系列软件定义无线电。 USRP产品系列由Matt Ettus领导的团队开发,旨在成为一个相对便宜的软件无线电硬件平台,并且常用于研究实验室,大学和业余爱好者。

大多数USRP通过高速链路连接到主机,基于主机的软件用它来控制USRP硬件和发送/接收数据。一些USRP型号还将主机的一般功能与嵌入式处理器集成在一起,使USRP设备能够以独立的方式运行。

USRP系列专为可访问性而设计,许多产品都是开源硬件。选择的USRP型号的电路板原理图可免费下载; 所有USRP产品均由开源UHD驱动程序控制,该驱动程序是免费的开源软件。USRP通常与GNU Radio软件套件一起使用,以创建复杂的软件定义无线电系统。

UHDUniversal Hardware Driver,也就是硬件通用驱动的意思,USRP UHD就是为USRP提供的通用硬件驱动。

GNU Radio是一个自由软件开发工具包,提供实现软件无线电信号处理的信号处理模块系统。 它可以与外部RF硬件一起使用来发送软件无线电,或者在没有硬件的情况下于拟真环境运行。 它被无线电爱好者、高校研究人员以及商业领域广泛用于支援无线通信研究和现实世界的无线电系统。

下图非常形象的展示了整个SDR的发射过程,PC和USRP之间用USB链接,PC端运行SDR程序,将数据传输给USRP,经过数字域处理后DAC给模拟域发送出去。

 

软件无线电Software Defined RadioSDR)是一种实现无线通信的新概念和体制。在硬件中可以通过组件(例如混频器滤波器放大器调制器 / 解调器检测器等)实现,也可以通过软件手段实施。一开始软件无线电应用在军事领域,在21世纪初,由于众多公司的努力,使得它已从军事领域转向民用领域,成为经济的、应用广泛的、全球通信的第三代移动通信系统的战略基础。

FPGA 的全称为 Field-Programmable Gate Array,即现场可编程门阵列。 FPGA 是在 PAL、 GAL、 CPLD 等可编程器件的基础上进一步发展的产物, 是作为专用集成电路( ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 简而言之, FPGA 就是一个可以通过编程来改变内部结构的芯片。

详情见:https://tech.hqew.com/news_2076246

DAC and ADC数字模拟转换器(英语:Digital to analog converter,英文缩写:DAC)是一种将数字信号转换为模拟信号(以电流电压电荷的形式)的设备。模拟数字转换器(ADC)则是以相反的方向工作。在很多数字系统中,信号以数字方式存储和传输,而数字模拟转换器可以将这样的信号转换为模拟信号,从而使得它们能够被外界(人或其他非数字系统)识别。

数字模拟转换器的常见用法是在音乐播放器中将数字形式存储的音讯信号输出为模拟的声音。有的电视机的显像也有类似的过程。数字模拟转换器有时会降低原有模拟信号的精度,因此转换细节常常需要筛选,使得误差可以忽略。

这里给出了一系列的USRP型号一览图:

 

后面的章节都将是通过usrpB210进行展开,使用的开发环境是GNU Radio 。

作者还介绍了一下GNU Radio是个啥,而且还放了安装包和安装流程,嘿嘿嘿:

链接:https://pan.baidu.com/s/1x3bMr-xdBDhEnUm_QPpcNg
提取码:eh5r

 环境配置

首先,必然是VMWare+Ubuntu了,在此省略,详见:

 

 随后,我们跟着上面百度网盘中解压出来的readme走,文件如下:

step 0 :

Ubuntu版本需要18.04 .安装盘链接如下:

链接:https://pan.baidu.com/s/1PB7ASkoKfjEsDzgcuQstGQ

提取码:vznx 

安装系统过程注意选择英文版,并且不要连接网络,可以减少下载,减少系统安装时间。

 

step1:

安装过程需要连接网络

sudo sh 1_apt_update.sh

如果显示不成功,需要从新启动Ubuntu系统再从新执行一遍。一般情况需要运行10多分钟。

如果出现提示,输入y回车。

 

step2:

安装过程需要连接网络

sudo sh ./all.sh

长时间的等待后UHD , GNURADIO, GQRX,将自动安装成功。

首先要配置VMWare+Ubuntu,他要18版本的,但是我装的其实是22版本的,我感觉应该可以,我试试。

在尝试sudo sh 1_apt_update.sh的时候,我遇到了这个问题:

Certificate verification failed: The certificate is NOT trusted.

折腾了一下午,在快吃晚饭的时候,终于解决了,感谢这位老哥的博客:

apt命令报证书错误的解决方法------- Certificate verification failed: The certificate is NOT trusted.

https://blog.csdn.net/Chaowanq/article/details/121559709

事实证明,版本太高跑不了,因此咱们从新开始装吧……

 这个问题倒也是有办法解决,我们先安装18吧,因为后面可能还会因为版本问题出现更多奇奇怪怪的问题……

然而,即使我换成18版本,还是存在这个问题:

 

 我尝试再次使用上面那个老哥的方案解决。

然后我就开始装了!!

装好了!!!

运行!!!

 

 

 

 OHOHOHOHOHOHOOHOHOH!!!!

好的,今天就到这里,明天继续更新,今日份工作进展:搭好了GNU环境。

VMwareTools 的安装总有些问题,终于找到一篇真正的保姆级教程:
https://blog.csdn.net/weixin_52234647/article/details/126323342

 

一个小样例

首先,要熟悉一下GNU这个环境,或者说这个平台,我简单参考了这位大佬的视频:https://www.bilibili.com/video/BV11A411s7YC/?spm_id_from=333.999.0.0&vd_source=920f8a63e92d345556c1e229d6ce363f

搭建的页面如下:

 

 大致讲一下,我这里用了一个滑动的range,即一个可变的变量控制采样率。

选择一个信号源,用一个throttle来控制不要让计算机运存和CPU爆炸,后面接了一个波形显示的time sink,接了一个声卡播放声音,当然了音量太大损伤耳朵,因此我加了一个常数乘法,将音量降低到了以前的十分之一,然后接了一个FFT,并将频域显示出来。

输出如下:

 

 除了显示的信号之外,还能听到“滴滴滴滴滴滴滴滴~~~~~~~~~”的声音,那就是波形的声音。

与此同时我发现了一个很严肃的问题,就是这个软件真的很吃配置,特别是采样率大的时候……

然后果不其然,我就被卡死了……卡到重启虚拟机都重启不了。
后来试了一下,直接关闭窗口的形式关掉正在运行的软件不太好,还是用快捷键返回菜单点F7比较好。

到此为止,我们就完成了一个简单的GNU样例



下期见:https://www.cnblogs.com/loveandninenine/p/17283185.html 从零开始USRP 02 创建第一个USRP图



posted @ 2023-03-31 16:44  爱和九九  阅读(1199)  评论(2编辑  收藏  举报