JSCC系列论文中的慢瑞利衰落是如何仿真的y=hx+n,其中h是随时变化的还是固定还是通过导频信号估...

Tạo vào: 10 tháng 9, 2026

Trả lời bằng GPT-5.6 Thinking bởi Chat01

Câu hỏi

JSCC系列论文中的慢瑞利衰落是如何仿真的y=hx+n,其中h是随时变化的还是固定还是通过导频信号估计

Suy nghĩ

Searched 10 websites

Worked for 17s

Trả lời

如果你说的是 Bourtsoulatze / Kurka / Gündüz 那条 DeepJSCC 系列,那么“慢瑞利衰落”最典型的仿真方式是:

y=hx+n,\mathbf y=h\mathbf x+\mathbf n,

其中 hh 在一张图像/一个码字的整个传输期间固定不变,但传下一张图像时重新随机生成。也就是典型的 block fading / quasi-static fading(块衰落),而不是每个符号都变。原始 DeepJSCC 论文明确写的是:对每张待传图像随机采样一个 hh,整个图像传输期间保持恒定,下一张图像再独立采样新的 hh。(Hugging Face)

具体来说,一般设

hCN(0,Hc),h\sim \mathcal{CN}(0,H_c),

例如 Hc=1H_c=1,因此

h|h|

服从 Rayleigh 分布。假设编码器产生

x=[x1,x2,,xk],\mathbf x=[x_1,x_2,\ldots,x_k],

那么同一张图像是

y1=hx1+n1y2=hx2+n2yk=hxk+nk.\begin{aligned} y_1 &= hx_1+n_1\\ y_2 &= hx_2+n_2\\ &\vdots\\ y_k &= hx_k+n_k. \end{aligned}

这里所有 kk 个 channel uses 共用完全相同的 hh。到了下一张图像:

hCN(0,1),h'\sim\mathcal{CN}(0,1),

再使用新的 hh'

所以你可以把它理解成:

image 1:h=h1image 2:h=h2image 3:h=h3\boxed{ \text{image 1}:h=h_1\quad\rightarrow\quad \text{image 2}:h=h_2\quad\rightarrow\quad \text{image 3}:h=h_3 }

而不是

h1x1, h2x2, h3x3,h_1x_1,\ h_2x_2,\ h_3x_3,\ldots

后者更接近 fast fading。

hh 是不是通过导频估计?

原始 DeepJSCC 的经典 Rayleigh fading 实验里,不是。

作者明确说明,在相应实验中:

  • transmitter 不知道 CSI;
  • receiver 也不显式获得 CSI;
  • 没有传输 pilot symbols
  • 没有传统意义上的 LS/MMSE channel estimation。

也就是说,他们不是先做

piloth^yh^JSCC decoder.\text{pilot}\rightarrow \hat h\rightarrow \frac{y}{\hat h}\rightarrow\text{JSCC decoder}.

而是直接

xhx+nyNN decoders^.\mathbf x \xrightarrow{h\mathbf x+\mathbf n} \mathbf y \xrightarrow{\text{NN decoder}} \hat{\mathbf s}.

论文甚至指出,这种结果暗示 decoder 网络自己学会了某种隐式的信道状态估计/信道适应能力。(Hugging Face)

不过这里有一个容易忽略的细节:在原论文后面的 Kodak/time-varying-channel 实验中,作者又假设 接收端知道信道引入的相位旋转,因此主要剩下随机幅度衰落;但仍不是显式发送导频来估计完整的 hh。(Imperial College London)


如果你自己复现,最典型的 PyTorch 思路其实就是:

python
# x: [batch, k] complex # 每张图像产生一个 h h = (torch.randn(batch, 1) + 1j * torch.randn(batch, 1)) / sqrt(2) # h 自动 broadcast 到这一张图像的全部 k 个符号 noise = sigma / sqrt(2) * ( torch.randn_like(x.real) + 1j * torch.randn_like(x.real) ) y = h * x + noise

重点就是 h.shape = [batch, 1],而不是 [batch, k]

前者:

每张图一个 h\boxed{\text{每张图一个 }h}

就是 slow Rayleigh fading。

后者:

python
h.shape = [batch, k]

意味着每个 channel symbol 都有新的衰落系数,这已经不是原始 DeepJSCC 论文采用的慢衰落模型了。

另外,若定义

E[h2]=1,E[x2]=P=1,E[|h|^2]=1,\qquad E[|x|^2]=P=1,

平均 SNR 为

SNRavg=E[h2]PN0=1N0.\mathrm{SNR}_{avg} =\frac{E[|h|^2]P}{N_0} =\frac{1}{N_0}.

所以通常可以按

N0=10SNRdB/10N_0=10^{-\mathrm{SNR}_{dB}/10}

来设置噪声。但由于 hh 每张图不同,每张图实际经历的瞬时 SNR

SNRinst=h2PN0\boxed{ \mathrm{SNR}_{inst} = \frac{|h|^2P}{N_0} }

所以即便实验设置为平均 SNR = 10 dB,某一张图片可能实际上经历 3 dB,另一张可能经历 14 dB。这正是慢瑞利衰落实验的意义。

需要特别注意的是,后续 JSCC 论文不一定都这么做。例如 DeepJSCC-Q 的一种 fading 设置假设 receiver 知道 hh,然后先进行

yhh2yy\leftarrow\frac{h^*}{|h|^2}y

这样的信道均衡,再送入 decoder。(ResearchGate) 而 OFDM/实际物理层方向的 DeepJSCC 工作则可能明确插 pilot,再做 LS/MMSE 或神经网络信道估计。

所以可以简单记成:

