The problem: We have a digital signal sampled with 600 sample/sec, now we want to decimate the signal to lower sample rates, for example 200, 100, and 50 sample/sec for seismic applications), so the problem here is a combination of aliasing and decimation.
Present solution (example: 600sps to 200sps): designing a digital filter with the desired frequency response and obtain the time domain function of this filter (using inverse FFT, the corresponding SINC function), Then convolve this SINC function with the input signal to obtain the filtered signal with no aliasing.
Questions:
1- what parameters should be evaluated when deciding to choose the best filter design (passband ripple, stopband attenuation, …)? And can we achieve the best design by optimizing all these parameters at the same time, considering our hardware limitations like low sampling rate?
2- Hoe can we obtain the output signal with the minimum attenuation of the input signal in the passband part of the filter, and at the same time the maximum attenuation in the stopband of the filter?
3- What is the best number of order for a lowpass filter? Is sampling rate acts as a limitation here?
Here I have shared an example of using a digital filter ( 600 sample to 200 sample), this filter designed in MATLAB filter builder app, the steps taken are as follows:
1- Type of filter: lowpass
2- Impulse response: FIR
3- Order mode: first try (minimum order or automatic) ----second try (100, 500, and 1000)
4- Filter type: single rate
5- 5- pass band frequency: 90 stopband frequencie: 100 (the desired sample rate is 200sps),
6- In the case of choosing the minimum order design (step 3), the passband ripple was set to be 1dB, and the stopband attenuation to be 80 dB,
7- Design method: Equiripple
8- Structure: direct from FIR
The results are presented in the attached figures,
Now, I would be appreciated if anyone can help me answer the question 1-3 mentioned above, or give me some advice on the procedure, for example how the attenuation of signal in the frequencies lower than 90 Hz, could be avoided?
The tests are carried out by applying a generated signal with the amplitude of 1volt p-p, and at the frequencies of 0.1, 1, 10, 20, 30, 40, 50, 60, 70, 80, 85, 90, 95, 100, 105 Hz to the ADC and obtaining 600 SPS signal, then this digital signal imported in MATLAB.