Update 02.SDR.md

This commit is contained in:
BloodBladeW authored and GitHub committed 2024-09-04 00:11:10 +08:00
1 parent 6cdedf3016
commit 16e5ce81d1
1 file changed
+36 -17
@@ -14,22 +14,37 @@ tags:
# 软件定义无线电 SDR # 软件定义无线电 SDR
传统的无线电设备通常使用特定的电路来调制和解调信号,因此当使用新的调制方式时,就不得不对电路进行修改。 传统的无线电设备通常使用特定的电路来对信号收发进行处理,因此当有新的需求时通常需要对电路进行修改。此外,电路中的许多有源器件也会在处理过程中引入新的频率分量。
不过随着现代电子技术的发展,现代处理器的性能越来越强,这使得通过ADC和DAC直接产生信号成为了可能。由于信号的产生和解析全都交由软件处理,大大降低了硬件的复杂度,也提高了灵活性。 不过随着现代电子技术的发展,现代处理器的性能越来越强,这使得通过ADC和DAC直接产生信号成为了可能。由于信号的产生和解析全都交由软件处理,大大降低了硬件的复杂度,也提高了灵活性。
SDR设备通常分为模拟和数字两个部分,其中与射频相关的部分为模拟部分,这部分主要是硬件,并仍然需要遵守传统的射频器件设计,比如滤波、中频等部分。 SDR架构通常分为模拟和数字两个部分,其中与射频相关的部分为模拟部分,这部分主要是硬件,并仍然需要遵守传统的射频器件设计,而数字部分以软件为主。
射频部分的下一环节就是数字部分,两者的分界线就是模拟/数字转换器,它的作用是将模拟信号转换为数字信号,或将数字信号转换为模拟信号。 两者的分界线就是模拟/数字转换器即ADC和DAC,它的作用是采样模拟信号,将其转换为数字信号(通常是同向正交信号,即IQ信号),或将数字信号转换为模拟信号。
在转换环节后,模拟信号被采样为数字信号(通常是同向正交信号,即IQ信号),并通过软件来进行处理。
根据转换器位置的不同,SDR架构可以分为三种采样类型:基带采样、中频采样和直接采样。
在基带采样中几乎全部射频信号处理都由电路进行处理,无需软件来进行调制或解调。将传统电台连接到电脑或手机的声卡就是基带采样的一个例子。
相对于其他两种采样模式,基带采样几乎没有SDR架构带来的优势,不过这种方式可以更好的重复利用老设备,而且对数字/模拟转换器的要求不高,因此大部分普通声卡都可以胜。
另外,由于几乎不需要对射频部分进行处理,因此对处理器的性能几乎没什么要求。
中频采样由传统的射频电路将信号变频至中频频率,然后进行采样并由软件进行处理。
由于调制和解调部分都由软件实现,因此比基带采样获得了更多的灵活性。但受限于中频,因此频率变换仍然受到传统电路的限制。
有两种比较特殊的中频采样,即低中频和零中频,他们的特点是中频频率非常低,目的是省去中频镜像抑制和滤波器。零中频甚至直接将中频降低到了基带频率上。
零中频在这一点上效果更好,但由于频率过低,因此直流电(即0Hz)信号也会被一同采样而形成直流尖峰,需要额外的软件处理来减少其带来的影响。
直接采样中信号只通过滤波器和放大器,其余部分完全由软件进行处理。由于无线电信号的频率比较高,因此这种方式对数字/模拟转换器的性能要求很高。
相对的,直接采样可以带来最大的灵活性。例如使用直接采样架构的设备可以轻易的在许多频率中快速转换,以此来实现跳频扩频操作。
在同样的效果下,数字部分占据的处理环节越多,通常意味着SDR系统越强。但这并不意味着应该一味的使用数字处理来代替模拟部分。 在同样的效果下,数字部分占据的处理环节越多,通常意味着SDR系统越强。但这并不意味着应该一味的使用数字处理来代替模拟部分。
举个例子,许多干扰很难通过算法来进行过滤,如果一味的使用数字处理,但又没有强大的算法或性能支持,这些干扰将很难被清除。 例如许多干扰很难通过算法来进行过滤,如果没有强大的算法或性能支持,又不使用传统的滤波器来进行滤除,那么这些干扰将很难被清除。
## SDR设备
SDR的数字处理设备不外乎几种,即使用传统的电脑或手机软件、使用小规模FPGA配合电脑、使用专用射频FPGA和使用微控制器几种方案。这几种方案的不同区别主要在于处理性能的不同,其他并无很大区别。
因此主要通过射频部分来对SDR设备进行分类。
由于SDR设备类型多种多样,因此在讨论中,它的意思需要根据上下文的关系来具体分析。 由于SDR设备类型多种多样,因此在讨论中,它的意思需要根据上下文的关系来具体分析。
常见的SDR设备通常有如下类型:
## SDR方案类型
SDR的数字部分不外乎几种方案,即使用传统的电脑或手机软件、使用小规模FPGA配合电脑、使用专用射频FPGA和使用微控制器几种方案。这几种方案的不同区别主要在于处理性能的不同,其他并无很大区别。
而SDR最终仍然是要在数字信号和模拟信号之间互相转换,因此转换器决定了SDR很大一部分的效果。SDR常见的转换方案大概有如下几种:
### 电视棒接收机 ### 电视棒接收机
@@ -42,14 +57,17 @@ RTL-SDR通常无法工作在短波频段,不过如果改造线路绕过调谐
### SDR射频芯片 ### SDR射频芯片
除了电视棒接收机之外,另外一大部分SDR设备则是指使用专门的SDR芯片所打造的设备,比如使用亚诺德射频捷变收发芯片的Pluto SDR、Jupiter SDR、USRP、BladeRF及一众国产SDR开发板,使用变频器和亚诺德MAX2837的HackRF,Lime公司的芯片及其LimeSDR开发版等。 除了电视棒接收机之外,另外一大部分SDR设备则是指使用专门的SDR射频芯片所打造的设备,这些芯片将射频电路和ADC/DAC集成在一起,有些还具有简单的处理器。对于使用者而言,通常无需关心内部的架构究竟是中频或直接采样,直接使用即可。
这些设备大多是为了作为射频开发设备所设计的,通常有着十分强大的性能,完善的文档和活跃的项目,但由于主要面向开发用途,因此也缺乏许多组件,例如缺少功率放大器,因此只能近距离使用。此外,由于现在的射频技术很少关注短波之类的频段,因此这些面向先进技术的开发版通常都倾向于放弃短波而支持GHz级别的高频段。 常见的设备有使用亚诺德射频捷变收发芯片的Pluto SDR、Jupiter SDR、USRP、BladeRF及一众国产SDR开发板,使用变频器和亚诺德MAX2837的HackRF,Lime公司的芯片及其LimeSDR开发版等。
这些设备大多是为了作为射频开发设备所设计的,通常有着十分强大的性能,完善的文档和活跃的项目,但由于主要面向开发用途,因此也缺乏许多组件,例如缺少功率放大器,因此只能近距离使用。
此外,由于现在的射频技术很少关注短波之类的频段,因此这些面向先进技术的开发版通常都倾向于放弃短波而倾向于支持GHz级别的高频段。
### PWM射频 ### PWM射频
随着现代处理器速度的不断提升,其所能处理的接口速度也越来越快,因此出现了很多将原本只能传输数字信号的接口作为1bitADC/DAC的歪门邪道。比如树莓派就可以使用GPIO来直接发射FM广播频段的信号,使用Lattice MachXO2 FPGA也可以直接通过输入引脚来接收中波和短波信号。 随着现代处理器速度的不断提升,其所能处理的接口速度也越来越快,因此出现了很多将原本只能传输数字信号的接口作为1bitADC/DAC的歪门邪道。比如树莓派就可以使用GPIO来直接发射FM广播频段的信号,使用Lattice MachXO2 FPGA也可以直接通过输入引脚来接收中波和短波信号。
而更先进的FPGA甚至可以直接利用自己几十Gbps的I/O速度来直接调制出位于3GHZ上的LTE信号。 而一些性能强大的FPGA甚至可以直接利用自己几十Gbps的I/O速度来直接调制出位于3GHZ上的LTE信号。
### ADC/DAC直接采样 ### ADC/DAC直接采样
@@ -59,8 +77,9 @@ RTL-SDR通常无法工作在短波频段,不过如果改造线路绕过调谐
### 传统射频前端+ADC/DAC ### 传统射频前端+ADC/DAC
简单来说,就是传统电台后面加上ADC/DAC,由于传统电台内部已经具有了大量的信号处理电路,因此对数字-模拟转换的要求很低。比如可以使用声卡产生信号,然后通过电台传输,并将电台传回的信号输入声卡来处理。 业余无线电中基带采样已经非常常见了,比如通过连接声卡使用FT8模式和APRS等都是基带采样的体现。
当然,现在也有许多电台内置了ADC和DAC,高端的如八重洲的FTDX10。或者另辟蹊径,使用FT2353高速开关作为混频器产生中频,使用Si5351控制PPL相位和PWM驱动E类功放的的廉价设备uSDX,它的成本只有不到300元。 此外,还有使用中频采样,并内置了ADC和DAC的设备,通常会被称为混合SDR设备。
高端的如八重洲的FTDX10。或者另辟蹊径,使用FT2353高速开关作为混频器产生中频,使用Si5351控制PPL相位和PWM驱动E类功放的的廉价设备uSDX,它的成本只有不到300元。
## 软件部分 ## 软件部分
@@ -69,7 +88,7 @@ RTL-SDR通常无法工作在短波频段,不过如果改造线路绕过调谐
对于商业售卖的设备,例如SDRPlay、AirSpy,以及各种开发板来说,大都会搭配提供配套的软件,只要通过商家获取即可,这些软件也有很多除了与自家设备使用之外,也可以与其他设备一起使用。比如Airspy开发的[SDR#](https://airspy.com/download/)就可以搭配各种其他的电视棒接收机一起使用。 对于商业售卖的设备,例如SDRPlay、AirSpy,以及各种开发板来说,大都会搭配提供配套的软件,只要通过商家获取即可,这些软件也有很多除了与自家设备使用之外,也可以与其他设备一起使用。比如Airspy开发的[SDR#](https://airspy.com/download/)就可以搭配各种其他的电视棒接收机一起使用。
而一些开源,或者Hack的设备就很难说,比如RTL-SDR只提供了[修改版驱动](https://github.com/osmocom/rtl-sdr),但并没有应用软件。这种情况下,除了与其他厂家的软件配合使用之外,还有许多开源的软件可以选择。 而一些开源,或者Hack的设备就很难说,比如RTL-SDR只提供了[修改版驱动](https://github.com/osmocom/rtl-sdr),但并没有应用软件。这种情况下,除了与其他厂家的软件配合使用之外,还有许多开源的软件可以选择。
对于电视棒接收机类设备而言,[SDR++](https://www.sdrpp.org)是一个很好的选择,如果你不满足于它的功能,或你的设备有发射功能,可以选择更为复杂的[SDRangel](https://www.sdrangel.org)。 对于电视棒接收机类设备而言,[SDR++](https://www.sdrpp.org)和[HDSDR](http://www.hdsdr.de)是很好的选择,如果你不满足于它的功能,或你的设备有发射功能,可以选择更为复杂的[SDRangel](https://www.sdrangel.org)。
这两个软件都提供了Android设备的支持,但没有触屏优化,如果你想要便携使用的话,推荐购买轨迹球而不是鼠标来连接平板使用。 这两个软件都提供了Android设备的支持,但没有触屏优化,如果你想要便携使用的话,推荐购买轨迹球而不是鼠标来连接平板使用。
如果你并不打算携带设备,而是希望将设备放置在某个地方,远程连接使用的话,可以选择[OpenWebRX+](https://luarvique.github.io/ppa/),这是一个基于Web的SDR接收站软件。此外,也有[SoapySDR](https://github.com/pothosware/SoapySDR)和RTL_TCP这种基于客户端的远程SDR驱动。 如果你并不打算携带设备,而是希望将设备放置在某个地方,远程连接使用的话,可以选择[OpenWebRX+](https://luarvique.github.io/ppa/),这是一个基于Web的SDR接收站软件。此外,也有[SoapySDR](https://github.com/pothosware/SoapySDR)和RTL_TCP这种基于客户端的远程SDR驱动。