Andreas Eversberg
92ce6d4a42
SDR: Using threads for read and write when doing resampling
2017-08-08 12:53:02 +02:00
Andreas Eversberg
3274812eab
NMT-900 System implementation
...
NMT can now be run as 450 or 900 Network.
2017-08-08 12:52:45 +02:00
Andreas Eversberg
0c9de251be
NMT: Implement Hagelbarger Code
...
This will correct burst errors of received messages. If the message
is too corrupted, it will be ignored, because some element may not
match then. The digits and line signals are checked for consistency,
since they are repeated serveral times in a message.
2017-08-08 12:52:29 +02:00
Andreas Eversberg
cd9cb9a107
Minor fix for NMT debug output
2017-07-15 12:45:20 +02:00
Andreas Eversberg
a088536533
Minor fix for IQ data display
2017-07-15 12:45:20 +02:00
Andreas Eversberg
fda224c27f
Fixing and improving SDR support (SoapySDR and UHD)
...
- Soapy SDR now works.
- Channels can be selected.
- Antennas can be listed and selected.
- Device args, tune args, stream args can be specified.
2017-07-15 12:45:19 +02:00
Andreas Eversberg
538b4a42ec
Add wave file playback to replace TX audio
2017-07-15 07:38:16 +02:00
Andreas Eversberg
aa20d4e50e
Cleanup common/Makefile.am
2017-07-15 07:38:15 +02:00
Andreas Eversberg
557d19de66
NMT: Show trafic areas in hex and allow to select unsupported areas
2017-07-15 07:38:14 +02:00
Andreas Eversberg
3774519631
NMT: Fixed "use after free" bug
2017-07-15 07:38:13 +02:00
Andreas Eversberg
7af886c600
NMT: Fixed NMT digit decoding
2017-07-15 07:38:13 +02:00
Andreas Eversberg
085ceb9173
Minor fixes to compandor
2017-07-15 07:38:12 +02:00
Andreas Eversberg
3ce50f8ab3
AMPS: Fixes in message display and function names
2017-07-15 07:38:10 +02:00
Andreas Eversberg
3788b3e8a5
TACS support (variations added to AMPS code)
...
These are:
- Bandwidth only 25 KHz, so lower deviations
- Data rate only 8000 KHz
- SID is called AID (Area ID)
- MIN1 coding is different
2017-07-15 07:38:09 +02:00
Andreas Eversberg
d52f4cd29d
NMT: Mark Benelux and Czech/Slovak networks as tested
...
I have tested the network with B/NL/L and CZ/SK phones, and they work!
2017-06-15 18:28:26 +02:00
Andreas Eversberg
1aebedc66a
NMT: Fixed line signal description
2017-06-11 09:01:21 +02:00
Andreas Eversberg
7a9762e28e
NMT: Disable Supervisory signal during DMS (SMS) transfer and use Timeout
...
There is no Supervisory signal during DMS transfer, so there must be
no timeout for Supervisory signal. Instead, the SMS layer will timeout
after some seconds without receiving data.
2017-06-11 08:13:52 +02:00
Andreas Eversberg
3e86ef95c4
B-Netz: Minor printf fix
2017-06-10 17:49:59 +02:00
Andreas Eversberg
19afb792b5
NMT: Fix and adjustements to supervisory signal detection
2017-06-10 17:11:47 +02:00
Andreas Eversberg
50b2021d21
NMT 450: Support for other European counties, like Belgium, Czech, Slovakia
2017-06-10 13:08:51 +02:00
Andreas Eversberg
dbdedfe1a1
AMPS: Fixed selecting right CRC values for FOCC words
2017-06-10 13:08:26 +02:00
Andreas Eversberg
d23672354f
Add option to set MNCC socket name (to run multiple base stations)
2017-06-10 13:08:26 +02:00
Andreas Eversberg
329463bb8c
SDR: Add option to give channel number
...
Using SoapySDR server allows to run different networks on multi channel
SDR devices.
2017-06-10 13:08:25 +02:00
Andreas Eversberg
aef4cf0997
Make spectrum display nicer by plotting continuous lines between samples
2017-06-10 13:08:24 +02:00
Andreas Eversberg
e0534db15c
Make spectrum display a little nicer by using '|' instead of ':'
2017-06-10 13:08:23 +02:00
Andreas Eversberg
e653475ff7
NMT: Allow NULL (B'0000') to be used as country selector in traffic area
2017-06-10 13:08:23 +02:00
Andreas Eversberg
57d4d1739e
AMPS/C-Netz: Correctly release pending transaction when creating a new one
...
If transactions is created, look on all channels for pending transaction
with same subscriber.
1. Remove that transaction.
2. Make channel return to IDLE.
3. Release call, if callref exists.
2017-06-10 13:08:22 +02:00
Andreas Eversberg
6adfcf7466
Status display
...
Alows to show status of current channels and users
2017-06-10 13:08:21 +02:00
Andreas Eversberg
bb64c6b3ba
AMPS: Add DTX support
...
When DTX is enabled (-S dtx=2 or 3), a missing SAT tone causes the receiver
to mute audio and insert a low level of comfort noise.
Also the missing SAT tone will not cause the connection to be terminated.
2017-06-10 13:08:19 +02:00
Andreas Eversberg
2c1ab89723
Notify about usage of channels that are next to each other
...
It is required to have at least one free channel between channels, to
avoid interferences.
This is only a warning, it will not reject channels next to each other.
2017-05-24 14:01:25 +02:00
Andreas Eversberg
fc3b3e07be
Finetuning LOSS (noise) detection
...
The algorithm is still bad, but works in most cases
2017-05-24 14:00:08 +02:00
Andreas Eversberg
56024b384b
AMPS: Serveral minor fixes
2017-05-23 18:11:10 +02:00
Andreas Eversberg
76a3484c5c
C-Netz: Make demodulation algorithm (slope or leve) slectable via option
...
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-19 19:11:59 +02:00
Andreas Eversberg
c086e66b7c
minor cleanups
2017-05-17 20:14:37 +02:00
Andreas Eversberg
0557bbbc43
SDR: Checking given parameters with a tollerance of up to 0.001
...
Rounding errors may cause given parameters to be changed a little.
When comparing the set-values with the get-value, a small amount
of tollerance must be allowed.
Thanx to Syvain, pointing to this bug!
2017-05-17 20:06:47 +02:00
Andreas Eversberg
683078a7a0
SDR: Spectrum display will not scale FFT result
...
Instead the greatest possible width that will fit into the window will
be used. This width is 2 to the power of N.
2017-05-17 20:06:46 +02:00
Andreas Eversberg
ef7ff26793
C-Netz: SDR now uses zero-crossing to detect level changes.
...
This does not work with analog radio, but with SDR it works.
The quality should be better and the process is faster.
2017-05-17 20:06:46 +02:00
Andreas Eversberg
9d87b5bf0f
C-Netz: Improved transmission of speech
...
The speech is now correctly ramped up and down during pause bits.
2017-05-17 20:06:44 +02:00
Andreas Eversberg
12dcc6c40f
Minor fixes on AMPS messages
...
- Flipping polarity is now performed after B/I has been applied
- Correcting sysinfo
2017-05-17 20:06:43 +02:00
Andreas Eversberg
4d10ee7c82
No "sdr" audio device option required anymore (when using SDR)
2017-05-17 20:06:42 +02:00
Andreas Eversberg
ca10048e5c
Rename filter -> iir_filter (file name and instance name)
...
This is useful when using fir_filter in the future.
2017-05-15 21:46:32 +02:00
Andreas Eversberg
d03443c4f1
SDR: Added SoapySDR's compiler flags to common/Makefile
2017-05-15 21:46:30 +02:00
Andreas Eversberg
c04d046210
SDR: Fixed SoapySDR's arguments parsing
2017-05-15 21:46:30 +02:00
Andreas Eversberg
fbdb9ece01
SDR: Allow direct IQ TX and RX instead of fm modulating a list of channels
...
This is performed by reading and writing IQ data to "sample" pointer with
channel number set to 0.
2017-05-15 21:46:29 +02:00
Andreas Eversberg
65694f3b80
SDR: disable TX or RX by setting TX or RX frequency to 0
...
This way it is possible to use SDR simplex
2017-05-15 21:46:29 +02:00
Andreas Eversberg
6e0e0c9ce8
fixup Rework on audio buffer management
2017-05-15 21:46:28 +02:00
Andreas Eversberg
9dda9e1efc
SDR: Add option to set IF bandwidth. If not defined, sampling rate is used.
2017-05-15 21:46:27 +02:00
Andreas Eversberg
1445ca2fac
SDR: Add option to send (previously recorded) IQ data instead of TX data
2017-05-15 21:46:26 +02:00
Andreas Eversberg
369bda87a9
C-Netz: Improved decoder debugging
...
FM decoder debug output is now written to text files for better
debugging of process.
2017-05-15 21:46:25 +02:00
Andreas Eversberg
8e0d7d2513
samplerate.c: Allow transcoding to lower sample rate other than 8000 Hz
2017-03-04 16:52:20 +01:00
Andreas Eversberg
3fc4fc54be
main_common: Move init and cleanup function to main function
2017-03-04 07:12:12 +01:00
Andreas Eversberg
4201717f36
Rework on audio buffer management
...
Use function to get samples to be sent to fill audio buffers to a
level. This replaces the function that only shows how much data
is in the buffer.
This way the function itself can control how much data will be
sent.
2017-03-04 06:35:38 +01:00
Andreas Eversberg
2e1999b1ee
Start streaming of sound/SDR just before main loop
...
This prevents buffer overflow during init/creation processes
2017-02-25 07:09:53 +01:00
Andreas Eversberg
04fd1ddcea
Use thread to record and playback wave files without blocking
2017-02-25 06:29:09 +01:00
Andreas Eversberg
f689244f98
C-Netz: OgK must be on first channel, so sync works correctly
2017-02-18 21:02:56 +01:00
Andreas Eversberg
438ce08add
SoapySDR support
...
There is no time stamp handling. It is just TX'ing in advance and
synchronous to received RX rate.
2017-02-18 21:02:55 +01:00
Andreas Eversberg
17b6124122
C-Netz: Remove useless -V option
2017-02-18 21:02:54 +01:00
Andreas Eversberg
58ebc15292
Add test to measure performance of FM modulation and filtering
2017-02-18 21:02:53 +01:00
Andreas Eversberg
4de1e0188d
C-Netz: Add low pass filter to eliminate high frequency noise
...
This improves the FSK decoding quite allot, especially with SDR.
2017-02-18 21:02:52 +01:00
Andreas Eversberg
290b365d67
SDR: Move FM modulation algorithms to a seperate file
2017-02-18 21:02:51 +01:00
Andreas Eversberg
4c0f8e7e95
Rework of sample rate conversion by using linear interpolation
2017-02-18 21:02:51 +01:00
Andreas Eversberg
47f74b38ce
SDR transmits with full amplitude
2017-02-18 21:02:50 +01:00
Andreas Eversberg
6a3cfd608e
Add ascii-art spectrum analyzer for SDR support
2017-02-18 21:02:49 +01:00
Andreas Eversberg
3fb2ade352
C-Netz: Fix release of call process when no dialing was received from phone
2017-02-18 21:02:48 +01:00
Andreas Eversberg
0611f62b52
Show channel number and basic info when channel was created
2017-02-18 21:02:47 +01:00
Andreas Eversberg
5f1d7bc970
C-Netz: Improve clock speed measurements.
...
Sound card's clock measurements only requires a few minutes to get sub-ppm
accuracy results.
2017-02-18 21:02:46 +01:00
Andreas Eversberg
54ed5d5f82
AMPS: Fixed setting of signal polarity when using SDR
2017-02-18 21:01:19 +01:00
Andreas Eversberg
faa3dfb7d4
C-Netz: Make average to clock measurements for a quicker result
2017-02-18 21:01:19 +01:00
Andreas Eversberg
5026e161aa
Open audio device for call (headset) after everything is prepared
...
It is not allowed to stall after trigger reading of audio device.
2017-02-18 21:01:18 +01:00
Andreas Eversberg
8cb0187133
C-Netz: Remove the obviously useless noise function for unused timeslots
2017-02-18 21:01:17 +01:00
Andreas Eversberg
f5e9a97c31
--rx-gain option works now only with sound card
2017-02-18 21:01:16 +01:00
Andreas Eversberg
2b4f5bb228
Minor fix in help output
2017-02-18 21:01:15 +01:00
Andreas Eversberg
f72c53757d
B-Netz, NMT: Improved check for minimum required sample rate
2017-02-18 21:01:15 +01:00
Andreas Eversberg
7e45f556ce
Correcting all levels and move all remaining integer samples to sample_t
...
The leves are based on the standards of each mobile network. They
are adjusted to the specified frequency deviation now.
2017-02-18 21:01:13 +01:00
Andreas Eversberg
bd7ccc5fa0
Add global DC-Filter and remove all individual DC-Filters
2017-02-18 21:01:12 +01:00
Andreas Eversberg
71e556e7ff
Work on emphasis filter: Neutral @ 1000 Hz; Use filter before de-emphasis
2017-02-18 21:01:11 +01:00
Andreas Eversberg
b3fd53b165
Test filter uses a dB graph to show the response graphically
2017-02-18 21:01:10 +01:00
Andreas Eversberg
7ea3bc188d
Move samples of int16_t format to sample_t, that is of type double
...
This prepares the correction of all levels
2017-02-18 21:01:08 +01:00
Andreas Eversberg
538a959128
Indexing tables by casting index to unsigned integer only
2017-02-18 21:01:06 +01:00
Andreas Eversberg
23a42aeb2c
Fixed calculation of elapsed UHD RX time stamp
...
Now rates above 1000 RX frames per second works. The bug hit when there
were more than one frame received during one function call. This happens
if the frame rate is above the main loop rate of 1000 frames per second.
(default)
2017-02-18 21:01:05 +01:00
Andreas Eversberg
ac0da3f76e
Filter improvement: LP and HP filters, added test function
...
The -3 dB level at cut-off frequency is now maintained for multiple
iterations.
2017-02-18 21:01:04 +01:00
Andreas Eversberg
799b96c801
Fixed sleep interval in main loop
...
The elapsed time is calculated, so that it is removed from the sleep
time. This way the loop interval matches the given target.
2017-02-18 21:01:03 +01:00
Andreas Eversberg
a7e47f83d7
Fixed paging channel switching of B-Netz
...
Now the calling channel is switched correctly.
A global parameter is used to select how paging is performed.
2017-02-18 21:01:03 +01:00
Andreas Eversberg
21c5c3195d
Plot IQ data as red points on display, if overdriven (vector length >= 1.0)
2017-02-18 21:01:01 +01:00
Andreas Eversberg
c0e30d35d6
Use individual sample rate and setting for call device (headset)
2017-02-18 21:01:00 +01:00
Andreas Eversberg
19b396ab4d
Wave recording and playback now uses multi channels
2017-02-18 21:00:59 +01:00
Andreas Eversberg
2d8d7e62c1
Use global init/cleanup function
2017-02-18 21:00:58 +01:00
Andreas Eversberg
bc028cd4d3
NMT: Make supervisory signal default, also allow setting per channel.
2017-02-18 21:00:57 +01:00
Andreas Eversberg
272ebeb0ae
SDR: Minor fixes
2017-02-18 21:00:56 +01:00
Andreas Eversberg
a5fd375237
Fixed typos
2017-02-18 21:00:55 +01:00
Andreas Eversberg
bf0abd627d
A-Netz: Option to set gain of paging tones
2017-02-18 21:00:54 +01:00
Andreas Eversberg
d28467c125
SDR: Display IQ data as a plot using 'q' key
2017-02-18 21:00:53 +01:00
Andreas Eversberg
fee4846c3f
SDR forces default settings: emphasis and FSK polarity
2017-02-18 21:00:52 +01:00
Andreas Eversberg
8b9277615d
Neu structure for the paging process (B-Netz)
...
Paging tones are not created within sound_alsa.c
The audio API is now responsible to switch to paging channel.
In case of SDR, the sdr.c will switch frequency offset.
2017-02-18 21:00:50 +01:00
Andreas Eversberg
57993e3e48
Support for UHD SDR interface
2017-02-18 21:00:49 +01:00
Andreas Eversberg
b30b61282c
Generic SDR support
2017-02-18 21:00:48 +01:00
Andreas Eversberg
c5cf88ce57
Prepare for SDR: Add bandwidth and deviation info to sender instance
2017-02-18 21:00:47 +01:00
Andreas Eversberg
9ff8c3bb25
Rework on audio interface
...
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-02-18 21:00:45 +01:00
Andreas Eversberg
d54d3ac265
prepare audio handling for multi carrier SDR
2017-01-07 06:28:24 +01:00
Andreas Eversberg
713b1ab118
Rename functions and structure of biquad lowpass filter
2017-01-07 06:28:23 +01:00
Andreas Eversberg
d447be5e26
NMT: Rework on FSK process, no more requirement for special sample rates
2017-01-07 06:28:20 +01:00
Andreas Eversberg
2d0bc92cde
C-Netz: Make demodulation buffer size dynamic
2017-01-07 06:26:50 +01:00
Andreas Eversberg
a37dfe38ab
C-Netz: Fixed double free bug
2017-01-07 06:26:49 +01:00
Andreas Eversberg
e1cbb1649a
Fixed memory leak in PDEBUG(). Thanx to valgrind finding that!
2017-01-05 08:36:52 +01:00
Andreas Eversberg
286c11cab4
B-Netz: Add translation of emergency numbers 110 and 112
2017-01-02 17:38:54 +01:00
Andreas Eversberg
b59ce96889
B-Netz: Minor change on start image
2017-01-02 10:19:07 +01:00
Andreas Eversberg
16e1e842b9
A-Netz: Don't allow emphasis, since it is not used with A-Netz
2017-01-02 10:16:49 +01:00
Andreas Eversberg
e724823c5b
A-Netz: Reset tone detector when going idle
...
A pending tone must be detected as soon as the cell is idle. This happens
if the phone picks up during release guard time.
2017-01-02 10:13:43 +01:00
Andreas Eversberg
d47853201c
common code: Update call console only when it changes or after debug line
2016-12-11 14:21:22 +01:00
Andreas Eversberg
3400f555fe
Add common function to give hotkey help
...
* Key to dial and hangup
* Key to display wave form
2016-12-09 16:42:38 +01:00
Andreas Eversberg
7585f9c22d
Add function to change dsp state, more debug with channel info
2016-12-09 16:34:33 +01:00
Andreas Eversberg
f111c50478
A-Netz / B-Netz: Add function to change state, debug with channel info
...
Change state uses a function rather than directly setting state
variable.
Some debug commands now use channel number. (for multi-trx setups)
2016-12-06 17:47:58 +01:00
Andreas Eversberg
eed826387a
work on docs
2016-12-06 17:46:12 +01:00
Andreas Eversberg
27c6e3d860
C-Netz: Add code documentation...
2016-12-01 17:59:08 +01:00
Andreas Eversberg
e34d74aa23
C-Netz: Simplifying TX signal clock sync between two channels
2016-11-30 18:09:38 +01:00
Andreas Eversberg
0b43b63d1f
Fixed command line option descriptions
2016-11-29 10:59:09 +01:00
Andreas Eversberg
d52d0242bf
Output enhancements
...
* no more flicker on wave form display while scrolling
* dialing console gets cleared/overwritten correctly
* fixes on stderr output
2016-11-29 07:49:21 +01:00
Andreas Eversberg
938fb74bae
B-Netz: Fixes call procedure according to the standard FTZ 171 R 4
2016-11-27 22:06:47 +01:00
Andreas Eversberg
b1c452cf12
Changed command line options
...
* All lower case options define common options
* All upper case options define network specific options
2016-11-27 22:06:47 +01:00
Andreas Eversberg
f911717aa4
C-Netz: Minor coding style changes, no changes to process
2016-11-22 19:09:05 +01:00
Andreas Eversberg
0a83b19a99
common code: Display wave form in color
...
Show 0-line as blue and curve as green and channel number as white.
2016-11-17 19:38:36 +01:00
Andreas Eversberg
481181fa74
A-Netz: Click removal when changing sequenced paging tones
...
When tone changes to next tone, a transition of 2ms is performed. The last
tone is faded out and the new tone faded in.
2016-11-14 18:36:50 +01:00
Andreas Eversberg
5f5683e374
NMT: Fixed compiler warning
2016-11-13 06:42:18 +01:00
Andreas Eversberg
34954b50de
B-Netz: Rename special start digit for coin box phone type
2016-11-13 06:39:14 +01:00
Andreas Eversberg
2a4abc62b2
Move realtime scheduling and signal handling to common code
2016-11-13 06:37:56 +01:00
Andreas Eversberg
4dacec9ceb
A-Netz: Use Operator number 010 when calling from mobile station
...
Also use no caller ID (NULL). The call control code processes the
caller ID and dialed number correctly.
2016-11-13 06:04:54 +01:00
Andreas Eversberg
52b1ac65f4
A-Netz: Keep phase for each paging tone when played in sequence
...
If paging tones are played in sequence, only one tone out of four tones
is played at once. The phase of all tones are calculated as if each tone
would have been sent permanently.
2016-11-13 06:00:24 +01:00
Andreas Eversberg
6c1b6119ad
common code: Display multiple wave forms for each channel used
...
Use 'w' key to enable/disable RX wave form display.
2016-10-31 19:16:47 +01:00
Andreas Eversberg
ea32ab3fa3
B-Netz: Move 'telegramm' generation to seperate telegramm.c/h files
2016-10-31 18:21:26 +01:00
Andreas Eversberg
63f39e105b
AMPS: Fixes for multi transceiver support
...
- Fix channel assignment
- Voice channel sends test tone when idle
- Changed paging timeout
- Minor fix of SCC field in 2 messages
2016-10-30 09:37:14 +01:00
Andreas Eversberg
bb92a1f3b0
AMPS: Add option to be more tollerant to sync detection
...
Also it detects more false syncs, but this is ignored if decoding fails.
2016-10-29 14:38:49 +02:00
Andreas Eversberg
052fe5d1de
AMPS: Improved level detection of bit decoder
2016-10-29 14:38:46 +02:00
Andreas Eversberg
3a3c1c258b
AMPS: Show number of correct words (CRC) for each FOCC frame
2016-10-28 17:07:38 +02:00
Andreas Eversberg
c1a02a5029
common code: Fix double free bug
2016-10-28 16:55:39 +02:00
Andreas Eversberg
c6d3a41b81
C-Netz: Increment error counter only when trying to reach the phone
2016-10-23 11:50:02 +02:00
Andreas Eversberg
1ea95de120
C-Netz: Use emphasis with 200 uS time constant
2016-10-23 08:46:05 +02:00
Andreas Eversberg
8864db8269
C-Netz: Adjusting compandor response level
2016-10-23 08:45:24 +02:00
Andreas Eversberg
e763d3c6ed
C-Netz: Changing keepalive interval to 2 minutes and retry to 1 minute
2016-10-23 07:32:21 +02:00
Andreas Eversberg
33e0bc5f4e
C-Netz: Remove global variables, because they don't speed up anything
2016-10-07 09:14:22 +02:00
Andreas Eversberg
27938d111e
Added and fixed extra compiler warnings
2016-10-07 08:55:18 +02:00
Andreas Eversberg
8ef966aa21
C-Netz: Reset FSK decoder when switching channel mode
...
This prevents corrupt frames, as well as clear pending frames that
were received during the old mode, but may not be received during
the new mode.
2016-10-07 08:00:34 +02:00
Andreas Eversberg
eac595bd17
C-Netz: Don't access transaction after destroying it
2016-10-07 08:00:10 +02:00
Andreas Eversberg
0cec2f28be
Add check if fromat at PDEBUG() is consistent (like printf)
...
The bugs it found are fixed too.
2016-10-07 07:52:17 +02:00
Andreas Eversberg
b205cfcf03
B-Netz: Work on pilot signal generation
...
The pilot signal to switch to channel 19 can be:
* a tone
* a tone that is turned off (notone)
* positive amplitude
* negative amplitude
2016-10-03 14:56:15 +02:00
Andreas Eversberg
b07509cf2d
AMPS: Correcting channel number range
2016-10-02 09:06:06 +02:00
Andreas Eversberg
ad3c88e064
AMPS: Callref is moved completely to transaction object
2016-10-02 09:06:04 +02:00
Andreas Eversberg
17930af920
C-Netz: callref is moved completely to transaction object
2016-10-02 09:06:04 +02:00
Andreas Eversberg
8d7c7f4425
callref: Move callref from 'sender' to individual implementation of a, b, c-netz
...
Cellular networks use transaction instances, so callref is now member of
transaction object.
2016-10-02 09:06:03 +02:00
Andreas Eversberg
4c1c8eb6fb
NMT: Fix on paging retry
2016-08-28 15:29:13 +02:00
Andreas Eversberg
37ca463d98
NMT: Fixed channel coding for channels other than 1..9
2016-08-20 10:21:46 +02:00
Andreas Eversberg
8cecf13b1a
NMT: Add transaction handling
2016-08-20 09:57:05 +02:00
Andreas Eversberg
767daf73cd
C-Netz: Documentation of the call process in the source code
2016-08-13 15:22:28 +02:00
Andreas Eversberg
7d111546c4
Alsa: Keep 8 samples in input buffer to avoid reading corrupted samples
2016-08-13 15:19:12 +02:00
Andreas Eversberg
541eafe59e
Common code: Add call state debugging
2016-08-07 17:23:56 +02:00
Andreas Eversberg
362b1cbb61
Common code: Fix sound card reset
2016-08-07 17:22:24 +02:00
Andreas Eversberg
7f786fc00a
C-Netz: Fix missing callref assignment (MT call)
2016-08-07 17:20:06 +02:00
Andreas Eversberg
5182f70671
C-Netz: Documentation of some system informations
2016-08-07 17:17:38 +02:00
Andreas Eversberg
e484814c0a
C-Netz: Add hack to increase voice deviation for some newer phone
2016-08-03 12:40:56 +02:00
Andreas Eversberg
3a7388ba7f
C-Netz: Fixed some debugging output
2016-08-03 12:40:55 +02:00
Andreas Eversberg
2bd7c16baa
C-Netz: Add support for extended frequency band. (October 1989)
2016-08-03 12:40:54 +02:00
Andreas Eversberg
e69d74ac45
Send test tone towards mobile when no headphone sound device is selected
2016-08-03 12:03:55 +02:00
Andreas Eversberg
e4079b8ce8
C-Netz: Fix release cause coding
2016-08-03 12:03:54 +02:00
Andreas Eversberg
53814241b3
AMPS: Note about future callref handling
2016-08-03 12:03:53 +02:00
Andreas Eversberg
f15c0dfea3
NMT: Fixing audio level of supervisory signal to match 0.3 KHz deviation
2016-08-03 12:03:52 +02:00
Andreas Eversberg
55229a397c
NMT: Fix, stop ringing timer at answer
2016-08-03 12:03:52 +02:00
Andreas Eversberg
28ae3e300f
NMT: Fixed multi-transceiver mode and show channel in various logs
2016-08-03 12:03:51 +02:00
Andreas Eversberg
038ce9d1b7
Add info key 'i' to show some states.
...
Currently showing C-Netz attached subscribers
2016-08-03 12:03:49 +02:00
Andreas Eversberg
c9012c7663
C-Netz: Release MT call, if mobile phone does not respond
2016-08-02 09:02:58 +02:00
Andreas Eversberg
eb85afa49c
C-Netz: Use cosine-square ramp for better signal generation
2016-08-02 07:39:02 +02:00
Andreas Eversberg
ce7a98206a
C-Netz: Move callref to transaction. Callref on SpK only when its busy.
...
Only when busy, the channel has callref. This is required for audio
routing. During setup, the callref assigned to transaction and kept
there until release to/from upper layer.
2016-08-01 19:17:13 +02:00
Andreas Eversberg
1a3e536010
AMPS: Fix transaction list corruption
2016-08-01 13:06:03 +02:00
Andreas Eversberg
664f8c7ac0
C-Netz: retry call setup messages up to 3 times
2016-08-01 12:15:12 +02:00
Andreas Eversberg
b84a64f872
C-Netz: Autoselect polarity on all transceivers
2016-08-01 12:15:09 +02:00
Andreas Eversberg
77cd21e7c2
C-Netz: Fix transaction list corruption
2016-08-01 12:15:08 +02:00
Andreas Eversberg
0bc5ee553c
NMT: Fix SMS cleanup
2016-07-31 18:52:31 +02:00
Andreas Eversberg
cc8631d4f9
NMT: Give warning of missing channel type AFTER creating all channels
2016-07-31 18:48:20 +02:00
Andreas Eversberg
f729b32745
C-Netz: Fixed multi-transceiver mode and show channel in various logs
2016-07-31 18:48:19 +02:00
Andreas Eversberg
eb8a22e2c2
NMT: Fix SMS deliver output message
2016-07-31 14:49:43 +02:00
Andreas Eversberg
0593f7d066
Fix typos
2016-07-24 12:31:09 +02:00
Andreas Eversberg
6a5af9aeac
Typos: acknowledgement -> acknowledgment signalling -> signaling
2016-07-24 12:31:08 +02:00
Andreas Eversberg
c273bbc5ff
Remove console line before printing debugging and on exit
2016-07-24 12:31:08 +02:00
Andreas Eversberg
123979a0f3
NMT: Minor fix at debug output
2016-07-24 12:31:08 +02:00
Andreas Eversberg
8741833948
NMT: Change 'index' of message to 'mt' (message type)
2016-07-24 12:31:08 +02:00
Andreas Eversberg
5807a49f49
Release active call, when disconnect is received from network
...
If early disconnect is received, the connecion is kept established, so the
announcement can be heared by mobile subscriber.
2016-07-24 12:31:08 +02:00
Andreas Eversberg
4745b29115
NMT: Caller ID support
2016-07-24 12:31:07 +02:00
Andreas Eversberg
ba8bf0e9d5
NMT: Fix autoanswer
...
If phone does not support autoanswer, the MTX proceeds with regular ringing.
2016-07-24 12:31:07 +02:00
Andreas Eversberg
efb50532c6
NMT: Rework on frame (message) types
2016-07-24 12:31:07 +02:00
Andreas Eversberg
8906deb5dd
B-Netz: Added description for GFS 19 to reduce transmit power
2016-07-24 12:31:07 +02:00
Andreas Eversberg
5bbbe11666
B-Netz: Rework on dialing start digit: New unknown type added
2016-07-24 12:31:06 +02:00
Andreas Eversberg
b3b42e8bc4
Cleanup warnings at autoconfig files
2016-07-24 12:31:06 +02:00
Andreas Eversberg
a6bd841247
NMT: Various fixes for SMS support
2016-07-24 12:31:05 +02:00
Andreas Eversberg
3ef9ef88bd
B-Netz: Compiler switch to generate a dial sequence (for testing)
2016-07-24 12:30:56 +02:00
Andreas Eversberg
2137db0e01
NMT: Autoanswer for SMS/DMS calls
2016-07-09 15:16:17 +02:00
Andreas Eversberg
e7fa08b6df
NMT / SMS: Short Message Service support
2016-07-09 15:16:16 +02:00
Andreas Eversberg
64c829909b
NMT / DMS: User data facility support (required for SMS)
2016-07-09 11:27:24 +02:00
Andreas Eversberg
62b3712ce5
common code: Check and ignore events without callref set
2016-07-09 11:27:02 +02:00
Andreas Eversberg
f39ee2f15a
common code: Add support for main loop handler
2016-07-09 11:27:02 +02:00
Andreas Eversberg
26ab26db48
minor fix at MNCC socket
2016-07-09 11:27:02 +02:00
Andreas Eversberg
ab9aba1a84
B-Netz: Reply the station ID correctly
...
It must be replied right after it has been received the first time.
It does not matter if this happens a bit later, even a second later.
Thanx to Hans Wigger for providing recording from his B-Netz tester to
figure this out.
2016-07-06 16:19:01 +02:00
Andreas Eversberg
f3fd01ebcd
ALSA code: Fixed corrupted sample at the end of a read
...
The last sample may get corrupted. It seems that this depends on the
card that is used. To fix this, the snd_pcm_avail is checked and
one sample less than available is read using snd_pcm_readi. This
sample remains in RX buffer until next read. Then it is not corrupted.
2016-07-02 08:04:43 +02:00
Andreas Eversberg
2ee51022f4
Rename 'compander' to 'compandor'
2016-06-20 19:37:56 +02:00
Andreas Eversberg
86daa5a64a
AMPS: Add option to use the BUSY/IDLE bit on FOCC
2016-06-20 17:16:46 +02:00
Andreas Eversberg
76f6285846
AMPS: Show round trip delay of Filler frames in loopback mode
2016-06-20 17:15:42 +02:00
Andreas Eversberg
d851c37eac
common code: Release MNCC call 30 seconds after listening to announcement
2016-06-19 17:46:56 +02:00
Andreas Eversberg
b45b0c6bac
common code: Minor fix in main loop
2016-06-19 17:43:48 +02:00
Andreas Eversberg
f87e36fa47
AMPS: Detect difference between paging response and call response
...
Release call, if paging response was received, after call from fixed
network has already been released.
2016-06-19 17:41:42 +02:00
Andreas Eversberg
673aa74e6c
AMPS: Various minor fixes
2016-06-19 11:03:59 +02:00
Andreas Eversberg
4d52f955b3
common code: Add processing interval option to decrese CPU usage
2016-06-18 19:33:08 +02:00
Andreas Eversberg
e10898c1e8
C-Netz: Minor cosmetic fixes
2016-06-18 08:05:18 +02:00
Andreas Eversberg
d2c4ca4fa9
Implementation of Advanced Mobile Phone Service (AMPS)
2016-06-17 17:03:29 +02:00
Andreas Eversberg
7d5d3da8d3
Add function to display wave form from input/loop
...
Use 'w' to toggle display.
Move terminal input processing and main loop to main_common.c
2016-06-17 17:03:28 +02:00
Andreas Eversberg
1d20119d85
common code: Call control allows to re-dial after disconnect
...
No hangup key required before that anymore.
2016-06-12 16:16:37 +02:00
Andreas Eversberg
7cfd11eb17
common code: Add feature to select debug category rather than showing all
2016-06-12 16:14:29 +02:00
Andreas Eversberg
051cc81b13
C-Netz: Move transaction routines to seperate file
2016-06-12 16:11:20 +02:00
Andreas Eversberg
26593ed034
NMT: fix minor bug
2016-06-12 16:11:20 +02:00
Andreas Eversberg
4d22b11855
common code: Add debug #define for capture generated singal
...
Used for fundamental debugging of encoded signal
2016-06-12 16:11:20 +02:00
Andreas Eversberg
c933250685
Add dsp mode change fuction to A and B Netz, fixed NMT
2016-06-12 16:11:20 +02:00
Andreas Eversberg
997f8eda43
B-Netz: Add timer for switching back from calling channel
...
The timer ensures that the paging sequence is sent out by sound card before
switching back to traffic channel
2016-05-29 17:17:49 +02:00
Andreas Eversberg
1ceb3026dd
Fixed link problem with alsa lib
...
Thanx to Martin for pointing to this problem.
2016-05-16 18:41:21 +02:00
Andreas Eversberg
90dbc0cbd7
C-Netz: Debug fixes
2016-05-15 20:44:07 +02:00
Andreas Eversberg
50136d7e8a
NMT: Typo in channel list
2016-05-15 20:43:58 +02:00
Andreas Eversberg
e9640c0cd8
C-Netz: Fix TX polarity selection
2016-05-15 20:43:49 +02:00
Andreas Eversberg
9ecb87f3e6
Fixing station ID command line parameter
2016-05-15 20:43:38 +02:00
Andreas Eversberg
7aa2445b47
Move amplitude (level) debugging to debug.c
2016-05-15 20:37:06 +02:00
Andreas Eversberg
60d9a7b496
C-Netz: Advice about requirement of emphasis done by software
2016-05-13 19:23:43 +02:00
Andreas Eversberg
46fa72894e
C-Netz: Calibration/fix processing of tone levels on TX and RX side
...
FSK and compander levels are adjusted.
Eliminate offsets between subsequent speech chunks. This is done by
high-pass filter. An offset is not passed to the filter.
Do correct audio processing chain:
time compress -> compressor -> scrambler / pre-emphasis -> TX
RX -> de-scrambler / de-emphasis -> expander -> time expand
2016-05-13 09:37:03 +02:00
Andreas Eversberg
5a9c9c7401
C-Netz: Send 5280 Hz test tone on idle speech channel
2016-05-13 09:37:03 +02:00
Andreas Eversberg
bbab972b51
NMT: Fixup paging on other channel
2016-05-13 09:37:03 +02:00
Andreas Eversberg
69ccdb99b5
NMT: Calibration of tone levels on TX and RX side
2016-05-13 09:37:03 +02:00
Andreas Eversberg
27e8b03df5
Fixup typo on jitter code
2016-05-13 09:37:02 +02:00
Andreas Eversberg
42eefe90bf
common code: Fixed de-emphasis by adding high pass filter
...
This high-pass filter filters out DC and frequencies below 300 Hz.
Now de-emphases will not cause low frequencies to saturate audio level
range or cause too high levels on low frequencies.
2016-05-13 09:37:02 +02:00
Andreas Eversberg
3a54f46b81
C-Netz: Fixup debug output at database
2016-05-13 09:37:02 +02:00
Andreas Eversberg
e2a9c2c6a5
Automatic FSK polarity selection on TX side
...
This is done by simulating two cells with different polarities.
On first message from mobile station, the cell with the correct
polarity is used, the other is disabled.
On RX side the polarity is not selected, since FSK decoder detects
polarity for every frame.
2016-05-13 09:37:01 +02:00
Andreas Eversberg
021c34a899
Add geo locations of A-Netz and B-Netz towers. (not exact location)
2016-05-08 16:11:13 +02:00
Andreas Eversberg
57ba648ac4
C-Netz: Add tiny database to track if phones are online
...
Reject calls, if not online.
Use an interval to check if the phones are still online.
2016-05-08 15:53:00 +02:00
Andreas Eversberg
bae12156a2
common code: Add input gain option
2016-05-08 15:49:45 +02:00
Andreas Eversberg
1ce67c14e9
C-netz: Tuning scrambler
2016-05-08 15:49:29 +02:00
Andreas Eversberg
7434e21dc2
Multi transceiver support
...
This can be multiple transceivers on multiple sound cards.
Two transceivers can be bundled on one sound device as well, using both channels.
2016-05-08 15:48:13 +02:00
Andreas Eversberg
de0ce7ba98
C-Netz: Correct clear cause on clearing by mobile station
2016-05-08 15:47:01 +02:00
Andreas Eversberg
8b6b87d8cc
C-Netz: Lowest mobile station power by default
2016-05-08 15:46:51 +02:00
Andreas Eversberg
95f44e9840
C-Netz: Fixed typo
2016-05-08 15:46:43 +02:00
Andreas Eversberg
11302272ce
C-Netz: Minor fix on clock speed indication
2016-05-08 15:46:34 +02:00
Andreas Eversberg
97c9eee322
Fix display of correct program name
2016-05-08 08:11:35 +02:00
Andreas Eversberg
38692e430b
B-Netz: Calibration of tone levels on TX and RX side
2016-05-08 08:11:17 +02:00
Andreas Eversberg
11487eefe8
B-Netz: Minor fixes on signals
2016-05-08 08:11:02 +02:00
Andreas Eversberg
aae58d5a68
A-Netz: Calibration of tone levels on TX and RX side
2016-05-06 07:05:52 +02:00
Andreas Eversberg
b73894ac49
B-Netz / NMT: minor changes at signal detection
2016-05-06 07:05:40 +02:00
Andreas Eversberg
47dbf094d9
NMT: Changes in parity check
2016-05-06 07:05:30 +02:00
Andreas Eversberg
28e7f1e9d1
common code: Remove DC level before using Goertzel filter
...
A DC level degrades the quality of the filtered result
2016-05-01 15:15:19 +02:00
Andreas Eversberg
0c99848120
common code: Make preemphasis 0 dB @ 1000 Hz
2016-05-01 15:14:57 +02:00