i am trying to build complete tx and rx path which can support varies data rates. for example if my data rate have to support from 10 kbps to 1000 kbps. Can i keep the baseband processing fixed for all the data rates same. what i mean is using a CIC filter in tx and rx which always results in processing 4 samples/symbol. or should i use a resampler in the timing recovery which will result in the desired rate?
In general terms, it is usually advantageous to down-sample to the lowest sampling rate wherever possible- all things being equal it would be better to reduce to a lower sampling rate earlier in the receiver processing - for purposes of reducing resources required, power dissipation, etc.
The OP is using both a CIC and timing recovery block where the opportunity to change the symbol rate can be done in either location (for example to 4 samples per symbol in any case). Here the preferred approach would likely be in the CIC, to the extent that all subsequent blocks can run more efficiently, with the same performance metrics, at the lower sampling rate. If any such block would require or be improved with a higher sampling rate, then resampling further downstream would be preferred. This would be clear in the detailed implementation and specific to that. Also note that a CIC introduces a passband droop that may need to be compensated for. This can be easily implemented with a 3 tap FIR filter as I have demonstrated at this post.