So as I mentioned, 1D convolutions expect a 3D input as NxCxT.
In your case your N=2 and C=1.
You can simply expand the tensor. For example, you can project any line in a 2D plane, but this line can live in a N-dimensional space.
In short,
    def __init__(self, samples, labels):
        assert len(samples) == len(labels)
        
        self.samples = samples
        self.labels = labels
    
    def __len__(self):
        return len(self.samples)
    
    def __getitem__(self, i):
        return self.samples[i].unsqueeze(0), self.labels[i].unsqueeze(0)

Your signal which is a 1-D signal of size 2048, must be converted into a 2-D signal of size 1x2048 to use the convention ChannelsxTime. You must do this even if you have a single channel as in your case.
Lastly, the dataloader concatenate several of these 2-D signals to create a batch of size Nx1X2048.