aicodix / disorders

Adding artificial CFO, SFO, AWGN and multipath propagation to real and analytic signals.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simulating a Carrier frequency offset by mixing the Analytic signal with an Numerically controlled oscillator.

If the input is a real signal, the Discrete Hilbert transform is used to get the analytic signal and only the real part is used as output after mixing.

Add an CFO of 23.5 Hz:

./cfo output.wav input.wav 23.5

Simulating a Sampling frequency offset by Resampling the sampled data.

Add an SFO of -15 ppm:

./sfo output.wav input.wav -15

Simulating Additive white Gaussian noise.

Add -34dB of AWGN:

./awgn output.wav input.wav -34

Simulating Multipath propagation by summing the Analytic signal with delayed, attenuated and phase shifted versions of itself.

If the input is a real signal, the Discrete Hilbert transform is used to get the analytic signal and only the real part is used as output after summing.

Read paths from table multipath.txt and use a Rician factor of 10dB:

./multipath output.wav input.wav multipath.txt 10

The table contains rows of each extra path and its amplitude, time delay in milliseconds and phase shift in radians.

Example table entries generated using Room Impulse Response tool.

About

Adding artificial CFO, SFO, AWGN and multipath propagation to real and analytic signals.

License:BSD Zero Clause License


Languages

Language:C++ 93.4%Language:Makefile 6.6%