aboutsummaryrefslogtreecommitdiffstats
path: root/src/cnetz/dsp.c
AgeCommit message (Collapse)AuthorFilesLines
2024-04-05Increase compiler warnings and fix themAndreas Eversberg1-1/+1
2024-03-30Audio rework, new jitter bufferAndreas Eversberg1-6/+35
Jitter buffer is now based on packets, not on samples. The frames are dejittered in received form. After reading from jitter buffer, they are decoded in correct order. If a frame is missing, it is concealed by repeating audio.
2024-02-18Move from local to external osmo* librariesAndreas Eversberg1-21/+22
src/libdebug -> libosmocore src/libselect -> libosmocore src/libtimer -> libosmocore src/libosmocc -> libosmo-cc src/libg711 -> libosmo-cc
2023-03-18Generate compador table only once when the application startsAndreas Eversberg1-1/+2
2022-10-23Refactoring jitter bufferAndreas Eversberg1-9/+4
Features are: * Packet based buffer * Random in, first out * Adaptive delay compensation (voice) * Fixed delay (data, optionally MODEM/FAX) * Interpolation of missing frames * Any sample size
2022-07-23C-Netz: Improved RX speech quality and decoder debuggingAndreas Eversberg1-22/+11
2022-06-19C-Netz: Cleanup OgK slot allocation and polarity detectionAndreas Eversberg1-12/+4
Now you can select between 1 and 8 slots per frame.
2022-06-19C-Netz: Add capability of non-standard OgK channel(s)Andreas Eversberg1-1/+3
2021-11-07C-Netz: Minor fixes to pulse shaping codeAndreas Eversberg1-20/+18
2021-01-03Fixed typos in cli output and source code commentsMartin Hauke1-5/+5
2020-12-21C-Netz: Fix scheduling of frames when there is nothing to sendAndreas Eversberg1-11/+26
2020-10-29C-Netz: Added option to define time slots of OgKAndreas Eversberg1-4/+4
2020-10-29C-Netz: Minor fixesAndreas Eversberg1-10/+10
2020-10-29C-Netz: At correct timeslot switch channel modeAndreas Eversberg1-30/+37
Without this, the first BQ(K) message came to early, so that BSA 51 released when receiving ZFZ(K) one frame too early.
2019-12-08Rename dbm0 (level) to speech (level)Andreas Eversberg1-4/+4
In mobile communications we use speech level instead of milliwatts. The deviation (FM) is always based on speech level, not on 1 milliwatt.
2019-11-29C-Netz: Added list of base station names and IDsAndreas Eversberg1-11/+12
Automatic polarity detection is now done by using the polarity of last transmitted message. We cannot use two base station IDs anymore, to detect the polarity. Now we deal only with the defined base station ID.
2019-10-26C-Netz: Correctly synchronize time stamp of SpK to OgKAndreas Eversberg1-4/+5
Even if the SpK is not used (yet), it must count time stamp (bit_time) so that SpK keeps in sync with the OgK, until frames are received from mobile station.
2019-01-02C-Netz: Add option to control voice deviationAndreas Eversberg1-4/+3
2018-10-14Compandor: Remove unused option for unaffected levelAndreas Eversberg1-2/+1
2018-02-15Minor debug message correctionsAndreas Eversberg1-2/+2
2017-12-03Restructure: Move debug from common code to 'libdebug'Andreas Eversberg1-1/+1
2017-12-03Restructure: Move mobile from common code to 'libmobile'Andreas Eversberg1-1/+1
2017-12-03Restructure: Move sample from common code to 'libsample'Andreas Eversberg1-1/+1
2017-11-13Restructure: Move timer from common code to 'libtimer'Andreas Eversberg1-1/+0
2017-11-05Split call control from built-in call console by using MNCC layerAndreas Eversberg1-1/+1
2017-10-22Implementation of RX level squelch (for A-Netz and B-Netz)Andreas Eversberg1-1/+1
Use -S <dB> for setting RF level or use -S auto for auto level. When squelch closes, audio is muted. If squelch is closed for some seconds (depending on network), call is released. (RF loss condition) The previous loss detection has been removed
2017-09-01SDR: Turn TX power off if requested by networkAndreas Eversberg1-48/+30
The power level is ramped smoothly within 1 ms up or down. R2000, AMPS and C-Netz turn off power when voice channel is not i use. C-Netz turns off power between OgK timeslots.
2017-05-19C-Netz: Make demodulation algorithm (slope or leve) slectable via optionAndreas Eversberg1-2/+2
By default (auto), the algorithm is selected, depending on sound card or SDR usage. For testing and debugging purpose, the algorithm can be forced.
2017-05-17minor cleanupsAndreas Eversberg1-15/+25
2017-05-17C-Netz: SDR now uses zero-crossing to detect level changes.Andreas Eversberg1-2/+2
This does not work with analog radio, but with SDR it works. The quality should be better and the process is faster.
2017-05-17C-Netz: Improved transmission of speechAndreas Eversberg1-17/+46
The speech is now correctly ramped up and down during pause bits.
2017-05-15Rename filter -> iir_filter (file name and instance name)Andreas Eversberg1-3/+3
This is useful when using fir_filter in the future.
2017-03-04samplerate.c: Allow transcoding to lower sample rate other than 8000 HzAndreas Eversberg1-1/+1
2017-02-18C-Netz: Remove useless -V optionAndreas Eversberg1-9/+1
2017-02-18C-Netz: Add low pass filter to eliminate high frequency noiseAndreas Eversberg1-2/+7
This improves the FSK decoding quite allot, especially with SDR.
2017-02-18C-Netz: Improve clock speed measurements.Andreas Eversberg1-36/+24
Sound card's clock measurements only requires a few minutes to get sub-ppm accuracy results.
2017-02-18C-Netz: Make average to clock measurements for a quicker resultAndreas Eversberg1-6/+25
2017-02-18C-Netz: Remove the obviously useless noise function for unused timeslotsAndreas Eversberg1-22/+9
2017-02-18Correcting all levels and move all remaining integer samples to sample_tAndreas Eversberg1-21/+17
The leves are based on the standards of each mobile network. They are adjusted to the specified frequency deviation now.
2017-02-18Add global DC-Filter and remove all individual DC-FiltersAndreas Eversberg1-0/+2
2017-02-18Move samples of int16_t format to sample_t, that is of type doubleAndreas Eversberg1-23/+18
This prepares the correction of all levels
2017-02-18Indexing tables by casting index to unsigned integer onlyAndreas Eversberg1-14/+14
2017-02-18Prepare for SDR: Add bandwidth and deviation info to sender instanceAndreas Eversberg1-0/+5
2017-02-18Rework on audio interfaceAndreas Eversberg1-3/+3
Sound instance is now called audio instance and uses funcation pointers. This gives a clean interface to be exchanged with other technologies, linke SDR.
2017-01-07prepare audio handling for multi carrier SDRAndreas Eversberg1-3/+2
2017-01-07C-Netz: Make demodulation buffer size dynamicAndreas Eversberg1-0/+2
2017-01-07C-Netz: Fixed double free bugAndreas Eversberg1-2/+6
2016-12-09Add function to change dsp state, more debug with channel infoAndreas Eversberg1-9/+30
2016-11-30C-Netz: Simplifying TX signal clock sync between two channelsAndreas Eversberg1-36/+14
2016-11-22C-Netz: Minor coding style changes, no changes to processAndreas Eversberg1-1/+1