news 2026/6/19 4:10:23

一个真实信号,是怎么被解成声音的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一个真实信号,是怎么被解成声音的

标准文本里,一个OFDM帧排得整整齐齐:几百上千个子载波在频率上等间距铺开,符号在时间上依次排列,导频(收发两端预先约定的已知参考点)落在固定格点上,星座点位于标称位置。照这张图,解码近乎一道填空题。

天线收到的采样不是这样。它没有帧头,符号边界未知,中心频率偏了几十赫兹甚至更多,幅度持续起伏,邻频强台压在旁边。接收机要做的第一件事,是在尚不知道信号结构的前提下把它对回标准那张图:对齐、跟踪,再在对不齐、跟不上的地方把它恢复出来。

DAB用差分调制,每个符号与前一符号比相位,可绕开一部分这类问题。DRM和CDR是相干体制,子载波承载绝对的幅度和相位,对齐无法省略。本号此前梳理过车规调谐器内部的信号链,这条链上最难的几级,到了真实信号上才暴露出全部问题。

▲图:接收机收到的采样没有边界、带有频偏(左);同步在信号结构未知的前提下,把它对回标准定义的时频格点(右)。

先把它锁住

同步分粗、细两步。

OFDM每个符号前面接了一段自身尾部的拷贝,称为循环前缀。它本用于对抗多径,同时也给同步提供了抓手:将接收信号与延迟一个符号长度的自身做相关,相关峰的位置给出符号边界,峰的相位给出小数倍频偏。一次相关,同时得到符号定时和细频偏,且不依赖节目内容,只用信号自身的结构。

粗同步之后,还剩整数倍频偏和帧起点,由导频解决。DRM的参考导频分三类:频率参考、时间参考、增益参考。频率参考单元固定落在相对中心载波750、2250、3000 Hz的位置(稳健性模式A到D),把它们的频谱位置与标准比对,即可锁定整数倍频偏;时间参考单元只出现在每帧第一个OFDM符号上,循环前缀自相关给出的粗定时一个符号周期就重复一次、分不清哪个符号才是帧头,这道模糊靠时间参考消解。至此,接收机才在信号中完成定位。

更难处理的是采样钟。本地晶振与发射端时钟存在残余频差,FFT取窗位置会逐符号累积偏移,子载波相位随之线性旋转,符号越靠后,整片星座转得越多。因此同步是一条持续运行的跟踪环路,而非开头对一次就完事,要在解调过程中不断把这一漂移校正回来。

低信噪比下更困难。SNR只有几个dB时,导频本身也淹没在噪声里,用带噪参考估计偏差,估值方差很大。车辆穿过隧道、高架、密集楼群时信号会突然中断,环路失锁,恢复后必须快速重捕获,且切换不能产生可闻的中断。捕获算法的设计余量主要消耗在这类反复失锁、重锁的工况上,而非稳定的强信号。

跟住时变信道

频率和时间同步之后,还需信道估计:相干解调必须知道信道对每个子载波幅度和相位的改变量,否则星座旋转、缩放,无法判决。

依据仍是导频。DRM里专做这件事的是增益参考单元,标准写明它用于相干解调,散布在整张时频网格上;CDR把导频分成连续导频和离散导频,离散导频在相邻符号上位置错开,正是用来插值跟踪信道的那批。取值收发两端已知,接收值与已知值一比,就得到这些格点上的信道响应。导频只占少数格点,其余承载数据的格点上的信道,需由这些已知点插值得到:先沿频率方向,再沿时间方向,或二维联合。插值精度直接决定星座质量——插得准,星座收敛清晰;插得差,星座弥散,后续无法补救。

▲图:导频只占网格上少数已知点,其余格点的信道由它们插值得到。插值精度直接决定星座是收敛还是弥散。

家用接收机静止,信道近似不变,一次估计可长期使用。车载不同:车速一旦上来,信道持续变化,当前符号的估计到下一符号即失效。信道近似不变的时间窗称为相干时间,车速越高、载频越高,相干时间越短,短到时间方向上稀疏的导频不足以跟踪其变化。运动还引入多普勒,各条多径因相对速度不同产生不同频移,叠加成一片频率扩散,破坏子载波间的正交性。

城区是另一种问题。高楼反射形成的多径时延很长,逼近甚至超过循环前缀的覆盖范围,超出部分形成符号间干扰。DRM的稳健性模式A到D,保护间隔与有效符号长度之比从1/9一路加到11/14,最差的D模式按标准的说法是留给严重时延和多普勒扩散的信道。CDR是另一种切法:传输模式2把子载波间隔加宽到约797 Hz、为模式1和3的两倍,符号随之缩短,换取对高多普勒的容忍;模式1则保留长保护间隔对付大时延。两套标准都在同一组矛盾上取舍——保护间隔管时延扩散,子载波间隔管多普勒。车载接收普遍比家用配置更多算力和通道,相当一部分用于在时间方向上更密集地跟踪时变信道。这是车规与家用之间的实质差别。

把置信度带进译码器

信道均衡之后,子载波上的星座点解映射为比特。这里有一个容易忽略、影响却很大的选择:输出硬比特还是软比特。

硬比特直接判为0或1。软比特在0/1之外附带一个置信度:星座点离判决边界越远,置信度越高;越靠近边界,置信度越低。将置信度保留并送入纠错译码器,相比只送0/1硬判决,可换来约2 dB的解调门限增益。软信息不能丢,丢掉就是浪费前面挣来的信号质量。

