Commit Graph

65 Commits

Author SHA1 Message Date
Vasil Velichkov 61a3ca6cb4 Improve the TCH/H decoder logs
- Change "6,90 kbit/s" to "5.9 kbit/s"
  A typo reported in github ptrkrysik/gr-gsm#456
- Comment out the "Error! frame_nr:" message as it turns out to confuse
  users more then it actually helps debugging.
- When voice-boundary detection is enabled write the name of decoded
  control channel messages

Change-Id: I697ef944f30c4cabb62c888317dd3a7f8dcd5611
2019-05-02 12:59:20 +02:00
Vasil Velichkov 2f0c096e30 MacOS fixes
- Include grgsm/endian.h in tch_h_decoder_impl.cc
- Revert 0ed39fbf93 as linking with
  boost_thread is needed

Fixes GH-444

Change-Id: I00884962295082cff3eb64fa21e9f73437be0001
2019-02-05 14:28:37 +00:00
Vasil Velichkov 06321a39e0 Improve voice boundary detection
Decode Alerting and Progress messages and if the in-band information
flag is set start decoding the voice
2018-12-29 00:52:05 +01:00
Vasil Velichkov 7f259fdb68 Add TCH/H decoder block with AMR multirate support
Add new TCHH channel mode
Add two new optional arguments

    -m CHAN_MODE, --mode=CHAN_MODE
                        Channel mode. Valid options are 'BCCH' (Non-combined
                        C0), 'BCCH_SDCCH4'(Combined C0), 'SDCCH8' (Stand-alone
                        control channel) 'TCHF' (Traffic Channel, Full rate),
                        'TCHH' (Traffic Channel, Half rate)

    --sub-channel=TCH_H_CHANNEL
                        TCH/H sub-channel. [default=0]
    --multi-rate=MULTI_RATE
                        The MultiRrate configuration element from the
                        Assigment Command message. Example: 28111a40. See 3GPP
                        TS 44.018 - 10.5.2.21aa MultiRate configuration

Example:
    grgsm_decode -m TCHH --sub-channel 0 --multi-rate 2811 -o voice.amr ...
2018-12-29 00:52:05 +01:00
Piotr Krysik ac140210c9 Simplify cmake checks related to libosmocore 2018-06-19 12:07:28 +02:00
Piotr Krysik c711e97af1 Separating libosmogsm from the rest 2018-06-18 15:13:13 +02:00
Piotr Krysik 8a8d41a583 Merge branch 'ptrkrysik/trx' into development 2018-04-16 22:21:29 +02:00
Piotr Krysik e24860f9c0 Reformatting control_channels_decoder 2018-04-06 15:22:51 +02:00
Vasil Velichkov 924d1873da Fix an assert in ViterbiR2O4::decode
The table length was wrong becuase matchCostTable is a float pointer and
not an array since 792330777d

