invalid conversion from 'uint16_t* error when creating an array of uint16_t items
You have two options.


You can make an array of arrays like this:




const uint16_t sources[3][RAW_DATA_LEN] = {
    { 8546, 4310, 558, ... }, // CD
    { 8550, 4310, 526, ... }, // AUX
    { 8550, 4306, 530, ... }  // CDR
};


But then you don't have the sourceCD, etc. variables any more. If you
want, you could #define aliases for them like this:

#define sourceCD  (sources[0])
#define sourceAUX (sources[1])
#define sourceCDR (sources[2])



You can make an array of pointers, as suggested in the comments:




const uint16_t sourceCD[RAW_DATA_LEN]  = { 8546, 4310, 558, ... };
const uint16_t sourceAUX[RAW_DATA_LEN] = { 8550, 4310, 526, ... };
const uint16_t sourceCDR[RAW_DATA_LEN] = { 8550, 4306, 530, ... };
const uint16_t *sources[3] = { sourceCD, sourceAUX,  sourceCDR };


This works because, in the last line, the array identifiers such as
sourceCD implicitly “decay” to pointers to their first elements. Note
the const keyword in the last line, needed for consistency with the
types of the arrays declared above.