原始 DeepJSCC slow RayleighhCN(0,1)一张图/一个 codeword 内固定下一张图重新采样通常无 pilot、无显式 h^\boxed{ \begin{array}{c} \text{原始 DeepJSCC slow Rayleigh}\\[2mm] h\sim\mathcal{CN}(0,1)\\ \downarrow\\ \text{一张图/一个 codeword 内固定}\\ \downarrow\\ \text{下一张图重新采样}\\ \downarrow\\ \text{通常无 pilot、无显式 }\hat h \end{array}}

如果你现在是在复现某一篇具体 JSCC 论文的代码,把论文名或 channel layer 那几行代码发我,我可以直接帮你判断它到底是 每 symbol 变 hh、每 image 变 hh、完美 CSI,还是 pilot 估计 CSI

Câu hỏi

给出JSCC领域的信道的符号是离散的论文以及方法,比如基于vq的矢量量化,或者标量量化

Suy nghĩ

Searched 14 websites

Worked for 29s

Trả lời

可以。先把概念卡准:你说的“信道符号是离散的 JSCC”,更准确地说通常是指信道输入 alphabet 是有限的

xiC={c1,,cM},x_i\in\mathcal C=\{c_1,\ldots,c_M\},

例如 BPSK/QPSK/16QAM,或者发送的是 VQ codebook index。经过 AWGN/Rayleigh 后

yi=hxi+niy_i=h x_i+n_i

yiy_i 本身仍然是连续复数。传统 DeepJSCC 与数字式 JSCC 的核心区别正是在这里:传统 DeepJSCC 的 xiCx_i\in\mathbb C 基本连续,而下面这些工作显式引入了离散化。

比较值得看的论文

论文离散化方法实际发送什么我认为与你的方向匹配度
DeepJSCC-Q, Tung et al., JSAIT 2022星座量化 / soft-to-hard有限星座点★★★★★
VQ-DeepSC, Fu et al., IEEE WCL 2023Vector Quantizationcodebook index → 数字调制★★★★★
Digital Wireless Image Transmission via Distribution Matching, Yang et al., PIMRC 2024标量/星座量化 + STE离散星座点★★★★★
Joint Coding-Modulation via VAE, Bo et al., TCOM 2024categorical / 概率式离散映射BPSK/QAM星座★★★★★
OFDM-Based Digital Semantic Communication, Liu et al., TCOM 2024Scalar Quantizationbits → QAM → OFDM★★★★★
Digital-SC, Guo et al., TCCN 2025learned nonlinear scalar quantization量化比特★★★★☆
D²-JSCC, Huang et al., JSAC 2025数字源编码+信道编码bitstream★★★☆☆
VQ-DeepISC, Chen et al., 2025VQVQ index → QPSK/OFDM★★★★★
VQJSCC / CAVQ, Meng et al., 2025channel-aware VQ离散符号★★★★★
Se-HiLo, 2026Finite Scalar Quantization (FSQ)有限离散 latent★★★★☆

下面重点讲前几篇。


1. DeepJSCC-Q:最直接的“离散信道输入 DeepJSCC”

这是你首先应该看的。

T. Y. Tung, D. B. Kurka, M. Jankowski, D. Gündüz, “DeepJSCC-Q: Constellation Constrained Deep Joint Source-Channel Coding,” IEEE JSAIT, 2022.

它明确指出原始 DeepJSCC 的问题是 encoder 可以产生任意复数

ziC,z_i\in\mathbb C,

而真实数字通信系统希望

xiC,x_i\in\mathcal C,

例如

CQPSK={±1±j2}.\mathcal C_{\rm QPSK} = \left\{ \frac{\pm1\pm j}{\sqrt2} \right\}.

因此结构变成

imagefθzQCxchannelygϕs^.\text{image} \xrightarrow{f_\theta} z \xrightarrow{Q_{\mathcal C}} x \xrightarrow{\text{channel}} y \xrightarrow{g_\phi} \hat s .

其中硬量化就是

QC(zi)=argmincmCzicm2.Q_{\mathcal C}(z_i) = \arg\min_{c_m\in\mathcal C} |z_i-c_m|^2.

所以这里每个 channel symbol 只能取有限个值。论文研究了固定星座和可学习星座,并利用 soft-to-hard quantization 解决不可微问题。(IEEE Xplore)

训练时可以使用类似

z~i=m=1Mexp(σqzicm2)lexp(σqzicl2)cm\tilde z_i= \sum_{m=1}^{M} \frac{ \exp(-\sigma_q|z_i-c_m|^2) }{ \sum_l\exp(-\sigma_q|z_i-c_l|^2) } c_m

的 soft assignment;推理阶段变成 nearest-neighbor hard decision。(ResearchGate)

这篇与原始 DeepJSCC 的关系最清楚:

DeepJSCC: xiC\boxed{ \text{DeepJSCC: }x_i\in\mathbb C }

变成

DeepJSCC-Q: xi{c1,,cM}.\boxed{ \text{DeepJSCC-Q: }x_i\in\{c_1,\ldots,c_M\}. }

DeepJSCC-Q 论文


2. VQ-DeepSC:典型的 Vector Quantization 路线

Q. Fu, H. Xie, Z. Qin, G. Slabaugh, X. Tao, “Vector Quantized Semantic Communication System,” IEEE Wireless Communications Letters, 2023.

这篇就是非常典型的 VQ-VAE 思想进入数字 JSCC/SemCom

encoder 首先得到高维特征:

z=fθ(s),ziRD.z=f_\theta(s), \qquad z_i\in\mathbb R^D.

建立共享 codebook

E={e1,e2,,eK},ekRD.\mathcal E= \{e_1,e_2,\ldots,e_K\}, \qquad e_k\in\mathbb R^D.

然后进行最近邻矢量量化:

ki=argminkziek22k_i = \arg\min_k \|z_i-e_k\|_2^2

