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
Andreas Eversberg
16acdbf59d
Implementation of C-Netz (German mobile telephone system)
2016-04-24 15:19:00 +02:00
Andreas Eversberg
4b3e3385b5
common code: Fix sample rate conversion
2016-04-24 15:18:59 +02:00
Andreas Eversberg
4356c93afa
common: Add pre and de emphasis, if the radio does not support it
...
Connect to the oscillator of the transmitter - good girl!
You need to enable pre emphasis in this case.
Connect to the discriminator of the receiver - good boy!
You need to enable de emphasis in this case.
2016-04-24 15:14:56 +02:00
Andreas Eversberg
5062628e52
NMT: Calculate quality of sync sequence and drop in case of bad quality
...
This eliminates chance of findig a sync sequence in noise or speech
2016-04-24 15:14:56 +02:00
Andreas Eversberg
c0cd74ac85
NMT: Show levels of received frames
2016-04-24 15:12:21 +02:00
Andreas Eversberg
2a092b8cf7
Fixing compander
2016-04-24 15:10:25 +02:00
Andreas Eversberg
9de121109d
common code: Sample rate conversion now supports any rate above 8000 Hz
2016-04-17 16:49:39 +02:00
Andreas Eversberg
05402283df
common code: Add function request information, if timer is running
2016-04-17 16:49:08 +02:00
Andreas Eversberg
17a93b501b
NMT: Fix hint and list of traffic area configuration
2016-03-27 17:56:04 +02:00
Andreas Eversberg
4d84da31a8
Fixing timer handling
...
Usage of more than one timer caused a lock-up.
2016-03-27 17:56:04 +02:00
Andreas Eversberg
1146537d84
common code: Add feature to record received audio and replay it
...
-W <file.wav> writes a wave file of received audio
-R <file.wav> reads a wave file to feed into decoder
This way you can record a phone and later debug without a phone
and radio equipment.
2016-03-27 17:56:04 +02:00
Andreas Eversberg
0aa749d27b
WIP: NMT docs
2016-03-26 17:35:20 +01:00
Andreas Eversberg
a5db02775e
fixup debug class definition: rename DFSK and DAUDIO to DDSP
2016-03-15 19:26:13 +01:00
Andreas Eversberg
57caa536cf
Implementation of NMT (Nordic Mobile Telephoe) network
2016-03-13 19:42:19 +01:00
Andreas Eversberg
cbfc818cce
Add compander to common part
2016-03-13 16:18:42 +01:00
Andreas Eversberg
4ab1cd5026
Add DTMF coder to common part
2016-03-13 13:38:35 +01:00
Andreas Eversberg
3bee5e728a
bnetz: Allow calling the phone using '05' prefix
2016-03-13 09:12:43 +01:00
Andreas Eversberg
e9234e3926
anetz: Add release timer, so station keeps blocked for a while
...
This prevents other mobile phone or outgoing call to seize the
base station before the current phone releases the transmitter.
2016-03-13 09:12:26 +01:00
Andreas Eversberg
0dc81fe210
Prepare for NMT: Fixes and improvements at common code
2016-03-13 09:12:23 +01:00
Andreas Eversberg
287b914b56
bnetz: Simplifying 'telegramm' handling
2016-03-13 09:12:19 +01:00
Andreas Eversberg
d21be383a6
anetz/bnetz: Move option 'loss detection' from common code to individual code
2016-03-13 09:12:16 +01:00
Andreas Eversberg
9b8e359264
anetz/bnetz: Remove redundant code to enter idle state
2016-03-13 09:12:14 +01:00
Andreas Eversberg
946c9ce10a
initial git import
2016-03-13 09:12:11 +01:00