I am using a DSP kit TMS320c6711. It has a fixed sampling rate of 8000 samples per second. As I have to do real time filtering of frequencies above 5oHz with sharp cut off, I must reduce the sampling frequency to around 1000 samples per second. Suggestions are highly appreciable.

  • $\begingroup$ why must you reduce it? is it not possible to do real time at 8000Hz? $\endgroup$ – geometrikal Jun 2 '14 at 7:55
  • $\begingroup$ My signal is a very low frequency signal. If I use very high sampling rate,I am forced to increase the order of the filter to around 4000.. $\endgroup$ – santhuu89 Jun 2 '14 at 8:49
  • 4
    $\begingroup$ Downsample, filter, upsample. Requires a bit more computations for the decimation and interpolation filters, but you should save about a factor eight in your actual filtering. If you know for sure that you have no information above 1kHz you can simplify (remove) the decimation filters quite a bit (still some quantization noise that you may not want to fold in). You probably want to downsample in multiple stages using half-band filters. $\endgroup$ – Oscar Jun 2 '14 at 8:53
  • 1
    $\begingroup$ i'm also quite skeptical of the need to downsample. 8 kHz is pretty low. depending on how low you need your resonant frequencies, the TMS320c6711 does floating-point and you can represent very low frequencies by using this trig identity: $$ \cos(\omega_0) = 1 - 2 \sin^2(\omega_0/2) $$ where $\omega_0 = 2 \pi f_0 / f_s$. if you make that substitution in your design equations and let that change propagate into the difference equations implementing filters inside, you can set the resonant frequency virtually as low as you want in floating point. $\endgroup$ – robert bristow-johnson Jun 2 '14 at 19:08
  • 1
    $\begingroup$ i guess another trig substitute to make (from some of the standard design equations you get in the lit) is $$ \tan(\omega_0/2) = \frac{\sin(\omega_0)}{1+\cos(\omega_0)} $$ and $$ \tan^2(\omega_0/2) = \frac{1-\cos(\omega_0)}{1+\cos(\omega_0)} $$ (these come from the frequency warping that happens with analog filters converted to digital using the bilinear transform.) then use the identity above to deal with $\cos(\omega_0)$. using just a little careful numerical technique can cover a lot of problems that come from very low resonant frequencies. $\endgroup$ – robert bristow-johnson Jun 2 '14 at 19:19

Your Answer

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

Browse other questions tagged or ask your own question.