1
$\begingroup$

I believe that there is no connection between the sampling frequency used for converting an analogue filter to digital filter and the one used to sample a signal that the filter will be used on. But I would like to confirm this from someone who knows.

I like to confirm that sampling frequency(e.g when using bilinear or impulse invariance method) used to convert analogue to digital filter can be chosen independent of the sampling frequency used to record analogue to digital signal. E.g. can an analogue filter converted to its digital equivalence using the bilinear transform at 100 Hz be used to filter a digital signal sampled at 1000 Hz?

$\endgroup$
  • $\begingroup$ But that will shift the frequency of the filter. So if you design a filter for fs of 100 Hz to remove everything below 10 Hz, then the same filter applied for fs 1000 Hz will remove everything below 100 Hz. When filters are being designed we are using normalised frequencies - normalised by fs. $\endgroup$ – jojek Feb 1 '18 at 21:15
  • $\begingroup$ I know that the frequency response of the filter will depend on the signal sampling frequency. But when converting an analogue filter to digital, the filter is also sampled at a rate, fs. The bilinear transform method says fs is just an arbitrary constant. The impulse invariance method says fs needs to be high enough to avoid filter frequency response aliasing. Unless am getting completely confused, my guess is that fs is different from Fs used to sample the signal and serve to correctly digitize an analogue filter. $\endgroup$ – Chika Feb 2 '18 at 7:01
0
$\begingroup$

Let's assume you work with a FIR filter, so you, in general, will just convolute a signal and an impulse response of the filter. Below you can find a C-code snippet for such a convolution.


#define L (4) //filter lenght
int FIR(int a)
{
static int i=0, reg[L]; //current position and  input signal
static const int h[L]={1,1,1,1}; //impulse response
int b=0;//output signal
reg[i]=a; //a first input value is a first output value
for(int j=0;j=L-1;j++) //convolution
  {
  b=b+h[j]*reg[i];
  i=(i-1)&(L-1);
  }
i=(i+1)&(L-1); //go to the next input
return b;
}

You can call this procedure with a 'filter sampling rate' T<=4t, where t - is a 'signal sampling rate'. The example above is just for an illustration of the idea. (It is just moving average with four points, therefore you could do the same much easier). In order to simulate analogue signal as accurate as you can with a given sampling rate, T have to be equal to t.

$\endgroup$
0
$\begingroup$

There is a relation between those two sampling frequencies. Let's assume you want to design a digital lowpass filter $h[n]$ from an analog prototype lowpass filter $h(t)$ by the method of impulse invariance.

Assume that the analog lowpass filter has a cutoff frequency of $f_c$ in Hz. Then you must use a filter sampling frequency, $f_{sf}$, that's at least twice greater than this $f_c$ to avoid aliasing in the resulting digital filter's spectrum.

After you've obtained the digital filter $h[n]$, its corresponding cutoff frequency in discrete-time frequency will be: $$ w_c = 2\pi \frac{f_c}{f_{sf}} $$

Forex. with $f_c = 1$ kHz and $f_{sf} = 4$ kHz, then the cutoff frequency of $h[n]$ will be $w_c = \pi / 2$

When this filter is used within a DSP system where the input signal is sampled at $f_{ss}$ Hz, then the effective analog cutoff frequency of the digital filter will be $$f_{ec} = \frac{\omega_c}{2\pi } f_{ss}$$ Hz. For the above example if you select a signal sampling frequency of $f_{ss} = 10$ kHz, then the effective analog cutoff frequency will be: $$f_{ec} = \frac{\pi/2}{2\pi } 10k = 2.5 \text{kHz}$$

Therefore there is a two stage process of finding the actual effective frequency. In order to avoid this two stage projection of the sampling frequencies on the actual frequencies, it's better to start by the specifications of the digital filter in the digital domain such as the required cutoff frequency $\omega_c$ and then project this into the analog filter prototype design, at an arbitrary filter sampling frequency $f_{sf}$. Then the resulting digital filter will always have the requested digital cutoff frequency $\omega_c$ and will behave based only on the signal sampling frequency $f_{ss}$ as expected.

$\endgroup$
  • $\begingroup$ From you explanation I do not see how the filter sampling frequency is related to the signal sampling frequency. The filter frequency is chosen to avoid filter frequency response aliasing. While the signal sampling frequency is chosen to avoid signal spectrum aliasing. These sampling frequencies seem to be chosen independently. the reason one thinks about the signal sampling frequency when designing filter is because of the filter cyclic cutoff frequency but not the filter sampling frequency. Am I missing something? $\endgroup$ – Chika Feb 11 '18 at 12:04
  • $\begingroup$ In the case of the bilinear method filter aliasing does not exist; so can we not theoretically make the filter sampling frequency anything when using bilinear method? $\endgroup$ – Chika Feb 11 '18 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.