Hi Santhiya S.
I am familiar with the codec2 code, and I am also an FPGA man.
If you are interested in implementing a speech codec on an FPGA, I can
suggest a fruitful path of learning :
A speech codec is written for a microprocessor, that is able to vary its
functionality sequentially and provide complex algorithmic functionality
are a moderately light programming cost and small silicon area.
FPGAs of course can be programmed to do anything, provide low level ,
high speed logic processing at a relatively high programming cost in HDL
and silicon area. VHDL code requires simulation and this can be slow
and tedious for large designs.
In order to successfully implement Codec2 on an FPGA, and take advantage
of the benefits the FPGA offers , without the burden of the high
programming cost, I beleive the implemention will need to be a hybrid
of the above two extremes (microprocessor / HDL)
Which choice (or other not listed below) you choose probably depends on
what sort of stream you are in - that is what sort of understanding and
learning you are interesting in. In Computer engineering, I would expect
all of the choices would be suitable with (2) being the most interesting
to a reader.
1) Use an off the shelf , drag and drop softcore embedded microprocessor
(in the FPGA, such as Microblaze in Xilinx which will run on entirely
internal memory ) and use the FPGA fabric as hardware accelerator blocks
interfacing with the soft microprocessor for functions such as FFT,
correlation and essential floating point code.
2) Slightly more adventurous , design or modify a small scale soft
microprocessor core specifically to execute instructions that are
specific to the functions required in codec 2. Such a microprocessor can
readily be built internally with a small amount of logic fabric and can
be heavily customized to optimise for the codec operations, including,
like (1) handing off of complex functions such as FFT . Example
microprocessors of small size for Xilinx are Picoblaze, KCPM6 and iDEA
(using a single DSP48 block)
There are also many soft cores on OpenCores website
3) Use HDL synthesis. Xilinx Vivado webpack edition enables writing of
the entire algorithm in C/C++ and this to generate VHDL code directly
from C. The HDL synthesis tool is useful for small C/C++ algorthms to
be direction translated . Experience with VHDL is necessary to
understand the outcomes. The outcome will be costly on both fabric
silicon area and power, but it is highly capable.
Good luck !
On 12/10/2018 6:11 AM, Sampath Kumar, Santhiya wrote:
Hi,
Thanks a lot for help.
This would be help me in more learning.
Regards,
Santhiya S.
On Thu, Oct 11, 2018, 2:28 PM Don <don_li...@db-reid.com
<mailto:don_li...@db-reid.com>> wrote:
Hello, its great to hear of this effort.
The main source of information is of course the inventor, David Rowe.
He is in Australia so in a different time zone. I can give you a few
pointers until you hear from him.
Most of the articles are in David's blog posts at
http://www.rowetel.com/.
Those sometimes contain links to other postings. Look at
http://www.rowetel.com/?page_id=452 and the articles it has links to.
There are some README files in the source code too.
Like many open source projects, the "best" documentation is the
source.
That is where you will find the details on how things are implemented.
The algorithm is modeled in Octave (a Matlab compatible tool), and the
implementation is in C.
Don Reid - W7DMR
On Thu, Oct 11, 2018 at 01:35:25PM -0400, Sampath Kumar, Santhiya
wrote:
> Hi Sir,
>
> I am Santhiya, graduate student in the department of Electrical and
> computer engineering, Miami University Ohio.
>
> Currently, I have chosen the thesis topic on implementing Codec2
in an FPGA.
> I am in the learning process of the algorithm, and learning each
step of
> the encoder or decoder using the DEV code.
>
> while unstanding how the block diagrams are related to the code
written, I
> am facing some challenges. So, I was looking for the resources
on the
> documentation of Codec2, and there was a video
>
<http://mirror.linux.org.au/linux.conf.au/2012/Codec_2_Open_Source_Speech_Coding_at_2400_bits_and_Below.ogv>
> link provided in the website. But when I click it, it throws 404
error.
>
> It would be a great help if you can provide some documentation
or the
> correct video link for learning the Codec2.
>
> Kindly do the needful.
>
> Regards,
> Santhiya Sampath Kumar,
> Graduate Assistant,
> Electrical and Computer Engineering Department,
> Miami University, Ohio.
> 513-693-5532
> www.linkedin.com/in/santhiyasampathkumar
<http://www.linkedin.com/in/santhiyasampathkumar>
> _______________________________________________
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
<mailto:Freetel-codec2@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
<mailto:Freetel-codec2@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2