[学习] 双边带调制 (DSB) 与单边带调制 (SSB) 深度对比

双边带调制 (DSB) 与单边带调制 (SSB) 深度对比

文章目录

      • 双边带调制 (DSB) 与单边带调制 (SSB) 深度对比
        • **数学原理**
        • **调制表达式与频谱**
        • **时域特性**
        • **频域特性**
        • **Python 仿真代码**
        • **仿真结果分析**
        • **工程应用建议**


数学原理

设基带信号为 m(t)m(t)m(t)(带宽为 WWW),载波为 c(t)=Accos⁡(2πfct)c(t) = A_c \cos(2\pi f_c t)c(t)=Accos(2πfct)(频率 fc≫Wf_c \gg WfcW

1. DSB 调制
DSB(Double Sideband)是一种线性调制方式,通过基带信号与载波直接相乘实现:
sDSB(t)=m(t)⋅c(t)=Acm(t)cos⁡(2πfct)s_{\text{DSB}}(t) = m(t) \cdot c(t) = A_c m(t) \cos(2\pi f_c t)sDSB(t)=m(t)c(t)=Acm(t)cos(2πfct)

  • 特点:频谱包含上下两个边带,带宽为 2W2W2W,载波分量被抑制
  • 应用场景:早期无线电广播(需配合包络检波接收)

2. SSB 调制
SSB(Single Sideband)通过希尔伯特变换去除冗余边带,需先求基带信号的解析信号:
定义希尔伯特变换 (\hat{m}(t) = \mathcal{H}[m(t)] = m(t) * \frac{1}{\pi t}),则:

  • 上边带 (USB):保留 fc+Wf_c + Wfc+W 部分
    sSSB-USB(t)=Ac2[m(t)cos⁡(2πfct)−m^(t)sin⁡(2πfct)]s_{\text{SSB-USB}}(t) = \frac{A_c}{2} \left[ m(t) \cos(2\pi f_c t) - \hat{m}(t) \sin(2\pi f_c t) \right]sSSB-USB(t)=2Ac[m(t)cos(2πfct)m^(t)sin(2πfct)]
  • 下边带 (LSB):保留 fc−Wf_c - WfcW 部分
    sSSB-LSB(t)=Ac2[m(t)cos⁡(2πfct)+m^(t)sin⁡(2πfct)]s_{\text{SSB-LSB}}(t) = \frac{A_c}{2} \left[ m(t) \cos(2\pi f_c t) + \hat{m}(t) \sin(2\pi f_c t) \right]sSSB-LSB(t)=2Ac[m(t)cos(2πfct)+m^(t)sin(2πfct)]
  • 实现方法
    1. 相移法(如上述公式)
    2. 滤波法:先生成DSB信号,再用带通滤波器滤除一个边带
  • 优势:带宽仅需 WWW,功率利用率高,广泛用于短波通信和频分复用系统

调制表达式与频谱

DSB 频谱(双边带调制)
SDSB(f)=Ac2[M(f−fc)+M(f+fc)]S_{\text{DSB}}(f) = \frac{A_c}{2} \left[ M(f-f_c) + M(f+f_c) \right]SDSB(f)=2Ac[M(ffc)+M(f+fc)]

  • 频谱特性:信号频谱对称分布在载波频率 fcf_cfc 两侧,分别由上下边带组成。例如,若基带信号为 1kHz 正弦波,载波为 10kHz,则 DSB 频谱在 9kHz 和 11kHz 处出现对称峰。
  • 带宽BDSB=2fmB_{\text{DSB}} = 2f_mBDSB=2fmfmf_mfm 为基带信号最高频率)。例如,语音信号最高频率为 4kHz 时,DSB 带宽为 8kHz。
  • 应用场景:常用于模拟广播系统,但因其带宽效率较低,逐渐被效率更高的调制方式取代。

