DSP

使用RTL-SDR和Matlab Simulink玩转软件无线电(四)

2019-07-13 19:31发布

1.4 本书目标 对于本书读者,我们有一个核心目标: 借助低价的RTL-SDR接收机,帮助工程师来学习和实现SDR设计,而且所有的算法都使用MatlabSimulink实现,实时处理真实信号。
我们还可以提供其他的知识: 1.理解SDR系统设计基础; 2.了解各种SDR应用,用于广播,移动通信,无线通信,射频侦听; 3.学习SDR系统的核心部件,DSP和物理层算法,从信号里获取信息; 4.(对于MatlabSimulink的初学者)学习编写Matlab代码和Simulink模型,以及工具盒和支持包; 5.能够捕捉不同的信号,并画出实时的频谱图; 6.了解不同的通信系统和它们使用的频段; 7.学习DSP基础(滤波器,解调器,抽取器),能够设计一个系统把正交信号转为基带信号; 8.了解模拟AMFM的调制基础,理解对应的数字接收机; 9.了解如何使用其他硬件来产生无线信号,使用简单的部件来设计或者购买(温度)传感器; 10.学习把复用音频信号并编码,并使用低价的FM发射机来发射,再用RTL-SDR来接收、解调、去复用、解码并最终输出到各自的频道; 11.学习调谐、同步、计时器,能够用软件实现这些部件; 12.了解如何用USRP实现SDR发射机,并产生QAM信号给RTL-SDR 13.尝试更复杂的SDR应用(包括上层协议),使用USRPRTL-SDRFM发射机来传输文本和图像信息。
1.4.1 本科和研究生教育 这本书也可以用来帮助本科生和研究生学习DSPSDR。更多的资料,包括教学大纲、实验安排等可以在本书的网站上desktopSDR.com找到。
1.5 SDR的结构变迁 近几年,或者说1990年后,SDR经常被认为是未来的RF接收机。很多年以来SDR都被认为是很有希望的,但是直到2014年才真正的做到足够便宜,并且尺寸也足够小。过去,SDR一般只是用在军事或科研领域,因为以前它们很贵。
1.5.1 终极SDR结构 在最简洁的概念上来说,SDRRF部分(天线、放大器、滤波器)和高速ADC、高速DAC组成,并且连接到DSP或电脑上,见图1.6。使用ADC得到采样点进入DSP再经过DAC流出。回忆奈奎斯特定理(你需要采样一个信号,那么采样率必须是信号最大带宽的两倍,才能获得所有信息),使用4GHz采样,那么你的基带信号的范围可以在0~2GHz之间,所以SDR可以发射并接收2GHz内的所有信号,所有信号处理都用数字方式完成。
为了实现一个完整的无线系统,我们需要一些RF和宽频天线的知识,来保证那么大的频率范围内都能工作。使用合适的模拟器件也是重要的考虑因素。如果这些都没问题,从DSP角度来说,只要我们把RF信号数字化以后就能全部由软件完成后续处理。软件需要在超高性能处理器上处理,或者是FPGA(比如LTE信号)。这些设备完成了所有DSP算法,这些算法基本上由加法和乘法实现。
不远的将来,高速ADCDAC会实现几GHz的采样率,这样图1.6中的设备就能实现。回想一下,90年代DAC/ADC的采样率大概是100kHz16bit的分辨率就是最新、最昂贵的技术了。2015年的设备大概可以达到100MHz14bit的分辨率,它们不算太贵,可以从ADI公司买到。几GHz的采样率和8bit的分辨率也有了,但是它们还是很贵。尽管有这些限制,我们确定技术会不停进步,将来GHz的采样率一定会在普通消费者的设备里出现!
1.5.2 SDR结构:数字处理的变迁 接下来,我们考虑正交接收机的变迁,和数字处理日益增加的重要性(SDR的一部分)。
第一代数字无线电出现在90年代中期。如图1.7(a),模拟部分使用本振LO把信号从射频RF下变频到中频IF,接下来使用另一个LO进一步把IF信号下变频到基带。基带信号经过ADC的采样、数字化后(采样率低于几十kHz),DSP对其输出进行最终的处理,还原出传输的信息。90年代的第二代移动电话(GSM手机)很多都是这种结构。顺便提一下,90年代早期的手机是完全模拟的,它们使用AMPTAC标准。
接下来的数字无线电是2000年左右的,采样和数字化处理在有些设备中开始在中频IF进行。IF大概在40MHz左右,那么ADC使用一个125MHz左右的就行了。DSP的第一级使用一个数字下变频器DDCIF信号搬移到基带,DDC中做的是解调和抽取滤波如图1.7(b)。进一步的DSP处理在基带进行。在这个结构中,更多的功能在数字部分实现,SDR的灵活度增加了。
到本书写作之时最先进的结果是把RF信号直接采样,如图1.7(c),用DSPRF信号直接下变频到基带,这是因为我们现在能够把采样率做到数GHz。这已经接近SDR的最终构想了。
1.5.3 RTL-SDR的结构和工作流程 RTL-SDR的结构更接近于图1.7(b),它的解调过程分为2级:通过模拟电路把RF降到IF;用数字方式把IF降到基带。更重要的是解调过程可以用软件控制,这样我们就能够选择需要的RF频率范围了。
再次观察图1.7(b)RTL-SDR的输出与1.7(b)中白 {MOD}的基带DSP的输入对应。也就是说RTL-SDR的输出是IQ采样,这些采样经过RTL-SDR的硬件支持包进入MatlabSimulink中,而MatlabSimulink就对应着基带DSP模块,它们中运行的程序就是整个处理过程的最后一步。RTL-SDR的输出是8位二进制数据,而MatlabSimulink可以处理浮点数。更多关于RTL-SDR的结构和内部组件会在1.6节中说明。
RTL-SDR的结构中没有任何实现基带DSP这个模块的地方,它们全部在MatlabSimulink里完成,所以说我们就有很大的灵活度,因为我们可以通过更改软件来调整处理方式。使用高性能计算机就能把用软件实现的基带实时地运行。使用RTL-SDRMatlabSimulink,你可以实现很多种系统,接收到不同种类的信号,无论是空中现有的,还是你自己发出的。