[Csnd] Howto: Chebyshev I Type bandpass filter

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Howto: Chebyshev I Type bandpass filter

Anton Kholomiov
How to create this kind of filter in Csound?
(Chebyshev I Type bandpass filter)


The closest thing that I've found is clfilt

It can do Chebyshev I Type low and high pass.
But I need a bandpass

Is it right to create the band pass with superposition
of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,
Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

myrddinemrys

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Anton Kholomiov
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Anton Kholomiov
The algorith, is writtern in MATLAB and it uses the function `cheby1`
to get the coefficients for the filterand then feeds it to Biquad filter.
Actually we have the biquad filter implementaition but I'm not literate enough
to calculate the coefficients in raw Csound.



2018-03-12 21:51 GMT+03:00 Anton Kholomiov <[hidden email]>:
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Victor Lazzarini-2
http://csound.com/docs/manual-fr/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 18:54, Anton Kholomiov <[hidden email]> wrote:

The algorith, is writtern in MATLAB and it uses the function `cheby1`
to get the coefficients for the filterand then feeds it to Biquad filter.
Actually we have the biquad filter implementaition but I'm not literate enough
to calculate the coefficients in raw Csound.



2018-03-12 21:51 GMT+03:00 Anton Kholomiov <[hidden email]>:
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

mskala
In reply to this post by Anton Kholomiov
On Mon, 12 Mar 2018, Anton Kholomiov wrote:
> But I need it for reimplementation of specific algorithm, so
> in my case I need to replicate exact type of filter Chebyshev I

If you know the exact transfer function of the filter you want, you could
factor it and produce the same transfer function using an appropriate
number of biquad opcodes.

--
Matthew Skala
[hidden email]                 People before principles.
http://ansuz.sooke.bc.ca/

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Victor Lazzarini-2
In reply to this post by Victor Lazzarini-2
or in Eng

http://csound.com/docs/manual/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 19:03, Victor Lazzarini <[hidden email]> wrote:

http://csound.com/docs/manual-fr/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 18:54, Anton Kholomiov <[hidden email]> wrote:

The algorith, is writtern in MATLAB and it uses the function `cheby1`
to get the coefficients for the filterand then feeds it to Biquad filter.
Actually we have the biquad filter implementaition but I'm not literate enough
to calculate the coefficients in raw Csound.



2018-03-12 21:51 GMT+03:00 Anton Kholomiov <[hidden email]>:
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Anton Kholomiov
@Victor Yes this is right for Low and High pass, but Is it right to use a combo of them to create bandpass type?

@Matthew I can not use exact coefficients since they depend on k-rate input params of the algorithm

2018-03-12 22:04 GMT+03:00 Victor Lazzarini <[hidden email]>:
or in Eng

http://csound.com/docs/manual/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 19:03, Victor Lazzarini <[hidden email]> wrote:

http://csound.com/docs/manual-fr/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 18:54, Anton Kholomiov <[hidden email]> wrote:

The algorith, is writtern in MATLAB and it uses the function `cheby1`
to get the coefficients for the filterand then feeds it to Biquad filter.
Actually we have the biquad filter implementaition but I'm not literate enough
to calculate the coefficients in raw Csound.



2018-03-12 21:51 GMT+03:00 Anton Kholomiov <[hidden email]>:
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

mskala
On Mon, 12 Mar 2018, Anton Kholomiov wrote:
> @Matthew I can not use exact coefficients since they depend on k-rate input
> params of the algorithm

In principle you could calculate them (the biquad opcode takes k-rate
coefficients) but I recognize that that may be too complicated.

--
Matthew Skala
[hidden email]                 People before principles.
http://ansuz.sooke.bc.ca/

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Victor Lazzarini-2
In reply to this post by Anton Kholomiov
Use a LP and an HP in series. That would make a BP. Overlap the passband of one with the stopband of the other.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 19:06, Anton Kholomiov <[hidden email]> wrote:

@Victor Yes this is right for Low and High pass, but Is it right to use a combo of them to create bandpass type?

@Matthew I can not use exact coefficients since they depend on k-rate input params of the algorithm

2018-03-12 22:04 GMT+03:00 Victor Lazzarini <[hidden email]>:
or in Eng

http://csound.com/docs/manual/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 19:03, Victor Lazzarini <[hidden email]> wrote:

http://csound.com/docs/manual-fr/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 18:54, Anton Kholomiov <[hidden email]> wrote:

The algorith, is writtern in MATLAB and it uses the function `cheby1`
to get the coefficients for the filterand then feeds it to Biquad filter.
Actually we have the biquad filter implementaition but I'm not literate enough
to calculate the coefficients in raw Csound.



2018-03-12 21:51 GMT+03:00 Anton Kholomiov <[hidden email]>:
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Howto: Chebyshev I Type bandpass filter

Anton Kholomiov
Cool! Thanks for the advices!

2018-03-12 22:54 GMT+03:00 Victor Lazzarini <[hidden email]>:
Use a LP and an HP in series. That would make a BP. Overlap the passband of one with the stopband of the other.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 19:06, Anton Kholomiov <[hidden email]> wrote:

@Victor Yes this is right for Low and High pass, but Is it right to use a combo of them to create bandpass type?

@Matthew I can not use exact coefficients since they depend on k-rate input params of the algorithm

2018-03-12 22:04 GMT+03:00 Victor Lazzarini <[hidden email]>:
or in Eng

http://csound.com/docs/manual/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 19:03, Victor Lazzarini <[hidden email]> wrote:

http://csound.com/docs/manual-fr/clfilt.html

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Mar 2018, at 18:54, Anton Kholomiov <[hidden email]> wrote:

The algorith, is writtern in MATLAB and it uses the function `cheby1`
to get the coefficients for the filterand then feeds it to Biquad filter.
Actually we have the biquad filter implementaition but I'm not literate enough
to calculate the coefficients in raw Csound.



2018-03-12 21:51 GMT+03:00 Anton Kholomiov <[hidden email]>:
Thanks for feedback Justin!

But I need it for reimplementation of specific algorithm, so
in my case I need to replicate exact type of filter Chebyshev I

2018-03-12 21:47 GMT+03:00 Justin Rosander <[hidden email]>:

Hi Anton,

I use butterbp.

--Justin

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Monday, March 12, 2018 2:44 PM
To: [hidden email]
Subject: [Csnd] Howto: Chebyshev I Type bandpass filter

 

How to create this kind of filter in Csound?

(Chebyshev I Type bandpass filter)

 

 

The closest thing that I've found is clfilt

 

It can do Chebyshev I Type low and high pass.

But I need a bandpass

 

Is it right to create the band pass with superposition

of high-pass followed by low-pass with the same specs: dB ripple?

Or do you know a better method to create this filter?

Cheers,

Anton

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

 

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here