Semantic Communication
Definition: Joint Source-Channel Coding (JSCC)
Joint Source-Channel Coding (JSCC)
JSCC with deep learning maps source directly to channel symbols:
where is a neural encoder and is a neural decoder. This bypasses the separation theorem for finite block lengths.
Example: Deep JSCC for Images
Implement a simple deep JSCC system for image transmission.
Solution
Architecture
class DeepJSCC(nn.Module):
def __init__(self, n_channels):
super().__init__()
self.encoder = nn.Sequential(
nn.Conv2d(3, 64, 3, padding=1), nn.ReLU(),
nn.Conv2d(64, n_channels, 3, padding=1),
)
self.decoder = nn.Sequential(
nn.Conv2d(n_channels, 64, 3, padding=1), nn.ReLU(),
nn.Conv2d(64, 3, 3, padding=1), nn.Sigmoid(),
)