什么是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? 的相关文章

  • Cobra + Viper Golang 如何测试子命令?

    我正在使用 Go 开发一个网络应用程序 到目前为止一切顺利 但现在我将 Wercker 集成为 CI 工具并开始关心测试 但我的应用程序严重依赖 Cobra Viper 配置 标志 环境变量方案 并且我不知道如何在运行测试套件之前正确初始化
  • TDD 时提取类。如何测试新提取的类?

    因此 我的主类中有几个方法使用矩阵来打开或关闭像素 我已经运行了所有当前的测试 所以我决定现在是时候提取一些与矩阵等相关的逻辑并创建一个 Matrix 类了 我的问题是 除了我目前对 SUT 类进行的测试 我才刚刚开始 所以我目前只有一个类
  • 二维对象数组返回类型 - NSubstitute

    我遇到强制转换异常 System InvalidCastException 无法将类型 System Object 的对象强制转换为类型 System Object 在 Castle Proxies ITestProxy Get2DArra
  • Nock 在 Redux 测试中没有拦截 API 调用

    我正在尝试在 redux 应用程序中测试 api 调用 该代码几乎遵循中概述的模式异步动作创建者redux 文档的部分 http redux js org docs recipes WritingTests html http redux
  • TDD 如何应用于基于 Django 类的通用视图?

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

    我是一名使用 PHP 工作的 Web 开发人员 我在 C 桌面应用程序中使用测试驱动开发的经验有限 在这种情况下 我们使用 nUnit 作为单元测试框架 我想在新项目中开始使用 TDD 但我真的不知道从哪里开始 对于基于 PHP 的单元测试
  • Typescript:在子方法中覆盖父类的静态工厂方法

    我在使用 Typescript 进行依赖注入时遇到了一些问题 在每个类上 我添加一个工厂静态方法 其中设置了所有依赖项 我这样做是出于测试目的 以便我仍然能够使用 TDD 方法 现在我在子类中重写父类的工厂方法时遇到了一些问题 例子 int
  • 如何将单元测试项目添加到现有 MVC3 应用程序(从空模板)

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

    在书里GOOS http www growing object oriented software com 据说不要嘲笑价值观 http www mockobjects com 2007 04 test smell everything i
  • PHP 全局常量是一种良好的现代开发实践吗?

    我正在开发一个具有相当大的 PHP 代码库的新项目 该应用程序使用了相当多的 PHP 常量 define FOO bar 特别是对于数据库连接参数之类的事情 这些常量都定义在一个配置文件中 该文件是require once 基本上应用程序中
  • 使用 Devise 身份验证进行 Ruby on Rails 功能测试

    我正在寻找一个奇怪问题的解决方案 我有一个控制器 需要身份验证 使用 devise gem 我添加了 Devise TestHelpers 但无法让它工作 require test helper class KeysControllerTe
  • 如何确定 rspec 控制器测试的主题?

    所以除了好奇之外 我没有什么充分的理由需要知道这一点 最好的理由 但我不确定这里发生了什么 背景 我正在研究 RSpec 书并更新示例 第 24 章 Rails 控制器有一个消息控制器的测试 spec controllers message
  • 如何在纯 Ruby 中使用 Capybara(没有 Rails)?

    我正在尝试让 Capybara 在一个简单的 Ruby 脚本中运行 即没有 在 Rails 之外 这是脚本 require rubygems require capybara require capybara dsl include Cap
  • TDD 新手:是否有带有测试的示例应用程序来展示如何进行 TDD?

    我真的很想进入 TDD 开发 但我不知道从哪里开始 我认为 查看代码并了解他们如何编写测试并使类可测试 这样我会更容易消化并开始使用自己 有谁知道任何示例或小型开源C 包含单元测试的应用程序 对于沙卡尔佩什来说 我会推荐 ObjectMen
  • 从头开始一个 TDD 项目

    我读了很多关于 TDD 的问答和关于 SO 的单元测试 但我没有找到任何答案 我从哪里开始 我和团队已经完成了几个项目 在这些项目中 我们对代码采用了单元测试 但先编码 然后单元测试 在开发过程的某个阶段 先编写测试然后编写代码变得很自然
  • Moq中的设置方法,模棱两可的调用

    我正在尝试使用 Moq 来模拟界面 public interface IMatchSetupRepository IEnumerable
  • 对 MFC UI 应用程序进行单元测试吗?

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

    我一直在研究测试名为的抽象类的最佳方法TabsActionFilter 我保证继承自的类TabsActionFilter将有一个名为GetCustomer 在实践中 这种设计似乎效果很好 我遇到的一些问题是弄清楚如何测试OnActionEx
  • 测试 Python 脚本

    如何使用 doctest unittest nose 等测试框架测试 Python 脚本的 STDOUT 输出 例如 假设运行我的脚本 todo py list 应该返回 取出垃圾 我读过有人将脚本的 STDOUT 打印部分与生成要打印的输
  • 使用 jasmine 在 angularJS 中注入服务来测试控制器

    我想了解如何使用 jasmine 和 angularJS 测试我的代码 我编写了一个带有控制器和注入服务的测试项目 现在我想测试控制器并尝试模拟注入的服务 但我没有找到一种方法来测试我的控制器的 到达 功能 这是我的jsfiddle htt

随机推荐

  • 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问题一直是手机开发者头疼的问题