以USRP B210为例,其内部使用使用的AD9361射频频段非常宽,是从70M到6G。而我们具体使用某一个接收时希望过滤到其他频段的干扰,发射时也尽量降低产生的高次谐波泄露发射出去。所以这就用到了分段滤波。
比如FM收音机,我们是实现88M~108M的接收,就只需要设置一个带通能覆盖这个频段的带通滤波器就好,对88M~108M之外频率能有很好抑制。但是USRP设备作为一个宽频带的接收机,要加滤波,还要支持多个频段,就只能实现分段滤波了。英文FILTER,这里的滤波表达似乎不太准确,暂且这样称呼吧。
分析AD9361这个芯片,有两组收发器。每组里面的接收器有三个输入,可以推测AD9316芯片设计时候就考虑到了不同的输入,这种不同的输入我们可以用来作为同一个信号分段滤波后的输入。如下示意图:
图中的单刀双掷和单刀三掷是RF模拟开关。m刀n掷,说的是有m个通路,n掷说的是每个通路有n中选择,英文表示也写做mPnT.
以RX通路为例,我们控制单刀三掷开关选择数据给RXA,同时在AD9361设置选择输入为RXA端口,就可以让信号经过RXA所接的滤波器。同样方式可以选择走RXB,RXC,如果分别接不同的滤波器,就可以实现分段滤波。其实USRP B210就是这么做的。我们来看USRP B210 接收部分的原理图:
这里看到RX1输入使用射频模拟开关分别选通u80,t800,t801这三个滤波器。并且这三个滤波器的频段范围也都在原理图上表示出来了,我们看到原理图有标注各个带通滤波器的频段范围,基本将6G范围等分,每个频段2G样子。具体哪个频点走哪个滤波器,我们仅仅从原理图上不得而知(因为滤波器参数有频段重叠)。我们还要从UHD的驱动代码里面找出:
这里的频率数值采用了科学计数法,代码中的2.2e9其实就是2.2乘以10的9次方,实际就是2.2G。代码很清楚描述了波段开关的选择逻辑和频率分界点。比如设置的采集频段是3G,我们看到是符合选择 rx_bandsel_b这个情况,这样就走了RXB,经过了RXB所接的滤波器T800,这个带通滤波器的范围是1.6G到4G。同时在AD9361内部通过设置寄存器实现了选RX数据从RXB输入,代码如下:
这里我们看到了调用poke方法实现对寄存器004的设置,看到AD9361的004寄存器描述:
这里通过修改D5...D0来实现选择使用哪一路接收,并且指定了是平衡方式还是非平衡方式,以即差分或者单端方式。
TX部分也是相同的思路实现,不过和RX部分不太一样的是TX只留了两个输出,不似RX留三个输入。
上面的B210巧妙利用了接收的选择以及外部的射频开关“里应外合”实现选频,并且也将选频和巴伦变换结合在一起。
看似几个开关和滤波器,这些都最前段的射频电路对板材阻抗线宽线距等有很多具体细致的要求。下图的红框部分就是我们的USRP B210选频这部分,也是经过了多个版本的改进迭代性能比肩国外原厂最高水平。如下图我们全兼容USRP的 TQTT B210:
考虑另外一种情况:当选频的段数比较多的时候,AD9361没有那么多可选输入咋办。那就只能自己攒选频组合。如下图:
我们看到一个输入一个输出,中间有8个滤波器可以选,输入给滤波器用到一个多路开关,从滤波器输出再用一个多路开关,为了实现选频也是拼了。我们知道加入RF波段开关会有插入损耗,但损耗的那1,2个DB已经不是那么重要了,比起来选频的要求。
上面这个“蛮拼”的分段滤波器实现是来自USRP E320,这部分是AD9361的示意图:
我们注意到接收用滤波器是带通,而发射接的滤波器是低通。
下图这个是USRP 官方E310的多段选频示意图:
分段滤波在绝大多宽频收发机都能看到,甚至说有个的仪器,比如宽频信号发生器(我的一台4G的信号发生器就有6段滤波),以及频谱仪等都能看到其身影。似乎已经成了宽频收发器的标配。
当然也有不实现分段滤波的USRP设备,比如B205 mini 。直接接一个巴伦完事,如下图:
这样的无分段滤波的设计发射杂散比较大,接收干扰抑制更是路人,尤其是全双工状态收发不在一个频段也可能造成很大干扰(比如接收部分收发射部分高次谐波的干扰甚至无法正常工作)。在USRP的后续射频产品中很难见到这种实现了。当然存在就是合理,好处也是有的,造价便宜,节约空间,设计要求降低不少...
By 李伟