并令

z^i=eki.\hat z_i=e_{k_i}.

真正需要发送的不再是连续 DD 维向量,而是

ki{1,,K}.\boxed{k_i\in\{1,\ldots,K\}}.

所以如果

K=256,K=256,

一个 VQ index 只需要

log2256=8 bit.\log_2 256=8\text{ bit}.

VQ-DeepSC 使用多尺度 semantic embedding/codebook,使连续语义特征转换为离散 index,并面向数字通信系统。(arXiv)

典型链路是

szVQ indexbitschannel coding/modulationk^ek^s^.s \rightarrow z \rightarrow \boxed{\text{VQ index}} \rightarrow \text{bits} \rightarrow \text{channel coding/modulation} \rightarrow \hat k \rightarrow e_{\hat k} \rightarrow \hat s.

这是与你说的“基于 VQ 的矢量量化”最标准的一篇。

VQ-DeepSC 论文


3. 标量量化:OFDM-Based Digital Semantic Communication

如果你的兴趣是:

不想做 VQ,一个 latent value 一个 latent value 地量化。

那么这篇非常值得看。

C. Liu et al., “OFDM-Based Digital Semantic Communication With Importance Awareness,” IEEE Transactions on Communications, 2024.

它明确采用 scalar quantizer

ziRQ(zi){q1,q2,,qL}.z_i\in\mathbb R \rightarrow Q(z_i) \in \{q_1,q_2,\ldots,q_L\}.

然后转换为 bits,再通过真实的数字 OFDM 链路传输:

semantic featuresscalar quantizationbitsdigital modulationOFDM.\text{semantic features} \rightarrow \boxed{\text{scalar quantization}} \rightarrow \text{bits} \rightarrow \text{digital modulation} \rightarrow \text{OFDM}.

而且它不是简单 AWGN abstraction,而是研究 frequency-selective channel,并联合做 semantic importance、subcarrier allocation 和 bit allocation。(IEEE Xplore)

论文:

C. Liu, C. Guo, Y. Yang, W. Ni, T. Q. S. Quek, IEEE TCOM 72(10), 6301–6315, 2024, DOI 10.1109/TCOMM.2024.3397862. (IEEE Xplore)

如果你以后想做

JSCC encoderB-bit scalar quantizer16QAMRayleigh\text{JSCC encoder} \rightarrow B\text{-bit scalar quantizer} \rightarrow 16QAM \rightarrow \text{Rayleigh}

这篇是很好的参考。


4. Digital-SC:可学习的非均匀标量量化

L. Guo, W. Chen, Y. Sun, B. Ai, “Digital-SC: Digital Semantic Communication With Adaptive Network Split and Learned Non-Linear Quantization,” IEEE TCCN, 2025.

它的重点不是固定 uniform quantizer,而是学习量化 level

普通均匀量化可能是

Q(z)=Δround(zΔ).Q(z)=\Delta \operatorname{round} \left(\frac z\Delta\right).

Digital-SC 则让

Q={q1,q2,,qM}\mathcal Q = \{q_1,q_2,\ldots,q_M\}

本身成为可以优化的参数:

Q(zi)=qargminjziqj.Q(z_i) = q_{\arg\min_j|z_i-q_j|}.

因此量化级可以变成非均匀的,例如:

{2.3,0.9,0.25,0.15,0.72,2.8},\{-2.3,-0.9,-0.25,0.15,0.72,2.8\},

而不是强制均匀间隔。

论文提出 learned nonlinear quantization,同时结合 structured pruning 和自适应 split/rate。(arXiv)

不过它更多偏向task-oriented semantic communication / classification,不像 DeepJSCC-Q 那么纯粹是端到端图像重构。

Digital-SC 论文


5. Distribution Matching:先训练连续 DeepJSCC,再离散化

这篇我觉得对你做实验非常有启发。

P. Yang, G. Zhang, Y. Cai, “Digital Wireless Image Transmission via Distribution Matching,” IEEE PIMRC 2024.

作者直接指出:

大部分 DeepJSCC 是 continuous/analog channel symbols,实际数字通信需要映射到 discrete space。

它考虑两种办法。

方法 A:uniform constellation

例如把 encoder 输出

ziz_i

量化到某种有限 constellation:

Q(zi){c1,,cM}.Q(z_i)\in\{c_1,\ldots,c_M\}.

但是根据 DeepJSCC latent 的实际分布调整 constellation spacing。

方法 B:non-uniform constellation

先训练 analog JSCC,得到大量

zi.z_i.

然后对这些 feature 做 clustering

{zi}clustering{c1,,cM}.\{z_i\} \xrightarrow{\text{clustering}} \{c_1,\ldots,c_M\}.

也就是说星座本身根据 DeepJSCC feature distribution 构造。

因此它其实位于

scalar constellation quantization\boxed{\text{scalar constellation quantization}}

VQ/clustering\boxed{\text{VQ/clustering}}

之间。

由于硬量化

argmin\arg\min

不可微,训练采用 STE。(arXiv)

论文已发表于 PIMRC 2024。(DBLP)

论文预印本


6. Joint Coding-Modulation:甚至不显式做 quantizer

这是另一种很漂亮的思路。

Y. Bo, Y. Duan, S. Shao, M. Tao, “Joint Coding-Modulation for Digital Semantic Communications via Variational Autoencoder,” IEEE TCOM, 2024.

它不采用传统的

zQ(z)z\rightarrow Q(z)

而是学习:

pθ(xi=cms).p_\theta(x_i=c_m|s).

即 encoder 给出:

[p1,p2,,pM],[p_1,p_2,\ldots,p_M],

其中

mpm=1.\sum_m p_m=1.

再从有限星座

C={c1,,cM}\mathcal C= \{c_1,\ldots,c_M\}

