Algorithm Implementation and Porting Services

Jasmin has considerable domain knowledge in the Audio algorithms implementation for Analog Devices. Jasmin has also done porting of standard Audio algorithms and Image encoders and decoders.

Jasmin can also optimize customer algorithms taking advantage of target processor architecture for MIPS and Memory. Jasmin possesses a strong expertise in Memory Management using SDRAM. Its concept of Overlay using DMA for memory management can reduce the use of internal memory without affecting the MIPS. 
 
Jasmin has the expertise of implementing algorithms in both 16-bit as well as 32-bit Fixed Point and Floating Point processors. Besides, code translation services (C++/C algorithm into Assembly language) can also be provided. Also, a mix of codes from either C++/C with assembly can also be taken up by Jasmin, which could ultimately result in a faster time to market for the customer, without compromising on the performance. 

Algorithm Design, Development and Customization Services

Jasmin has the expertise in design and development of algorithms in C / C++ / MATLAB from concept to implementation in FIXED POINT and FLOATING POINT Digital Signal Processors. A few salient algorithms would include the following:

  • Filters – IIR, FIR, Polyphase (ADI)
  • Multi band Equalizers
  • Speaker Equalizers
  • Parametric Equalizers
  • Bass Management
  • DRC
  • ASRC
  • Tone Control
  • Pitch shifting
  • Reverberation
  • Audio Simulation
  • Room Enhancements
  • AGC
  • Noise Cancellation
  • JPEG 2000
  • MELP
  • MPEG 1 Layer 2

In addition to the above, Jasmin takes the development work and customization of the above algorithms, with some amount of Graphical programming using NI’s Lab VIEW Embedded Development Module and with or without a mix of “C” and “assembly” as required.  Optimization can be done at any of the three levels, viz., Assembly level or Algorithm level or Architecture level.  Algorithms like C-Callable and Re-entrant, (which are used for supporting multi-instance playback) use the Fast Float Arithmetic, for increasing precision and reducing computation complexities.

System Integration Services

Jasmine can provide System Integration servivces for various consumer multimedia products.  Jasmin specializes in providing Real time Kernel/Framework Design and Development services for various Audio and Video Processing Algorithms.  Jasmin’s knowledge in ‘Overlay Management’ helps its customers to fit almost all of their desired algorithms and combinations, to suit the MIPS and Memory budget of the Processor of their choice.

Jasmin can also support its customers in developing optimized Device Drivers for Audio and Video peripherals, Ethernet Controller, Hard disk, DVD, USB, CD and SD-Cards. A dedicated team at Jasmin specializes in Middleware development, Protocol stacks development and embedded applications up to integration. Jasmin has good experience in developing embedded solutions targeting various Kernels and RTOS like Analog Devices, VDK, µCLinux and Green Hills Integrity RTOS.

Framework Design and Development Services

Jasmin also takes up the Design and Development of efficient software framework for audio/video applications. This framework has state-of-the-art features like:-

  • Graphical front-end for signal chain / code flow preparation by drag and drop of required modules
  • Provision to plug in customer’s own proprietary modules
  • Optimized re-usage of memory across various modules in the signal chain
  • Real time tuning of parameters
  • Interface with design tools like MATLAB
  • Interface with VisualC++ for compiling, Linking and creating executables and downloading to the target platforms
  • Support for multi-instance and multi-threaded usage of modules, where each instance is running in its own thread
  • Handling low level details like configuration of DSP peripherals, system registers, prioritization of interrupts etc… and at the same time managing high level concepts such as data handling mechanisms, and scheduling of algorithms etc…
  • Efficient foreground/background overlays
  • Support for both push and pull usage models of audio processing
  • Responsible for creating and destroying the decoder/processing instances whenever needed (ex. during switching)
  • Dynamic memory management scheme
  • Smooth transition while switching among decoders
  • Noise free error handling
  • Glitch free mechanism for user controls
  • Interface with modules inside ROM of a ROM coded processor
  • Support for the following SHARC and BLACKFIN processor Series

ADSP-21065L, ADSP 21061, 21062, ADSP-21161N, ADSP-21261, ADSP-21262, ADSP-21362, ADSP-21363, ADSP-21364, ADSP-21368, ADSP-21369, ADSP-21266, ADSP-21365, ADSP-21366, ADSP-21367, ADSP-21375, ADSP-BF531.
ADSP-BF532, ADSP-BF533, ADSP-BF534, ADSP-BF535P, ADSP-BF536, ADSP-BF537, ADSP-BF538, ADSP-BF538F, ADSP-BF539, ADSP-BF539F, ADSP-BF561

