Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从gsm网络获取数据_Android_Gsm - Fatal编程技术网

Android 如何从gsm网络获取数据

Android 如何从gsm网络获取数据,android,gsm,Android,Gsm,我想看看gsm是如何影响电话数据的。这就是我要做的。一个人将在电话上讲话,我将在他讲话时从电话的麦克风录制他的声音,在另一部电话上,我将从gsm获取数据并进行比较。我想写一个android应用程序来获取数据。这在安卓系统上可能吗?或者你能建议另一种方法来实现这一点吗 一些背景(你可能已经知道了) 当您拨打GSM电话时,手机麦克风中与您的语音相对应的模拟信号将转换为一系列数字值,然后使用语音编解码器进行编码。这基本上是一个聪明的算法,可以在尽可能少的数据中捕获尽可能多的语音 这样做的目的是保持非常

我想看看gsm是如何影响电话数据的。这就是我要做的。一个人将在电话上讲话,我将在他讲话时从电话的麦克风录制他的声音,在另一部电话上,我将从gsm获取数据并进行比较。我想写一个android应用程序来获取数据。这在安卓系统上可能吗?或者你能建议另一种方法来实现这一点吗

一些背景(你可能已经知道了)

当您拨打GSM电话时,手机麦克风中与您的语音相对应的模拟信号将转换为一系列数字值,然后使用语音编解码器进行编码。这基本上是一个聪明的算法,可以在尽可能少的数据中捕获尽可能多的语音

这样做的目的是保持非常好的语音质量,同时节省通话所需的带宽。使用的技术包括不完全传输周期(当你不说话时)和各种压缩和预测编码算法。在GSM中已经有并且仍然有许多编解码器在使用,但是最新和普遍的首选编解码器被称为AMR窄带

几乎所有GSM部署都会对手机和基站之间的语音进行加密——虽然各种加密算法都存在公开的弱点,但我假设(希望…)解密不是您想要的

您的问题-“我想知道当通过gsm进行语音传输时,是否会出现数据丢失或损坏”

首先,值得注意的是,至少与数据相比,语音“相对”容忍少量数据丢失和损坏。在VoIP网络中,突发数据包丢失是很常见的,它可能会导致语音质量的暂时下降。其次,VoIP网络中的数据包丢失将包括可能令人困惑的延迟数据包-如果数据包到达太晚,无法包含在接收器扬声器中播放的“声音”中,那么从VoIP的角度来看,它实际上是丢失的,即使其他措施可能表明它只是迟到了

要实际测量GSM电话和基站之间的损耗,您需要访问基站接收到的数据,除非您是运营商,否则通常无法访问这些数据

如果您从一个GSM到另一个GSM进行端到端测试,您的语音路径也将穿过其他网络节点,因此您将不知道GSM空中接口或一个或多个其他节点是否发生任何丢失或损坏

您还需要了解从一个手机到另一个手机以及从2G到3G(GSM到UMTS)的切换,这可能会影响您的测试(在某些情况下,即使是固定电话也可以进行切换)

如果您的兴趣纯粹是学术性的,那么最简单的事情可能是创建您自己的GSM基站并在此基础上进行测试-有几个开源GSM“机箱中网络”项目应该允许您这样做。我自己也没有使用过,但这一个看起来是目前最受支持的-请查看“社区”选项卡下的邮件列表,找到一个可以跟进您调查的好地方:


您的意思是想了解通过GSM发送语音时语音的编码方式吗?或者你想知道一部手机上同时进行的语音和数据连接是如何相互影响的?是的,首先,我想看看当语音通过gsm传输时,数据是否会丢失或损坏。基本上我想知道的是,如果我玩数据游戏,我能在另一边还原它吗?实际上我想自己加密语音,这就是为什么我担心数据丢失的原因。我该如何测试这一点?你能建议一种方法吗?你的语音几乎一直都是加密的,直到基站,但如果你的意思是你想在标准手机上的标准GSM通话中添加额外的加密,然后我认为这将是困难的,因为大多数编码/加密将被内置到硬件中,而不是典型的GSM手机上的非常低级的软件中。通过3G连接使用VoIP将更容易,因为只要运营商支持VoIP流量,您可以构建自己的VoIP客户端并执行任何编码和加密。我只想使用现有系统,而不是internet,我会尝试找到一种方法。非常感谢米克的回答