Skip to content

araobp/ultrasonic-communication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(Nov 2, 2018) I am going to rework on this project



Learning DSP with ultrasonic communications

drawing

Background and motivation

STMicro gave me STM32L4(Arm Cortex-M4) evaluation board and a pair of MEMS microphones for free at a trade show held in Makuhari city, Chiba, Japan. Thanks a lot to STMicro!

As an IoT hobyyist, I am becoming interested in DSP with MEMS mic.

Also thanks to this: https://github.com/y2kblog/NUCLEO-L476RG_DFSDM_PDM-Mic.

Project goal

I am a DSP beginner, so I learn DSP by doing: realize "low-power narrow area networking" by cheap DSP and MEMS mic.

My work so far

Project documentation

==> Specification

Platform: STM32L4 platform and FFT test code on MEMS mic

==> Platform

==> Test code

Mathematical formula expressing ultrasonic wave

I tested frequency-hopping to transmit data over ultra-sonic, resulting in very bad performance at low SNR in a noisy room. So I decided to employ chirp modulation in this project.

drawing

==> Formula

Developing my original MEMS mic shield

drawing

I developed my original shield with Knowles MEMS mic:

  • Knowles MEMS mic
  • Character LCD
  • LED (red)
  • Tactile switche (reset)

drawing

Pinout of STM32L476RG

drawing

Working code

Code of the ultrasonic receiver running on STM32L476RG (Arm Cortex-M4L) and the original expansion board:

==> Code

Next challenge: I/Q modulation

I already made the code, but it did not fit into the RAM, so I will reduce the number of samples to 1024.

But the resolution of FFT w/ I/Q modulation will be still much better than the current implementation (FFT of 2048 samples w/o I/Q modulation).

Experiments I made over the past month

I have made several experiments over the past month to study how data can be transmitted over ultra-sonic wave: FSK, hopping and chirp. The conclusion is to try Chirp modulation to fight with noise.

Ultrasonic communications experiment (FSK modulation)

==> Experiment

==> Test code

Ultrasonic communications experiment (Chirp modulation)

drawing

==> Experiment2

==> Test code

Ultrasonic communications experiment (Chirp modulation with compression)

==> Experiment3

Ultrasonic communications experiment (time frame synchronization)

==> Experiment4

Releases

No releases published

Packages

No packages published