Skip to content

This inputs a string, Then Outputs a Wav file, which it can also decode. Included Hammingcodes for 8 bits.

License

Notifications You must be signed in to change notification settings

DaTweaks/AudioData

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AudioData C#

Features

  • Converting String into Audio.
  • Hamming codes that supports 8 or 4 bits.
  • Converting string into 8 bit arrays.
  • Converting 8 bit arrays into a string.
  • Handshakes to determine where data starts. (is kinda crucial for doing it cross devices)
  • QPSK and FSK Modulation.

FSK

The FSK algoritm is really robust. i've got a noise level generator that basically adds amplitude to the input audio and tests it.

this is how the curve of successrate looks like: FSK GRAPH

The spectrogram looks like this for FSK. where the higher frequency is 1 and lower 0.

FSK Spectrum

When you up the noise. You see this. This is noise level 6. This was a success.

FSK Spectrum Noise

QPSK

The QPSK algoritm works really well.

The slight problem i have that both happens here and in FSK is that sometimes when it switches from 0 -> 1 or 0 -> 1 it plays both frequencies at the same time.

i will need to look into it.

QPSK GRAPH

The spectrogram looks like this for QPSK. each of the four frequencies represent 00, 01. 10, 11.

QPSK Spectrum

When you up the noise. You see this. This is noise level 5. This was a success.

QPSK Spectrum Noise

TODO

  • Bug fixing QPSK Mod/Demod so it takes a minimum amount of time possible. Currently it takes ages!
  • Fix Noise creator to be additive guassian noise.

Notes

  • The higher the sample rate the more "noise" it can withstand.
  • Works across computers, Haven't tested higher BPS than 80 as per now

Created by David Hornemark, 2025

About

This inputs a string, Then Outputs a Wav file, which it can also decode. Included Hammingcodes for 8 bits.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published