Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working branch #34

Open
wants to merge 148 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
9998c6a
GUI: add GNU radio plots in developer mode
MLsmd Aug 11, 2017
984565f
GUI window size
MLsmd Aug 14, 2017
e5d66b6
GUI: logo, superframe display flow(devMode)
MLsmd Aug 14, 2017
7d521bc
GUI: add DAB mode (next to DAB+)
MLsmd Aug 15, 2017
e39cc9f
GUI: add case: no MCI in FIC, prevent from crashing whole programm
MLsmd Aug 15, 2017
3b735bd
GUI: bug fix JSON
MLsmd Aug 15, 2017
f5a7396
auto adjust sample rate + programme type support
MLsmd Aug 16, 2017
260543c
FIB_source: change structure to one subchannel per service and multip…
MLsmd Aug 16, 2017
5ae9b92
transmission mux bug fix
MLsmd Aug 16, 2017
87641b0
FIB_source: add individual labels for each service
MLsmd Aug 17, 2017
3f6896c
GUI transmitter: add dab/dab+ selection for each service individually
MLsmd Aug 17, 2017
f696245
add a std::runtime_error if aac enc init fails.
fwunsch Aug 17, 2017
c34c68c
add another throw statement
fwunsch Aug 17, 2017
0b5e672
GUI: enable physical audio source (e.g. microphone) as msc audio source
MLsmd Aug 17, 2017
d96cec3
grc: fixed category naming
fwunsch Aug 18, 2017
9cb9134
Squashed 'fdk-aac-dab/' content from commit 89639e3
marcusmueller Aug 21, 2017
407497d
Merge commit '9cb9134bce0e3b0b0a83b23676c3ba2bf6c6655d' as 'fdk-aac-dab'
marcusmueller Aug 21, 2017
065978d
added renaming to bootstrap
marcusmueller Aug 21, 2017
0e26c87
Included fdk_aac_dab
marcusmueller Aug 21, 2017
6cc35df
renamed fdk-aac to fdk-aac-dab
marcusmueller Aug 21, 2017
8695426
Documentation on installing fdk-aac-dab: Readme and useful CMake output
marcusmueller Aug 21, 2017
5f37af8
imported dab_swig as dab in tests
marcusmueller Aug 21, 2017
2bbe536
GUI: prevent overflow of labels and set border for maximum of services
MLsmd Aug 21, 2017
328c1b0
receiver: fix fatal bug in mp2 decoding
MLsmd Aug 21, 2017
ad0e314
Merge pull request #18 from kit-cel/fix_grc_category
MLsmd Aug 21, 2017
0d9a43c
Merge pull request #17 from kit-cel/exit_on_error
MLsmd Aug 21, 2017
2af41ce
Merge pull request #19 from kit-cel/fix_tests
MLsmd Aug 21, 2017
507bcf6
removed header that becomes redundant through fdk-aac-dab
marcusmueller Aug 21, 2017
0dd004e
GUI: merge DAB and DAB+ transmitter/receiver flowgraph in one class r…
MLsmd Aug 22, 2017
2be5dbb
Merge branch 'developer_front_end' into working_branch
MLsmd Aug 22, 2017
c90de95
Merge pull request #20 from kit-cel/fdk_aac_dab
MLsmd Aug 22, 2017
353d02f
GUI: replace KDE LED with bitmap fixes #22
MLsmd Aug 22, 2017
5ce9d99
fib_source: fix qa test
MLsmd Aug 23, 2017
abd5d22
GUI: add a posteriori audio sample rate correction
MLsmd Aug 23, 2017
abfdd17
fix qa test qa_fic_encode
MLsmd Aug 24, 2017
9940b00
GUI: add reception stop button fixes #24
MLsmd Aug 24, 2017
f73707b
transmitter: enable mono audio sources fixes #25
MLsmd Aug 24, 2017
6b073d6
GUI: prevent GUI from resizing when playing another service
MLsmd Aug 24, 2017
99504f3
GUI: fix path for bitmaps (logo and LEDs) by using realpath
MLsmd Aug 24, 2017
e08cee7
transmitter: fix country ID encoding in fib_source closes #26
MLsmd Aug 24, 2017
c791166
app: add executable application DABstep
MLsmd Aug 25, 2017
f764a8f
receiver: add valve_ff block to make the audio player control indepen…
MLsmd Aug 25, 2017
94db7bf
externalized path to icons
marcusmueller Aug 25, 2017
ac15d36
fix typo in constants.py.in
MLsmd Aug 25, 2017
6228a4b
GUI: make audio player independed of reception using volume= 0 for ST…
MLsmd Aug 27, 2017
a2c413e
receiver: add peak_detector from gnuradio 3.7.10
MLsmd Aug 28, 2017
89e608a
resolve #28 fic_encode test
MLsmd Aug 28, 2017
6e38790
README: add GSoC section and add FAAD2 dependency
MLsmd Aug 28, 2017
a96eb8f
README: embed links to GSoC blog and commit history
MLsmd Aug 28, 2017
5ee89d3
README: add Ideas and Current Constraints
MLsmd Aug 29, 2017
e8aa0f2
Update README.md
MLsmd Aug 29, 2017
67d5b6b
README: add Ideas and Current Constraints
MLsmd Aug 29, 2017
58385d3
Merge branch 'working_branch' of https://github.com/kit-cel/gr-dab in…
MLsmd Aug 29, 2017
6202a87
Sync: Add delayed correlation block
MLsmd Sep 7, 2017
c5133b9
synch: working time sync
MLsmd Sep 27, 2017
4654963
sync: estimate frequency offset
MLsmd Sep 27, 2017
2802050
sync: correct frequency offset
MLsmd Sep 28, 2017
6ede829
sync: implementation as sync block
MLsmd Sep 29, 2017
2d43e9d
sync: add freq_offset_variance_measurement
MLsmd Sep 29, 2017
6ebd130
made frequency_offset_variance.py executable
marcusmueller Sep 29, 2017
9b628de
sync: add coarse freq correction
MLsmd Oct 2, 2017
3e84eb4
sync: correct fine frequency offset when cutting cyclic prefix out
MLsmd Oct 2, 2017
b1b1146
sync: phase correction with phase reference symbol
MLsmd Oct 3, 2017
433bb3e
sync: add documentation to phase correction block
MLsmd Oct 4, 2017
818386f
sync: add frequency deinterleaver
MLsmd Oct 4, 2017
8d7ecc2
sync: add softbit interleaver
MLsmd Oct 4, 2017
f6ded4d
sync: add demux, separating FIC and MSC after sync
MLsmd Oct 4, 2017
97f4b4b
sync: fixing tag setter
MLsmd Oct 7, 2017
01c3357
sync: new hier block ofdm_demod and fic_decode
MLsmd Oct 8, 2017
d638cfc
msc_decode: adapt to new sync structure
MLsmd Oct 9, 2017
b79d2ec
sync: new sync still with trigger stream
MLsmd Oct 9, 2017
434ddf5
sync: include new sync in GUI
MLsmd Oct 10, 2017
06db20e
sync: remove any trigger ports from receiver
MLsmd Oct 10, 2017
aa1e9f0
receiver: adjust sampling rate from 2M to 2048k
MLsmd Oct 10, 2017
bd01907
receiver: update grc example
MLsmd Oct 10, 2017
19956a5
sync: improve grc files
MLsmd Oct 18, 2017
4956c34
transmitter: implement better qpsk mapper
MLsmd Oct 20, 2017
adeb4a7
sync: improve correlation for lower SNR
MLsmd Oct 28, 2017
942d837
Merge pull request #32 from marcusmueller/cyclic_prefix_correlation
MLsmd Oct 29, 2017
9d55f0c
wrap up transceiver with new sync
MLsmd Oct 31, 2017
01011a1
Merge branch 'cyclic_prefix_correlation' of https://github.com/kit-ce…
MLsmd Oct 31, 2017
19a6fe5
merge new ofdm sync into working_branch
MLsmd Oct 31, 2017
9dcf015
import new hier blocks
MLsmd Oct 31, 2017
2bcfc1d
update known bugs in README
MLsmd Oct 31, 2017
5af55ad
rm redundant block complex to interleaved float
MLsmd Nov 10, 2017
c8bde20
rm redundant block differential phasor
MLsmd Nov 10, 2017
6629cac
rm redundant block estimate_sample_rate_bf
MLsmd Nov 10, 2017
e20c2c1
rm redundant block fractional_interpolator_triggered_update_cc
MLsmd Nov 10, 2017
8daa98f
rm redundant block magnitude_equalizer_vcc
MLsmd Nov 10, 2017
5f55d23
rm redundant block measure_processing_rate
MLsmd Nov 10, 2017
69d705a
rm redundant block modulo_ff
MLsmd Nov 10, 2017
7ef6e9c
rm redundant block moving_sum_ff
MLsmd Nov 10, 2017
5f5ddf9
rm redundant block coarse_frequency_correct
MLsmd Nov 10, 2017
2a61120
rm redundant block ffe_all_in_one
MLsmd Nov 10, 2017
3b0b0b5
rm redundant block ofdm_remove_first_symbol
MLsmd Nov 10, 2017
ca3dee8
rm redundant block ofdm_sampler
MLsmd Nov 10, 2017
ff0531b
rm redundant block peak_detector
MLsmd Nov 10, 2017
9f6230a
rm redundant block phase_correction_cc
MLsmd Nov 10, 2017
b209fcf
rm redundant block prune_vectors
MLsmd Nov 10, 2017
f936469
rm redundant block qpsk_maper_vbc
MLsmd Nov 10, 2017
d75fcdc
rm redundant block repartition_vectors
MLsmd Nov 10, 2017
8727d3a
SNR measurement in coarse_freq_correction block for GUI SNR display
MLsmd Nov 13, 2017
3c3f2aa
remove binary data file
MLsmd Nov 13, 2017
6e4ceb8
correct fft/ifft normalization for power 1 in QPSK and in transmissio…
MLsmd Nov 14, 2017
3c50f9f
improve flowgraphs for loopback ability
MLsmd Nov 30, 2017
936cf01
include RTL-SDR source in DABstep
MLsmd Dec 1, 2017
1010265
correct fault in snr measurement
MLsmd Dec 1, 2017
67d3fb3
add gain adjustment and fix receiver usrp tune
MLsmd Dec 4, 2017
e74444e
improve GUI
MLsmd Dec 4, 2017
63205ec
improve snr display bar
MLsmd Dec 4, 2017
ad93669
fix bug with transmitter button toggle
MLsmd Dec 4, 2017
3be2915
add gain adjustment to rtl-sdr source
MLsmd Dec 4, 2017
4aaa268
avoid audio underruns by adding a delay block
MLsmd Dec 5, 2017
400ea4f
add gain setter for transmitter
MLsmd Dec 5, 2017
58df92a
improve labels
MLsmd Dec 18, 2017
945e275
improve example flowgraphs
MLsmd Dec 18, 2017
1e157c5
update README
MLsmd Dec 18, 2017
5399fbe
wrap up qa tests
MLsmd Jan 5, 2018
5e33d32
add qa test for qpsk_mapper_vbvc block
MLsmd Jan 8, 2018
c9b7e20
add qa test for time_interleave_bb block
MLsmd Jan 8, 2018
8acc439
add qa test for selct_cus_vfvf block and wrap up
MLsmd Jan 8, 2018
52ade54
delete redundant files and wrap up
MLsmd Jan 9, 2018
59c9631
volkize energy measurement in sync
MLsmd Jan 10, 2018
7cec3a6
volkize all correlations and additions in coarse_frequency_correction
MLsmd Jan 10, 2018
4946c74
volkize all energy measurements (mag_squared) in measure_snr
MLsmd Jan 13, 2018
417e166
add docu and rm redundant blocks
MLsmd Jan 17, 2018
ed03d09
add docu, wrap up
MLsmd Jan 17, 2018
7a74ad5
using the great technique of a loop to reduce code
MLsmd Jan 17, 2018
e80bacd
wrap up, rm redundancy, add docu
MLsmd Jan 18, 2018
7f59a1c
fix error in qa test
MLsmd Jan 18, 2018
61320c4
remove unused stuff
MLsmd Jan 21, 2018
7a47098
fix except status in python module init
MLsmd Jan 21, 2018
3312591
generate user_frontend.py on the fly while building
MLsmd Jan 23, 2018
4bc3c43
Merge branch 'working_branch' of https://github.com/kit-cel/gr-dab in…
MLsmd Jan 23, 2018
f117e0b
PyQt4 pyuic integration fix
marcusmueller Jan 23, 2018
fa166fd
GUI: suppress the SNR update info, closes #29
MLsmd Feb 22, 2018
cea6fc7
GUI: correct CMake installation order in python/GUI
MLsmd Feb 23, 2018
1e78124
reformat auto-formatted garbage
MLsmd Feb 24, 2018
b43c759
reformatting and docu
MLsmd Feb 25, 2018
4a343fd
reformatting and documentation
MLsmd Mar 6, 2018
5ac53ad
relative_rate: cast integer values to float before division
noc0lour Aug 14, 2018
3ae983a
relative_rate: cast integer values to float before division
noc0lour Aug 14, 2018
fa9eb52
ofdm_sync: speed improvements through volkizing
noc0lour Aug 28, 2018
8ec05f4
diff_phasor: volkize
noc0lour Sep 3, 2018
8ab7ed7
fib_sink: replace assert, comment not working solution
noc0lour Sep 3, 2018
2b8efb6
mp4_decode: replace throw with debug statement
noc0lour Sep 3, 2018
e842a62
Merge pull request #41 from noc0lour/fix_relative_rate
MLsmd Oct 8, 2018
8a02e81
Merge pull request #42 from noc0lour/speed_improvements
MLsmd Oct 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ log_default.conf
python/.unittests/
.idea/
examples/top_block.py
python/GUI/user_frontend.py
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ else()
message(STATUS "LIBTOOLAME-DAB found: ${LIBTOOLAME-DAB_SOURCE_DIR}")
endif ()


