[sdiy] Re: IIR and FIR
Csaba Zvekan
czvekan at gmail.com
Sat Jun 7 12:47:49 CEST 2008
Hi Scott,
When I looked at xilinx products download page .I found the schematics
for the Spartan 3E Starter Kit. But the page 3 was blank. And that's
where you should see how the actual FPGA chip is connected to rest of
the peripherals. I don't know why they don't want to show us that. But
do you have a schematic that shows the actual connection of the
XC3S500E-4FG320C ?
Every development board should have access to schematics. I mean what
good is it if you can't replicate what you just learned, right ?
So there must be something out there ... maybe not for the public.
Csaba
On Jun 6, 2008, at 4:12 PM, Scott Gravenhorst wrote:
> Csaba Zvekan <czvekan at gmail.com> wrote:
>> This first article looks like it's for an AVR MCU.
>>>> www.gamedev.net/reference/articles/article845.asp
>>
>> Kind of promising. What about 16-bit dsPIC's has anybody done some
>> filtering there with resonance.
>
> I haven't been there yet... I just woke up. (c:
>
>> Oh by the way Scott, you totally got me infected with FPGA.
>
> Well, I didn't do it on purpose, but I can't help it, it's been such
> an awesome tool.
> In fact, before I got into FPGA synths, I started to build a digital
> monosynth out
> of an old PC. I figured a 133 MHz 486 would be fast enough for a
> decent monosynth
> until I found that the Intel OUT instruction took 1.5 uSec to
> execute - that was such
> crap I gave up on the idea. A few weeks later, I met with Jim
> Patchell who infected
> me with FPGA-itis.
>
>> I already
>> watched all kinds of cool stuff on youtube about that topic.
>> So for that money I ordered the SPARTAN 3E Starter Kit ... let's see
>> what I can do with it.
>
> I don't think you can get more bang for the buck. What is so cool
> is that it can be
> one kind of synth today, and just by pushing a new bit file into it,
> it becomes a
> different synth.
>
> I ended up buying a total of FOUR of the boards so that I can have a
> whole band of
> FPGA synths.
>
>> What did you say was the forum and community for it. I mean besides
>> your FPGASYNHT.
>
> Go here: http://rubidium.dyndns.org/cgi-bin/mailman/listinfo/fpga-
> synth
>
>> Also , do you have some good resources for the actual chip. Once
>> you're done developing you want to reflow something up, right?
>
> Well, I don't, I use the board directly as a musical instrument.
> The board is quite
> complete for a basic synth. It has two minor weaknesses IMO - it
> could use static
> RAM (it has SDRAM which presents timing issues because it shares
> FPGA pins with the
> SPI DAC) and it could use a bigger DAC. The DAC on the board is 12
> bit and runs FAST
> (for audio) at 1.0 MHz max. There is a 100 pin hirose connector on
> the dev board
> which allows connecting an external board to it. Two styles exist,
> through-hole and
> surface mount. I need to get some of those. BTW, if you've
> listened to the samples
> of synth projects I've posted, they are all running through that 12
> bit DAC giving
> you an idea of just how good 12 bits can sound. I'm satisfied
> enough that I'm not
> hell-bent on getting a bigger DAC. And one thing I've noticed about
> DACs is that
> many have rather low maximum sample rates, and I like having high
> sample rates at
> least available to me.
>
> The actual FPGA data sheet is in PDF form downloadable from Xilinx.
> It's an
> excellent reference document and is quite complete. Their site can
> be somewhat weird
> to navigate though and may require that you register (free) in order
> to download some
> of the documents and free software. If you have trouble getting the
> data sheet, I
> have it (actually, I have several) and can send it.
>
> Something I have spoken with others about is the idea of creating a
> special
> music/audio dev board with a big-nasty FPGA on it. The Spartan-3E
> Starter Kit is
> great, but it is a general purpose dev board with a bunch of stuff I
> don't use. A
> board designed especially for synths and effects processing would be
> great, but so
> far, nobody I've spoken with has the technical skill and/or time to
> put it together
> (multilayer PCB using BGA technology for the FPGA).
>
>
>> On Jun 6, 2008, at 3:26 PM, Scott Gravenhorst wrote:
>>
>>> Veronica Merryfield <veronica.merryfield at shaw.ca> wrote:
>>>> Here's a few links to get you going
>>>>
>>>> www.gamedev.net/reference/articles/article845.asp
>>>> www.music.mcgill.ca/~gary/307/week2/filters.html
>>>> members.tripod.com/acmerock/tech/DXi2Tutorial.htm
>>>
>>> Ah, thanks, Magnus' email started me reading about bilinear
>>> transforms which I looked
>>> at earlier while I was investigating digital filter topologies.
>>>
>>>> But as I said, you really do have to pay a lot of attention to the
>>>> numbers. Whilst the third of the links above has the term
>>>> calculations
>>>> for a variety of filter types, each term requires a trig function
>>>> and
>>>> some a divide. The simple formulas hide the effects of not only
>>>> sample
>>>> rate and quantisation errors of the samples, but it is compounded
>>>> by
>>>> quantisation of the terms and calculations. This is further
>>>> affected
>>>> by the trig functions and so on. I did the most work with fixed
>>>> point
>>>> 16 bit DSP simulating diesel engines to test ECUs and it took a lot
>>>> of
>>>> fiddling to get the thing to work well but it did work extremely
>>>> well.
>>>> With floats, things are a lot easier and in many cases most people
>>>> probably don't look into the numbers too deeply but for a PIC
>>>> implementation. Unless a fast PIC and floats are used, a fair
>>>> amount
>>>> of care and time are going to be needed to make it work but I
>>>> know it
>>>> can work since a PIC is not too far away from a Z80.
>>>>
>>>> (One can get very fed up with Z transforms and bilinears after a
>>>> while, specially if the IIR keeps oscillating on you). Which
>>>> reminds
>>>> me, they can produce beautiful sines :)
>>>>
>>>>
>>>> On 5-Jun-08, at 5:09 PM, Magnus Danielson wrote:
>>>>
>>>>> From: Scott Gravenhorst <music.maker at gte.net>
>>>>> Subject: [sdiy] Re: IIR and FIR
>>>>> Date: Thu, 05 Jun 2008 16:24:13 -0700
>>>>> Message-ID: <200806052324.m55NOD9l030103 at linux7.lan>
>>>>>
>>>>>>> Veronica Merryfield wrote:
>>>>>>> I have used IIR filters going back 20 years now even on a poor
>>>>>>> 6Mhz
>>>>>>> Z80 and they do resonate. FIRs don't resonate but IIRs do - it's
>>>>>>> why
>>>>>>> they are called Infinite Impulse Response . I can some code
>>>>>>> somewhere
>>>>>>> in my archive for taking cutoff frequency and resonance and
>>>>>>> producing
>>>>>>> the parameters which I can try to find if required but there are
>>>>>>> examples on the web.
>>>>>>
>>>>>> Are these sweepable filters?
>>>>>>
>>>>>> I'm interested in a frequency sweepable IIR with controllable
>>>>>> resonance. I.e., are they an acceptable alternative to an SVF?
>>>>>>
>>>>>> An SVF sounds very good to me, but does have high sample rate
>>>>>> demands.
>>>>>
>>>>> Now, this is a bit problematic. Bilinear transformed filters
>>>>> (which
>>>>> have good
>>>>> properties) tend to use arctan compensation. Doing that in
>>>>> realtime is
>>>>> expensive. However, for higher sample rates the filter cut-off
>>>>> stays
>>>>> close to
>>>>> 0 and things can be approximated and behave fairly linear.
>>>>>
>>>>> If you map your integrators bilinearly you get for each integrator
>>>>>
>>>>> i1 = i0
>>>>> i0 = i1 + i*T
>>>>> o = i0 + i1
>>>>>
>>>>> where i is the input, o the output and T is the sample time. i0
>>>>> and
>>>>> i1 is the
>>>>> integrator state variables.
>>>>>
>>>>> Converting a normal SVF into this form is trivial and only a
>>>>> slight
>>>>> variation
>>>>> of what you already have around:
>>>>>
>>>>> http://www.fpga.synth.net/pmwiki/pmwiki.php?n=FPGASynth.SVF
>>>>>
>>>>> However, you can approximate the sin such that f = 2 pi Fc / Fs. I
>>>>> think you
>>>>> are getting my point... the real trick is the sample rate and the
>>>>> handy
>>>>> reductions it allows you to do.
>>>>>
>>>>> Cheers,
>>>>> Magnus
>>>>> _______________________________________________
>>>>> Synth-diy mailing list
>>>>> Synth-diy at dropmix.xs4all.nl
>>>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>>>
>>>> _______________________________________________
>>>> Synth-diy mailing list
>>>> Synth-diy at dropmix.xs4all.nl
>>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>>>
>>>
>>> -- ScottG
>>>
>>> -----------------------------------------------------------------
>>>
>>> -- Scott Gravenhorst
>>> -- GateManPoly - FPGA Based Polyphonic MIDI LA/FM Synthesizer
>>> -- GateMan-III - FPGA Based Monophonic MIDI LA/FM Synthesizer
>>> -- PolyDaWG/8 - FPGA Based 8 Voice Polyphonic MIDI Synthesizer
>>> -- FatMan: home1.gte.net/res0658s/fatman/
>>> -- NonFatMan: home1.gte.net/res0658s/electronics/
>>> -- When the going gets tough, the tough use the command line.
>>>
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at dropmix.xs4all.nl
>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>
>> **************
>> http://www.csabazvekan.com
>> music stuff
>> http://www.csaba.ch
>> electronic stuff
>> http://www.synthmaniac.com
>> synthesizer stuff (not fully set up yet)
>>
>>
>>
>>
>>
>
> -- ScottG
>
> -----------------------------------------------------------------
>
> -- Scott Gravenhorst
> -- GateManPoly - FPGA Based Polyphonic MIDI LA/FM Synthesizer
> -- GateMan-III - FPGA Based Monophonic MIDI LA/FM Synthesizer
> -- PolyDaWG/8 - FPGA Based 8 Voice Polyphonic MIDI Synthesizer
> -- FatMan: home1.gte.net/res0658s/fatman/
> -- NonFatMan: home1.gte.net/res0658s/electronics/
> -- When the going gets tough, the tough use the command line.
>
More information about the Synth-diy
mailing list