python2.7: /home/user/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288: virtual void ViterbiR2O4::decode(const SoftVector&, BitVector&): Assertion `match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1' failed.

 (gdb) f 4
 #4  0x00007fffdff820c3 in ViterbiR2O4::decode (this=0x5555563bbdf0, in=..., target=...)
     at /home/vasko/sources/gr-gsm/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288
 288				assert(match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1);
 (gdb) p match-matchCostTable
 $1 = 2
 (gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1
 $2 = 1
 (gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])
 $3 = 2
 (gdb) p sizeof(matchCostTable)
 $4 = 8
2018-04-06 15:18:26 +02:00
Vasil Velichkov bc2a23e0e7 Check the gsm0503_xcch_decode return value
- Discard the message when gsm0503_xcch_decode returns -1
- Add automated decrypt test

See https://groups.google.com/d/msg/gr-gsm/9nOkIdrGOck/qTZh47McCQAJ
2018-03-30 22:34:52 +02:00
Piotr Krysik b1e67fe527 Define __attribute__ and __deprecated__ on MSWin 2018-03-04 22:09:23 +01:00
Piotr Krysik 86c9164000 Change buildsystem message on libosmocore not being found 2018-03-04 22:08:52 +01:00
Piotr Krysik 1a5e87ea1a Conditional compilation of local libosmocore depending if there is or is not libosmocore installation present on the system 2018-03-04 19:36:24 +01:00
Piotr Krysik d8a576618d Fixing warning caused by local libosmocore version 2018-03-04 19:35:00 +01:00
Piotr Krysik daa26e80be Fixing 'free' position 2018-03-03 20:04:13 +01:00
Piotr Krysik 1fd7cfb47e Removing part that causes problems with 'make test' 2018-02-28 14:58:10 +01:00
Piotr Krysik b24beebaf9 Adding include to have 'bool' type 2018-02-28 10:11:08 +01:00
Piotr Krysik 4cd494bbf8 Slight changes to CMake file and libosmocoding file (include change) 2018-02-28 10:08:38 +01:00
Piotr Krysik b3bd68ed8f Commenting out some problematic and not apsolutely necessary stuff from libosmocore 2018-02-27 14:45:14 +01:00
Piotr Krysik 813fedd36e Fixing types in gsm0503_mapping 2018-02-27 14:45:14 +01:00
Piotr Krysik 1aede38857 Moving gsm0503.h to gsm subdir 2018-02-27 14:45:14 +01:00
Piotr Krysik 9e2e8358a3 Portability fix: Adding local partial copy of libosmocore (TODO: minimize it) 2018-02-27 14:45:14 +01:00
Piotr Krysik 15219abe00 sch.c: Changed include from local to global 2018-02-27 14:45:14 +01:00
Piotr Krysik 792330777d Portability fix: replacing tables of variable size with memory allocations 2018-02-27 14:45:14 +01:00
Piotr Krysik d7efc05b79 Moved gsm_constants file to include directory 2017-11-07 19:33:22 +01:00
Piotr Krysik e18b431c4b Removing duplicated lines from cmake file 2017-09-24 11:25:30 +02:00
Piotr Krysik 9b5617a3ef Corrections in the buildsystem 2017-09-18 21:36:06 +02:00
Piotr Krysik 184d7064a6 Corrections of cmake files 2017-09-13 12:46:38 +02:00
Piotr Krysik 0945cc5512 Changed organization of cmake files
Cmake files were added into subdirectories.
2017-09-13 09:17:50 +02:00
Piotr Krysik a6268a5bc1 Big update of copyright statements so they can be automatically processed to produce debian/copyright file 2017-08-23 16:02:19 +02:00
Piotr Krysik b9a87a18fb Moved openbts codes into a separate directory and updated their license statements so they can be automatically processed 2017-08-23 15:59:28 +02:00
Piotr Krysik 70c25a112a Changes in decoding:
-copied decoding routines from libosmocore to gr-gsm,
-made cmake files entries for new source files and added linking with libosmocodec,
-moved sch.c file to decoding folder.
2017-01-03 08:01:23 +01:00
Piotr Krysik 694ed81d7b TCH decoding with libosmocore 2016-10-02 18:56:04 +02:00
Piotr Krysik b8d33d90f7 Control channels decoding with libosmocore 2016-10-02 18:54:46 +02:00
Piotr Krysik b516e6dcdb Moved control channels decoder to libosmocore implementation 2016-09-28 11:53:26 +02:00
Piotr Krysik 5c9afd38f0 TCH/F decoding correction - less wrong messages interpreted as voice frames 2016-08-18 18:57:02 +02:00
Piotr Krysik 0a60e7a70a Corrections of tch/f decoder - removal of parameter continued 2016-06-29 22:22:27 +02:00
Piotr Krysik 2b97cb1cc3 Added voice output, removed saving to file from inside the decoder - now it should be done GNU Radio way 2016-06-29 15:00:07 +02:00
Steve Glass 6b20e1fcdc Fix buffer overrun/silence compiler warning 2016-02-27 19:48:52 +10:00
iZsh 6698793a24 Fix issue #112 (copy messages instead of modifying the input msg) 2015-08-16 14:52:01 +02:00
Roman Khassraf d36123dac8 Fixed missing GSM 06.10 header for FR audio frames. 2015-08-11 12:44:56 +02:00
Roman Khassraf 23c8d8a92f Implemented boundary check for voice decoding. Issue 107 2015-08-11 11:52:15 +02:00
Roman Khassraf b86836781e Added handling of channel mode modify messages for AMR 2015-07-11 15:08:01 +02:00
ptrkrysik d1312138ad Applied again bugfix for issue #65 (it was removed during one of merges) 2015-07-06 18:48:13 +02:00
Roman Khassraf 8851d6638a Removed unused or duplicate code 2015-06-07 16:42:37 +02:00
Roman Khassraf d38206c29f Implemented / integrated AMR decoding 2015-06-07 16:26:29 +02:00
Roman Khassraf 67089d6dd3 Removed check for tail bits, as it may lead to false discarding of frames 2015-06-02 13:23:15 +02:00
Roman Khassraf e159333f8f Moved variable declaration to header file 2015-06-02 13:19:01 +02:00
Roman Khassraf fa7058b64b Changed tch_mode enum to support AMR 2015-06-02 09:21:11 +02:00
Roman Khassraf aa8fa99d0e Added missing Viterbi decoder source 2015-06-02 09:20:03 +02:00