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

Reply via email to