(本文所有图片请参考Myriadrf官网原文:https://myriadrf.org/blog/limesdr-made-simple-part-2-matching-lms7002m-rx-iq/)
这是LimeSDR系列教程的第二篇,用来帮助你实际使用SDR,并且写自己的程序。上一次我们探讨了LimeSDR是什么以及它的功能。这篇文章我们会讲解LMS7002M和射频输入输出,这是许多神奇的事发生的地方(也就是射频部分)。
我们还讲过多个RF接口以及它们存在的原因。在我们深入讲解LMS7002M的内部工作原理前,我们需要再次观察这些输入输出口,了解它们的区别。最好先看一下板子的原理图。为了简单起见,我们只看一条射频通道(Lime的LMS7002M有2条完全相同的射频通道,比如TX1_2和TX2_2是一模一样的)。
如果你对原理图不熟悉,或者只是大概看过原理图,但是不熟悉RF,那么RF电路吓到你,因为有很多分立的器件。然而,掌握一定方法后就可以方便地理解它们的原理了。大多数电子学教材,甚至是大学里教的电子学课程,一般都只考虑原理图中电路在静态条件下的情况(要不就是开着,要不就是关着),这些资料可能会考虑一些模拟条件。大多数设计中,这些知识就足够了,因为我们可以忽略频率效应的影响,这样理解起来会更容易。但是在射频电路中,其它因素可能会变得更重要。
频率的介绍(这里会讲到物理知识)
接下来的东西可能会讲到一些数学公式。我们必须记住一些公式。
这两个公式说的是电容和电感在不同频率下的阻抗,尽管容抗随着频率增加而减少,感抗是随着频率增加而增加的。第二,我们必须注意到,所有电路都同时有电容和电感。包括导线、PCB线路,甚至是很小的一块导线,它们通常都被看作寄生现象(也就是说我们不想要它们出现)。从这里你就可以看出为什么输入端要覆盖超宽的频率会那么困难,就是这些寄生现象造成的。
反射
这个图像来自维基百科上的Oleg Alexandrov
我们还需要了解另一个概念,也就是传输线理论。如果源头和目的地的阻抗不匹配,那么一部分的波形会反射回来。反射的大小取决于不匹配的程度,可以用反射系数计算出来。
如果你想学习更多的关于反射的知识,你可以去查查边界条件。边界条件可能取决于阻抗不匹配(连接器/天线或者匹配网络都会导致问题)。
我们在多大的长度下要考虑这个问题,取决于电长度(电气上的长线或者短线)。不同情况下,这些规则是不同的。比如说3GHz的四分之一波长很小(小于2.5cm),那么电气短线就要小于这个距离,如果你使用任何超过这个长度的导线,就必须做好匹配。另外,LimeSDR还会用到天线,因此也需要做这样的匹配工作。总结来说,匹配工作就是在解决这个效应。
这些小知识可以用在很多地方
现在数学和物理知识已经讲完了,我们可以看一下3个输入口和2个输出口的区别了。
相比其它几条通道,一个TX1_2和RX1_H之间有一个很明显的区别是MOSFET和SKY13323芯片。射频环路是开关控制的(SKY13323 0.1~3GHz SPDT开关),MOSFET(BF1105R)提供了在回环内部的进一步转换/衰减工作。
如果我们忽略这个回环,你可以发现3个输入口基本上是差不多的,你可以看到RX1_L和RX1_W之间只是有几个值不一样。RX1_H也差不多,只不过使用了非中心零点的巴伦(这样我们可以加入偏置),并且去掉了电感(取而代之的是MN22的电容)。简单说,这些巴伦(T1~T5)把单边信号转换为互补差分信号,这个操作我们如果只是要理解电路的话可以忽略掉(因为它们对于信号起不到太多变化)。
如果我们把前面说的概念都记下来,然后重新看这3个输入口,我们可以看出亮点:
它们会在输入/输出间产生一些滤波操作,类似带通滤波
这些网络的阻抗受到频率影响
对于低频率输入口,频率比设定范围更低时,MN18/26对于差分信号会表现得像一个很小的阻抗,随着频率增加,这个阻抗作用减小了,MN17/19/20的作用会增加。这个效应产生的结果是阻抗匹配会随之更改,当我们远离最佳频率点时,反射的能量会增加,导致性能降低。对于高频率输入口也是类似,但是这条通路里的MN21/24的具体取值要小很多(2pf),那么这时寄生电感和电容就会在频率上限处产生更大的影响,对于频率下限,主要取决于这两个微小的电容,电容小了,等效的频率就会增加,因此最佳频率值也会增加。
你手头的板子可能MN18或者MN26被取走了(对应于短波修改的方式1)。这样电感的效应就没有了,它原本会把低频率的信号反弹回去,取走后就不会了(类似的,一个较小的电感也会产生类似的效果,这里不是很确定?我认为是大电感产生类似效果)。但愿这篇文章能简单告诉你短波修改版的原理,以及它是如何更改匹配频率/峰值频率的。
这里可能比较深入,但是当我们理解概念后可以更方便知道为什么对于每个通道要用多个口。另外,原理图上写着的频率值是这个网络对应的最佳范围,也就是它们最优化的范围。它们在这个范围外也能工作,但是性能有所降低。
LMS7002M FPRF
上一篇文章,我们说这个芯片类似于FPGA。但是这个芯片并没有FPGA内部的门阵列。它是一个射频芯片,可以在使用中调整为100kHz到3.8GHz之间的任何频率。这种类型的器件被称作FPRF(现场可编程射频芯片),因为它可以高度定制,因此它拥有很多类似FPGA的优点。
上面的图片展示了LMS7002的模块图,我们可以看到芯片内部有很多东西。那么这些东西到底做了什么?它为什么那么神奇?
射频输入(主要是LNA)
我们可以看到每条接收通路有3个口,我们要根据频率来选择其中一个。这些LNA(低噪放)和我们前面说的射频输入电路类似,它们为某些特定频率优化。
低噪放顾名思义,它可以在只引入很少噪声的情况下放大信号。我们要在初始阶段先放大信号是为了使得这个信号在后期放大过程中对噪声更免疫。如果我们在放大器前加入了噪声(芯片中到处会有噪声),噪声也会被放大,因此大多数射频电路中LNA一般都在最前面一级。
混频器
接收通道的后面一级中,信号与RXPLL混频,产生了一个基带信号(下搬移)。RXPLL是系统时钟经过低噪声合成器生成的。在LimeSuite程序中,我们可以在SXR选项卡(RX合成器)中设置RXPLL。RXPLL要用到的系统时钟在CLKGEN选项卡中(数字时钟生成器)设置。这就是为什么它们两个都需要配置(我们需要用PLL来生成一个时钟进行下搬移)。这一部分很容易被忽视,但是这是LMS7002M的重要组成部分。
RXTIA
我们下搬移到基带后,就会碰到第二级的低噪放,同时也是一个电流电压转换器。
这个LNA/TIA的作用如下:
对于基带信号提供一个初级低通滤波
产生一定的直流偏置DC offset来预防信号饱和,保持在ADC动态范围内。
最后可以调整增益,这样信号在进一步滤波前可以做好调整
一旦信号经过RXTIA后,它会被送入低频率的低通滤波器或者高频率的低通滤波器(RXLPFL和RXLPFH),它们是可配置的。在LimeSuite的RFE选项卡中。
最后一级增益(RXPGA)和ADC
最后一级的低噪放叫做RXPHA。你可能会像为什么我们还要这一级。这个答案很简单,与ADC原理有关。任何ADC都使用二进制比特来表示,这就会产生量化阶,它们的数量是2^(ADC的位数)。
简单起见,我们假设我们的ADC只有2位,也就是说对应了4层ADC值(00=0V 01=0.33V 10=0.66V 11=1V)。如果我们想要用上整个范围,那么我们的信号必须在0V~1V整个范围内变化。如果我们的信号值只在0~0.33V,那么我们只有1位的有效ADC值,而不是我们本来想要用到的2位。因此,我们需要加一个增益。如果增益太大也会碰到类似问题,如果我们给ADC的信号在0.66V到1V范围内变化,也会有类似问题。
RXPGA就是为了解决这个问题,使得信号幅度正好符合ADC的要求。这些控制选项在LimeSuite的RBB部分。
但是为什么前面提到的组件都正好有2个?I和Q代表什么?
LMS7002M输出的形式是I同相和Q正交数据。这是一种记录信号幅值和相位的方法(Q与I的相位差了90度,因此是正交的)。在射频通信领域,使用这种方式来记录同样的数据比其它方法方便好多。如果你想要了解更多知识,可以查看NI的资料。
发射
为了让你快速入门,我们暂时先不讲发射,这样你就能马上学习实际的例子了。你现在应该了解接收的模块了,你只需要知道其实发射的组件只不过是这些接收组件的反向操作。
如果你想要深入了解发射,那么有几个关键点你要了解:我们需要的增益更少,因为我们知道自己生成的信号的大小,输出时只需要最后一级增益。滤波在发射中更为重要,因为我们需要发射出更好的信号质量。除此之外,我们还需要了解我们要发射的信号功率(这样我们才能保持合法,另外也不会超过外部功放的输入要求)。
从哪里开始
你可以先购买一个LimeSDR。
接下去的教程会讲Lime Suite和Pothos的安装(Windows用户需要PothosSDR安装包)。注意安装教程可能会有更新,所以和我们的教程会有少许区别。
最后你可以参考快速测试一文来运行一些例子。
最后的一些想法
但愿这个文章对你有帮助。尽管我们跳过了发射部分,但是要了解的概念时差不多的,我们会在后期的软件讲解中进一步深入。现在我们大概知道LMS7002M的工作方式了,我们可以在下一篇学习LimeSuite软件了,我们后期还会讲如何在一些应用中做修改,来提升应用的性能。