Is the redundant data introduced during forward error correction (FEC) counted as upsampling?
BUT, under certain conditions.
The whole point of FEC is to be able to detect and correct an error instead of simply detecting it and asking for re-transmission.
To achieve this, we encode the source symbols in a predictable and reversible way, adding some redundant information that, upon reception, helps us infer the symbol that was transmitted even if what was received was incomplete or "damaged" (but always within reason).
This does not come for free. The code rate expresses the amount of redundancy inserted in the data stream. For example a convolutional 1/3 code adds two redundant code bits for every source bit. Consequently, we now have to send 3 bits down the same line, instead of 1. Therefore, our effective data rate is lowered.
One of the simplest ways to "encode" the source data is to repeat them a number of times. Instead of sending 1, send 11111 (a 1/5 code).
On the receiving side, you decode by majority decoding. If most of the symbols received were 1, it is inferred that what was intended to be transmitted was 1 (and conversely for 0).
Upsampling is composed of two steps: The actual upsampling followed by interpolation which is required to "make up" the values of those in-between samples whose value we don't know because it was never captured.
- if you were to take a data stream, upsample it and use nearest neighbor interpolation (effectively repeating each sample a number of times) and...
- if you were then to send this augmented data stream down a communication channel, and...
- if you were to now use a majority decoder on the other side of the channel to infer which one was the level that was actually sent...
then, yes, THAT could count as upsampling.
Otherwise, FEC and upsampling / interpolation are only somehow related as both operations can modify the data rate and content of the signal in a predictable and reversible way. But they do not overlap so much as to count as the same thing.
Hope this helps.