中产生发送符号。

所以:

xiC\boxed{x_i\in\mathcal C}

从结构上就是离散的。

作者用 VAE/variational learning 学习从 source 到 discrete constellation symbols 的 transition probability,从而绕开普通数字调制不可微的问题。实验包括 BPSK、4QAM、16QAM、64QAM。(IEEE Xplore)

这条路线可以理解为:

DeepJSCC-Q:zQ(z)cm\text{DeepJSCC-Q} : z\rightarrow Q(z)\rightarrow c_m

而 JCM 是:

sp(cms)cm.\boxed{ s\rightarrow p(c_m|s)\rightarrow c_m }.

官方代码


7. VQ-DeepISC:VQ + 真正的 QPSK/OFDM

这是更近期、工程链路更完整的一篇:

J. Chen et al., “VQ-DeepISC: Vector Quantized-Enabled Digital Semantic Communication with Channel Adaptive Image Transmission,” 2025.

它使用 Swin Transformer 提取 hierarchical semantic features,再使用 VQ:

ziki=argminkziek2.z_i \rightarrow k_i= \arg\min_k\|z_i-e_k\|^2 .

区别在于,它进一步明确使用

VQ indexbitsQPSKOFDM\boxed{\text{VQ index}\rightarrow\text{bits}\rightarrow QPSK\rightarrow OFDM}

而不是只在抽象数字信道上测试,并按 IEEE 802.11a 风格构建数字通信链路。(arXiv)

所以如果你的目标最终是:

JSCC + 离散 latent + modulation + fading channel

这篇很值得参考。

VQ-DeepISC


8. Channel-Aware VQ:VQJSCC / CAVQ

这篇尤其符合你说的“离散信道”。

Z. Meng et al., “Channel-Aware Vector Quantization for Robust Semantic Communication on Discrete Channels,” 2025.

作者直接构建

JSCC over a discrete memoryless channel\boxed{\text{JSCC over a discrete memoryless channel}}

并且不只是普通 VQ。

传统 VQ:

k=argminjzej2.k= \arg\min_j \|z-e_j\|^2.

它考虑 channel transition probability:

P(k^=jk=i).P(\hat k=j|k=i).

设计 codebook 时希望信道上容易互相混淆的两个符号,对应的语义 codeword 也彼此相近

直观理解:

假设调制符号

c1,c2c_1,c_2

在信道上容易判错,那么希望:

e1e2\|e_1-e_2\|

也比较小。

这样即使

121\rightarrow2

发生 symbol error,图像语义失真也不会特别大。

它还处理

KVQMmodulationK_{\rm VQ}\neq M_{\rm modulation}

的问题,通过 multi-codebook alignment 适配不同 modulation order。(arXiv)

这其实很接近经典 JSCC 里的 index assignment / channel-optimized vector quantization 思想,只不过换成了神经 VQ。


9. FSQ:VQ 之外值得特别关注的新路线

如果你正在考虑自己设计方法,我建议不要只看传统 VQ,还可以关注 Finite Scalar Quantization, FSQ

传统 VQ:

zRDz\in\mathbb R^D

整个向量找最近 codeword:

Q(z)=argminekzek2.Q(z) = \arg\min_{e_k} \|z-e_k\|^2.

codebook 大小是

K.K.

FSQ 则对每个 dimension 单独有限量化:

zdqd{0,,Ld1}.z_d\rightarrow q_d \in \{0,\ldots,L_d-1\}.

最后离散 state 数量:

K=d=1DLd.K=\prod_{d=1}^{D}L_d.

例如:

L=[8,8,8]L=[8,8,8]

实际上有

K=512K=512

种组合,却不用显式维护 512 个 VQ embedding。

2026 年的 Se-HiLo: Noise-Resilient Semantic Communication via Frequency-Decoupled Quantization 就使用 FSQ,把 representation 限制在 predefined discrete spaces。(IEEE Xplore)

另外已有数字语义通信工作采用 FSQ-based implicit codebook,并指出它可以避免传统 VQ 的 codebook collapse。(PubMed)

如果你想做:

离散 JSCC + 简单量化 + 不想维护巨大 codebook\boxed{\text{离散 JSCC + 简单量化 + 不想维护巨大 codebook}}

FSQ 是一个非常值得研究的方向。


从方法上,其实可以归纳成 5 类

你看论文时,可以按下面这个谱系理解。

A. 标量量化 SQ

对于每个 feature:

ziqi.z_i\rightarrow q_i.

比如 BB-bit uniform quantization:

qi=clip(roundzizminΔ,0,2B1).q_i = \operatorname{clip} \left( \operatorname{round} \frac{z_i-z_{\min}}{\Delta}, 0,2^B-1 \right).

链路:

zSQbitsQAM.z \rightarrow \text{SQ} \rightarrow \text{bits} \rightarrow \text{QAM}.

代表:

OFDM-Based Digital Semantic Communication

Digital-SC

优点:简单、容易接真实通信系统。

缺点:没利用 feature dimensions 之间相关性。


B. Vector Quantization

ziRDz_i\in\mathbb R^D

映射为:

ki=argminkziek2.k_i = \arg\min_k \|z_i-e_k\|^2.

链路:

zikilog2K bits.z_i \rightarrow k_i \rightarrow \log_2K\text{ bits}.

代表:

VQ-DeepSC\boxed{\text{VQ-DeepSC}}

以及 VQ-DeepISC、VQJSCC。

优点是压缩能力强,而且天然得到 discrete tokens。

缺点是:

  • codebook collapse;
  • 大 codebook 搜索复杂度高;
  • index error 可能造成 catastrophic semantic error。

C. Constellation Quantization

这一类以 DeepJSCC-Q 为代表。

