本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!

温馨提示:“开源SDR实验室”是北京的。

本文介绍Pothos相关基本使用方法。

目录

一、入门

二、GQRX/SDR Console

三、Pothos强大之处

1、白噪声

2、滤波器

四、本文小结

五、有用链接和联系方式


一、入门

到此,一般情况下您已成功安装了LimeSuite并且工作一切正常。如果您还没有,可能是安装Pothos以及GQRX或SDR Console的好时机(这两个软件不是仅有的可以使用的软件,任何通用接收器应用程序都可以使用LimeSDR)。

其次,我们还需要为LimeSDR准备一些其他的硬件,比如在收听FM广播时我们需要一个能够匹配FM频率的天线。 如果找不到合适的天线,也不要担心,长度约为75厘米的非屏蔽线和SMA连接器也可以充当临时的天线。

同样的,鉴于我们再次在需要经过许可的频段上进行实验,所以在实验过程中最好断开TX端口上的所有高增益天线。需要注意的是,尽管我们实验的频段在大多数欧洲国家/地区都获得了许可【这是翻译的原文】,所以现在在某些FM频段内使用nW功率级别的“MP3发射器”是合法的,因此从理论上讲,在法律范围内可以将LimeSDR作为FM发射器来使用。

二、GQRX/SDR Console

使用SDR设备并启动相关应用程序时,几乎都要像GQRX或SDR Console一样来调整一下SDR设备的一些设置。虽然我们不会在此介绍更详细的信息,但仍有一些关键事项需要说明一下。我们需要确认可以收听的无线电频道:在使用这些无线电应用程序时,这些无线电频道需要在您所在地区的VHF FM无线电波段附近搜索。在我们的这个实例中,我们发现90.9MHz上有一个强信号,即BBC Radio 3【这是本文国外作者的实际FM电台频率】。

SDR Console是Windows系统的独有应用程序,支持LimeSDR,并且支持硬件加速。除了设置正确的天线接收端口外,没有太多需要调整的地方。在FM接收实验中,由于我们需要的100MHz左右的FM信号,因此我们使用LNAL(低频段)RX1_L接收端口。有关这些频段以及要使用的LNA的相关说明,请参阅《LimeSDR官方系列教程(一):LimeSDR简介》。GQRX在“Input Controls”选项卡中具有上述类似功能的控件。

三、Pothos强大之处

如果您要继续,那么现在是玩这些应用程序并找到广播频道的好时机。是时候为我们使用的第一个应用程序进行预热了。与所有其他新事物一样,我们将首先使用FM收音机作为第一个程序。如果您想要一个好的示例而又不想自己做一个,Josh Blum为大家带了一个很好的示例。在开始之前,我们先介绍一下Pothos。Pothos是为SDR而定做的一个数据流编程软件套件。简而言之,该软件使用图形化的编程方法(类似于LabView),而不需要像LabWindows一样键入运行代码,这使得它的使用变得非常直观。因此,我们首先打开PothosGUI,然后通过“save as”来保存我们的程序。请注意到图片中的右边部分,这些是我们可以与之交互的一些控件,如图所示,我们添加一个“SDR source”控件,它位于“SDR”标签中。

双击该控件可以打开SDR Source的属性,并做如下更改:Device Args有几个选项,单击下拉框并选择LimeSDR。在“channels”中,我们安装实验需要选择LNAL,并设置为以Hz为单位的频率。频道频率需要与您的广播频道匹配。在图中我们设置的频率是90.9MHz或90900000Hz,您也可以使用工程符号,如90.9e6。

点击提交,再添加“Audio Sink”和“Freq Demod”控件。完成此操作后,单击“开始”按钮即可。切记先调低音量!

1、白噪声

听起来不像BBC Radio 3或者您选择的广播电台!好吧,这不足为奇,让我们看看目前的情况:

  • LimeSDR以1M sample/s的速度输出原始I/Q数据。
  • 默认增益和滤波设置。
  • 频率解调器。这是一个软件FM解调器。
  • 扬声器播放音频。

我们首先要检查的是当前是否有足够的增益。将SDR设备的“Gain”调高,需要调整的量取决于您的信号,一旦获得足够的增益,信号便会从白噪声变为数字式杂音,但仍然无法分辨。看看还有什么不对劲的地方,我们可以看到计算机正在扬声器上播放1M sample的数据…这可能无法正常工作,因此请降低采样率,最简单的方法是使用滤波器。添加“FIR filter”并打开属性,将“Decimation”改为35,将“Data Type”从Complex Float32改为Float32,因为在解调之后,我们不再拥有I/Q的基带将其连接到解调器和音频接收器之间。

此时,在该频段的某个频率应该可以听到一些广播的声音。为了使输入的数据可视化,我们还可以使用一个“频谱图”控件。

从频谱图中可以明显看出,我们并没有对滤波器进行设置,因此我们可以在输出端看到“超宽”的频谱,如图所示我们正在收听1MHz以上的频谱、噪声和所有噪声。

2、滤波器