Validation & Testing Services

  • Streamlined process of Testing in various phases of Software Development Life Cycle.
  • Follows Specific Software Validation Life Cycle.
  • Chip level certification / Black box testing of Algorithms on various ADI SHARC family and Blackfin family processors
  • Complete Report generation for all tests performed
  • Efficient Team that has been a part for many world first library implementations & certifications on many SHARC Processors.
  • Test Automation of Software in Progress as a continuous improvement measure with appreciable test wares.
  • Well equipped QA Laboratory with
    • Expert Test management, Skilled personnel, Equipments & Accessories (High- Precision & Professional I/O Cards), Effective Tool selection & usage, Lab View and Proficient Test coverage.

Software validation and Testing is conducted during various phases of the Life cycle of a Project.

  • At Development Phase of the software, unit testing is conducted.
  • During Integration phase, combinational testing is performed.
  • After implementing full features, black box testing is conducted.
  • During delivery, Integration testing of the entire combination is conducted.

All the phases of testing include one or more categories of as listed below:

  • Listening
    • Confirms Audio from all channels free of pops, clicks and artifacts.
    • Confirms No Decoder Mute / Core Hang
    • Switching between various options / modes / streams takes place smoothly.
  • Performance Evaluation
    • Ensures the test pass criteria are met as specified by the certifying authorities.
    • Performance evaluated in both time and frequency domain.
    • Functional and Optional Features testing
  • Digital domain testing or Binary testing:
    • To prove the results are in quality limits set by the certifying authorities.
  • Compatibility / Integration tests
    • To ensure the Performance based on the combinations.
  • System level Testing
    • Product level testing 
    • Example cases
  • Switching between different stream formats, sampling frequencies and input options.
  • Stop/Play, Pause /Resume, Fast Forward and Rewind options of audio input.
  • Chapter search of the audio input.
  • Error streams handling
  •  Host interface Communication testing
    • Ensures whether the software interprets the selected commands correctly.
  • Ad-hoc testing
    • Testing done without using any formal testing technique (based on intuition or randomness)
    • If the testing proves to be useful, it will be added to normal test suite.

Application Software Services

  • Developing embedded end-user applications based on VDK Real time kernel with GUI and FAT32 running on ADSP BF-5xx processors. Jasmin is experienced in developing the following:
    • Audio Player Application
    • Video Player Application
    • Image Viewer Application
    • Text Viewer Application
    • Voice Recorder Application
    • Video Recorder Application
    • File Browser Application
  • Porting of available embedded applications on the VDK framework for PDA type applications
    • PDA type Applications
    • Calculator
    • Games
  • Porting of available embedded applications on the µCLinux framework running on ADSP BF-5xx processors
  • Windows based Utility Application development
    • Encryption of binary and executable files
    • ADTS AAC file format to ADIF AAC file format conversion
    • Bit map image to LCD pixel data file conversion (color font and monochrome font)
  • Windows / Linux based reference board demo Application development using LabView or .Net technologies
    • Component Library creation
      • Main audio decoders
      • Audio Post processors
      • Audio effects such as volume control
    • Shortening of development time and effort
    • Easy integration of customer’s components
    • UART or USB based low level communication with the embedded reference platform
    • Development of Host interface for different micro controllers and ADSP Blackfin processor
    • Selectable skins for the front end
    • Status update info from the embedded device

Hardware Prototyping Services

Jasmin has experience in offering hardware design services. We have in-depth knowledge in complex Digital Signal Processor controller board designs. We can provide prototyping services for our customers.

  • Design and Development
    • Audio, Video, Network & Host Interfaces
    • HDD, DVD ROM, SD Card, PCI, USB interfaces
    • DSP based systems
    • ARM, Microcontroller based systems
    • Schematics design
    • High speed digital design
    • Product Prototyping
    • Xilinx FPGA knowledge
    • Cadence / Orcad tools
    • Hardware consultancy services
     
         

    IP Services

    • EAS Enhanced Audio Surround
      EAS refers to a group of audio processing modules, which cater to Enhanced Surround Sound in Home Theater environment. There are three basic building blocks in EAS. They are Mono to Stereo block, Stereo to Multi-channel block (4.1/5.1/6.1/7.1) and Reverberation block. It has been developed and ported on to SHARC LX3 platform by Jasmin Infotech. It can be provided as a source file or as an object library and can be customized to user’s requirements.
    • ASRC Asynchronous Sample Rate Converter
      Asynchronous Sample Rate Conversion (ASRC) is a post-processing sampling rate conversion library, implemented on Analog Devices’ Blackfin and SHARC. It is designed to convert between arbitrary sampling rate ratios and includes on-the-go computation of filter co-efficient, for standard audio sampling rates.
    • DRC Dynamic range control
      Dynamic Range Compression (DRC) is the difference between the loudest and quietest/softest signal levels that pass through the recording chain. Jasmin has implemented this post-processing algorithm using two Level Detection Process and Signal Gain Control Process.

    Click Here to Download the Coporate Profile

     
    Copyrights Reserved to Jasmin Infotech