直接:

ziCxi=argmincmCzicm2.z_i\in\mathbb C \rightarrow x_i= \arg\min_{c_m\in\mathcal C} |z_i-c_m|^2.

不一定经过:

indexbinary.\text{index}\rightarrow\text{binary}.

所以 encoder 直接输出一个可以被物理层发送的星座符号。

这是:

JSCC + modulation 一体化\boxed{\text{JSCC + modulation 一体化}}

而不是传统:

source compressionbitschannel codemodulation.\text{source compression} \rightarrow \text{bits} \rightarrow \text{channel code} \rightarrow \text{modulation}.

D. Probabilistic discrete mapping

代表 JCM:

zp(x=cmz)cm.z \rightarrow p(x=c_m|z) \rightarrow c_m.

它本质上把数字 modulation 视为 categorical latent variable。

这种路线通常采用:

  • Gumbel-Softmax;
  • VAE;
  • categorical reparameterization;
  • stochastic encoder。

我认为这条路线在理论上比简单 STE 更漂亮。


E. FSQ

z=(z1,,zD)z=(z_1,\ldots,z_D)

分别进行:

Qd(zd){1,,Ld}.Q_d(z_d)\in\{1,\ldots,L_d\}.

得到组合 token:

(Q1(z1),,QD(zD)).(Q_1(z_1),\ldots,Q_D(z_D)).

可以看成:

SQ 的计算复杂度 + VQ 的离散 token 表达\boxed{\text{SQ 的计算复杂度 + VQ 的离散 token 表达}}

因此近年来越来越值得关注。


一个非常关键的区别

很多论文都叫 Digital JSCC / Digital Semantic Communication,但其实可以分成两种。

第一种:

NNVQ/SQbitsFECQAM\boxed{ \text{NN}\rightarrow \text{VQ/SQ}\rightarrow \text{bits}\rightarrow \text{FEC}\rightarrow \text{QAM} }

例如:

VQ-DeepSC\text{VQ-DeepSC}

这种其实还是有比较清晰的传统数字链路。

第二种则是:

NNfinite constellationhx+n\boxed{ \text{NN}\rightarrow \text{finite constellation} \rightarrow hx+n }

例如:

DeepJSCC-Q.\text{DeepJSCC-Q}.

它没有显式

bitstreamchannel codemodulation\text{bitstream}\rightarrow \text{channel code}\rightarrow \text{modulation}

这几层,而是直接学习从 source 到有限星座序列的 JSCC codebook

从严格意义上的“离散输入 JSCC”研究来看,我认为第二类其实更有意思。


如果你现在是准备做“离散符号 JSCC”,我建议重点看这 6 篇

按阅读顺序:

  1. DeepJSCC-Q, 2022
    先理解如何把连续 DeepJSCC 改成

    xiC.x_i\in\mathcal C.

    (IEEE Xplore)

  2. VQ-DeepSC, 2023
    理解

    zVQ index.z\rightarrow\text{VQ index}.

    (arXiv)

  3. Joint Coding-Modulation via VAE, 2024
    理解“不用 hard quantizer,直接学习 categorical constellation symbol”。(IEEE Xplore)

  4. Digital Wireless Image Transmission via Distribution Matching, 2024
    理解 DeepJSCC latent distribution 与 discrete constellation 应该怎样匹配。(arXiv)

  5. OFDM-Based Digital Semantic Communication, 2024
    看最接近真实数字 PHY 的

    SQbitsQAMOFDM.\text{SQ}\rightarrow\text{bits}\rightarrow\text{QAM}\rightarrow\text{OFDM}.

    (IEEE Xplore)

  6. VQJSCC / Channel-Aware VQ, 2025
    看如何把

    P(x^x)P(\hat x|x)

    真正纳入 VQ/codebook 设计。(arXiv)

如果你的研究重点是图像重构 + Rayleigh fading + 离散符号,我最建议从

DeepJSCC-QVQ-DeepSCVQJSCC\boxed{ \text{DeepJSCC-Q} \rightarrow \text{VQ-DeepSC} \rightarrow \text{VQJSCC} }

这条线切入;如果想做一个比较容易形成新方法的方向,则可以考虑

channel-aware VQ/FSQ+Rayleigh fading+有限 QAM constellation\boxed{ \text{channel-aware VQ/FSQ} + \text{Rayleigh fading} + \text{有限 QAM constellation} }

尤其是研究“VQ codeword 与 QAM symbol 如何联合映射,使邻近/易混淆星座点对应语义相近 codeword”,这本质上就是现代神经 JSCC 版的 channel-optimized vector quantization + index assignment,研究逻辑非常清楚。

Câu hỏi

我现在的实验是vq+qam(vq指导星座图的生成)的方案,实验设置是CBR=1/48或者CBR=1/192,推理的是kodak/CLIC数据集,我应该找哪些论文来对比,最好他们的实验结果也是这样,或者有开源的代码或者权重

Suy nghĩ

Searched 10 websites

Worked for 1m 13s

Trả lời

你这个方案如果是 “VQ 决定/引导 QAM 星座结构或 VQ codeword 与星座联合设计”,我建议不要只按“谁 PSNR 高”找 baseline,而要同时覆盖:

  1. 同机制:VQ / learned constellation / digital JSCC;
  2. 同实验协议:Kodak/CLIC、CBR=1/48 或 1/192、AWGN/Rayleigh;
  3. 强模拟 JSCC baseline:证明离散化以后没有牺牲太多性能;
  4. 传统数字通信 baseline:BPG/learned codec + LDPC + QAM。

按你现在的设置,我会优先选下面这些。