手动设置FIR滤波器很“有趣”,而且软件中有一些控件可以为我们做到这一点,现在我们添加一个“FIR Designer”和“FIR Filter”,这些设备内部都有变量,因此在我们连接它们时会有所不同。对于FIR Designer,将上限频率设置为16KHz(16e3或16000),其余的默认设置就可以了。

FIR Filter无需作调整,使用默认设置即可。我们需要Complex Float 32,因为我们将同时过滤I和Q数据。接下来,连接过滤器的“0”(橙色)节点。一切都没有改变,此时白噪声与扬声器发出的音频混合在一起。因此,让我们添加一些节流器。将FIR Designer输出端拖到FIR Filter的主体上。这将打开“Connection”控制面板。在这里,我们可以设置FIR Designer输出的结果。单击左侧的“tapsChanged”,然后单击右侧的“setTaps”并提交。

我们经过滤波器以后的音频信号要好得多了,但是请稍等,听起来好像我们在听“蓝精灵”,声音听起来不太对劲。 好吧,我们承认刚才为您提供了错误的抽样设置,本应该是25;如果此设置不正确,输出信号将被频移。从中可以看出这是值得使用的控件,因为可以获得一些非常有趣的结果。

四、本文小结

我们实现了一个非常基本的FM收音机,可以添加用于调谐和控制增益的控件来进行改进,使用Filter Designer对“FIR Filter”的采样及其采样率/带宽的调整都会有所帮助 这个基本的应用程序应该足以在Pothos中入门,并希望能解释一下Josh的FM广播的工作原理。大多数SDR系统的基本构建块都是:Filter ->demodulator ->decimation。

五、有用链接和联系方式

淘宝店铺、QQ技术交流群、微信公众号、哔哩哔哩、CSDN联系方式如下:

LimeSDR官方系列教程(四):To Pothos and Beyond相关推荐

  1. docker 打包镜像_Spring Boot2 系列教程(四十一)部署 Spring Boot 到远程 Docker 容器

    不知道各位小伙伴在生产环境都是怎么部署 Spring Boot 的,打成 jar 直接一键运行?打成 war 扔到 Tomcat 容器中运行?不过据松哥了解,容器化部署应该是目前的主流方案. 不同于传 ...

  2. 史上最详细的Android Studio系列教程四--Gradle基础

    史上最详细的Android Studio系列教程四--Gradle基础 转载于:https://www.cnblogs.com/zhujiabin/p/5125917.html

  3. asp.NET自定义服务器控件内部细节系列教程四

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  4. Redis系列教程(四):Redis为什么是单线程、及高并发快的3大原因详解

    Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞 ...

  5. ClickHouse系列教程四:允许远程连接 allow remote access

    ClickHouse系列教程: ClickHouse系列教程 先查看ClickHouse server端监听端口的状态: root@ubuntu:/var/lib/clickhouse/# lsof ...

  6. ASP .NET Core Web MVC系列教程四:添加模型

    系列文章目录:ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序 上一个教程:ASP .NET Core Web MVC系列教程三:添加视图 ...

  7. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  8. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 上一个教程:ASP .NET Core 系列教程三:自动生成Razor ...

  9. ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云

    向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...

  10. QML官方系列教程——QML Applications

    附网址:http://qt-project.org/doc/qt-5/qmlapplications.html 假设你对Qt的官方demo感兴趣,能够參考本博客的另一个系列Qt5官方demo解析集 每 ...

最新文章

  1. 一通骚操作,我把SQL执行效率提高了10000000倍!
  2. Python学习之字符串
  3. 【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 )
  4. c语言错误指导,c语言编程指导.pdf
  5. nginx fastcgi python_Nginx + webpy 和FastCGI搭建webpy环境
  6. lucene计分公式详解
  7. Python学习笔记之几点代码格式要求
  8. sqlite+php+函数大全,Sqlite 常用函数 推荐
  9. 【区块链】以太坊truffle+web3+ganache简单实践
  10. 计算机图形学----投影矩阵
  11. 编程计算二叉树中某结点的层数
  12. 标准库函数begin和end的使用
  13. Python爬取实习僧职位信息
  14. oop部分,构造方法,this的使用。
  15. 计算机用户名怎么改好听,Win10如何修改电脑名字 Win10重命名电脑名称方法图解...
  16. 360P2建html网站,360P2刷机
  17. 数据分析与预处理常用的图和代码
  18. 几月份应该吃哪里的水果?
  19. 查看 Oracle中表的索引
  20. Cocos2d-x 4.0 + cpp + lua + Windows环境搭建

热门文章

  1. laravel文档——文件夹结构
  2. 集体心智:社会网络拓扑塑造集体认知
  3. PowerApps关于试用环境
  4. OK6410移植UBOOT
  5. 使用python根据模板批量生成docx文档
  6. 面对众多客户/用户需求,每个都紧急,怎么排期?
  7. 清华天才王垠和阿里 P10 面试官赵海平神仙打架后,我们来说说技术面试中的该与不该!...
  8. Python:实现Zip格式的文件压缩
  9. 【模拟电子技术Analog Electronics Technology 20】—— 反馈放大电路分析2:各种类型反馈电路的计算分析
  10. 用户兴趣模型分类以及推荐系统技术调研