mirror of
https://github.com/HamCQ/Handbook.git
synced 2026-10-02 04:47:21 +00:00
83 lines
7.6 KiB
Markdown
83 lines
7.6 KiB
Markdown
---
|
||
title: SDR
|
||
date: 2024-07-31 17:47:48
|
||
permalink: /pages/0de773/
|
||
categories:
|
||
- HamCQ手册
|
||
- 走进业余无线电
|
||
- 开始通联
|
||
- 其他类型无线电
|
||
tags:
|
||
-
|
||
---
|
||
> 本文编辑:@BloodBlade
|
||
|
||
# 软件定义无线电 SDR
|
||
|
||
传统的无线电设备通常使用特定的电路来调制和解调信号,因此当使用新的调制方式时,就不得不对电路进行修改。
|
||
不过随着现代电子技术的发展,现代处理器的性能越来越强,这使得通过ADC和DAC直接产生信号成为了可能。由于信号的产生和解析全都交由软件处理,大大降低了硬件的复杂度,也提高了灵活性。
|
||
|
||
SDR设备通常分为模拟和数字两个部分,其中与射频相关的部分为模拟部分,这部分主要是硬件,并仍然需要遵守传统的射频器件设计,比如滤波、中频等部分。
|
||
射频部分的下一环节就是数字部分,两者的分界线就是模拟/数字转换器,它的作用是将模拟信号转换为数字信号,或将数字信号转换为模拟信号。
|
||
在转换环节后,模拟信号被采样为数字信号(通常是通向正交信号,即IQ信号),并通过软件来进行处理。
|
||
在同样的效果下,数字部分占据的处理环节越多,通常意味着SDR系统越强。但这并不意味着应该一味的使用数字处理来代替模拟部分。
|
||
举个例子,许多干扰就很难通过算法来进行过滤,如果一味的使用数字处理,这些干扰将很难被清除。
|
||
|
||
由于SDR设备类型多种多样,因此在它的意思需要根据上下文的关系来具体分析。
|
||
|
||
## SDR方案类型
|
||
|
||
SDR的数字部分不外乎几种方案,即使用传统的电脑或手机软件、使用小规模FPGA配合电脑、使用专用射频FPGA和使用微控制器几种方案。这几种方案的不同区别主要在于处理性能的不同,其他并无很大区别。
|
||
|
||
而SDR最终仍然是要在数字信号和模拟信号之间互相转换,因此转换器决定了SDR很大一部分的效果。SDR常见的转换方案大概有如下几种:
|
||
|
||
### 电视棒接收机
|
||
|
||
大部分情况下,在没有上下文的时候提及的SDR通常就是指这一类设备,大部分都需要连接到电脑来进行使用。最为常见的是RTL-SDR,它通常使用R820T调谐芯片和RTL2832解码芯片组成,可以在电脑上安装修改版的驱动来从RTL2832中提取大约3MHz带宽的信号。
|
||
RTL-SDR通常无法工作在短波频段,不过如果改造线路绕过调谐芯片,则可以让RTL2832直接采样信号,虽然效果较差,但也是接收短波信号的一种方法。
|
||
此外,RTL-SDR博客推出了名为RTL-SDR Blog V4的改进版,它内置了上变频器,使得RTL2832可以通过R828D调谐芯片来获得短波信号。
|
||
|
||
除了RTL-SDR外,还有一些同样基于电视棒接收器的SDR,它们通常大幅度改进了RTL-SDR的缺。例如Airspy通过更换RTL2832芯片来获得更大的采样带宽、SDRPlay则使用了MSI001调谐芯片和MSI2500采样芯片,MSI的电视棒解决方案本就是SDR的,因此提供了更好的效果和更大的带宽。
|
||
另外还有使用MSI001和STM32H7的孔雀石收音机,它无需像其他电视棒接收机一样连接到电脑即可使用,而是直接通过微控制器来解码信号,可以作为独立的收音机来使用。
|
||
|
||
### SDR射频芯片
|
||
|
||
除了电视棒收音机之外,另一大部分则是使用专门的SDR芯片所打造的设备,比如使用亚诺德射频捷变收发芯片的Pluto SDR、Jupiter SDR、USRP、BladeRF及一众国产SDR开发板,使用变频器和亚诺德MAX2837的HackRF,Lime公司的芯片及其LimeSDR开发版等。
|
||
|
||
这些设备大多是为了作为射频开发设备所设计的,通常有着十分强大的性能,完善的文档和活跃的项目,但由于主要面向开发用途,因此也缺乏许多组件,例如缺少功率放大器,因此只能近距离使用。此外,由于现在的射频技术很少关注短波之类的频段,因此这些面向先进技术的开发版通常都倾向于放弃短波而支持GHz级别的高频段。
|
||
|
||
### PWM射频
|
||
|
||
随着现代处理器速度的不断提升,其所能处理的接口速度也越来越快,因此出现了很多将原本只能传输数字信号的接口作为1bitADC/DAC的歪门邪道。比如树莓派就可以使用GPIO来直接发射FM广播频段的信号,使用Lattice MachXO2 FPGA也可以直接通过输入引脚来接收中波和短波信号。
|
||
而更先进的FPGA甚至可以直接利用自己几十Gbps的I/O速度来直接调制出位于3GHZ上的LTE信号。
|
||
|
||
### ADC/DAC直接采样
|
||
|
||
同样的,ADC/DAC只要速率足够快,也可以不需要射频部分,直接收发信号,比如AMD和英特尔的射频SoC就是这类设备,它们通常有着十分强大的性能,可以应对非常广泛的频率范围。
|
||
|
||
不过对于业余无线电而言,通常并不需要那么强大的ADC和DAC,因此许多业余设备已经采用了直接采样技术,例如KiwiSDR等接收机,Icom等传统厂商也推出了诸如IC-705这种使用直接采样技术的设备。
|
||
|
||
### 传统射频前端+ADC/DAC
|
||
|
||
简单来说,就是传统电台后面加上ADC/DAC,由于传统电台内部已经具有了大量的信号处理电路,因此对数字-模拟转换的要求很低。比如可以使用声卡产生信号,然后通过电台传输,并将电台传回的信号输入声卡来处理。
|
||
当然,现在也有许多电台内置了ADC和DAC,高端的如八重洲的FTDX10。或者另辟蹊径,使用高速开关作为混频器产生中频的廉价设备uSDX,它的成本只有大约200元左右。
|
||
|
||
## 软件部分
|
||
|
||
对于SDR来说,由于大部分信号处理都在软件中进行,因此软件的质量很大程度上决定了SDR的效果。
|
||
|
||
对于商业售卖的设备,例如SDRPlay、AirSpy,以及各种开发板来说,大都会搭配提供配套的软件,只要通过商家获取即可,这些软件也有很多除了与自家设备使用之外,也可以与其他设备一起使用。比如Airspy开发的[SDR#](https://airspy.com/download/)就可以搭配各种其他的电视棒接收机一起使用。
|
||
而一些开源,或者Hack的设备就很难说,比如RTL-SDR只提供了[修改版驱动](https://github.com/osmocom/rtl-sdr),但并没有应用软件。这种情况下,除了与其他厂家的软件配合使用之外,还有许多开源的软件可以选择。
|
||
|
||
对于电视棒接收机类设备而言,[SDR++](https://www.sdrpp.org)是一个很好的选择,如果你不满足于它的功能,或你的设备有发射功能,可以选择更为复杂的[SDRAngel](https://www.sdrangel.org)。
|
||
这两个软件都提供了Android设备的支持,但没有触屏优化,如果你想要便携使用的话,推荐购买轨迹球而不是鼠标来连接平板使用。
|
||
|
||
如果你并不打算携带设备,而是希望将设备放置在某个地方,远程连接使用的话,可以选择[OpenWebRX+](https://luarvique.github.io/ppa/),这是一个基于Web的SDR接收站软件。此外,也有[SoapySDR](https://github.com/pothosware/SoapySDR)和RTL_TCP这种基于客户端的远程SDR驱动。
|
||
***在使用远程SDR之前,请确保不要在互联网上公开!接收并传播或泄漏了不该接收的信号是违法行为***
|
||
|
||
如果你不满足于接收信号和发射简单信号,而是希望更加深入研究现代的无线电系统,比如已经买了一台Pluto SDR,那更适合你的是[GNU Radio](https://www.gnuradio.org),这是一整套开源的无线电开发软件,即使没有设备,也可以用它来进行无线电模拟实验,通常可以使用C++和Python来在GNU Radio上开发程序。
|
||
|
||
## 识别信号类型
|
||
|
||
https://www.sigidwiki.com/
|