首页 > 其他分享 >RTL-SDR(RTL-2832)的模拟前端硬件结构分析

RTL-SDR(RTL-2832)的模拟前端硬件结构分析

时间:2023-07-21 09:24:14浏览次数:45  
标签:调谐器 SDR 芯片 RTL 前端 信号 2832

最近在学习各种模拟前端的结构,对SDR设备的前端做了一些研究,故写一篇笔记记录一下各种SDR的前端结构。

首先当然是从最简单的RTL-SDR入手。
对于没有接触过软件无线电的同学,先来介绍一下RTL-SDR。
RTL-SDR是一种非常便宜的接收机,可用作基于计算机的无线电频谱仪,用于接收您所在地区的实时无线电信号(无需互联网)。根据特定的型号,它可以接收500kHz至1.75 GHz的信号。 RTL-SDR的大多数软件也是社区开发的,并且免费提供。
RTL-SDR的起源源自 基于RTL2832U芯片组的量产的DVB-T电视调谐接收器。在Antti Palosaari,Eric Fry和Osmocom(主要是Steve Markgraf)的共同努力下,我们发现可以直接访问RTL2832U芯片组上的原始I/Q数据,通过Steve Markgraf开发的自定义软件驱动程序,从而可以将DVB-T电视调谐接收器器转换为一台SDR设备。
因为RTL系列芯片资料很少,故只能收集少量的资料来做分析。
*截至投稿日,数据手册已经在网上出现。请自行查阅
RTL2832U输出8-bit I/Q样本,理论最高采样率为3.2MSps,但是到目前为止,已通过常规USB控制器测试的无丢失样本的最高采样率为2.4MSps。 但是也有特例,Etron EJ168/EJ188/EJ198系列USB主机控制器具有特定的最大延迟,因此可以稳定使用3.2 MSps的采样率而不会丢失样本。
根据其前端调谐器的不同,SDR可接受的频率范围也有所差异。其中接收范围最大的为Elonics E4000。某宝非常常见的前端比如R820T2,FC0012都是随处可见的廉价产品。
在这里插入图片描述
对于这么多个调谐器,我们只分析其中资料比较全面的R820T版本。
首先来看一张带有R820T前端的接收器实物图片:在这里插入图片描述
在这里插入图片描述
当天线输入信号后,首先由板上的tuner预处理信号,因为RT2832芯片是没有射频前端的,故需要一块调谐器对射频信号进行预处理。tuner即调谐器,在图中所示的R820T芯片具有LNA(低噪放)、BPF(带通滤波器)、mixer(混频器)、VGA(可变增益放大器)等block对信号进行预处理,所有block均可通过I2C总线寄存器控制,而其I2C总线连接到RT2832芯片的I2C总线上,与2832内置的解码器等公用一个总线,在最初没有瑞立芯片手册的时候,国外的大神就是通过这根总线解码到的数据,对寄存器进行穷举从而逆向破解的,实在是非常的厉害。
tuner有一个非常重要的作用即对信号进行下变频。RT2832芯片的内置ADC支持不同的IF带宽(6、7、8M)(DVB-T的OFDM所需求的),不同的IF频率(4.57/36.157M)以及零中频结构输入,所以可以看到在R820芯片中存在一个混频器对信号进行下变频。在我们所见的这副图中所存在的信号链,我们使用4.57M的信号作为其IF信号。有的同学发现在该链中,我们直接将调谐器输出的信号输入到了2832芯片的I通道中,但是没有Q通道,这是完全正确的,可是这样如何进行IQ解调呢?
让我们来看一副图,这幅图显示了RT2832的内部结构:
在这里插入图片描述
可以看到其内部还有一个数字下变频结构存在于IF信号向基带信号转换的过程,这也就解释了为何2832支持单独使用I/Q通道而不影响电视信号的解调。之所以有单通道输入或者零中频结构输入这两种模式可以切换,是因为有的调谐器内置了零中频的转换器,比如之前表格中所提到的Elonics E4000调谐器,在下图所示的内部结构图中,可以清晰的发现零中频结构。这种tuner输出的信号就可以使用零中频输入方式输入到RT2832中。在这里插入图片描述
RTL2832芯片其实有两路28.8M采样率的ADC,但是在内部又经过了一次数字的下变频(对于低中频前端)和重采样,导致SDR模式实际上最多只能输出2.56M采样率的I/Q信号。但是都已经把这个芯片玩成这样了,还要什么自行车呢?
在这里插入图片描述
在这里插入图片描述
在2832与820的链接中,还有几条信号线用于AGC的控制,主要是在无线电视信号解调中对信号做细微调整,但是在其实现SDR功能时不使用这些功能。至于AGC的控制,其实就是RTL芯片输出一个0-3V范围内的模拟电压控制tuner的增益,很简单的。在这里插入图片描述
还有一部分结构是专门用于DVB-T解码的,在此不做过多赘述。有兴趣我们下次讨论

