I'm not ashamed for being wrong. If that'd be the case I would have been ashamed my whole life heh.
When I said consistency I was referring to low-error rate in the signal. I should have said that but couldn't find the correct word for it.
Efficiency meant efficiency in the bandwidth usage.
So in that sense, there's always a tradeoff between efficiency (use 100% of the bandwidth to transmit real data) and consistency (make sure that 100% of the sent data is error-free)
Now, when I first wrote my comment. I had the feeling that communication was very basic commands. like a 2 bit integer for movement direction (00 up, 01 down, 10 left, 11right). So if you'd use such a scheme to communicate instruction to the rover, there would be an obvious overhead (encoding 2 bit into 4, 10, etc).
But now that I really think about it, instruction sent to the rover are probably very complex, which increase entropy, which in the end, made my first assumption wrong, is this clear? I hope it is ;) If not, I can rephrase !
1) plain data initial stream.
2) compress it.
3) encrypt it or/and sign it.
4) add error-checking or even error-correction information.
The reason you do encryption (3) after compression (2) is because you don't want encryption to affect the compression rate of the initial stream.
If you were to do it in the reverse order (first encryption and then compression) then yes, the resulting message could be bigger.
My exposure to this stuff is limited to a few exercises in a Matlab class years ago, plus what I read on HN and Wikipedia. Based on what I understand, from a data transmission perspective, there is no difference between efficiency and consistency. There is a theoretical maximum amount of data that can be transmitted using a given medium, bandwidth, and error rate. The only goal is to get as close to that maximum as possible.
Also, there's no shame in admitting you're wrong. In fact, every opportunity to be wrong is an opportunity to learn.