概述
1.7 把RTL-SDR接入Matlab和Simulink
安装完RTL-SDR的硬件支持包后,Simulink里会有一个RTL-SDR的模块,如图1.0,你可以早Simulink的库浏览器里找到。硬件支持包仔Matlab里是comm.SDRRTLReceiver形式的系统对象。它们这两种方式都支持任何你插在电脑上的RTL-SDR设备,可以通过这些模块设置RF中心频率fc,采样率fs和调谐器增益K。除此之外,频率修正值也可以输入到接口中用来消除R820T产生的误差。我们在附件A.3里讲述了如何如何计算这个值,但是你现在不需要关注这个。
如图1.11,你可以看到RTL-SDR的内部结构,你可以看到这些参数与实际硬件的关系。R820T的VCO的频率并不是fc,而是flo,flo=fc-fif,fif是中频频率。比如我们要接收一个载波为400MHz的RF信号,这个信号要用RTL-SDR下变频到基带,但是R820T的中频是3.57MHz,那么VCO实际的振荡频率是flo=400-3.57=396.43MHz,当原始的RF信号(fc)与VCO的正弦波(flo)混频后,根据积化和差公式,你会得到一个3.57MHz的信号和一个796.43MHz的信号,796.43MHz的信号被R820T的中频低通滤波器过滤掉后只剩下IF信号(频率在fif附件),并传到下一级,见图1.11。幸运的事,我们在Matlab和Simulink里可以直接设置fc(比如现在的400MHz),软件会自动进行运算,并对硬件给出合适的设置。
1.8 一些挑战
根据作者经验,你可以很方便地在Matlab和Simulink中运行RTL-SDR的一些例子。然而,还是有一些挑战和陷阱需要注意。我们现在说一部分,其他的会在这本书后面讲到。这些挑战可能是你的RF天线问题,软硬件问题,缺乏足够的组件和工具的问题,或者软件运行时问题。这本书是工程类书籍,工程师就是要能够解决这些问题。
本书的例子会让你尝试设计实际的SDR系统,你可能碰到的问题如下:
1.全向天线在你的目标频段里工作的不好:比如没有足够的增益,灵敏度/极化方式有问题。
2.调谐器有一个频率误差,而且这个误差随温度变化而变化。
3.前端增益有饱和问题
4.你的电脑性能不够,不能完成Matlab和Simulink里的实时信号处理,你可能要一台高性能电脑。
5.无法实现同步电路
6.你周围的电磁环境台复杂,或者相反,你周围没有什么RF信号(比如在郊区或者在屏蔽房间内)。
为了最大化你能学到的东西,我们把练习和例子都设计为即使没有RTL-SDR也能使用,我们为你准备了事先录制好的信号,甚至如果你连Matlab和Simulink都没有,我们也录了使用视频,来向你展示运行情况。当然,最好的方式是你软硬件都有,并且实际操作它们。
1.8.1 如果我没有RTL-SDR怎么办
我们推荐你购买一个,20美元不到。如果你没有,你仍然可以通过本书进行学习,因为我们在很多练习和例子里录制了对应的RF信号,你可以把这个信号作为你的系统的输入。如图1.12,你可以把导入RTL-SDR数据这个模块代替RTL-SDR接收机模块,4.13节还会详细讲到。
1.8.2 我装不上RTL-SDR怎么办
你可以访问mathworks.com,并寻找有关Matlab、Simulink和RTL-SDR硬件支持包的讲解。如果你的USB驱动有问题,访问desktopSDR.com并找到疑难解答。你还可以用搜索引擎查询,RTL-SDR的爱好者可能已经回答了这个问题。
1.8.3 我Matlab和Simulink没装好
我们强烈推荐你购买一套合适的版本,R2014b以后,包括所有的支持包和工具盒。如果你不会安装,你还是能学到本书的一些东西,很多练习提供了仿真过程的录像。因此这样你就不需要自己运行这些软硬件也能看到对应结果。我们在1.10节里会详细说。
1.8.4 我不知道SDR是什么意思,我软硬件都不懂
那你可能需要学一些基础知识,比如什么是发射机和接收机,SDR到底做什么。除了仿真录像,我们还有其他的系统安装录像。比如说,其中一个视频你可以看到手机上播放的音频信号并且使用载波发射到RTL-SDR。录像里你也可以看和听到信号(Matlab/Simulink软件从RTL-SDR接收基带信号,解调,输出到声卡)后面的章节会详细讲。
最后
以上就是明亮小伙为你收集整理的使用RTL-SDR和Matlab Simulink玩转软件无线电(六)的全部内容,希望文章能够帮你解决使用RTL-SDR和Matlab Simulink玩转软件无线电(六)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复