find_package(PyQt4 REQUIRED)
########################################################################
# Find boost
########################################################################
Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ Contents

2: Installation

3: Features
3: Usage

4: Usage
4: Features

5: Current Constraints

Expand Down Expand Up @@ -63,7 +63,6 @@ fulfilled. All my code got merged into the master branch of this repository.
This fork will serve as upstream repository for further development of the OFDM
receiver (especially with respect to synchronization), and other improvements.


Installation
------------

Expand Down Expand Up @@ -106,6 +105,7 @@ Features
* Receiving and Transmitting DAB/DAB+ broadcasts with the graphical application "DABstep"
* Receiving or Transmitting DAB/DAB+ with prepaired GNU Radio Companion flowgraph in examples/
* Receiving or Transmitting DAB/DAB+ by building your own GNU Radio flowgraph with provided gr-dab blocks
* USRP and RTL-SDR for reception supported

Usage
-------
Expand All @@ -124,16 +124,18 @@ Current Constraints
* PAD interpretation and generation not supported so far
* only EEP with protection profile set A supported so far, no set B and no UEP


Ideas
----------

* FM simulation, calculating the audio noise out of the SNR and adding it to the audio
* parallel FM receiver that fills in the audio in case a superframe is broken
* include reception and transmission of data channels with packed data, e.g. pictures

Known Bugs
----------

* OFDM demodulator gets out of sync sometimes causing burst errors
* Audio underruns disturb played audio signal without having actual errors. Additional buffer through delay block is a temporary fix that only works until reception errors occur.

Documentation
--------------
Expand Down
231 changes: 142 additions & 89 deletions apps/DABstep

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions cmake/Modules/FindPyQt4.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Find PyQt4
# ~~~~~~~~~~
# Copyright (c) 2007-2008, Simon Edwards <[email protected]>
# Copyright (c) 2012, Nicholas Corgan <[email protected]>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# PyQt4 website: http://www.riverbankcomputing.co.uk/pyqt/index.php
#
# Find the installed version of PyQt4. FindPyQt4 should only be called after
# Python has been found.
#
# This file defines the following variables:
#
# PYQT4_VERSION - The version of PyQt4 found expressed as a 6 digit hex number
# suitable for comparision as a string
#
# PYQT4_VERSION_STR - The version of PyQt4 as a human readable string.
#
# PYQT4_VERSION_TAG - The PyQt version tag using by PyQt's sip files.
#
# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files.
#
# PYQT4_SIP_FLAGS - The SIP flags used to build PyQt.

IF(EXISTS PYQT4_VERSION AND EXISTS PYUIC4_EXECUTABLE)
# Already in cache, be silent
SET(PYQT4_FOUND TRUE)
SET(PYUIC4_FOUND TRUE)
ELSE(EXISTS PYQT4_VERSION AND EXISTS PYUIC4_EXECUTABLE)

