Files
Handbook/docs/HamCQ手册/02.走进业余无线电/04.开始通联/04.其他类型无线电/02.SDR.md
T
2024-08-12 16:57:32 +08:00

83 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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/