方法和你的方法相似度Kodak/CLICCBR=1/48CBR=1/192QAM/VQ代码/权重建议
DeepJSCC-Q★★★★★Kodaklearned constellation/QAM代码不算正式公开必比
MDJCM★★★★★Kodak + CLIC2021可做低 CBR;论文重点含 rate curve多阶 QAM + constellation generator✅代码 + checkpoint必比
euJSCC★★★★★★Kodak + CLIC2021 + DIV2K✅精确VQ + dynamic codebook + modulation暂未找到官方代码必引用,极其接近你
VQJSCC/CAVQ★★★★★★CIFAR-10不匹配不匹配VQ 与 constellation 联合优化暂无官方代码必引用机制
SwinJSCC★★★Kodak + CLIC2021连续模拟符号✅代码 + 预训练权重强 baseline
MambaJSCC★★★Kodak + CLIC2021连续模拟符号✅代码 + checkpoint推荐
DiffJSCC★★Kodak✅ Rayleigh✅ Rayleigh连续+生成式✅代码 + 部分权重1/192 特别有用
BPG+LDPC+QAM★★★★任意✅自己配✅自己配标准数字通信易实现必比

下面说为什么。


1. 第一优先级:DeepJSCC-Q

这篇实际上应该是你论文里最核心的 baseline/citation

Tung et al., “DeepJSCC-Q: Constellation Constrained Deep Joint Source-Channel Coding,” IEEE JSAIT, 2022. (IEEE Xplore)

它与你的区别可以概括成:

DeepJSCC-Q:zQC(z)cm\text{DeepJSCC-Q}: z\rightarrow Q_{\mathcal C}(z)\rightarrow c_m

而你大概是:

zVQ/codebooksemantic structureCθVQ-guided constellationhx+n.z \rightarrow \underbrace{\text{VQ/codebook}}_{\text{semantic structure}} \rightarrow \underbrace{\mathcal C_{\theta}}_{\text{VQ-guided constellation}} \rightarrow hx+n.

它已经研究:

  • 固定 QAM;
  • learned constellation;
  • AWGN;
  • slow fading;
  • Kodak;
  • PSNR / MS-SSIM;
  • 不同 modulation order;
  • 不同 CBR。

而且论文里明确给了 ρ=1/48\rho=1/48 的 Kodak 图像结果,其 rate-distortion 图也比较了 DeepJSCC-Q、learned 64-point constellation、64-QAM 和 BPG+LDPC。(ResearchGate)

所以如果审稿人问:

为什么需要 VQ 来指导 constellation,而 DeepJSCC-Q 已经能学习 constellation?

这基本就是你必须回答的问题。

推荐你复现的 DeepJSCC-Q variants

至少做:

DeepJSCC-Q + standard QAM\text{DeepJSCC-Q + standard QAM}

以及

DeepJSCC-Q + learned constellation.\text{DeepJSCC-Q + learned constellation}.

如果你的结果能证明:

VQ-guided constellation>free learned constellation>fixed QAM\boxed{ \text{VQ-guided constellation} > \text{free learned constellation} > \text{fixed QAM} }

那么故事非常完整。

论文:DeepJSCC-Q IEEE 页面

一个有用的实现线索是 ST-JSCC 的公开仓库明确感谢 DeepJSCC-Q 作者提供过代码,但我目前没有查到一个维护良好的 DeepJSCC-Q 官方独立仓库。(GitHub)


2. 第二优先级:MDJCM

From Analog to Digital: Multi-Order Digital Joint Coding-Modulation for Semantic Communication,IEEE TCOM 2025。(arXiv)

这个甚至比普通 DeepJSCC-Q 更适合你。

它也是:

semantic encoderdigital constellationM-QAM.\text{semantic encoder} \rightarrow \text{digital constellation} \rightarrow M\text{-QAM}.

而且包含 multi-order constellation generator,研究

M={4,16,64,256,1024}.M=\{4,16,64,256,1024\}.

论文在 Kodak 上直接画了不同 CBR 下的性能,并在 Kodak 和 CLIC2021 上给了 SNR-PSNR 曲线;其中固定 SNR 曲线实验的平均 CBR 是

0.0625=1/16.0.0625=1/16.

同时它的 rate 实验覆盖更宽的 CBR 区域。(ResearchGate)

它和你的核心差别应该是:

MDJCM:featureconstellation generator\text{MDJCM}: \quad \text{feature}\rightarrow \text{constellation generator}

而你:

featureVQ semantic codebookconstellation geometry.\text{feature} \rightarrow \boxed{\text{VQ semantic codebook}} \rightarrow \boxed{\text{constellation geometry}}.

这非常适合当 nearest competitor。

更重要的是,它有官方 PyTorch,而且提供 MDJCM-A 的 pretrained checkpoint。(GitHub)

MDJCM 官方代码

我会优先把这套代码拉下来改 CBR,而不是自己从论文重写。


3. euJSCC:目前与你的研究思路最接近之一

这是 2026 年比较新的:

Extended Universal Joint Source-Channel Coding for Digital Semantic Communications: Improving Channel-Adaptability。(arXiv)

你尤其应该认真看这篇。

因为它本身就是:

VQ+digital modulation+dynamic codebook generation\boxed{ \text{VQ} + \text{digital modulation} + \text{dynamic codebook generation} }

它有一个 Dynamic Codebook Generation (DCG) network,根据 SNR 修改基础 VQ codebook。(arXiv)

实验协议更关键:

CBR=1/48\boxed{\mathrm{CBR}=1/48}

并且测试:

  • Kodak;
  • CLIC2021;
  • DIV2K。

训练 patch 是 256×256256\times256,Kodak 是 512×768512\times768,而且同时研究 AWGN 与 block fading。(ResearchGate)

所以从 experimental setup 来看,它几乎就是你应该找的论文。

你可以这样区分你和它:

euJSCC:channel/SNRVQ codebook\text{euJSCC}: \text{channel/SNR} \rightarrow \text{VQ codebook}

而如果你的方法是:

VQ semantic geometryQAM constellation geometry,\text{VQ semantic geometry} \rightarrow \text{QAM constellation geometry},

那实际上研究重点完全不同:

euJSCC 是让 channel condition reshape codebook
你是让 semantic VQ structure reshape constellation

这是很好的 related work 对照。

缺点是:我目前没有找到作者公开的正式代码仓库或 pretrained weights。所以我会“必引用”,但不一定要求你复现。


4. VQJSCC / CAVQ:概念上可能是你最大的竞争对手

这篇标题就很明显:

Channel-Aware Vector Quantization for Robust Semantic Communication on Discrete Channels, 2025。(arXiv)

它的思想是:

zVQ indexmodulation constellation.z \rightarrow \text{VQ index} \rightarrow \text{modulation constellation}.

更关键的是,它不只是普通 VQ,而是利用 channel transition probabilities:

P(j^i)P(\hat j|i)

去改变 VQ codebook。

它希望:

在 QAM 星座上容易互相误判的 symbols,其对应的 VQ semantic codewords 也应该比较接近。

所以它实际上优化:

semantic distanceconstellation/channel confusion\boxed{ \text{semantic distance} \leftrightarrow \text{constellation/channel confusion} }

这个思想和“VQ 指导星座图生成”已经非常接近。(arXiv)

不过它有两个问题:

第一,它目前的主要实验是 CIFAR-10,32×32,并不是 Kodak/CLIC。(ResearchGate)

第二,我目前没有找到官方开源代码。

所以我的建议是:

不一定复现,但论文里一定要比较思想\boxed{\text{不一定复现,但论文里一定要比较思想}}

否则如果投稿时 reviewer 知道这篇,很可能会直接问你和 CAVQ/VQJSCC 的区别。


5. 强 analog baseline:SwinJSCC

如果你需要一个高分辨率、大家都认可、而且很好复现的 neural JSCC baseline,我首选 SwinJSCC。

SwinJSCC: Taming Swin Transformer for Deep Joint Source-Channel Coding, IEEE TCCN 2024。

它的实验非常适合你:

  • DIV2K train;
  • Kodak test;
  • CLIC2021 test;
  • AWGN;
  • Rayleigh;
  • PSNR;
  • MS-SSIM;
  • 多 SNR;
  • 多 CBR。

尤其论文明确给了:

CBR=1/48\boxed{\mathrm{CBR}=1/48}

下的 Kodak AWGN 和 Rayleigh 曲线。(Scribd)

它的 rate-adaptive 模型也有

1/48,1/16,1/81/48,\quad1/16,\quad1/8

这种典型设置。(Scribd)

更重要的是代码很好用

官方:

SwinJSCC GitHub

repo 直接支持:

text
--testset kodak --testset CLIC21 --channel-type awgn --channel-type rayleigh

而且官方提供 pretrained models。(GitHub)

有一个需要注意的问题:官方 repo 后来特别提醒,torch > 1.12 时 SA&RA 模型推理结果可能和论文不一致,建议 inference 用 torch <=1.12。(GitHub)

这个坑值得提前避免。


6. MambaJSCC:现在也很适合你作为强 neural baseline

MambaJSCC 有一个优势:

CBR=1/48\boxed{\mathrm{CBR}=1/48}

本身就是其主要实验条件之一,并研究 AWGN + Rayleigh。论文的 1/48 实验同时比较了:

  • DeepJSCC;
  • ADJSCC;
  • SwinJSCC;
  • MambaJSCC;
  • BPG+LDPC。

(ResearchGate)

官方 repo 目前已经开源,而且明确支持:

  • Kodak;
  • CLIC2021;
  • PSNR;
  • MS-SSIM;
  • LPIPS;
  • AWGN;
  • Rayleigh。

同时已经给出了部分 pretrained checkpoints,包括 DIV2K + Rayleigh 模型。(GitHub)

MambaJSCC 官方代码

如果篇幅有限,我甚至会:

DeepJSCC\text{DeepJSCC}

换成

SwinJSCC + MambaJSCC\boxed{\text{SwinJSCC + MambaJSCC}}

作为现代 analog neural baseline。


7. 你的 CBR=1/192:DiffJSCC 特别有价值

这一点非常巧。

Diffusion-Aided Joint Source Channel Coding for High Realism Wireless Image Transmission 的论文中,Kodak + Rayleigh fading 的 Figure 7 正好就是

ρ=1/192\boxed{\rho=1/192}

ρ=1/48.\boxed{\rho=1/48}.

(researchgate.net)

这与你的实验配置非常少见地完全撞上了。

论文里 JSCC backbone 支持:

1/384,1/192,1/96,1/64,1/48,5/192,1/32.1/384,\, 1/192,\, 1/96,\, 1/64,\, 1/48,\, 5/192,\, 1/32.

因此超低 CBR 对比非常有价值。(ResearchGate)

官方代码也开了:

DiffJSCC GitHub

而且有 Hugging Face checkpoints。官方 repo 当前列出的公开模型包括:

  • OpenImages CBR 1/3841/384
  • OpenImages CBR 1/961/96
  • CelebAHQ CBR 1/7681/768
  • CelebAHQ CBR 1/1921/192

(GitHub)

这里需要注意:论文虽然有 Kodak + 1/48、1/192 曲线,但 repo 目前并没有把所有论文 rate 的 OpenImages/Kodak 对应 checkpoint 全都列出来。

所以:

  • 可以直接使用代码;
  • 1/192 有公开权重,但公开的是 CelebAHQ-trained;
  • 如果追求严格 Kodak/OpenImages protocol,对部分 rate 最好自己 train。