FIND_FILE(_find_pyqt_py FindPyQt.py PATHS ${CMAKE_MODULE_PATH})

EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
IF(pyqt_config)
STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT4_VERSION ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT4_VERSION_STR ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT4_VERSION_TAG ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT4_SIP_DIR ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT4_SIP_FLAGS ${pyqt_config})

SET(PYQT4_FOUND TRUE)
ENDIF(pyqt_config)

FIND_PROGRAM(PYUIC4_EXECUTABLE NAMES pyuic4)
IF(PYUIC4_EXECUTABLE)
SET(PYUIC4_FOUND TRUE)
ENDIF(PYUIC4_EXECUTABLE)

IF(PYQT4_FOUND AND PYUIC4_FOUND)
IF(NOT PYQT4_FIND_QUIETLY)
MESSAGE(STATUS "Found PyQt4 version: ${PYQT4_VERSION_STR}")
MESSAGE(STATUS "Found pyuic4: ${PYUIC4_EXECUTABLE}")
ENDIF(NOT PYQT4_FIND_QUIETLY)
ELSE(PYQT4_FOUND AND PYUIC4_FOUND)
IF(PYQT4_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find Python")
ENDIF(PYQT4_FIND_REQUIRED)
ENDIF(PYQT4_FOUND AND PYUIC4_FOUND)

ENDIF(EXISTS PYQT4_VERSION AND EXISTS PYUIC4_EXECUTABLE)
Loading