[sdiy] Re: IIR and FIR
Csaba Zvekan
czvekan at gmail.com
Sat Jun 7 21:02:02 CEST 2008
Well.. since I can reflow SMD packages and saw some interesting deals
on Xilinx FPGA's on EBAY .I thought of maybe recreating some parts of
the development board for our own needs. As you mentioned maybe a
better,bigger DAC, perhaps a Crystal AD/DA chip some audio connectors
and Amplifiers. Basically customized for our SDIY needs.
Our own dev board.
Csaba
On Jun 7, 2008, at 8:35 PM, <res0658s at verizon.net>
<res0658s at verizon.net> wrote:
> Yeah, that's intentionally blank (according to the note on that page).
>
> What exactly are you looking for?
>
> Are you just curious?
>
> The connections to FPGA pins that go to any of the connectors on the
> board are all well documented in the Spartan-3E Starter Kit User's
> Guide PDF. Everything I've needed to know about the FPGA and the
> board is all in that document or other documents available from
> their website.
>
> I have no clue what would be on that page, but whatever it is, I
> haven't needed it.
>
>> From: Csaba Zvekan <czvekan at gmail.com>
>> Date: 2008/06/07 Sat AM 05:47:49 CDT
>> To: Synth-diy at dropmix.xs4all.nl
>> Subject: Re: [sdiy] Re: IIR and FIR
>
>> 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.
>>>
>>
>> _______________________________________________
>> 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)
More information about the Synth-diy
mailing list