Digital signal sampling frequency conversion is an important process for a more detailed analysis of digital signals. However, finding a quality software library that would implement different methods for this conversion is extremely difficult. The aim of this master's thesis is to create a library in the C ++ programming language, which, as an input receives a signal sampled with a certain frequency, and returns a signal sampled with a new frequency as an output. The user selects the frequency of the output signal and the conversion method. Three methods for signal conversion have been implemented: the sample-hold method, the linear interpolation method, and the method using a low-pass FIR filter. The results show that the fastest method for conversion is the sample-hold method, which brings a lot of noise and ambiguity to the signal. The method with a low-pass FIR filter has the highest quality results, but at the expense of speed, as it is almost three times slower than the sample-hold method. This is true for theoretical signals, but as we see in examples of real signals this is not always the case. In the examples, we see that the method with the FIR filter does not necessarily return the highest quality result, especially when the change in sampling frequency is very large. In these cases, the linear interpolation method and sample-hold method give much better results than the FIR filter method.
|