简介《美国联邦法规第47篇第15部分47 CFR Part 15》最新合订版更新至2024年12月20日是美国联邦通信委员会针对无线电频率设备的权威法规文本。这份PDF面向射频硬件设计、电磁兼容测试、产品认证与法规合规岗位的从业者集中规定了无意辐射器、有意辐射器以及附带辐射设备的操作条件、技术标准、标签要求、测量方法并系统梳理了FCC认证中的设备授权、传导限值、辐射发射限值等核心要求。资源共1个文件为PDF格式整体大小约1.21MB目录层级完整覆盖Subpart A、B、C及电视接口设备、扫描接收器、模块化发射机等专项条款方便按需检索引用。正文还保留了从设备授权到各频段操作限制的完整条文可作为法规研读、产品预测试和合规审查时直接对照的参考底本。目前已有192人学习使用适合需要及时跟进规则变化、开展合规评估的工程师与合规专员。1. 47 CFR Part 15 这个 PDF 不是法律附件而是硬件产品的射频体检表如果你的开发板能跑 Linux却不能通过 FCC 的辐射发射测试那它在你手里是原型在市场上就是非法发射源。47 CFR Part 15 是美国联邦法规第 47 篇第 15 部分它管着一切不依赖执照的射频设备从 USB 3.0 电缆的噪声到 Wi-Fi 路由器、蓝牙耳机的发射功率。标题里那个“up to date as of 12-20-2024”非常关键FCC 每年都会修订 Part 15而你的产品是否合规取决于设计时点对应的那一版。换句话说这份 PDF 是你在指定日期的法律快照也是你做电磁兼容设计和预测试时的第一本工程手册。不管是嵌入式软件工程师还是硬件测试工程师都需要把它当作参数表来读哪些频段能用、辐射限值多少、天线最大增益怎么算、标签上要印什么。下面内容没有照搬法律条文而是按我拿到这样一份 PDF 后的工作习惯展开先建立分类观念再把 PDF 转成可检索的工程文本最后落到测试参数和认证路径上。2. 看懂 47 CFR Part 15 的框架无意辐射体与有意辐射体拿到 PDF 之后第一步不是从头读而是先建立整个规则的地图。Part 15 最核心的分类只有两个无意辐射体和有意辐射体。这个分类直接决定你要走测试、认证流程中的哪条路也决定你应该把注意力花在哪些条款上。2.1 两个绕不开的分类无意辐射体指那些不是故意产生射频能量的设备比如电脑主板、SDK 开发板、LED 驱动电源里的开关器件。它们在工作时不可避免地向外辐射噪声但噪声必须被限制在规定的场强之下。对应条款主要在 Part 15.107 和 Part 15.109分别管传导发射和辐射发射。有意辐射体则相反它想方设法把射频能量往空间里发比如 Wi-Fi 模组、LoRa 节点、FM 发射器。这类设备不仅要满足发射限值还要满足频率稳定度、杂散抑制、天线限制等要求。核心条款集中在 Part 15.2472.4 GHz 跳频与数字调制、Part 15.249902-928 MHz 频段、Part 15.4075 GHz U-NII 频段等。提示同一个产品可能同时包含两类状态。一个带 Wi-Fi 的网络摄像头其摄像头主控芯片是无意辐射体Wi-Fi 模组是有意辐射体。产品认证时两部分需要分开考核。2.2 用 pdfplumber 把 PDF 变成可检索的工程资料不要用眼睛在几百页 PDF 里找关键词。我一般先用 Python 把文本提取出来建立一个小型检索环境。下面这段代码可以用最小成本完成提取。import pdfplumber with pdfplumber.open(47cfa_part15_12-20-2024.pdf) as pdf: full_text [] for page in pdf.pages: page_text page.extract_text() if page_text: full_text.append(page_text) text \n.join(full_text) # 写入纯文本文件方便后续 grep 或脚本检索 with open(part15.txt, w, encodingutf-8) as f: f.write(text) # 快速验证是否包含关键分类 for keyword in [unintentional radiator, intentional radiator]: print(f{keyword}: {text.lower().count(keyword)} 次)这里pdfplumber.open加载 PDF 文件page.extract_text()返回每页的字符串。\n.join(full_text)把多页拼成一个整体方便跨页搜索关键词。最后统计两个核心词出现次数确保提取结果没有大段乱码。如果你在公司内网有合规要求可以考虑用只读路径打开文件避免 Excel/PDF 文件被锁定。提取出来的part15.txt可以直接用grep定位条款。例如搜 15.247 的发射功率上限grep -n -A 5 -B 2 15.247.*maximum peak part15.txt-A和-B参数分别显示匹配行后 5 行、前 2 行上下文。这样比在 PDF 阅读器里来回翻页快得多。2.3 子部分导航表Part 15 的子部分按设备类型划分但并不是所有子部分都需要你读。下面这个表是我常驻在笔记里的导航表只列工程中最常用的几个。子部分标题非官方缩写适用范围AGeneral通用规则包含设备授权、标签、用户手册要求BUnintentional Radiators数字设备、开关设备等无意辐射体CIntentional Radiators各类免执照发射机如蓝牙、Zigbee、遥控玩具EUnlicensed National Information Infrastructure5 GHz 频段的高功率无线局域网设备FUltra-Wideband Operation超宽带设备如雷达和定位标签这五个子部分覆盖了绝大多数物联网和消费电子项目。如果你只做传感器或边缘盒子先看 B 和 A如果你做无线通信产品C 是重点如果你做 Wi-Fi 6 路由或 5G 小基站E 部分和道德 5.407 条是绕不开的。其它子部分在涉及专业无线通信才需要打开。3. 从限值和测试参数管理你的工程预算拿到 PDF 后工程师要的不是法律词汇而是像dBuV/m、MHz、dBm这样的数值。限制是产品设计阶段就要做预算的不是原型出来后去暗室碰运气。3.1 无意辐射体限值对于数字设备Part 15 按用途分为 Class A商业环境和 Class B住宅环境。Class B 限值更严格因为住宅环境中设备间距小干扰更容易影响家用电器。常见的限值见表以 10 米法场强为准部分法规也用 3 米法需转换。频率范围 (MHz)Class A 10m (dBuV/m)Class B 10m (dBuV/m)30 - 88393088 - 21643.533.5216 - 96046.436.4960 以上49.539.5注意很多 3 米法电波暗室的测试报告写的是 3 米距离下的限值。严格转换要考虑距离修正因子20 * log10(10/3) ≈ 10.45 dB。也就是说同样设备在 3 米法下比 10 米法限值高约 10.45 dB。但这个转换只适用于大尺寸天线近场情况下不准确。我在实际项目中更倾向于按暗室报告上的 3 米限值直接核对而不是自己换算。3.2 场强与 EIRP 的换算脚本在预测试阶段你可能会用手头频谱仪加近场探头先看一遍频谱。这时候需要把实测的电压值换算成远场的场强或者把法规里的场强限值换算成发射功率。下面这个 Python 函数给出一个工程近似import math def dbuv_m_to_eirp_dbm(e_dbu_vm, freq_mhz, dist_m3): 将场强 dBuV/m 换算为 EIRP dBm。 公式基于自由空间路径损耗和远场条件。 e_v_m 10 ** ((e_dbu_vm - 120) / 20) # dBuV/m - V/m # 自由空间波阻 377 欧姆辐射功率密度 E^2 / 377 power_density (e_v_m ** 2) / 377.0 # W/m^2 # 球面面积4*pi*dist^2 total_power power_density * 4 * math.pi * (dist_m ** 2) eirp_watt total_power * 1.0 # 无向性假设EIRP实际发射功率*天线增益 eirp_dbm 10 * math.log10(eirp_watt) 30 return eirp_dbm # 以 88 MHz 频点、Class B 十米法限值 30 dBuV/m 为例 print(dbuv_m_to_eirp_dbm(30, 88, 10))代码里e_dbu_vm是法规限值freq_mhz没有直接参与计算因为在远场球面扩散中理论只跟距离和功率密度有关。但实际工程中接收天线有频率响应法规限值随频率变化所以freq_mhz在这里保留为参数方便后续扩展天线系数的修正。输出的 EIRP 值大约在 -70 到 -80 dBm 量级说明普通数字设备的极噪声在远场被稀释得很低。实验验证时对比频谱仪的读数与这个估算值可以快速判断接地和屏蔽是否基本到位。3.3 天线与测试布置的常见参数在 30 - 1000 MHz 频段Part 15 测试要求接收天线在 1 米到 4 米之间升降同时覆盖水平和垂直两个极化。这是因为在这个频段设备辐射的方向性很随机只有扫描高度和极化才能捕获最大场强。设计阶段就要留出足够的余量我一般建议至少 6 dB margin因为暗室测试场的重复性误差通常在 ±2 dB 到 ±3 dB 之间。如果瞄准限值做设计换一个暗室可能就超限了。另外天线增益超过 6 dBi 时部分规则要求降低传导功率以补偿 EIRP 增加。这条在 15.247(1)(e) 附近很多新手会在外置高增益天线方案上栽跟头。4. 设备授权路径SDoC 与 Certification 怎么选阅读 Part 15 时你会发现全文不只限值还频繁出现“设备授权”Equipment Authorization相关词汇。这部分决定了你的产品能不能合法进口、销售。PDF 里隐藏着两条分支供应商符合性声明和认证。4.1 判定流程无意辐射体通常走 SDoCSuppliers Declaration of Conformity。你作为供应商自己做测试或者委托第三方实验室保留记录在产品上标一个符合标志不需要向 FCC 申请 ID。此类流程适合普通开发板、工控机、LED 控制器等不带射频发射功能的产品。有意辐射体则必须走 Certification 路径。你必须委托获得 TCB 资格的认证机构提交数据、照片和申请费。通过后获得 FCC ID这个 ID 需要印在外壳或标签上。常见的 Wi-Fi 模组、蓝牙音箱、无线电遥控器都属于这一类。如果设备同时包含数字电路和发射模块那么数字部分的辐射发射数据也要在同一个认证包中提交。4.2 从 PDF 提取标签和说明书要求标签位置和措辞是很多公司在审核时遗漏的。Part 15 在多个条款里要求“the device complies with part 15”等字样但具体到 SDoC 产品和认证产品标签格式不同。我们可以从提取的文本里搜出所有“label”相关的段落import re with open(part15.txt, r, encodingutf-8) as f: text f.read() lines text.split(\n) for i, line in enumerate(lines): if re.search(rlabel|identification, line, re.IGNORECASE): context lines[max(0,i-1):i4] print(f--- line {i1} ---) print(\n.join(context))这个脚本用正则匹配大小写不敏感的label或identification然后打印匹配行和随后 3 行。再把结果导出为label-reqs.txt交给结构设计工程师。注意规则对“标签”的定义可能还包括说明书中的提示语比如“未经制造商明确批准更改或改装可能使用户无权操作设备”。这句话经常在说明书里出现不能漏。4.3 自动化追踪更新Part 15 并非每次大改才出新版有时会因法院判决或技术修订对某个频段限值做微调。手头上的 PDF 是 2024 年 12 月 20 日的快照但如果你在 2025 年 3 月发布产品需要重新核对。一种工程习惯是订阅 eCFR 的 Atom feed 或使用其 API 获得最新 XML。我具体用过一个简单脚本利用 requests 抓取 eCFR 的https://www.ecfr.gov/api/versioner/...下载最新 plain text 格式再与现有part15.txt做差异对比。这样做的好处是当某个条款数字变化时diff会明确告诉你哪一行变了而不是让你把整个 PDF 重新读一遍。5. 验证你手上的 PDF 是否真正的“up to date”三种实用做法标题里的 “up to date as of 12-20-2024” 不代表你以后可以一直引用这个版本。合同、认证申请、用户手册都以最新的当日版本为准。如果你拿到一份 PDF 又想知道它和官方有没有偏差下面三个方法很直接。第一查看 PDF 元数据。用pdfinfo工具通常随 poppler-utils 安装看 CreationDate 和 ModDatepdfinfo 47cfa_part15_12-20-2024.pdf | grep -E CreationDate|ModDate如果 ModDate 比 12-20-2024 晚说明文件在生成后被修改过不能作为准确快照。第二对比官方 eCFR 的当前版本。用curl拉取法律文本中的 Part 15 部分这里只做一个思想示范实际 eCFR 有 HTML 页面和 JSON APIcurl -L https://www.ecfr.gov/current/title-47/chapter-I/subchapter-A/part-15 -o part15_latest.html然后pdftotext -layout 47cfa_part15_12-20-2024.pdf part15_current.txt转换 PDF 为文本再用diff对比关键词所在行。如果差异集中在编号和日期通常不影响测试参数但若限值表格变了就要立刻影响测试计划。第三维护一个自己的修订记录。我一般的做法是在项目仓库放一个compliance/part15/README.md把每次抓取的时间、版本号、关键变更摘要写进去。再配合 Git每次抓取自动提交一个 commit这样当认证工程师问“你用的哪版规则”时可以直接指向 commit 而不是 PDF 文件。如果你做的是跨多个国家的产品这套方法同样适用把不同区域的规则文件目录化命名带日期再用脚本统一生成差异报告。这样你手上的 PDF 才真正变成一个活的工程资产。本文还有配套的精品资源点击获取