I know that common rates are integer values like 2 or 3, but can multi-rate operations of decimation and interpolation can be used to implement a rate change by a factor of an irrational number? Common sense is telling me no, because irrational numbers can't be made from any set of integers by definition, so no combination of interpolation and decimation filters can generate the irrational number. There is also the fact that the MATLAB command resample.m uses the poly phase structure for implementing a sampling rate change by a rational factor. All signs are pointing to irrational numbers can't be done. Am I wrong in this thought process?
1 Answer
You're exactly right, with rational operations, you can't achieve an irrational ratio.
The only way out there is using some interpolative number, i.e. an arbitrary resampler.
However, in signal processing, you basically always deal with system that only run for a finite time and within that have a boundable tolerance against jitter or frequency error - so one common solution to that dilemma is, e.g. in receivers, to do the resampling with a slightly wrong, but rational ratio, and then let the symbol synchronizer, which often does some form of arbitrary resampling internally, anyways, take care of the rest.