软比特先解交织。DRM的元胞交织把相邻QAM元胞在时间上准随机地打散,发射端这么做是为抗突发衰落:一次深衰落破坏的是一片连续格点,映射回原始码流却是分散的少量错误,落在纠错码的能力范围内。解交织把打散的比特恢复原序。恢复后的码流进入信道译码:DRM用多级编码,底层卷积码配维特比译码,CDR用LDPC,将带错的软信息恢复为基本无误码的传输流。能否纠正,取决于前几级留下的信号质量:同步残差、信道估计精度、星座弥散程度,到这一步全部体现为误码率。

最后一道:救不回来的那一帧

纠错能力再强,也有纠不回来的帧。DRM给每个音频帧附了16比特的内容CRC,覆盖整个USAC接入单元;解码器先过CRC,再跑一串合理性检查,任一不过,这帧就判作坏帧——信号短暂中断、整帧丢失也归到这里。

此时三种处理方式都不可取:让坏数据直接出声,会产生爆音;直接静音,断续的静音比连续噪声更刺耳;将上一帧原样重放,重复音色会带来明显的金属感。标准给的推荐办法是在两个有效音频帧之间内插,并写明这会增加解码延迟;落到实现上,是在频域按相邻帧对丢失的谱线插值,能量沿一条曲线衰减而非突然截断,连续丢帧时逐步淡出,为信号恢复后的重新接入留出过渡。

▲图:当一帧CRC校验失败或丢失,错误隐藏生成一个尽量不可闻的替代帧:硬切产生爆音和卡顿,渐隐才能平滑衔接。

这一级已脱离信道,处在最接近听感的位置。标准对错误隐藏只规定了性能下限:要求实现至少达到所列隐藏方法的效果,允许各家做得更好。相同的发射信号、相同的前端下,错误隐藏的优劣直接决定接收机听感是平稳还是破碎。如何补一帧,取决于该帧在编码中的结构,这已落进音频解码本身的范畴。

标准画了终点,没画路

标准定义的是终态:子载波位置、导频位置、星座映射、比特排列。它没有规定的,是如何从一段无边界、有频偏、幅度起伏的采样,走到一段连续无中断的音频。中间这几级,没有一处能靠查表完成:

同步要在信号结构未知时完成对齐,并持续校正采样钟漂移;信道估计要跟踪随车速变化的信道,应对城区的多径和多普勒;软判决要把每个比特的置信度完整传入译码器;错误隐藏要为纠不回的帧给出尽量不可闻的替代。

每一级都需要在真实信号上反复验证、调整,覆盖到最差的工况。接收机的难点不在单个算法,而在这一整条把现实条件逐级消化的链路。把某个算法实现出来,距离一台能在车上稳定工作十年的接收机,还隔着大量真实信号下的工程打磨。


参考资料

  • ETSI ES 201 980 v4.3.1(DRM系统规范)、GY/T 268.1(调频频段数字音频广播:信道帧结构、信道编码和调制)标准文本

  • 本号历史内容:《一颗车规调谐器里发生了什么:从天线到PCM,沿着接收信号链走一遍》、《读懂一台DRM接收机:从射频到声音,沿着物理链路看参数》

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 4:06:05

MC68HC16Y3寄存器配置详解:从SCIM到芯片选择的嵌入式开发实战

1. 项目概述:深入MC68HC16Y3的寄存器世界搞嵌入式开发,尤其是和这些老牌的16位微控制器(比如摩托罗拉的68HC16系列)打交道,寄存器配置绝对是绕不开的基本功,也是最能体现工程师功力的地方。你手头可能有一份…

作者头像 李华
网站建设 2026/6/19 3:59:22

总线状态分析器在嵌入式调试中的原理与应用实践

1. 总线状态分析器:嵌入式调试的“示波器”在嵌入式系统开发,尤其是针对像M68HC11这类8/16位微控制器的深度调试中,我们常常会遇到一些“幽灵”般的问题:程序跑飞了,但不知道它最后执行了哪条指令;中断响应…

作者头像 李华
网站建设 2026/6/19 3:57:13

MPC857T PowerPC指令集深度解析:从RISC原理到嵌入式开发实践

1. MPC857T处理器与PowerPC指令集架构概览在嵌入式系统和网络通信设备领域,Freescale(现NXP)的MPC857T PowerQUICC III处理器是一个经典的集成式通信处理器。它的核心是一个基于PowerPC架构的e500核心。对于从事底层驱动开发、操作系统移植或…

作者头像 李华
网站建设 2026/6/19 3:50:58

MCP7386X锂电充电管理芯片:从原理到实战的完整设计指南

1. 项目概述:为什么MCP7386X值得你花时间研究? 如果你正在设计一个需要内置锂电池供电的设备,无论是智能穿戴、便携式工具还是物联网传感器节点,那么充电管理电路的设计绝对是你绕不开的一道坎。市面上充电芯片琳琅满目&#xff0…

作者头像 李华
网站建设 2026/6/19 3:45:02

终极指南:如何在非NVIDIA GPU上运行CUDA程序

终极指南:如何在非NVIDIA GPU上运行CUDA程序 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA ZLUDA是一个革命性的兼容层,它允许在非NVIDIA GPU上运行未修改的CUDA应用程序。通过巧妙的…

作者头像 李华