When a Super Sample Rate operation is used, data is input and output using multiple ports.
The input data channel must be split over multiple ports where each successive input sample is sent to a different input port in a round-robin fashion, i.e., sample 0 goes to input port in[0]
, sample 1 to in[1]
, etc. up to N-1
where N = TP_SSR
, then sample N goes to in[0]
, sample N+1 goes to in[1]
and so on. Output samples are output from the multiple output ports in the same fashion.
For example, for a data stream that looks like: int32 x = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...
, with an SSR parameter set to 3, input samples should be split accordingly:
in[0] = 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, ... in[1] = 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, ... in[2] = 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, ...
The output data will be produced in a similar method.