简介:这是一份《数字电视传输和数字视频广播系统》教学课件,适合电子信息、通信工程、广播电视工程等专业师生,以及从事数字电视系统设计的技术人员学习参考。课件围绕第6章展开,系统讲解数字电视传输系统的基本组成,从信源编码、节目流与传输流多路复用,到能量扩散、纠错编码、数据交织、格状编码等信道处理环节,并对比卫星、有线、地面三类传输信道的特点,介绍QAM、OFDM等数字调制方式,还涉及数字电视标准相关内容。图文结合的形式包含通信系统组成框图、发射与接收侧电路框图等,便于理解抽象的信号处理流程。资源包共1个文件,为pptx演示文稿,大小仅2.3MB,体积小巧,适合课堂展示、课后自学或复试备考使用。目前已有73人浏览学习,适合需要系统梳理数字电视传输与数字视频广播知识框架的读者。
1. 数字电视传输与数字视频广播系统在工程里到底管哪一段
一个前端机房或者发射台站里常常有这样的场景:编码器输出正常、复用器面板绿灯、调制器频点锁定,可是用户端就是黑屏或者马赛克。这时候要查的不是某一个设备,而是从信源编码、TS 复用、加扰、调制到射频发射的整条数字电视传输链路。数字电视传输和数字视频广播系统这个标题,在方案书里经常作为第一章出现,但它真正对应的是广播工程中最容易被拆散又最难联调的那段环节:MPEG-TS 怎么组织、PSI/SI 怎么描述、DVB-S/DVB-T/DVB-C 各自用什么调制参数、MER 和误码率哪个先劣化。这篇文章按一线调试的顺序把这条链路展开,适合做数字前端集成、卫星地球站运维、地面数字电视覆盖的工程师,也适合要从 IPTV 切到 DVB 传输体系的技术人员。
2. 从编码到射频:数字电视传输链路和 DVB 系统选型
2.1 前端编码和复用:为什么 MPEG-TS 至今仍是数字电视传输的主干格式
数字电视传输的第一步是把音视频源编码成可传输的码流。常见编码有三种:MPEG-2、H.264/AVC、H.265/HEVC。MPEG-2 用于标清和高清兼容性要求高的场景,H.264 是目前 DVB 数字前端最多的选择,H.265 在 4K 卫星和地面广播里逐步落地。无论选哪种编码器,输出的 ES 流都要经过打包变成 PES,再复用进 MPEG-TS。TS 之所以能当主干,是因为它针对有损信道做了两个关键设计:固定 188 字节包长,以及靠 PID 区分业务,而不是靠文件名或格式头。
188 字节的包结构让接收端可以做连续的错误保护,哪怕一整段频道数据受损,只要同步字节 0x47 能恢复,后续包就能继续解复用。可变码率业务在 TS 里通过空包填充来适配固定符号率,这在 DVB-C 和 DVB-S 这种恒定码率信道上尤其重要。另一个特点是 PSI/SI 信息可以随路插入,节目表、条件接收信息、时钟恢复信息都跟着 TS 走,不依赖外部数据库。所以即便现在很多地区用 IP 方式分发内容,到了发射端和机顶盒解调端,仍然会回到 TS 格式。
2.2 DVB-S、DVB-C、DVB-T 三兄弟的分工
数字视频广播系统中最容易混的是 DVB 三个传输标准,它们的区别不在编码层,而在信道调制方式。DVB-S 走卫星,采用 QPSK 调制,配合卷积码和 RS 纠错,抗邻星干扰和雨衰能力强。DVB-C 走同轴电缆,采用 QAM 调制,典型 64QAM 和 256QAM,带宽利用效率高,因为电缆信道相对干净。DVB-T 走地面无线,面对多径反射和移动接收问题,所以用 COFDM 调制,把数据分散到几千个子载波上,配合保护间隔抵抗多径。
选型时有几条经验:卫星链路先看可用带宽和雨衰储备,DVB-S2 的 VCM/ACM 模式可以为不同转发器业务配置不同调制编码组合;有线前端主要看传输效率,符号率定死之后尽量用高阶 QAM,但要根据电缆调制解调器共存情况留余量;地面覆盖则先算覆盖半径和保护间隔,再决定 DVB-T 还是 DVB-T2,DVB-T2 的 FFT 大小和导频模式直接影响移动接收性能,不能只盯着码率。传输系统选型本质上是带宽、接收门限、设备成本三者的折中。
2.3 各传输系统关键参数对比
| 参数项 | DVB-S2 | DVB-C | DVB-T2 |
|---|---|---|---|
| 调制方式 | QPSK / 8PSK / 16APSK / 32APSK | 16/32/64/128/256QAM | QPSK / 16/64/256QAM |
| 信道编码 | BCH + LDPC | RS + 卷积交织 | BCH + LDPC |
| 典型符号率或带宽 | 1~45 Msps | 3~7 Msps | 6/7/8 MHz |
| 滚动因子 / 保护间隔 | 0.20 / 0.25 / 0.35 | 无 | 1/4 ~ 1/128 |
| 典型应用 | 卫星广播、VSAT | 有线电视、酒店前端 | 地面电视、车载移动 |
选择标准时要注意 DVB-C 没有滚降系数概念,因为基带信号直接在电缆里传输,不经过射频脉冲成形;DVB-S2 必须配置滚降因子,它直接影响占用带宽和频道间隔;DVB-T2 的保护间隔和导频图案组合数量很多,配置错了接收机可能直接锁不住。实际项目里我在确认传输标准后,会先把调制的理论净荷率算出来,再回头给编码码率定上限,避免码率叠加后超出转发器或电缆频点的承受能力。
2.4 为什么要把数字视频广播系统从传输链路里单独拆出来
标题把传输和广播系统并列,是因为数字视频广播系统更偏向“上游的完整业务组织”,传输只是最后一段信道。一个完整的 DVB 系统包括编码、复用、加扰、本地节目插入、EPG 生成、条件接收,甚至包括紧急广播消息插播。机顶盒能不能出节目,依赖 PAT 和 PMT 是否能对上;电子节目单能不能显示,依赖 EIT 表是否周期性发送;付费频道能不能解开,依赖 ECM 和 EMM 是否正确映射到业务。这些环节和射频本身无关,但跑在同一个 TS 流里。做集成调试时先分层,把系统侧和传输侧分开排查,比拿频谱仪对着整个链路扫要快得多。
3. 用抓包脚本读懂数字电视传输的 TS 流与 PSI/SI 表
3.1 TS 包结构与四个关键字段
TS 包固定 188 字节,头部 4 字节,有效净荷 184 字节。同步字节固定 0x47,接着是一个 13 位的 PID,表示该包属于哪个业务或哪张表。第 4 字节里包含加扰控制、适配字段控制、连续性计数器,其中连续性计数器是调试丢包最直接的抓手。包净荷可能是 PES 数据,也可能是 PSI/SI 表格分段,区分它们的依据是 PID,不是包内容。0x0000 是 PAT,0x0001 是 CAT,0x0011 是 SDT,0x0010 是 NIT,业务的实际视频 PID 和音频 PID 写在 PMT 里,PMT 的 PID 由 PAT 指出。
传输流里有几个常用概念必须在排错现场清楚:空包 PID 为 0x1FFF,只在码率不足时填充;适配字段的长度和内容由第 4 字节的适配字段控制位决定;PCR 存在于适配字段中,承载在业务对应 PMT 中指定的 PID 上,负责恢复 27 MHz 节目时钟。实际抓流时,用实时码流分析仪能直接看到这些表,但如果你在机房现场没有专业设备,用 Python 解析抓取的 TS 文件一样能把问题定位到 PID 和连续性计数器层面。
3.2 用 Python 解析 TS 包的 PID 和 PCR
import struct def analyze_ts(filename, max_packets=5000): pid_stats = {} pcr_samples = [] with open(filename, 'rb') as f: data = f.read(188 * max_packets) for i in range(len(data) // 188): pkt = data[i*188:(i+1)*188] if pkt[0] != 0x47: continue pid = ((pkt[1] & 0x1F) << 8) | pkt[2] afc = (pkt[3] >> 4) & 0x03 # 适配字段控制 cc = pkt[3] & 0x0F # 连续性计数器 if pid not in pid_stats: pid_stats[pid] = {'count': 0, 'last_cc': None, 'drop': 0} stat = pid_stats[pid] stat['count'] += 1 if stat['last_cc'] is not None: expect = (stat['last_cc'] + 1) & 0x0F if cc != expect and cc != stat['last_cc']: stat['drop'] += 1 stat['last_cc'] = cc if afc in (2, 3) and len(pkt) >= 8: afl = pkt[4] if pkt[5] & 0x10: # PCR 标志 pcr_bytes = pkt[6:12] pcr_base = int.from_bytes(pcr_bytes[:5], 'big') # 扩到 40 bit pcr_base = pcr_base >> 15 pcr_ext = (pcr_bytes[4] & 0x01) << 8 | pcr_bytes[5] pcr_27mhz = pcr_base * 300 + pcr_ext pcr_samples.append((pid, pcr_27mhz)) for pid, s in sorted(pid_stats.items()): print(f"PID 0x{pid:04X} 包数={s['count']} 丢包={s['drop']}") for pid, pcr in pcr_samples[:10]: print(f"PCR PID=0x{pid:04X} 27MHz时钟={pcr}") analyze_ts("capture.ts")逻辑说明:同步字节不是 0x47 的包直接跳过,防止因文件偏移错位而产生假 PID。连续性计数器每包加一,当同一 PID 计数器跳变时记一次丢包,注意解码器允许重复包,所以 cc 等于上一包值时不判丢。PCR 字段在适配字段里共 6 字节,前 5 字节的高位是 33 bit 的 base,低 9 bit 是扩展,整体换算成 27 MHz 时钟后可用于计算 PCR 间隔抖动。参数说明:max_packets 控制解析长度,避免大文件在无码流分析仪的情况下拖慢排查速度;丢包计数为 0 不代表 TS 完全没问题,还要结合下面的 PSI/SI 表核对再做判断。
3.3 PSI/SI 表在数字视频广播系统里的定位逻辑
PSI 表是解码器找到节目的根本路径。第一步必须先从 PID 0x0000 里取出 PAT,PAT 的每个条目里面给出一个节目的 PMT PID。第二步跟随对应 PMT,PMT 中列出该节目的视频 PID、音频 PID、PCR PID 和条件接收描述符。第三步根据 PMT 里的 PID 过滤出实际 PES 包,才能开始解码。SDT 和 EIT 属于 SI 表,SDT 给出业务名称和业务类型,EIT 给出节目时间表,机顶盒首页展示和 EPG 都靠它们。
| 表名 | PID | 作用 | 缺失时的现象 |
|---|---|---|---|
| PAT | 0x0000 | 节目号到 PMT PID 映射 | 机顶盒显示无信号或无节目 |
| PMT | 动态 | 视频/音频/PCR PID 和 CA 描述 | 黑屏、有声无图、无声音 |
| CAT | 0x0001 | 条件接收系统全局信息 | 付费频道无法初始化 |
| SDT | 0x0011 | 业务名称与类型 | 频道名空白或显示乱码 |
| NIT | 0x0010 | 频率、调制参数等网络信息 | 无法自动搜索 |
重点看 PMT 里 PCR PID 是否和视频 PID 一致。很多调错案例不是射频问题,而是复用器配置时把 PCR PID 指向了空包或者不存在的流,导致接收端无法恢复 27 MHz 时钟,结果画面间断性卡顿。SDT 缺失不会黑屏,但会影响搜台体验,工程上最容易漏的是 EIT 表周期过长,超过 10 秒可能引起个别机顶盒 EPG 刷新异常。
3.4 加扰与条件接收对 PID 的改动
条件接收系统启用后,TS 包头的加扰控制字段会变成非 00,PES 净荷被加扰,而 PSI/SI 表头保持明文。CAT 表会多出 CA 描述符,PMT 里也会出现对应 ECM PID 指向。检测加扰状态时看包头第 4 字节加扰控制位即可:00 是未加扰,01 是保留位,10 或 11 分别表示偶密钥和奇密钥加扰。注意加扰不改变 PID 本身,但 ECM PID 和 EMM PID 会新增,排错时要确认接收机或 CAM 卡能看到这些 PID。如果节目加扰后无法解扰,先查 ECM 是否周期性到达,再查授权管理信息,而不是急着怀疑射频链路。
4. DVB 调制参数怎么设:符号率、FEC、MER 与频谱实测
4.1 从 TS 比特率到符号率的换算
给调制器配参数时,第一项是把 TS 总码率换算成符号率。通用关系是:传输净比特率 = 符号率 × log2(M) × FEC码率 × 188/204,其中 188/204 是 RS 纠错带来的开销,DVB-S2 和 DVB-T2 使用不同的外码结构时这一项要按标准调整。反推符号率时,用 TS 实际码率除以调制阶数的比特数和 FEC 效率。举例:一路 TS 是 6 Mbit/s,用 QPSK、FEC 1/2,那么符号率约为 6 ÷ (2×0.5) = 6 Msps,占用带宽按 6×(1+0.35) 估算。调制器面板上通常直接显示符号率输入框,很多工程师会直接把 TS 码率填进去,这是常见错误,必须换算。
4.2 DVB-S2 和 DVB-T/C 的关键调制参数
DVB-S2 的难点是 MODCOD 选择。同样的符号率下,QPSK 3/5 适合雨衰大的接收区域,8PSK 3/4 适合带宽紧张的地区,但接收门限更高。首运行应该先用低阶 MODCOD 锁定链路,再逐步提高,而不是一上来就追求速率。DVB-T2 的配置复杂在导频图案和保护间隔的组合,8 MHz 带宽下 FFT 越大,子载波间隔越小,移动接收越差,但频谱效率越高,固定接收优选 32K FFT。DVB-C 相对简单,调制器端只需确认 QAM 阶数、符号率和频率,但 256QAM 对信道平坦度的要求比 64QAM 高不少,频谱上有凹陷时误码率会快速恶化。
4.3 频谱仪实测:载噪比、MER 与误码率的关系
调制器输出之后,数字视频广播系统的判断依据从“看功率”变成“看调制质量”。频谱仪上先看星座图和 MER,MER 是实测信号与理想星座点之间的误差比,单位 dB,它综合反映噪声、失真、相位噪声和回波。工程经验值:DVB-S QPSK 的 MER 大于 12 dB 可解调,DVB-S2 8PSK 最好大于 13 dB,DVB-C 64QAM 要大于 24 dB,256QAM 要大于 30 dB。误码率分 RS 前和 RS 后两个指标,RS 前 BER 显示纠错前的原始错误水平,RS 后 BER 在正常系统里应当为 0。如果 RS 前 BER 差但 MER 相对正常,先检查相位噪声或同频干扰;如果 MER 本身很低,问题多半在载噪比或信号电平。
| 调制方式 | 工程参考 MER 门限 | 典型故障表现 |
|---|---|---|
| DVB-S QPSK | ≥ 12 dB | 图像马赛克 |
| DVB-S2 8PSK | ≥ 13 dB | 短暂黑屏 |
| DVB-C 64QAM | ≥ 24 dB | 频繁掉包 |
| DVB-C 256QAM | ≥ 30 dB | 低电平地区无法锁频 |
| DVB-T2 256QAM | ≥ 26 dB | 移动接收困难 |
4.4 调制器必调参数清单
以下参数按常规数字视频广播系统调测顺序排列:输出频率、符号率、调制阶数、FEC 码率、滚降因子、TS 输入接口类型和 PCR 调整模式。DVB-S2 下滚降因子三档要按相邻转发器间隔做选择,0.20 占用带宽小但邻星干扰风险大,0.35 更安全。DVB-T2 还要检查 PAPR 削减和峰值抵消是否开启,这影响发射机功放效率,但不影响接收机。每个参数改动后都要重新确认频谱仪上的 MER 和肩带,如果 MER 掉得比预期快,先看是否输入 TS 本身 PCR 抖动过大,再回头查调制配置。
5. 从码流到发出去:数字电视系统集成调试的几个实测技巧
5.1 先验证 TS 再验证射频的三层检查法
拿到一套数字电视传输和数字视频广播系统,我的习惯是先抓 TS,再做射频测量。抓 TS 可以从前端复用器 ASI 输出口抓,也可以从调制器解调回环口抓。先确认 PAT/PMT 完整、PCR 间隔均匀、没有连续性计数器跳变,再上频谱仪检查 MER。如果 TS 本身有问题,射频段测出的误码率再低也是误导。给 PID 带宽做统计时,可以先从第 3 章的脚本输出里找出每个 PID 的包数,视频 PID 的包数应明显多于音频 PID,当音频 PID 包数接近视频时,多半是复用配置把码率分配错了。
5.2 现场定位“有信号不出图”的常用做法
常见现象是频谱仪上信号存在、MER 正常、锁定指示灯亮,但接收机无图。按顺序排查三层:第一层看 PMT 里的视频 PID 是否指向实际存在的流,复用器里删掉某路输入后 PID 不会自动消失;第二层看加扰标志,若 PID 是加扰状态而接收机没有对应 CA 模块,显示黑屏很正常;第三层看 PCR PID,指向空包时解码器时钟不同步。用一条命令确认频谱仪能否解调,很多现场频谱仪自带 DVB-T2 和 DVB-S2 解调功能,能放出视频预览就说明射频段没问题,问题回到码流层。
5.3 用零扫宽模式确认载波余量
频谱仪切到零扫宽,观察载波幅度在时间轴上的波动,可以看到带外杂散和瞬态掉功率。对发射系统来说,载波瞬间凹陷超过 2 dB,接收端就可能进入误码临界区。这个检查配合齿轮状星座图边缘发散,能确认是否激励器削波参数过大。把削波回调 1~2 dB,MER 往往会提升 0.5 dB 左右。最后把接收机解调出来的 TS 再回录一份,和前端 ASI 口抓的文件用脚本做 PID 级对比,连续计数器一致、表格周期一致,整条数字电视传输链路才算真正闭环。
本文还有配套的精品资源,点击获取