什么是TDD?

2023-11-16

作为手机硬件开发者来说,TDD问题的debug绝对是最有意思的一件事情。即使你有再丰富的手机行业开发经验,在前期的设计中都不一定能完美的排掉这个雷。同时在后期发现问题的debug中,也会走很多弯路。所以TDD问题一直是手机开发者头疼的问题。

所以什么是TDD?
在讲之前先要讲解几个名词:
GSM: 全称Global System for Mobile Communications。其由欧洲电信标准阻值ETSI制定的一种数字移动通信标准。
TDMA: 全称Time division multiple access。属于一种为实现共享传输介质或者网络的通信技术。
既然讲了这两个名词,彼此之间就一定存在关联。

目前的手机均具备GSM制式的2G网络。使用到了TDMA时隙分享技术。其可以把时间分割成周期性的帧,每一帧再分割成若干个时隙向基站发送信号,基站发向多个移动端的信号也都按顺序安排在预定的时隙中传输。
这其中每个TDMA 帧含8 个时隙,整个帧时长约为4.615ms,每个时隙时长为0.577ms。
GSM 制式的手机,RF 功率放大器每隔4.615ms(217Hz)就会有一次讯号传输,讯号传输时会产生间歇的Burst 电流和很强的电磁辐射。
间歇的Burst 电流会形成217Hz 的电源波动;900MHz 和1800MHz 的高频RF 信号形成了217Hz 的射频包络信号。
217Hz 的电源波动会通过传导或者辐射耦合到音频讯号通路中, 217Hz 的射频包络信号会通过辐射耦合到音频讯号通路中,如果防护不好,就会产生可听到的TDD Noise, 其中包括了217Hz 噪声和217Hz 的谐波噪声信号。

在这里插入图片描述

前面提到了传导和辐射是TDD产生的主要原因,所以什么是传导和辐射呢,该如何区分?