SSB 频谱(单边带调制,以 USB 上边带为例)
SSSB(f)={AcM(f−fc)f>fc0f<fcS_{\text{SSB}}(f) = \begin{cases} A_c M(f-f_c) & f > f_c \\ 0 & f < f_c \end{cases}SSSB(f)={AcM(ffc)0f>fcf<fc

  • 频谱特性:仅保留上边带(USB)或下边带(LSB),滤除另一边带和载波。例如,对于相同 1kHz 基带信号和 10kHz 载波,USB 频谱仅在 11kHz 处有峰。
  • 带宽BSSB=fmB_{\text{SSB}} = f_mBSSB=fm,比 DSB 节省一半带宽。例如,4kHz 语音信号的 SSB 带宽仅需 4kHz。
  • 实现方法:通常通过滤波法或相移法生成。滤波法需高选择性边带滤波器,而相移法利用希尔伯特变换实现正交调制。
  • 优势:节省频谱资源和发射功率,广泛应用于短波通信、业余无线电等场景。

时域特性
特性DSBSSB
包络形状与基带信号 ∣m(t)∣|m(t)|m(t) 的绝对值成正比,直接反映调制信号的幅度变化无明显规律性包络,呈现复杂波形特征,无法通过简单包络检波恢复原信号
过零点行为当基带信号过零时,载波相位会发生180°突变(如语音信号从正变负时)载波相位连续变化,不会出现突变现象
功率效率仅33%(包含上下两个边带的冗余信息,功率利用率低)100%(仅传输一个边带,完全去除冗余信息)
调制复杂度仅需一个模拟乘法器即可实现(如使用平衡调制器电路)需要复杂的希尔伯特变换器实现正交调制(实际中常用滤波法或相位偏移法)

注:在实际应用中,DSB常用于AM广播等简单系统,SSB则广泛应用于短波通信、业余无线电等对频谱效率要求较高的场景。


频域特性
特性DSB (双边带调制)SSB (单边带调制)
频谱对称性载波频率两侧对称分布,包含上下边带(如1MHz载波的±5kHz边带)仅保留上边带或下边带(如1MHz载波仅保留+5kHz边带)
带宽占用2fm2f_m2fm(例如语音信号fm=4kHzf_m=4kHzfm=4kHz时占用8kHz)fmf_mfm(相同语音信号仅占用4kHz)
抗干扰性载波和双边带易受多普勒频移影响(如移动通信中±100Hz偏移会导致解调失真)单边带结构降低频偏敏感度(卫星通信中可容忍±50Hz偏移)
应用场景早期AM广播、模拟对讲机等低成本系统短波电台、海事通信、微波中继等需节省频谱的场景

Python 仿真代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import hilbert, butter, filtfiltplt.close('all')
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
plt.rcParams['axes.unicode_minus'] = False# 参数设置
fs = 10000       # 采样率
T = 1            # 时长
t = np.arange(0, T, 1/fs)
fc = 1000        # 载波频率
fm = 100         # 基带频率# 生成基带信号 (含多频分量)
m_t = np.cos(2*np.pi*fm*t) + 0.5*np.cos(4*np.pi*fm*t)# 载波信号
c_t = np.cos(2*np.pi*fc*t)# ===== DSB调制 =====
s_dsb = m_t * c_t# ===== SSB调制 (USB) =====
# 希尔伯特变换
m_hilbert = np.imag(hilbert(m_t))  # 取虚部即希尔伯特变换
s_ssb_usb = 0.5 * (m_t * c_t - m_hilbert * np.sin(2*np.pi*fc*t))# ===== 频谱分析 =====
def plot_spectrum(signal, title):n = len(signal)freq = np.fft.fftfreq(n, 1/fs)spectrum = np.abs(np.fft.fft(signal)/n)plt.plot(freq, spectrum)plt.title(title)plt.xlim(0, 1500)plt.grid()# ===== 绘图 =====
plt.figure(figsize=(15,10))# 时域波形
plt.subplot(3,2,1)
plt.plot(t[:500], m_t[:500])
plt.title('基带信号 $m(t)$前500点')plt.subplot(3,2,3)
plt.plot(t[:500], s_dsb[:500])
plt.title('DSB 信号 $s_{DSB}(t)$前500点')plt.subplot(3,2,5)
plt.plot(t[:500], s_ssb_usb[:500])
plt.title('SSB-USB 信号 $s_{SSB}(t)$前500点')# 频域波形
plt.subplot(3,2,2)
plot_spectrum(m_t, '基带频谱')plt.subplot(3,2,4)
plot_spectrum(s_dsb, 'DSB 频谱')plt.subplot(3,2,6)
plot_spectrum(s_ssb_usb, 'SSB 频谱')plt.tight_layout()
plt.show()# ===== 性能对比 =====
print(f"DSB带宽: {2*fm} Hz")
print(f"SSB带宽: {fm} Hz")
print(f"SSB功率效率增益: {10*np.log10(4):.1f} dB")  # 理论值4倍
仿真结果分析
  1. 时域波形

    • DSB 包络反映 ∣m(t)∣|m(t)|m(t),但有过零点相位跳变
    • SSB 波形连续无相位跳变,包络更平滑
  2. 频域波形

    • DSB 频谱对称分布在 fcf_cfc 两侧
    • SSB 频谱仅保留上边带 (USB)
  3. 关键指标

    • 带宽:SSB 比 DSB 减少 50%
    • 功率效率:SSB 比 DSB 高 6 dB
DSB带宽: 200 Hz
SSB带宽: 100 Hz
SSB功率效率增益: 6.0 dB

时域与频域波形:
在这里插入图片描述

工程应用建议
  • DSB 适用场景:低成本简单系统 (如AM广播副载波)
  • SSB 适用场景
    • 高频谱效率需求 (短波通信、卫星链路)
    • 功率受限场景 (军事通信)
    • 需注意:SSB 对收发端同步要求更高

完整代码执行后可直接观察时/频域特性对比,修改 fmfc 可验证不同带宽场景。


研究学习不易,点赞易。
工作生活不易,收藏易,点收藏不迷茫 :)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/89866.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/89866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitee 提交信息的规范

在使用 git push 命令将代码推送到 Gitee&#xff08;或任何 Git 平台&#xff09;时&#xff0c;引号中的信息通常指的是 提交信息&#xff08;Commit Message&#xff09;。提交信息是对本次代码修改的简要描述&#xff0c;规范的提交信息有助于团队协作和版本管理。 Gitee 提…

C 语言经典编程题实战:从基础算法到趣味问题全解析

在 C 语言学习过程中&#xff0c;通过实战编程题巩固知识点是非常有效的方式。本文整理了一系列经典 C 语言编程题&#xff0c;涵盖基础计算、逻辑判断、图形打印等多个维度&#xff0c;并附上完整代码与解析&#xff0c;适合初学者参考学习上机题1.计算n以内所有正奇数的和 ?…

Chapter 3 Design of Switching Power Regulators

Chapter 3 Design of Switching Power Regulators Power Management Techniques for Integrated Circuit Design by Ke-Horng Chen 这本书比较深, 简单介绍基本概念后, 就直接抛出大段公式和结论, 一章讲其他书几章内容, 适合有一定基础, 想进一步做电源系统的人查阅. 优点是不…

算法题(176):three states

审题&#xff1a; 本题需要我们找到最佳铺设道路&#xff0c;将三个国家联通起来&#xff0c;然后输出最佳铺设道路的铺设数量&#xff0c;若没有联通方法则输出-1 思路&#xff1a; 首先我们正面思考&#xff1a;只需从某个点出发然后搜索到三个国家即可&#xff0c;最后对比所…

BIOS+MBR微内核加载loader程序实现过程

上一篇讲到的微内核程序是由BIOS例程自动加载到内存中运行的,而且大小有限,能做的事情有限。我们知道内核程序大小是可以扩展的不能只有512字节,同时在加载运行内核前还需要完成一些必要的实模式下才能做的准备工作。所以单纯在实模式下只使用微内核程序是不太够的,就有了加…

使用Proxy设计模式来增强类的功能:ToastProxy和DesktopToast的设计关系

使用代理模式来增强类的功能&#xff1a;ToastProxy和DesktopToast Documentation: v1.0.0 Specified for Version v1.12.0&#xff0c;First Release in 2025/7/12 Documenation belongs to Projects: Charliechen114514/CCIMXDesktop: This is a Simple Desktop with Common …

瑞芯微2025开发者大会之见闻

序言本人参加了2025年的瑞芯微开发者大会&#xff0c;在展览区看到了很多有意思的音视频产品&#xff0c;下面按照产品类型分类给大家做一下展示。期间并没有将所有展出物进行拍摄&#xff0c;但是基本已经覆盖大部分内容。1、RK3566该芯片内置DSP音频处理器&#xff0c;蓝牙5.…

【最新】Java的几种设计模式详解及适用业务场景

✅ 1. 单例模式&#xff08;Singleton&#xff09; 定义&#xff1a;确保类只有一个实例&#xff0c;并提供全局访问点。优点&#xff1a;节省资源、控制访问。场景&#xff1a;数据库连接池、日志管理器、配置中心。代码要点&#xff1a; 构造方法私有静态变量保存唯一实例公共…

单链表的手动实现+相关OJ题

目录 链表的介绍 单链表的手动实现 单链表的基本框架 打印链表&#xff1a; 获取表长&#xff1a; 头插法新增节点&#xff1a; 尾插法新增节点&#xff1a; 在指定下标插入&#xff1a; 链表的查找 删除链表中第一个出现的key&#xff1a; 删除链表中所有key值 链表…

梯度提升之原理

简介 梯度提升主要是基于数学最值问题 数学描述 目标函数为 obj(θ)∑i1nl(yi,y^i(t))∑k1tw(fk)obj(\theta) \sum_{i1}^n l(y_i, \hat y_i^{(t)}) \sum_{k1}^t w(f_k)obj(θ)i1∑n​l(yi​,y^​i(t)​)k1∑t​w(fk​) 其中ttt表示集成的树的个数&#xff0c;y^i(t)y^i(t−1)…

[学习] Hilbert变换:从数学原理到物理意义的深度解析与仿真实验(完整实验代码)

Hilbert变换&#xff1a;从数学原理到物理意义的深度解析与仿真实验 文章目录Hilbert变换&#xff1a;从数学原理到物理意义的深度解析与仿真实验一、数学原理二、作用与物理意义1.构造解析信号2.相位移动特性3.应用场景三、仿真实验实验1&#xff1a;正弦信号的Hilbert变换实验…

对话弋途科技:当AI重构汽车大脑,一场车载操作系统的“觉醒年代“开始了

&#xff08;图片来源&#xff1a;Pixels&#xff09;站在未来看历史&#xff0c;AI汽车刚刚开始。数科星球原创作者丨苑晶编辑丨大兔当特斯拉的自动驾驶仍在全球引发争议时&#xff0c;中国智能汽车战场已悄然开启第二幕。从"四个轮子的大手机"到"移动智能空间…

❗机器学习量化交易模型全面剖析报告基于因子库的机器学习交易模型构建指南

目录 第一章&#xff1a;机器学习在加密货币量化交易中的应用概述 范式转变&#xff1a;从传统因子到机器学习驱动的策略 为什么选择机器学习&#xff1f;机遇、挑战与核心概念 机遇 挑战 核心概念 第二章&#xff1a;为机器学习准备您的因子库 理解量化因子作为机器学…

内容创作智能体:多模态内容生成的完整解决方案

内容创作智能体&#xff1a;多模态内容生成的完整解决方案 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…

测试学习之——Pytest Day4

Pytest作为Python中功能强大且易于使用的测试框架&#xff0c;深受开发者喜爱。它不仅提供了简洁的测试编写方式&#xff0c;还通过丰富的配置选项、灵活的标记机制和强大的数据驱动能力&#xff0c;极大地提升了测试效率和可维护性。本文将深入探讨Pytest的配置意义与层级、常…

【软件系统架构】系列七:系统性能——路由器性能深入解析

目录 一、路由器的核心功能 二、路由器性能核心指标 1. 吞吐量&#xff08;Throughput&#xff09; 2. 并发连接数&#xff08;Session Capacity&#xff09; 3. 每秒连接数&#xff08;CPS&#xff0c;Connections Per Second&#xff09; 4. 转发延迟&#xff08;Laten…

【数据结构】第一讲 —— 概论

【数据结构】第一讲 —— 概论 文章目录【数据结构】第一讲 —— 概论1.1 基本概念和常用术语1.2 了解数据结构1. 数据结构2. 数据的逻辑结构3. 数据的物理结构&#xff08;存储结构&#xff09;4. 数据的运算1.3 算法的描述和分析1.3.1 算法的描述1.3.21.1 基本概念和常用术语…

全面解析MySQL(2)——CRUD基础

1.CreateCreate(创建)&#xff1a;添加新数据到数据库中#基础语法 insert into table_name (column1,column2,column3, ...) values (value1,value2,value3, ...);1.1 单行全列插入value中值的数量和顺序必须和column⼀致describe demo1; -----------------------------------…

某外企笔试总结——纯C语言

这里写自定义目录标题一、sizeof 计算&#xff08;32位环境&#xff09;二、简答题三、数据存储区域与可修改性四、字符串比较输出及原因五、数组指针运算输出六、字符串倒序代码错误排查七、下面程序可以把1维数组转为2维数组&#xff0c;然后调用 printArr2D 打印出数组内容&…

Qt Graphs 模块拟取代 charts 和 data visualization还有很长的路要走

近期关注 Qt 6.10 的分支进展&#xff0c; 发现了 Qt 6.10 的 charts 和 data visualization &#xff08;以下简称 DV&#xff09;已经被deprecated, 功能将会合并到 graphs 模块。如果后面 charts\ DV 被弃用&#xff0c;那算是很大的API变化了。从Qt 6.5 以后开始引入的 gra…