Skip to content

Commit 88fecd2

Browse files
committedSep 25, 2015
Restored files erroneously merged from SOCIS polar branch.
1 parent e0291bf commit 88fecd2

File tree

3 files changed

+133
-43
lines changed

3 files changed

+133
-43
lines changed
 

‎.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,3 @@
22
*.pyc
33
*.pyo
44
build/
5-
.idea/
6-
*.npy
7-
*.lprof

‎README

+133-17
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,139 @@
1-
ESA Summer of Code in Space 2015 POLAR Code implementation for GNU Radio
2-
================
1+
#
2+
# Copyright 2001-2007,2009,2012 Free Software Foundation, Inc.
3+
#
4+
# This file is part of GNU Radio
5+
#
6+
# GNU Radio is free software; you can redistribute it and/or modify
7+
# it under the terms of the GNU General Public License as published by
8+
# the Free Software Foundation; either version 3, or (at your option)
9+
# any later version.
10+
#
11+
# GNU Radio is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with GNU Radio; see the file COPYING. If not, write to
18+
# the Free Software Foundation, Inc., 51 Franklin Street,
19+
# Boston, MA 02110-1301, USA.
20+
#
321

4-
This is a GNU Radio clone which contains all the files for my POLAR code project for ESA Summer of Code in Space 2015. My name is Johannes Demel and I am a Master degree student at *Karlsruhe Institute of Technology (KIT)*.
22+
Welcome to GNU Radio!
523

6-
Basics
7-
----------
8-
The project is based on Erdal Arikan's 2009 paper *Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels*. An in-depth explanation of my project is given in my project proposal <https://github.com/jdemel/socis-proposal>.
924

10-
Structure
11-
----------
12-
The aim of the project is to add POLAR code encoder, decoder, channel construction capabilities to GNU Radio. POLAR codes are used for channel coding, thus all files shall reside within the *gr-fec* submodule. Also encoder and decoder shall use the FECAPI. The decision to do all development in-tree is driven by previous experience that out-of-tree modules are often terribly hard to merge later on and it may take years to do so.
25+
Please see http://gnuradio.org for the wiki, bug tracking,
26+
and source code viewer.
1327

14-
Project
15-
-------
16-
A quick overview of my project timeline goes as follows.
28+
If you've got questions about GNU Radio, please subscribe to the
29+
discuss-gnuradio mailing list and post your questions there.
30+
http://gnuradio.org/redmine/projects/gnuradio/wiki/MailingLists
1731

18-
1. create Python testcode
19-
2. implement encoder and decoder in C++ for FECAPI.
20-
3. optimize blocks and create VOLK kernels.
21-
4. implement channel construction algorithms.
32+
There is also a "Build Guide" in the wiki that contains OS specific
33+
recommendations:
34+
http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide
35+
36+
37+
The bleeding edge code can be found in our git repository at
38+
http://gnuradio.org/git/gnuradio.git/. To checkout the latest, use
39+
this command:
40+
41+
$ git clone git://git.gnuradio.org/gnuradio
42+
43+
For information about using Git, please see:
44+
http://gnuradio.org/redmine/projects/gnuradio/wiki/DevelopingWithGit
45+
46+
47+
How to Build GNU Radio:
48+
49+
For more complete instructions, see the "Building GNU Radio" page in
50+
the GNU Radio manual (can be built or found online at
51+
http://gnuradio.org/doc/doxygen/build_guide.html).
52+
53+
See these steps for a quick build guide.
54+
55+
(1) Ensure that you've satisfied the external dependencies. These
56+
dependencies are listed in the manual's build page and are not
57+
presented here to reduce duplication errors.
58+
59+
See the wiki at http://gnuradio.org for details.
60+
61+
62+
(2) Building from cmake:
63+
64+
$ mkdir $(builddir)
65+
$ cd $(builddir)
66+
$ cmake [OPTIONS] $(srcdir)
67+
$ make
68+
$ make test
69+
$ sudo make install
70+
71+
72+
That's it!
73+
74+
Options:
75+
Useful options include setting the install prefix and the build type:
76+
77+
-DCMAKE_INSTALL_PREFIX=<directory to install to>
78+
-DCMAKE_BUILD_TYPE="<type>"
79+
80+
Currently, GNU Radio has a "Debug" type that builds with '-g -O2'
81+
useful for debugging the software and a "Release" type that builds
82+
with '-O3', which is the default.
83+
84+
85+
-------------------------------------------------------------------------------
86+
87+
KNOWN INCOMPATIBILITIES
88+
89+
90+
GNU Radio triggers bugs in g++ 3.3 for X86. DO NOT USE GCC 3.3 on
91+
the X86 platform. g++ 3.2, 3.4, and the 4.* series are known to work well.
92+
93+
-------------------------------------------------------------------------------
94+
95+
-------------------------------------------------------------------------------
96+
97+
NOTES
98+
99+
-------------------------------------------------------------------------------
100+
101+
To run the examples you may need to set PYTHONPATH. Note that the
102+
prefix and python version number in the path needs to match your
103+
installed version of python.
104+
105+
$ export PYTHONPATH=/usr/local/lib/python2.7/dist-packages
106+
107+
You may want to add this to your shell init file (~/.bash_profile if
108+
you use bash).
109+
110+
111+
Another handy trick if for example your fftw includes and libs are
112+
installed in, say ~/local/include and ~/local/lib, instead of
113+
/usr/local is this:
114+
115+
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib
116+
$ make CPPFLAGS="-I$HOME/local/include"
117+
118+
119+
Sometimes the prerequisites are installed in a location which is not
120+
included in the default compiler and linker search paths. This
121+
happens with pkgsrc and NetBSD. To build, tell configure to use these
122+
locations:
123+
124+
LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib" CPPFLAGS="-I/usr/pkg/include" ./configure --prefix=/usr/gnuradio
125+
126+
127+
-------------------------------------------------------------------------------
128+
129+
Legal Matters
130+
131+
-------------------------------------------------------------------------------
132+
133+
Some files have been changed many times throughout the
134+
years. Copyright notices at the tops of these files list which years
135+
changes have been made. For some files, changes have occurred in many
136+
consecutive years. These files may often have the format of a year
137+
range (e.g., "2006 - 2011"), which indicates that these files have had
138+
copyrightable changes made during each year in the range, inclusive.
22139

23-
This may get continuously updated and I will add more details during project development.

‎README.md

-23
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.