# 1-RC and C filter¶

notes
```This filter is called 1-RC and C since it uses these two parameters. C and R correspond to
raw cutoff and inverted resonance, and have a range from 0 to 1.
```
code
 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```//Parameter calculation //cutoff and resonance are from 0 to 127 c = pow(0.5, (128-cutoff) / 16.0); r = pow(0.5, (resonance+24) / 16.0); //Loop: v0 = (1-r*c)*v0 - (c)*v1 + (c)*input; v1 = (1-r*c)*v1 + (c)*v0; output = v1; ```

• Date: 2005-01-13 18:25:57
• By: yes
```input is not in 0 - 1 range.

for cutoff i guess 128.

for reso the same ?
```
```Nice. This is very similar to a state variable filter in many ways. Relationship between c and frequency:

c = 2*sin(pi*freq/samplerate)

You can approximate this (tuning error towards nyquist):

c = 2*pi*freq/samplerate

Relationship between r and q factor:

r = 1/q

This filter has stability issues for high r values. State variable filter stability limits seem to work fine here. It can also be oversampled for better stability and wider frequency range (use 0.5*original frequency):

//Loop:

v0 = (1-r*c)*v0 - c*v1 + c*input;
v1 = (1-r*c)*v1 + c*v0;
tmp = v1;

v0 = (1-r*c)*v0 - c*v1 + c*input;
v1 = (1-r*c)*v1 + c*v0;
output = (tmp+v1)*0.5;

-- peter schoffhauzer
```