另外 DiffJSCC 是 generative 方法,所以如果你只用 PSNR,不一定最合适;如果你的论文也报:

LPIPS/FID\text{LPIPS/FID}

它就非常值得比较。


8. 传统数字 baseline 一定要做:BPG + LDPC + QAM

因为你本身就是:

VQ + QAM\boxed{\text{VQ + QAM}}

如果没有传统 digital baseline,会比较可惜。

推荐:

BPGLDPCM-QAMchannelLDPC decoderBPG decoder.\text{BPG} \rightarrow \text{LDPC} \rightarrow M\text{-QAM} \rightarrow \text{channel} \rightarrow \text{LDPC decoder} \rightarrow \text{BPG decoder}.

SwinJSCC 的官方实现/实验就是 BPG + 5G LDPC + QAM;WITT repo 也明确说明使用 block length 6144 的 5G LDPC,并针对不同 coding rate 和 QAM 做比较。(GitHub)

你的论文最终就可以形成很漂亮的三层比较:

Traditional digitalLearned digital JSCCAnalog JSCCBPG+LDPC+QAMDeepJSCC-Q/MDJCM/OursSwinJSCC/MambaJSCC\boxed{ \begin{array}{ccc} \text{Traditional digital} & \text{Learned digital JSCC} & \text{Analog JSCC} \\ \text{BPG+LDPC+QAM} & \text{DeepJSCC-Q/MDJCM/Ours} & \text{SwinJSCC/MambaJSCC} \end{array}}

如果是我的实验,我最终只跑这 6 个

这是我最推荐的组合:

  1. Ours: VQ-guided QAM constellation
  2. DeepJSCC-Q
  3. MDJCM
  4. SwinJSCC
  5. MambaJSCC
  6. BPG + LDPC + QAM

然后对于 CBR=1/192 再额外加入:

DiffJSCC\boxed{\text{DiffJSCC}}

如果篇幅允许,再引用但不一定重跑:

  • euJSCC;
  • VQJSCC/CAVQ;
  • uJSCC。

这样 reviewer 基本很难说你的 baseline coverage 不够。


对你而言,还有一个比选 baseline 更重要的问题:CBR 必须重新统一

你现在是 VQ+QAM,不能简单把 latent tensor 大小当 CBR。

假设一张 RGB 图:

xRH×W×3,x\in\mathbb R^{H\times W\times3},

VQ 一共产生 NN 个 index,codebook size

K=2bv,K=2^{b_v},

每个 index 需要

bv=log2Kb_v=\log_2K

bits。

如果使用

M-QAM,M\text{-QAM},

每个复 channel symbol 携带

bm=log2Mb_m=\log_2M

bits。

那么无 channel coding 时实际使用的 complex channel symbols 数是

k=Nlog2Klog2M.k = \frac{N\log_2K}{\log_2M}.

因此按照 DeepJSCC-Q 的定义:

CBR=k3HW=Nlog2K3HWlog2M\boxed{ \mathrm{CBR} = \frac{k}{3HW} = \frac{N\log_2K} {3HW\log_2M} }

如果加 rate-RcR_c LDPC:

CBR=Nlog2K3HWRclog2M\boxed{ \mathrm{CBR} = \frac{N\log_2K} {3HW\,R_c\log_2M} }

这件事对你非常关键。

例如同样是 NN 个 VQ tokens:

K=2568 bits/token.K=256\Rightarrow 8\text{ bits/token}.

用 QPSK:

8/2=48/2=4

个 complex channel symbols/token;

而 16QAM:

8/4=28/4=2

个 symbols/token。

所以如果你改变 QAM order 却保持 token 数固定,CBR 实际上已经变了。

这恰恰是做 VQ+QAM 实验时最容易被 reviewer 抓住的问题。


我最建议你把实验表设计成这样

固定:

CBR{1192,148}.\mathrm{CBR} \in \left\{ \frac1{192}, \frac1{48} \right\}.

对于每一个 CBR 分别测试:

SNR={0,3,6,9,12,15} dB\mathrm{SNR} = \{0,3,6,9,12,15\}\text{ dB}

或者与 SwinJSCC 一致:

{1,4,7,10,13} dB.\{1,4,7,10,13\}\text{ dB}.

两种 channel:

AWGN\text{AWGN}

slow/block Rayleigh.\text{slow/block Rayleigh}.

然后两套 benchmark:

Kodak24:

PSNR,MS-SSIM,LPIPS.\text{PSNR},\quad \text{MS-SSIM},\quad \text{LPIPS}.

CLIC2021/2022:

同样三项。

再专门做一个 constellation ablation:

fixed QAMfree learned constellationVQ-guided constellation (ours).\begin{aligned} &\text{fixed QAM}\\ &\text{free learned constellation}\\ &\text{VQ-guided constellation (ours)}. \end{aligned}

这个 ablation 可能比再加三个无关 JSCC baseline 更能证明你的贡献。


我认为你现在最值得先下载的三个仓库

第一:MDJCM——与你的 digital/QAM 结构最接近,而且有 checkpoint。(GitHub)
MDJCM code

第二:SwinJSCC——Kodak/CLIC、1/48、AWGN/Rayleigh、weights 基本全齐。(GitHub)
SwinJSCC code

第三:MambaJSCC——同样支持 Kodak/CLIC、Rayleigh,并有 checkpoint。(GitHub)
MambaJSCC code

你现在这个课题里,euJSCC 和 VQJSCC 是最需要认真处理 related work novelty 的两篇;DeepJSCC-Q 和 MDJCM 是最需要真正跑数值 baseline 的两篇;SwinJSCC/MambaJSCC 是最适合证明你与强连续 JSCC 差距的两篇。

Chia sẻ Q&A này