Profiles
Profiles are the configuration system of Quiet Modem. A single profile sets all of the parameters for both the transmitter and the receiver. Quiet uses a JSON-based serialization for profiles, and any given profile works across all Quiet platforms.
Quiet comes with some starter profiles. These can be used out of the box with good success in a variety of use cases. They will also make a good starting point for more tuning and testing, should you decide to tweak Quiet to fit your use case specifically.
Structure
Profiles are stored in a file called quiet-profiles.json
. Inside this file is a single JSON object. The top-level keys of this object are names of profiles, e.g. ultrasonic-whisper
. The corresponding value for this key contains another object which provides a complete profile for Quiet's transmitter and receiver.
Quiet Profile Lab
The Quiet Profile Lab is an interactive testbench that runs in your browser. This allows you to test out new profiles with the speakers and mic in your computer. The Lab has instrumentation that can help you understand how various options change Quiet's behavior.
mod_scheme
This sets the payload modulation mode for Quiet. Most methods come in a variety of bit depths.
Gaussian Minimum Shift Keying wikipedia
This mode is selected with mod_scheme
set to gmsk
. This mode is not compatible with OFDM operation.
Phase Shift Keying wikipedia
This method can be pictured as a unit circle in the complex plane. Each bit representation contains the same magnitude and varies only in phase on this unit circle.
Comes in psk2
, psk4
, psk8
, psk16
, psk32
, psk64
, psk128
, psk256
variants.
Differential Phase Shift Keying wikipedia
This modulation method has the same constellation as PSK, but modulates changes in subsequent bits rather than the bits themselves.
Comes in dpsk2
, dpsk4
, dpsk8
, dpsk16
, dpsk32
, dpsk64
, dpsk128
, dpsk256
variants.
Amplitude Shift Keying wikipedia
This modulation scheme uses only the real axis of the complex plane. Bits are encoded as various amplitude levels on the carrier signal.
Comes in ask2
, ask4
, ask8
, ask16
, ask32
, ask64
, ask128
, ask256
variants.
Amplitude Phase Shift Keying wikipedia
This scheme can be pictured as concentric circles on the complex plane. Greater amplitude values move modulation out to a larger circle, while changes in phase move to different points along the circle.
Comes in apsk2
, apsk4
, apsk8
, apsk16
, apsk32
, apsk64
, apsk128
, apsk256
variants.
Quadrature Amplitude Shift Keying wikipedia
This modulation scheme uses a grid of points in the complex plane. Each symbol corresponds to a point along the grid.
Comes in qam2
, qam4
, qam8
, qam16
, qam32
, qam64
, qam128
, qam256
, qam512
, qam1024
, qam2048
, qam4096
variants.
Optimal QASK
Miscellaneous
ofdm
ofdm.num_subcarriers
ofdm.cyclic_prefx_length
ofdm.taper_length
ofdm.left_band
ofdm.right_band
checksum_scheme
Checksum wikipedia
Cyclic redundancy check wikipedia
inner_fec_scheme
Repetition Code wikipedia
Hamming wikipedia
Golay wikipedia
SECDED wikipedia
Convolutional Codes wikipedia
Reed-Solomon wikipedia
outer_fec_scheme
This accepts the same values as inner_fec_scheme
.