4 Replies Latest reply on Aug 22, 2019 1:33 PM by EmDr_1490911

    Tuneable Filter with PSOC ?

      Is it possible to build a tuneable filter with a PSOC ?
      How many different filters can you run simultanously on a PSOC device ?
      I would like to build an audio filter device where you can adjust the cutoff frequency during runtime by a rotary encoder.
      Is a quadrature encoder function part of the library for the PSOC ?
      The device should implement a bandpass filter, a band rejection filter, a lowpass filter and also a highpass filter.
      It should be possible to switch between this four different filter types.
      So if I use for the bandpass filter a combination of a lowpass and a highpass filter two filters should run at the same time.
      The filters should have a minimum order of four better six. The filter characteristic could be bessel or butterworth.
      Also the gain should be adjustable.
      So I will have a switch for the four filter types (Maybe also a rotary encoder), two rotary encoders for the cutoff frequencies and a fourth rotary encoder to adjust the gain of the device. I will have also to display the selected cutoff frequencies and maybe the selected filter type. So I need an LCD.
      Is it possible to build your own layout with a PSOC device ?
      If it is in general possible to build such a device which PSOC should I use ?
      There will be an analog input with a sample rate of 44.1 KHz (Maybe 12 bit resolution) and an analog output for the filtered signal.
      As an alternative solution I can only imagine an clock controlled integrated filter controlled by a microcontroller.

        • 1. Re: Tuneable Filter with PSOC ?

          I think its possible with a PSoC, but not directly with the out-of-the-box components. There is a filter component which does what you need, but it can be configured onlty during build time. There was a discussion here http://www.cypress.com/?app=forum&id=2232&rID=56121 where you might follow up on how to configure the filter during runtime.


          What might work is to implement a digital filter on your own, but this might get complex...


          A suggestion would be to ask here: http://www.cypress.com/?id=2820 .


          And to answer at least one question positively: yes, there is a quadrature encoder readily available, together wird modules to work with text or graphical (TFT-like) displays.

          • 2. Re: Tuneable Filter with PSOC ?

             Is it possible to build a tuneable filter with a PSOC ?


            Yes it is possible to build a tuneable digital filter with PSoC3.


            How many different filters can you run simultanously on a PSOC device ?


            The digital filter block in PSoC has 2 filter channels that can run parallely.  


            There is a quardarture decoder in PSoC Creator library. I am afraid there is no Quadrature encoder at this point of time.


            You can take advantage of the power of DMA in PSoC to switch between different filters(Lowpass, highpass, bandpass, bandrejection etc). The digital filter blocks makes use of a specific set of coefficients in its own RAM to perform filtering. If you can load the RAM with suitbale coeifficients you can change the filter characteristic in runtime. DMA comes handy in this aspect. The gain can be adjusted by adjusting the coefficients. 44.1KHz audio seems possible. But getting a analog output with a 12 bit resolution might not be possible with the exisitng DACs in PSoC. You need to pla around a little bit to achiev 12 bit DAC from 8 bit DAC, then again there are different challenges associated with that.




            Hope this helps...

            • 3. Re: Tuneable Filter with PSOC ?

               PSoC3 or PSoC5 should be your choice for this application.

              • 4. Re: Tuneable Filter with PSOC ?

                In PSoC1 you can implement switched capacitor filters with corner frequencies up to 180KHz. You can change their frequency response features on the fly using dynamical reconfiguration.

                The IDE PSoC Designer provides you an API that you can call from your user program and modify the values of filter's capacitors. It also provides you a Wizard which helps you when designing your filters.



                • You can implement up to four simultaneous second order filters, or two four order ones, or a single one of order eight.
                • High pass filters are not compatible with this platform.
                • There is support for LCD displays through an user module included in the IDE