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

2023-12-12 06:58

本文主要是介绍使用RTL-SDR和Matlab Simulink玩转软件无线电(十七),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3.9.4 寻找你手机的频率

观察你身边的移动信号频谱很有趣,但是观察你自己手机的发射和接收频率更有趣。为了做到这一点。你需要找到你手机当前的工作频率。手机的频率会变好,你可能注意到你的手机会自动变更信号标准,根据区域不同会选择使用不同种类的信号。你的手机可以在信号种类不变的情况下更改信号频率,这取决于你那里的用户数量和连接需求。


为了找到你手机的频率,你必须打开工程模式,这样你才能看到详细信息。这些设置在大多数手机上都有,还会提供当前信号强度(dBm),以及最重要的上下行链路频率。这些频率用ARFCN来表示,而不是实际的MHz,这个数字可以很方便地转换到频率,你可以上网找找[77]。对于喜欢挑战的读者,可以自己通过3.1的公式来计算GSM频段。你可能需要查一下其它几个f常数的值,因为不同国家不一样。


[119]提供了一个进入工程模式的教程。如果你的手机包含在内,你就能够根据教程来打开工程模式,找到所有的信息进行后面的练习,如果你的手机没有这个模式,那么你还是看看其它手机发出的信号。


练习3.8 观察移动信号频谱:挑战

这个练习包括一系列的挑战,你会观察手机在不同标准下的发射和接收的信号。你需要一个可以进入工程模式的手机来做这个练习。如果你的手机不支持,你也借不到这种手机,你还是可以看看我们的实验录像。


(a)打开Matlab。设置工作文件夹。然后打开模型。


(b)运行程序。保证你选择的天线接到RTL-SDR上,RTL-SDR连接到你的电脑,并且Matlab可以与其通信。点击开始运行按钮启动程序。


(c)进入工程模式,参照[119]GSMUMTS甚至LTE-A都可能出现,取决于你手机的功能。浏览这些菜单,你会了解到你现在使用的标准,你连接上以后还能看到信号功率。如果是GSM网络,你还能看到ARFCN,这个数字可以转化为频率。


大多数手机无法在工程模式中开启关闭连接,也就是说你可能要经常退出或重新进入这个模式。如果你认为你观察到的频谱与你做的操作不符,你可能要重新进入此模式观察连接信息,因为你的手机可能自动更改频率了。


另一点,现在的新技术(3G,4G)都主要提供的是数据连接。这样上下行链路的流量可能很不一样,因为频道是非对称的。比如你在看在线视频,大多数都是下行链路的流量,上行链路的流量很少,因为你的手机是在下载数据。如果你在把照片上传到社交网络上,那就会反一反。


(d)当你的手机使用不同标准时,你可能要做不同的操作以便观察。2G模式下,你可以发短信或者打电话,这样你的天线能收到上行链路的活动。当你在观察3G或者4G信号时,你可以做一些在线搜索或者观看在线视频,这样你会得到下行链路的数据包。许多手机可以选择制式,比如可以把3G或者4G关闭。你可以看看你手机是否能强制进行2G连接。一般来说,手机默认会选择最高速的连接。有时候你不能选择你当前的制式,你要耐心一点。


(e)拨打GSM电话。下面的视频展示的是手机上的工程模式,以及ARFCN号码如何计算为频率,最后是使用RTL-SDR/Simulink观察这个电话的频谱。


语音通信的帧可能以200kHz宽度的脉冲显现。


(f)GSM挑战。你看了视频吗,现在该你自己试试了。把你的手机强制连接到GSM网络,可以试试选择2G模式或者关掉数据连接,然后找到上行链路的中心频率。把RTL-SDR调谐到这个频率,然后打个电话。你可以看到一个很强的GSM信号吗?这个截图展示的是我们看到的上行链路的频谱。你看到类似的东西了吗,你也可以发一条短信,看看有什么不一样。


(g)使用UMTS网络来观看在线视频。下面的录像展示的我们先进入工程模式,查到UMTS上下行链路的频率。然后调谐到RTL-SDR的上行频率,并观看Youtube视频。


手机发出的信号用于向网络发出连接请求和获取视频数据的请求。视频不停地下载到手机的缓存里,请求和应答也不停地从手机发出,用来保持连接。


(h)UMTS挑战。你看过视频了吗?现在该你自己试试了。确认WiFi关闭,然后强制手机连接到3G模式。到工程模式里找到UMTS的上下行频率。把RTL-SDR调谐到你的上行频率,然后访问互联网。下面的截图应该跟你看到的差不多。


(i)你看到你手机发出的5MHz宽的脉冲吗?你在这个模式下打电话或者发短信会看到什么?你要知道UMTS频道是在几个用户间共享的。因此,你应该找一个人口稀疏的地方尝试,这样效果更明显。如果你是这个频道唯一的用户,那么你会看到更明显的效果,你的手机的活动可以立即反应在频谱上。如果你不确定频谱图反应的是否是你自己手机的信号,你可以试试把手机调整到飞行模式。飞行模式保证了手机停止一切连接,并且频谱图上你自己的信号会消失。


(j)UMTS频道非对称。接下来你可以看看UMTS上下行链路的区别。把手机设置3G模式,然后用前面介绍的方法找到上下行频率。


(k)你先打开一个比较长的在线视频,然后调谐RTL-SDR到手机的上行频率。尽管你在观看视频时主要是在下载数据,但是你也在上传大量控制数据,这些数据经过上行链路传回基站。这是因为数据传输协议的要求,你的手机看上去上下行链路的活动差不多。此时,如果你把增益调低,比如5dB左右,你应该能看到频谱仪上的脉冲。FFT图会有跳上跳下,瀑布图也会显示出这种很短时间的脉冲,以橘黄色的线显示。


然后把频率调谐到下行频率。这时你的增益要高一点(一般在30dB),然后你可以跟前面看到的比较一下。你应该能看到此时的活动看上去是不变的,保持在高位。增益要比前面搞的原因是你的手机离你的RTL-SDR很近,而基站可能几百米远,这样意味着你的RTL-SDR天线收到的原始信号强度是不同的。


(l)当你完成观察频谱后,你可以继续往下看或者直接跳到下一节。


(m)最终的移动通信挑战。最后的挑战是查询UK Ofcom的移动基站数据库,找到你附近的移动基站。如果你不在英国,你应该找找你自己国家的。


(n)对在英国的读者,Sitefinder是一个很好的网络资源,你可以看到附近的基站的具体位置,并且显示它们支持的标准以及运营商。使用Sitefinder,来找到到底是哪里的基站在与你的手机通信。我们会给你一些提示。


查询你手机当前连接到的运营商

找到你当前的标准,是2G还是3G或者4G

找到你的上下行频率

在你附近的几个基站里找到与前面这些详细信息相符的基站


这篇关于使用RTL-SDR和Matlab Simulink玩转软件无线电(十七)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/483664

相关文章

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图