Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

168 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

u-Bat (earlier ULP-ACE)

u-Bat aims to design a deployable system on edge to detect and classify the audio signatures in real-time with an ultra-low power, ultra-light acoustic classifier.

How to use?

System requirements:

  1. Operating system:
    • Ubuntu 18.04 LTS or any linux system[1].
  2. Software setup:
    • Download ULP-ACE repository.
    • Python 2.7
      • run sudo apt update
      • install pip sudo apt install python-pip
      • pip install python
      • python 2 dependencies pip install numpy scipy matplotlib
    • Python 3
      • install pip3 sudo apt install python-pip3
      • pip3 install python
      • python 3 dependencies pip install pydub pylab-sdk Wave pytest-shutil playsound numpy scipy matplotlib tqdm
      • other dependencies sudo apt install ffmpeg
      • to change the permissions of the clean.sh: sudo chmod 777 clean.sh
    • Code Composer Studio (CCS) v10.2.0
      • download on demand installer for CCS IDE
      • update system: sudo apt update
      • install dependent libraries sudo apt install libc6:i386 libusb-0.1-4 libgconf-2-4 build-essential
      • install CCS
        • sudo chmod 777 *.run
        • sudo ./*.run
          • select SimpleLink SDK for CC13xx, spectrum digital debug probes and boards while installing.
      • launch CCS and Install the following packages/SDK through resource explorer.
        • go to Software -> SimpleLink SDK Plugins -> SimpleLink Audio Plugin 3.30.0006
        • manage SimpleLink CC13x2 26x2 SDK version to 3.30.00.03
      • import empty project and build the project
        • go to Software -> SimpleLink CC13x2 26x2 SDK 3.30.00.03 -> Examples -> Development Tools -> CC13152R LaunchPad -> TI Drivers -> empty project -> TI-RTOS-> CCS Complier -> empty
        • Build the empty project to generate TI-RTOS kernal.
    • MATLAB
      • download and install
        • sudo ./install
        • select the tools to be installed:
          • MATLAB
          • Audio toolbox
          • DSP system toolbox
          • Signal Processing toolbox
  3. Hardware setup:
    • TI's CC1352R launchpad
    • Adafruit PDM MEMS Microphone.
    • Microphone connections:
      PDM microphone CC1352R launchpad
      3.3V 3.3V
      GND GND
      SEL GND
      DAT DIO26
      CLK DIO27
    • serial port connection: Identify the port name of the serial connection using dmesg command. Note the port name(ex /dev/ttyACM0).

Data acquisition:

In this framework, get the audio dataset for 1 class or 4 classes.

  1. Import the data_dump project into CCS[2]
  2. Build and flash the project in CSS.
  3. Navigate to data_acquisition folder and run python audio_frame_serial_print.py /dev/ttyACM0 68 NONE -b 460800 replace /dev/ttyACMO with the port name noted earlier.
  4. Play the recordings for the microphone dataset.
  5. Press button 1 (BIN-1) on the board to start acquiring the data and button 2 (BIN-2) can be used to stop recording.
  6. The microphone recordings are dumped in the folder samples/
  7. Follow steps 4-6 for all the recordings of every class + background noise.

Training framework:

  1. Follow 'Steps to execute' in the documentation

Demo and deployment:

  1. Import it to any of the example demos given in the CCS_projects/ either single-class or multi-class.
  2. Paste the header files created by the framework - header_files into the CCS project.
  3. If it's multi-class (4-classes), connect four LEDs with 500-ohm resistor in series and refer to the below table for launchpad connections:
    LEDs CC1352R launchpad
    LED1 (Dingo) Board_DIO21
    LED2 (Kangaroo) Board_DIO22
    LED3 (Fox) Board_DIO24
    LED4 (Koala) Board_DIO29
  4. Build and flash the binary to the board using CCS.
  5. Use button 1 (BIN-1) and button 2 (BIN-2) to start and stop detecting respectively

Happy Detecting!

Tasks list:

  • Add the UART code into the deployment folder for integration of LoRa @Nadir
  • Analyse the neuron outputs and filter outputs for robustness of the algorithm. @Vishnu and Hemanth
  • Convert MATLAB scripts to python @Abhishek -- By next week.
  • A simple script that can install all the softwares and their dependencies. Bash script for it @Hemanth
  • Try different dataset and their applications. @Vishnu and Hemanth
  • Videos for the website. @Vishnu and Hemanth
  • Change the python 3 script to python 2, take guidance from Sathya or Abhishek.

Footnotes:

  1. Windows support is not available yet, stay stunned to GitHub repository for updates
  2. Refer to the CCS documentation in case of any issue with importing projects.

About

u-Bat (ULP-ACE) aims to design a deployable system at edge to detect and classify the audio signatures with ultra-low, ultra-light accoutic classifier. We have used TI's CC1352 as a demonstration chip which has ARM Cortex M4F processor and supports TI-RTOS. This work is done under the guidance of Dr. Chetan Singh Thakur, Assistant Professor, IISc.

Topics

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages