DSP Device for Guitar Pedal Effect

OK guys,

The floating point math is a moot, now that I have been introduced to CORDIC.

Futhermore even that is moot now that I just found the FV-1 by SpinSemi.com It includes ADC and DAC on the die. It looks like just what I want.

I'm off to investigate further...

Reply to
Fred
Loading thread data ...

That says more about DSP devices than devices with an ARM core.

IMHO DSPs have become niche devices made obsolete by more powerful low end microcontrollers, cheap multifunction FPGAs and PCs that have an endless amount of processing power.

Besides that using assembler is very prone to a massive vendor lock-in which can seriously injure business on a long term scale.

At a different employer about 5 or 6 years ago we where talking with a company (say company A) that build DSP based solutions. At one point company A choose to use Motorola DSPs and write all their software in assembler. Moving on the the next generation Motorola DSP was already a big problem. Not to mention moving to another platform. We wanted to get a license to use their algorithms on a PC platform but soon realised assembly code had moved company A into a dead end street where most of their work would be lost.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
                     "If it doesn\'t fit, use a bigger hammer!"
--------------------------------------------------------------
Reply to
Nico Coesel

The rest of the world uses compilers and libraries that call hand-bummed BLAS (Basic Linear Algebra Subprograms) routines that take care of most of the machine dependence. Doesn't that work on embedded DSPs?

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal
ElectroOptical Innovations
55 Orchard Rd
Briarcliff Manor NY 10510
845-480-2058
hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs

Never used them, but I understand that the Texas dsp C compilers are pretty good these days and are optimised closely to the target architecture. Probably the same for ad stuff as well. It's a fairly competitive market, so the vendors would take advantage of every hardware wrinkle the device could offer, which itself will be optimised for the compiler output. If you have control over both, there should be no need for asm most of the time.

/rant on If you are designing anything other than trivial software, a high level language allows abstract system concepts to be translated into code far more readily than asm. Other benefits include creation of standard source libraries that often just need a recompile for another architecture, as just about everything is ansi C now. The whole point of standard libs is that you don't end up reinventing the wheel for every project and you avoid the sort of "cut and paste into a new project" style development, complete with all the old project's bugs, that serves as a development model in some places that i've seen. Finally, it saves time and money. /rant off

Probably teaching granny here etc. Apologies if going on a bit :-)...

Regards,

Chris

Reply to
ChrisQ

I'd drop the 96kHz requirement to half that. At most. For guitar, an Fs of 20Khz might be good enough. You might be able to proto the thing in a VST plugin.

-- Les Cargill

Reply to
Les Cargill