辐射:对于PCB板来说,尤其是手机,充满了随时间变化的信号,无论你是否想要它们,这些信号都会作为电磁辐射传播出去。每个导体都可能成为一个能够发送和接受信号的天线。当你享受着RF通信时,无线的传输与接收时。在一定的情况下,也在产生和接受噪声。可以通过空间耦合传播到其他设备上,在电路或者导线上产生不必要的电压或者电流,最终对后级电路产生不必要的危害。
传导:相对于辐射来说,更容易理解些。其与辐射的区别在于干扰路径,辐射通过空气。然而传导通过导线。不必要变化的电压或者电流伴随着有用信号共同在导线中传输,最终传递到后级电路,造成后级电路不稳定的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是TDD? 的相关文章

  • TestDriven.NET 没有运行我的 MbUnit 设置方法

    我创建了一些 MbUnit 测试装置 其中具有标有 SetUp 属性的 SetUp 方法 这些方法在测试之前使用 MbUnit GUI 控制台运行器和 ReSharper MbUnit 插件运行得很好 但是 当我使用 TestDriven
  • 第一次测试 Laravel 4 应用程序(PHPSpec/BDD 与 PHPUnit/TDD)

    我已经为这个问题苦苦思索太久了 我知道我需要跳入其中一个或另一个 因为它们显然都是可行 有用的工具 但几周来一直处于观望状态 对两者进行研究 PHPUnit http phpunit de vs PHPSpec http phpspec n
  • TDD 如何应用于基于 Django 类的通用视图?

    由于 Django 中基于类的通用视图涉及框架的一些工作 我发现很难以 TDD 风格使用它们 现在 我使用 TestClient 从 http 模拟堆栈访问视图 但我更愿意在使用 TestClient 进行 功能 测试之前正确地对特定方法
  • 使用 rspec 测试设备视图

    我已经生成了 Devise 的视图运行rails g devise views现在想测试它们 这就是我想出的 require spec helper describe devise sessions new do before do ren
  • 如何将单元测试项目添加到现有 MVC3 应用程序(从空模板)

    我从空模板创建了一个 MVC3 应用程序 因此无法将 Visual Studio 单元测试项目添加到解决方案中 我做了一些更改 添加了一些控制器 现在我想尝试 TDD 所以我需要添加一个测试框架 但我不知道如何才能做到这一点 我想要某种方式
  • TDD 中的模拟值

    在书里GOOS http www growing object oriented software com 据说不要嘲笑价值观 http www mockobjects com 2007 04 test smell everything i
  • 将 TDD 回顾性应用到 C# 代码库中的最佳选择

    我有一个由 5 个 C 库组成的现有框架 该框架自 2006 年以来一直得到很好的使用 并且是我的大多数项目的主要代码库 我的公司出于软件质量的原因希望推出TDD 在学习了许多教程并阅读了理论之后 我了解了 TDD 的好处 时间不是无限的
  • 使用 Devise 身份验证进行 Ruby on Rails 功能测试

    我正在寻找一个奇怪问题的解决方案 我有一个控制器 需要身份验证 使用 devise gem 我添加了 Devise TestHelpers 但无法让它工作 require test helper class KeysControllerTe
  • 测试在最小起订量中多次调用的方法

    我有一个像这样的界面 Interface IWriteFile string FileName get set void Open void WriteData string dataToWrite void Close 我想测试一个将使用
  • PHPUnit、接口和命名空间 (Symfony2)

    我目前正在为 Symfony2 开发一个开源包 并且真的希望它在单元测试覆盖率和一般可靠性方面成为最优秀的 但是由于我缺乏 PHPUnit 知识 或复杂的场景 谁知道 目前 我有一个 Mailer 类 用于处理个人邮件场景 它看起来有点像这
  • 如何使用 MOQ 对象测试 Ninject ConstructorArguments?

    我最近一直在做我的第一个测试驱动开发项目 并一直在学习 Ninject 和 MOQ 这是我第一次尝试这一切 我发现 TDD 方法发人深省 Ninject 和 MOQ 也很棒 我正在从事的项目并不是特别适合 Ninject 因为它是一个高度可
  • 如何测试 Ruby on Rails 功能测试的 JSON 结果?

    我该如何维护我的Ajax http en wikipedia org wiki Ajax 28programming 29请求并测试 Ruby on Rails 功能测试的 JSON 输出 在 Rails gt 5 中 Use Action
  • 优秀软件设计和实现的示例[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望这不是重复的 您遇到过的设计和实施最扎实的软件系统 框架 应用程序是什么 似乎 TDD SOLI
  • 使用TDD在Java中开发文件遍历代码

    我必须实现一些代码来遍历目录结构并返回找到的文件列表 要求非常简单 给定一个基本目录 查找其中的所有文件 不是目录本身 如果找到目录 请重复步骤 1 我想使用 TDD 开发代码 当我开始编写测试时 我意识到我在嘲笑班级File 这样我就可以
  • “自动测试/rails [...]不[...]存在。正在中止”

    我发现自动测试已停止工作 autotest loading autotest rails Autotest style autotest rails doesn t seem to exist Aborting 根据这篇博文 http ww
  • TDD中如何处理接口过度使用?

    我注意到 当我进行 TDD 时 它通常会导致大量的接口 对于具有依赖项的类 它们以通常的方式通过构造函数注入 public class SomeClass public SomeClass IDependencyA first IDepen
  • Unit::Test 与 Rspec 之间的区别 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对感兴趣Test Unit and Rspec 有人可以向我解释一下两者之间的主要区别是什么 就它们的运作原理而言 测试 单位更类似于 JUn
  • 对 MFC UI 应用程序进行单元测试吗?

    如何对大型 MFC UI 应用程序进行单元测试 我们有一些大型 MFC 应用程序已经开发了很多年 我们使用一些标准的自动化 QA 工具来运行基本脚本来检查基础知识 文件打开等 这些由 QA 小组在日常构建后运行 但我们希望引入一些程序 以便
  • 使用文件 IO 的单元测试方法

    我正在努力养成编写单元测试的习惯 我之前写过一些 但它们通常都很基础 我想开始转向 TDD 因为我想提高质量我的代码 设计和结构 减少耦合 同时希望减少可测试构建的回归数量 我从一个相对简单的项目开始 生成的程序监视一个文件夹 然后对该文件
  • 测试 Python 脚本

    如何使用 doctest unittest nose 等测试框架测试 Python 脚本的 STDOUT 输出 例如 假设运行我的脚本 todo py list 应该返回 取出垃圾 我读过有人将脚本的 STDOUT 打印部分与生成要打印的输

随机推荐

  • Bugku题目MISC部分(持续更新)

    目录 telnet 1和0的故事 这是一张单纯的图片 隐写 社工 进阶收集 来自论坛提问 gQiRf的附件 zip 简单取证1 mimikatz PasswareKitForensic工具 眼见非实 啊哒 ping FileStoraged
  • spring中使用ThreadPoolTaskExecutor配置线程池

    背景 spring中经常使用ThreadPoolTaskExecutor来调用JDK的ThreadPoolExecutor初始化线程池 尤其在有异步执行的任务时 由于spring 异步任务默认使用的executor不会reuse线程 因此需
  • 寄存器优化补充

    一 简要概述 结构体在寄存器中应用可以简化繁琐的寄存器 这段代码在每个结构体成员前增加了一个 IO 前缀 它的原型在这段代码的第一行 代表了C 语言中的关键字 volatile 在 C 语言中该关键字用于表示变量是易变的 要求编译器不要优化
  • Pytorch cpu版安装及卸载详细教程(以及安装成功后无法在ide中使用问题解决方法)

    Pytorch cpu版安装及卸载详细教程 以及安装成功后无法在ide中使用问题解决方法 一 准备 1 首先确定python的版本 且python是64位 win R 输入cmd 确定 在页面中输入python回车 可查看python版本既
  • React---使用react脚手架搭建项目

    一 使用create react app创建react应用 1 1 react脚手架 xxx脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置 语法检查 jsx编译 devServer 下载好了所有相关的依赖 可
  • eclipse改变html字体大小,细说eclipse设置字体以及字体大小?

    电脑现已成为我们工作 生活和娱乐必不可少的工具了 在使用电脑的过程中 可能会遇到eclipse设置字体以及字体大小 的问题 如果我们遇到了eclipse设置字体以及字体大小 的情况 该怎么处理怎么才能解决eclipse设置字体以及字体大小
  • 初步使用基于RESTful的前后端交互方式,包括前后端增、删、改流程

    目录 一 问题背景 二 解决方法 1 POST增 2 DELETE删 3 PUT改 4 参考源代码 一 问题背景 最开始接触web后端开发时 使用的请求大多是通过自定义的一些请求名称 比如update do delete do等 现在为了规
  • python实现卷积神经网络实现手写数字识别

    工具 tensorflow opencv import cv2 import numpy as np import tensorflow as tf np set printoptions suppress True def get tra
  • 重新定义分析 - EventBridge 实时事件分析平台发布

    对于日志分析大家可能并不陌生 在分布式计算 大数据处理和 Spark 等开源分析框架的支持下 每天可以对潜在的数百万日志进行分析 事件分析则和日志分析是两个完全不同的领域 事件分析对实时性的要求更高 需要磨平事件领域中从半结构化到结构化的消
  • ListView的视图属性View的Details的时候每一项的旁边老有个小方框,如何去掉?

    ListView有一个CheckBox属性 将其修改为false即可
  • 共享存储映射

    存储映射I O 存储映射I O memory mapped I O 使一个磁盘文件与存储空间中的一个缓冲区相映射 于是当从缓冲区中获取数据 就相当于读文件中的相应字节 与此类似 将数据存入缓冲区 则相应的字节就自动写入文件 这样 就可在不适
  • 算法序列--树

    树结构是一种非线性存储结构 存储的是具有 一对多 关系的数据元素的集合 树的结点 结点 使用树结构存储的每一个数据元素都被称为 结点 例如图中 数据元素 A 就是一个结点 父结点 双亲结点 子结点和兄弟结点 对于图中的结点 A B C D
  • laravel进阶学习之laravel生命周期

    Laravel 生命周期概括起来大致可分为三步 1 加载依赖 2 创建 Laravel 应用实例 3 接收请求并响应 加载依赖及生成实例部分 一个请求进来之后由public index php开始也由public index php结束 直
  • windows下python开发环境搭建

    写这篇文章主要目的是指导XXX如何在windows学习并使用python 内容主要包括 sdk安装 IDE的安装 IDE环境的配置 编写一个简单测试示例进行验证 这里我们选择的python开发工具为 python3 vscode pytho
  • 超融合服务器连接虚拟机,H3C UIS 6.5超融合产品新增虚拟机配置指导-5W100

    虚拟机是由一组文件构成的一个完整系统 它具有CPU 内存 网络设备 存储设备和BIOS 虚拟机中操作系统和应用程序的运行方式与在普通物理机上的运行方式没有任何区别 创建虚拟机是服务器虚拟化管理软件最基础的功能 虚拟机的创建过程不仅包括虚拟机
  • Numpy章节 2 数学函数

    章节 2 数学函数 1 通用函数 ufuncs 的使用 NumPy提供了各种通用函数 ufuncs 用于对数组进行逐元素的数学运算 这些函数可以对数组进行向量化操作 提高运算效率 示例代码 arr np array 1 2 3 4 5 平方
  • MySQL学习_01

    SQL通用语法 1 SQL 语句可以单行或多行书写 以分号结尾 2 MySQL 数据库的 SQL 语句不区分大小写 关键字建议使用大写 3 注释 单行注释 注释内容 或 注内容 MySQL 特有 多行注释 注释 SQL分类 DDL Data
  • Springmvc之JSR303和拦截器

    JSR303 拦截器 1 JSR303 什么是JSR303 JSR是Java Specification Requests的缩写 意思是Java 规范提案 是指向JCP Java Community Process 提出新增一个标准化技术规
  • pom是什么意思

  • 什么是TDD?

    作为手机硬件开发者来说 TDD问题的debug绝对是最有意思的一件事情 即使你有再丰富的手机行业开发经验 在前期的设计中都不一定能完美的排掉这个雷 同时在后期发现问题的debug中 也会走很多弯路 所以TDD问题一直是手机开发者头疼的问题