RTL2832U包含一个8051内核,该内核用于处理 I2C传输,红外接收器之类的USB控制功能,以及一个处理批量传输的硬件先入先出队列(FIFO。因此8051内核是不会对采样样本做任何处理的,而是发送到计算机做处理。这也是我们能使用它作为SDR的一个重要突破口。
因为RTL2832本身是一块用于DVB-T解码的芯片,所以其中包含有一块DVB-T专用的解调器,解调器是RTL2832U裸片上的子芯片,其寄存器通过I2C连接到8051核的i2c总线上,在SDR模式中,我们通过修改寄存器关闭解调器,从而实现信号直接传输到计算机而不进行解码,这样才能正常当SDR使用。

因为tuner所工作的频率比较高,所以无法接收低于30M的低频信号,但是大家知道 短波通信通常就是这个频段的。所以当人们发现其Q通道仍然未使用时,就有人开始飞线了。比如说这个
在这里插入图片描述
可以看到直接从天线的防静电二极管飞到了Q通道门口hhhh
再通过简单的参数修改,启动Q通道,就可以实现单独用Q通道接收的功能了

在这里插入图片描述
因为IF的接收范围允许最大从0-14.4 MHz,因此被人们用于接收14M、7M的短波信号。进行这样的改装绕过了模拟前端的调谐器,甚至没有任何阻抗匹配,虽然看上去很夸张,但是一定意义上是可以使用的,毕竟电视棒的成本这么低廉。如果是其他SDR,不支持低频的则需要一台下变频器,也是会对信号质量造成一定影响,成本也会相应的升高。

标签:调谐器,SDR,芯片,RTL,前端,信号,2832
From: https://www.cnblogs.com/SymPny/p/17570351.html

相关文章

  • 自制合成孔径雷达(6) SDR实现测距雷达
    链接:https://pan.baidu.com/s/1rjLafiTZCmB_bF6gVIOQsA提取码:skia这个项目停滞了挺长一段时间,因为LimeSDR带宽不足,无法发出足够带宽的chirp信号,因此无法仿照MIT雷达教程实现测距雷达和SAR雷达,只能实现多普勒测速雷达。我找到一篇论文,作者跟我一样也是看到了MIT雷达教程和......
  • KerberosSDR硬件拆解
    接下来把kerberossdr拆开来看看里面到底是什么样子的。这个板子应该是4个rtlsdr组成,里面还有一个噪声源,还有一个四合一的usbhub。这个设备目前没有天线切换,所以每次校准都需要人来把天线拔掉换上虚负载然后用噪声源校准,所以天线和噪声源应该接在一起的。另外为了采样时间同......
  • KerberosSDR新手入门测试
    本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!温馨提示:“开源SDR实验室”是北京的。本文介绍Ubuntu下安装KerberosSDR相关软件环境,以及原作者树莓派镜像使用方法。KerberosSDR的使用方法目前有两种建议,一种是在Ubuntu系统上安装相关驱动及应用软件,另一种是用作......
  • RTL8380MI/RTL8382MI管理型交换机系统软件操作指南七:ERPS以太环网保护切换协议
    ISW9010G-2GS和IKS9228G-4GC都支持ERPS(EthernetRingProtectionSwitching,以太环网保护切换协议),首先对ERPS进行详细的描述,主要包括以下五大内容:ERPS概述、ERPS技术介绍、ERPS工作原理、全局配置、环网信息1.1ERPS概述ERPS(EthernetRingProtectionSwitching,以太环网保护切......
  • 交换机_RTL8367SC_3光3电
    正面RTL8211FS变压器电源输入电源模块背面EEPROM                    ......
  • 在ubuntu22.04上为无线网卡RTL8821CU安装驱动
    因为工作需要,我要在ubuntu22.04系统上使用无线网卡,网卡芯片是RTL8821CU,网卡驱动要自己编译安装。我最初在github找到了以下驱动代码https://github.com/brektrou/rtl8821CU结果编译出错。循着出错信息,我在github论坛上发现有人推荐了一个新版本的驱动代码,即https://github.co......
  • 织梦 channelartlist 支持 limit 属性使用
    查找字段:$attlist='typeid|0,row|20,cacheid|';替换为:$attlist='typeid|0,row|20,cacheid|'; 效果图: 在“$dsql->SetQuery”前面添加$limit=trim(preg_replace('#limit#is','',$limit));if($limit!='')$limitsql="L......
  • NRF52832设置一直广播
    使用历程nRF5_SDK_13.0中的ble_app_uart路径nRF5_SDK_13.0.0_04a0bfd\examples\ble_peripheral\ble_app_uart通过修改广播的发现模式设置nrf52832一直广播BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE:有限可发现模式,不支持BR/EDR。BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MOD......
  • CF1239E Turtle
    CF1239E Turtle通过观察我们会发现,第一行一定单调递增,第二行一定单调递减,否则不是最优。再次前提下,乌龟的最优方案只有两种,要么一直向右,最后向下,要么先向下,再一直向右。因此,我们将最小的两个数字放在左上角和右下角,然后把余下数字填入剩余位置,并希望下式最小显然,这是一个背包......
  • nrf52832学习-app_timer模块
    简单使用:app_timer是模块,使用时需要在sdk_config.h文件中将其使能添加头文件app_timer.h定义Timer定时器唯一识别号_my_timer_id和需要的定时时间常量MY_TIMER_INTERVALAPP_TIMER_DEF(_my_timer_id);#defineMY_TIMER_INTERVALAPP_TIMER_TICKS(_milliseconds)......