There are many good reasons to oversample. It is always used in medium to high end digital audio stuff nowdays. (mainly because most pro audio ADC's do it) Generally it helps with writing better and more accurate filters.

Mainly it fixes the problems of aliasing. If you sample and audio signal then you need to have either a very sharp analog filter at, say, 20khz or a very gradual one at, say, 1Mhz with 10x oversampling. Then you can write better digital filters for the sharp filtering. It is easier for to create a sharp digital filter than an analog filter if your doing other digital processing.

Basically by oversampling your moving the need for sharp filtering from the analog side to the digital. All it really boils down to is initially treating the input as if it had a much higher bandwidth.

The point here is that actually it is generally better(Cheaper and more accurate) to sample an audio signal upwards of 1Mhz. Of course it requires more processing power unless the ADC does this internally.

Reply to
Jon Slaughter

I'm vainly trying to imagine why a guitar pedal would need a sharp filter *internally*.... they're generally collections of allpass filters at the most sophisticated.

You'll get well-oversampled D/A and A/D anyway, which is where the steep ones are needed.

All I'm saying is that electric guitars obey a relatively modest bandlimit. Not all of them, mind you - a Firebird or Danelectro can throw 30KHz.

And it might be worthwhile prototyping as a VST to find out what you'd lose moving the bandlimit down. And the interest in moving the bandlimit down is to use a more modest CPU for the actual effects processing - big cost driver and power sucker.

They do, at least any I'm even remotely familiar with that would be appropriate. And I'm really at least five years out of date - I imagine the world has moved on.

-- Les Cargill

Reply to
Les Cargill

You don't understand. It's not necessarily from the guitar(the guitar has it's own low pass filter). Any signal that might get on the line(from radiation or whatever) can be aliased back if not filtered. This is always the case what ever the source. You must filter before sampling or you will get aliasing of the higher frequencies(above the nyquist) into the frequency band your after. (in fact this can be useful in some cases)

The guitar's bandwidth maybe, say, 15khz so you sample at 30khz. The guitar is bandlimited because of filtering(assuming it has one) but any noise on the line that introduces frequencies above 15khz will be aliased back into the signal(and effectively be part of the signal). A very sharp low pass filter at 15khz would take care of all that since it will remove any potential for aliasing(except any created between the filter and the ADC or in the ADC).

Reply to
Jon Slaughter

Not really. Sharp filters usually need a high Q which means you'll lose resolution if you're not carefull. Sharp digital filters do have their pitfalls. Besides, it is easier to make a sharp filter close to half the sampling frequency (i.e. max bandwith) than half way the sampling frequency because you can have the zeroes closer together.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
                     "If it doesn\'t fit, use a bigger hammer!"
--------------------------------------------------------------
Reply to
Nico Coesel

Um... really. Look it up. Read up on oversampling and you might learn something.

formatting link

There are three main reasons for performing oversampling:

a.. It aids in anti-aliasing because realisable analog anti-aliasing filters are very difficult to implement with the sharp cutoff necessary to maximize use of the available bandwidth without exceeding the Nyquist limit. By increasing the bandwidth of the sampled signal, the anti-aliasing filter has less complexity and can be made less expensively by relaxing the requirements of the filter at the cost of a faster sampler. Once sampled, the signal can be digitally filtered and downsampled to the desired sampling frequency. In modern integrated circuit technology, digital filters are much easier to implement than comparable analog filters of high order. b.. In practice, oversampling is implemented in order to achieve cheaper higher-resolution A/D and D/A conversion. For instance, to implement a

24-bit converter, it is sufficient to use a 20-bit converter that can run at 256 times the target sampling rate. Averaging a group of 256 consecutive 20-bit samples adds 4 bits to the resolution of the average, producing a single sample with 24-bit resolution. Which obviously completely contradicts what you have said. Of course I imagine your just another person who believes facts just get in the way?
Reply to
Jon Slaughter

The development boards are $125, although the SDK only runs on XP. I kicked M$ to the curb years ago. I have to talk with Spin's tech support about making it WINE compatible.

It's been quite a while since I did any coding, and even then it was only a some numerical routines for crypto stuff on the Digital Mars C compiler. So, any coding now is going to be like the first time...

I did start off with IBM 360/370 BAL in college. Gee, that was al the way back in the eighties. I used to dream in assembler back then. :)

Anyway, I'll have to work out which will be the most direct prototyping a VST plugin or going right to the development board.

My views on sample rate is that ten time over the highest frequency is good. That would make mean 200kHz for audio work. I have a mechanical engineer buddy that has done stress analysis on stuctures with DAQs and pressure sensors. According to him to get good enough samples for analysis you have to ten times over.

In my SPICE work, I found for FFT audio plots you have to go ten time over to get smooth plots. In guitar effects that use low sampling rates, 44.1kHz and lower, I can hear the difference in sound quiality from the ones that use 96kHz processing, like The TC Electronics effects and the Rocktron Voodu Valve and Expression units. Their effects especially the delays and compression have a sweet liquid smoothness to them that is just superior.

Cheers,

Fred

Reply to
Fred

Aliasing is a BIG problem if doing non-linear audio effects in digital. You want the sample rate of 192kHz or even higher.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

No, I gotcha. Audio-oriented DAC/ADC are generally going to support

20Hz to 20KHz well no matter what, though. Aliasing reall isn't a consideration, unless the transform within the GPP in the middle somehow causes it.

-- Les Cargill

Reply to
Les Cargill

Yep, and my effect will be non-linear.

Reply to
Fred

Thats first grade theory (note the word 'theory').

I wouldn't say easier. I'd say a digital filter is more predictable but has other isssues to deal with.

That isn't right. IIRC a while ago someone here explained you you'll get two extra bits. Not 4. Besides that, if you have a perfect DC level between two bit values at the input of your 20 bit converter you'll never get a reading that has a >20 bits accuracy. Oversampling only works well for delta-sigma converters because they have (basically) an error feedback.

Nope. Experience speaking here. I bet you never actually built something with an ADC that has to maintain full bit resolution through numerous digital filter / signal processing stages.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
                     "If it doesn\'t fit, use a bigger hammer!"
--------------------------------------------------------------
Reply to
Nico Coesel

That is another problem. If you look at dots you can't see the signal. If you use a signal reconstruction algorithm like Cooledit does, you can see the original signal. The word see is very important here; the brain is the problem, not the sampling frequency. If you play the signal back through a D/A converter you'll also get the original signal back (assuming the original signal's bandwidth doesn't exceed the A/D and D/A converter's bandwidth).

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
                     "If it doesn\'t fit, use a bigger hammer!"
--------------------------------------------------------------
Reply to
Nico Coesel

Depends on the A/D D/A converter. All the codecs (A/D D/A converter in one chip) I encountered so far have decent anti-aliasing filters built-in. Aliasing shouldn't be a problem.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
                     "If it doesn\'t fit, use a bigger hammer!"
--------------------------------------------------------------
Reply to
Nico Coesel

It is unrelated to A/D and D/A. If you do a nonlinear function with already sampled signal, you will get aliasing.

Let's say there is a sine wave at 10kHz, and a 48kHz ADC -> digital limiter -> DAC system. At the output, you will get 18kHz, 2kHz, 16kHz and so on, so forth.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

That's just about the picture. The Spin chip has 48kHz converters. So, it'll be:

48k ADC > Digital Compression > 48k DAC.

What I am wondering about is hearing the aliasing. In the early CD players I could hear it. In low quality digital effects like delay and reverb I can still hear it.

Reply to
Fred

Could work, just remember that you are always faced with two samples of delay due to the data converters.

Reply to
JosephKK

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.