> Let me start by saying thank for the great advice!!
I am currently
> researching a method that allows convolution to be done in
> incremetally large blocks that can be summed together at the output
> stage. It allows for faster convolution using this method and doing
> everything using FFT convolutions. I am basing this research on a
> paper "Efficient Convolution Without Input/Output Delay" by W.G.
> Gardner from M.I.T - It's actually a bit dated (1994), so I am going
> to do a lot of further searching to understand the best way to do
> this. If these types of algorithms already exist, and I can use a
> cut-and-paste method, mny next idea is to allow the device (effects
> pedal) to be able to take impulse responses of reverb circuits on
> amplifiers and store them into memory.
>
> That is contingent upon the first part of the idea being realized.
> I know it's going to be a lot of work, but I am up for a really good
> learning experience. When my other classes let up a bit, I am going
> to look further into all of your suggestions, and I really apreciate
> the quick replies.
Sounds like you're off and running. About the Gardner paper, that is Bill
Gardner
who together with Lake DSP have one or more patents relating to partitioned
convolution. If you put into Google:
Lake DSP Gardner
then you'll get a lot of hits and interesting reading. My suggestion would
to
research this carefully and cite all prior work that you can. As I mentioned
below,
DSP algorithms have been squarely aimed at audio applications for 25+ years, and
lots
of methods for faster, more efficient ways to do filtering and frequency
domain
analysis have been invented. A note on the convolution patents -- if they date
from
1994 then they're getting close to expiring.
-Jeff
> --- In a..., Jeff Brower wrote:
> >
> > Jordan-
> >
> > > I have tried to post a few times, so if this message is
> redundant,
> > > please ignore.
> > >
> > > I'm a E.E. in senior design, and I have an idea for a project
> that
> > > will involve extremely fast convolution of audio signals. I have
> > > found a few methods that I believe will work, and I am
> interested in
> > > hearing your opinion on what flavor of DSP or FPGA would be
> suitable
> > > for this task. Basically, I am designing a standalone device
> that
> > > has to convolve an input audio signal with an impulse response
> > > stored in memory, and have very low output latency, as this
> would be
> > > geared towards musicians.
> > >
> > > That being said, I am looking at the Xilinx Spartan 3A, and I
> wanted
> > > to ask if this would be a good platform to develop on, or if
> there
> > > might be something more suitable for my application. Also, do
> most
> > > of the available development boards come with A/D and D/A
> > > conversion, or is that considered an add-on? Maybe I'm not
> familiar
> > > with the terminology, as I'm a newb to DSP, but the only thing I
> see
> > > listed on the Xilinx site is "audio codec included".
> > >
> > > I have a little under a year to develop this idea, and I think I
> can
> > > learn enough about FPGA programming to make it happen. Anyhow, I
> > > would be really interested an grateful to hear any advice you
> might
> > > have, and thanks in advance for reading over my long post!!
> >
> > I might suggest you take a 'DSP centric' approach -- find a DSP
> vendor EVM or
> > "starter kit" or "easy kit" board that includes audio codec I/O
> and basic,
> > ready-to-use audio signal processing examples. Then find an FPGA
> coprocessor board
> > that can interface to the DSP board, with a fast / high bandwidth
> interface between
> > the FPGA and DSP.
> >
> > My thinking is that you don't want to spend time on audio I/O
> handling issues and you
> > want to write your main program in C. Then the problem becomes
> focused on using the
> > FPGA to implement very fast convolutions. Also you're probably
> going to need a lot
> > of memory to store impulse response data and real-time, or near-
> real time
> >
> > If you go the other way and take an 'FPGA centric' approach,
then
> this will involve
> > System Generator and Simulink (MathWorks). This may be Ok,
> depending on tools UIC
> > already has and available budget. However in my experience, this
> takes students on a
> > 'less well traveled' path, and makes it a bit more difficult to
> get support from peer
> > groups and practicing engineers. One of the reasons for this is
> that FPGA centric
> > approaches are more widely used in high frequency applications,
> like software defined
> > radio, than in audio applications, which are mature and have been
> addressed by DSPs
> > for 20+ years.
> >
> > Here is one example that shows the FPGA board acting as
> a "daughtercard", connecting
> > to the DSP board:
> >
> >
> http://www.xilinx.com/publications/xcellonline/xcell_51/xc_pdf/xc_avn
> et-dsp51.pdf
> >
> > The above link is old (2004); there should be something newer and
> cheaper, not
> > necessarily offered by Xilinx/Avnet.
> >
> > -Jeff
> >
>
Reply by schultzjordan34●February 12, 20092009-02-12
All,
Let me start by saying thank for the great advice!! I am currently
researching a method that allows convolution to be done in
incremetally large blocks that can be summed together at the output
stage. It allows for faster convolution using this method and doing
everything using FFT convolutions. I am basing this research on a
paper "Efficient Convolution Without Input/Output Delay" by W.G.
Gardner from M.I.T - It's actually a bit dated (1994), so I am going
to do a lot of further searching to understand the best way to do
this. If these types of algorithms already exist, and I can use a
cut-and-paste method, mny next idea is to allow the device (effects
pedal) to be able to take impulse responses of reverb circuits on
amplifiers and store them into memory.
That is contingent upon the first part of the idea being realized.
I know it's going to be a lot of work, but I am up for a really good
learning experience. When my other classes let up a bit, I am going
to look further into all of your suggestions, and I really apreciate
the quick replies.
Thanks!
Jordan
--- In a..., Jeff Brower wrote: >
> Jordan-
>
> > I have tried to post a few times, so if this message is redundant, > > please ignore.
> >
> > I'm a E.E. in senior design, and I have an idea for a project that > > will involve extremely fast convolution of audio
signals. I have
> > found a few methods that I believe will work, and I am interested in > > hearing your opinion on what flavor of DSP or FPGA
would be suitable > > for this task. Basically, I am designing a
standalone device that > > has to convolve an input audio signal with an
impulse response
> > stored in memory, and have very low output latency, as this would be > > geared towards musicians.
> >
> > That being said, I am looking at the Xilinx Spartan 3A, and I wanted > > to ask if this would be a good platform to develop
on, or if there > > might be something more suitable for my
application. Also, do most > > of the available development boards come with A/D
and D/A
> > conversion, or is that considered an add-on? Maybe I'm not familiar > > with the terminology, as I'm a newb to DSP,
but the only thing I see > > listed on the Xilinx site is "audio codec
included".
> >
> > I have a little under a year to develop this idea, and I think I can > > learn enough about FPGA programming to make it
happen. Anyhow, I
> > would be really interested an grateful to hear any advice you might > > have, and thanks in advance for reading over my
long post!!
>
> I might suggest you take a 'DSP centric' approach -- find a DSP vendor EVM or > "starter kit" or "easy kit" board that includes audio
codec I/O and basic, > ready-to-use audio signal processing examples. Then
find an FPGA coprocessor board > that can interface to the DSP board, with a fast /
high bandwidth interface between > the FPGA and DSP.
>
> My thinking is that you don't want to spend time on audio I/O handling issues and you > want to write your main program in C. Then the
problem becomes focused on using the > FPGA to implement very fast convolutions. Also
you're probably going to need a lot > of memory to store impulse response data and
real-time, or near- real time >
> If you go the other way and take an 'FPGA centric' approach, then
this will involve > System Generator and Simulink (MathWorks). This may
be Ok, depending on tools UIC > already has and available budget. However in my
experience, this takes students on a > 'less well traveled' path, and makes it a
bit more difficult to get support from peer > groups and practicing engineers. One of the reasons
for this is that FPGA centric > approaches are more widely used in high frequency
applications, like software defined > radio, than in audio applications, which are mature
and have been addressed by DSPs > for 20+ years.
>
> Here is one example that shows the FPGA board acting as a "daughtercard", connecting > to the DSP board:
>
> http://www.xilinx.com/publications/xcellonline/xcell_51/xc_pdf/xc_avn
et-dsp51.pdf >
> The above link is old (2004); there should be something newer and cheaper, not > necessarily offered by Xilinx/Avnet.
>
> -Jeff
>
Reply by Jeff Brower●February 12, 20092009-02-12
Jordan-
> I have tried to post a few times, so if this message
is redundant,
> please ignore.
>
> I'm a E.E. in senior design, and I have an idea for a project that
> will involve extremely fast convolution of audio signals. I have
> found a few methods that I believe will work, and I am interested in
> hearing your opinion on what flavor of DSP or FPGA would be suitable
> for this task. Basically, I am designing a standalone device that
> has to convolve an input audio signal with an impulse response
> stored in memory, and have very low output latency, as this would be
> geared towards musicians.
>
> That being said, I am looking at the Xilinx Spartan 3A, and I wanted
> to ask if this would be a good platform to develop on, or if there
> might be something more suitable for my application. Also, do most
> of the available development boards come with A/D and D/A
> conversion, or is that considered an add-on? Maybe I'm not familiar
> with the terminology, as I'm a newb to DSP, but the only thing I see
> listed on the Xilinx site is "audio codec included".
>
> I have a little under a year to develop this idea, and I think I can
> learn enough about FPGA programming to make it happen. Anyhow, I
> would be really interested an grateful to hear any advice you might
> have, and thanks in advance for reading over my long post!!
I might suggest you take a 'DSP centric' approach -- find a DSP vendor
EVM or
"starter kit" or "easy kit" board that includes audio codec I/O and basic,
ready-to-use audio signal processing examples. Then find an FPGA coprocessor
board
that can interface to the DSP board, with a fast / high bandwidth interface
between
the FPGA and DSP.
My thinking is that you don't want to spend time on audio I/O handling
issues and you
want to write your main program in C. Then the problem becomes focused on using
the
FPGA to implement very fast convolutions. Also you're probably going to
need a lot
of memory to store impulse response data and real-time, or near-real time
If you go the other way and take an 'FPGA centric' approach, then this
will involve
System Generator and Simulink (MathWorks). This may be Ok, depending on tools
UIC
already has and available budget. However in my experience, this takes students
on a
'less well traveled' path, and makes it a bit more difficult to get
support from peer
groups and practicing engineers. One of the reasons for this is that FPGA
centric
approaches are more widely used in high frequency applications, like software
defined
radio, than in audio applications, which are mature and have been addressed by
DSPs
for 20+ years.
Here is one example that shows the FPGA board acting as a "daughtercard",
connecting
to the DSP board:
The above link is old (2004); there should be something newer and cheaper,
not
necessarily offered by Xilinx/Avnet.
-Jeff
Reply by schultzjordan34●February 11, 20092009-02-11
Hi All,
I have tried to post a few times, so if this message is redundant,
please ignore.
I'm a E.E. in senior design, and I have an idea for a project that
will involve extremely fast convolution of audio signals. I have
found a few methods that I believe will work, and I am interested in
hearing your opinion on what flavor of DSP or FPGA would be suitable
for this task. Basically, I am designing a standalone device that
has to convolve an input audio signal with an impulse response
stored in memory, and have very low output latency, as this would be
geared towards musicians.
That being said, I am looking at the Xilinx Spartan 3A, and I wanted
to ask if this would be a good platform to develop on, or if there
might be something more suitable for my application. Also, do most
of the available development boards come with A/D and D/A
conversion, or is that considered an add-on? Maybe I'm not familiar
with the terminology, as I'm a newb to DSP, but the only thing I see
listed on the Xilinx site is "audio codec included".
I have a little under a year to develop this idea, and I think I can
learn enough about FPGA programming to make it happen. Anyhow, I
would be really interested an grateful to hear any advice you might
have, and thanks in advance for reading over my long post!!