Author |
Message |
VA1
Joined: Aug 20, 2018 Posts: 98 Location: Nederland
|
Posted: Fri Aug 31, 2018 6:35 am Post subject:
All pass filter with variable frequency Subject description: all pass filter variable frequency |
|
|
Hi, i like to have a allpass filter with variable frequency so i can make a phaser.
I dont understand what is the difference between allpass and delay line ?
The examples online dont give anything about variable frequency.
I already have coefficients for VCF, i hope i can re use them for allpass filter.
Any ideas ? |
|
Back to top
|
|
|
JovianPyx
Joined: Nov 20, 2007 Posts: 1988 Location: West Red Spot, Jupiter
Audio files: 224
|
Posted: Fri Aug 31, 2018 7:22 am Post subject:
Re: All pass filter with variable frequency Subject description: all pass filter variable frequency |
|
|
VA1 wrote: | Hi, i like to have a allpass filter with variable frequency so i can make a phaser.
I dont understand what is the difference between allpass and delay line ? |
A delay line is a collection of delay elements or memories each of which will delay the signal by exactly one sample time. A typical delay line in program code starts with an array of elements each capable of holding one digital sample. A read/write index or pointer into the array is advanced each sample time.
An all pass filter is a filter which has little effect directly on the spectral content of the input signal, but can delay it by as much as one sample time. The actual amount of delay is controlled by a number from 0.0 to 1.0.
Quote: | The examples online dont give anything about variable frequency.
I already have coefficients for VCF, i hope i can re use them for allpass filter.
Any ideas ? |
The all pass filter is not a filter that attenuates certain frequencies such as how a SVF works, it delays the signal by a fractional variable amount up to one sample time. Another way to state that is to say it shifts the phase. All pass filters can be used with modulation driving their delay amount in a phaser.
EDIT ADD: More digital all pass filter information can be found here: https://authors.library.caltech.edu/12029/1/REGprocieee88.pdf _________________ FPGA, dsPIC and Fatman Synth Stuff
Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat? corruptio optimi pessima
|
|
Back to top
|
|
|
VA1
Joined: Aug 20, 2018 Posts: 98 Location: Nederland
|
Posted: Fri Aug 31, 2018 9:31 am Post subject:
|
|
|
I have seen that one, hard to program things from professor info. |
|
Back to top
|
|
|
gabbagabi
Joined: Nov 29, 2008 Posts: 651 Location: Berlin by n8
Audio files: 23
|
|
Back to top
|
|
|
JovianPyx
Joined: Nov 20, 2007 Posts: 1988 Location: West Red Spot, Jupiter
Audio files: 224
|
Posted: Sat Sep 01, 2018 11:04 am Post subject:
|
|
|
While using filters like SVF for all pass is intriguing and interesting, I've seen much simpler ways to get all pass in analog, one circuit uses only one opamp, but I don't know if there are other ramifications.
In the digital domain, the process is also very simple and "tunable" with respect to the delay.
The MXR Phase-100 analog phaser schematic
There you can see it has 6 stages of modulated all pass filters (each using only one opamp).
That could be used as a template to model a digital phaser. _________________ FPGA, dsPIC and Fatman Synth Stuff
Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat? corruptio optimi pessima
|
|
Back to top
|
|
|
VA1
Joined: Aug 20, 2018 Posts: 98 Location: Nederland
|
Posted: Sun Sep 02, 2018 6:28 am Post subject:
|
|
|
A allpass should be really simple without many code, or in analog 1 opamp indeed.
take this 1 pole lowpass with a & b coefficients :
Code: |
#define ProcessLP( p , in , a , b ) \
lTemp = in; \
lTemp += p.lastin; \
lTemp *= a; \
lTemp >>= 15; \
\
lTemp2 = p.lastout; \
lTemp2 *= b; \
lTemp2 >>= 15; \
\
p.lastout = lTemp + lTemp2; \
p.lastin = in; \
|
What do need change to get lowpass, it should be that simple. |
|
Back to top
|
|
|
Grumble
Joined: Nov 23, 2015 Posts: 1294 Location: Netherlands
Audio files: 30
|
Posted: Sun Sep 02, 2018 12:30 pm Post subject:
|
|
|
I have used several MAX261 switched capacitor filters in my synth and they have an all pass filter possibility (which I don't use).
They work pretty well, but in the lower frequencies there is some bleeding of the clock frequency.
What I usually do is to have the clock frequency for the filter made by an AD9833 Programmable Waveform Generator, which on its turn is programmed with an arduino.
So in the end you have quite a circuit, but it will work!
HERE is an Youtube film where I use my filter. _________________ my synth |
|
Back to top
|
|
|
VA1
Joined: Aug 20, 2018 Posts: 98 Location: Nederland
|
Posted: Mon Sep 03, 2018 6:47 am Post subject:
|
|
|
Digital only please, maybe for a next synth analog. |
|
Back to top
|
|
|
Grumble
Joined: Nov 23, 2015 Posts: 1294 Location: Netherlands
Audio files: 30
|
Posted: Mon Sep 03, 2018 7:23 am Post subject:
|
|
|
That wasn't clear in your first post
The forum index doesn't gave it away either : Microcontrollers and Programmable Logic _________________ my synth |
|
Back to top
|
|
|
|