diff options
Diffstat (limited to 'gr-trellis')
-rw-r--r-- | gr-trellis/docs/gr-trellis.xml | 12 | ||||
-rw-r--r-- | gr-trellis/examples/python/fsm_files/awgn2o3_4.fsm | 2 | ||||
-rw-r--r-- | gr-trellis/include/gnuradio/trellis/fsm.h | 2 | ||||
-rw-r--r-- | gr-trellis/lib/permutation_impl.cc | 2 | ||||
-rwxr-xr-x | gr-trellis/python/trellis/qa_trellis.py | 2 |
5 files changed, 10 insertions, 10 deletions
diff --git a/gr-trellis/docs/gr-trellis.xml b/gr-trellis/docs/gr-trellis.xml index aabf9ad535..8bddda7290 100644 --- a/gr-trellis/docs/gr-trellis.xml +++ b/gr-trellis/docs/gr-trellis.xml @@ -52,7 +52,7 @@ convolutional code (CC), a trellis code (TC), an inter-symbol interference (ISI) channel, or any other communication system that can be modeled with an FSM. -To achieve this goal, we need to separate the pure FSM descrition from the +To achieve this goal, we need to separate the pure FSM description from the rest of the model details. For instance, in the case of a rate 2/3 TC, the FSM should not involve details about the modulation used (it can be an 8-ary PAM, or 8-PSK, etc). Similarly, when attempting maximum likelihood @@ -272,7 +272,7 @@ y<subscript>j</subscript> (e.g., in the above example y<subscript>j</subscript>( <listitem> <para> -The fourth way is specific to FSMs resulting from shift registers, and the output symbol being the entire transition (ie, current_state and current_input). These FSMs are usefull when describibg ISI channels. In particular the state is comprised of the input symbols x(k-1), x(k-2),...,x(k-L), where L = ch_length-1 and each x(i) belongs to an alphabet of size mod_size. The output is taken to be x(k), x(k-1), x(k-2),...,x(k-L) (in decimal format) +The fourth way is specific to FSMs resulting from shift registers, and the output symbol being the entire transition (ie, current_state and current_input). These FSMs are useful when describibg ISI channels. In particular the state is comprised of the input symbols x(k-1), x(k-2),...,x(k-L), where L = ch_length-1 and each x(i) belongs to an alphabet of size mod_size. The output is taken to be x(k), x(k-1), x(k-2),...,x(k-L) (in decimal format) </para> <programlisting> fsm(const int mod_size, const int ch_length); @@ -393,7 +393,7 @@ evaluates ||r<subscript>k</subscript>-c<subscript>i</subscript>||<superscript>2</superscript> = sum<subscript>j=1</subscript><superscript>D</superscript> |r<subscript>k,j</subscript>-c<subscript>i,j</subscript>|<superscript>2</superscript> </para> <para> -for each of the O hypothesized ouput +for each of the O hypothesized output symbols c<subscript>i</subscript> = (c<subscript>i,1</subscript>,c<subscript>i,2</subscript>,...,c<subscript>i,D</subscript>) defined in the vector TABLE, where TABLE[i * D + j] = c<subscript>i,j</subscript>. </para></listitem> @@ -446,7 +446,7 @@ d<subscript>i</subscript> is the bitwise Hamming distance between i and i<subsc Although the separation of metric calculation and Viterbi algorithm blocks is consistent with our goal of providing general blocks that can be easily reused, this separation might result in large input/output buffer sizes -betwen blocks. Indeed for an FSM with a large output alphabet, the +between blocks. Indeed for an FSM with a large output alphabet, the output of the metric block/input of the Viterbi block is FSM.O( ) floats for each trellis step. Sometimes this results in buffer overflow even for moderate sequence lengths. @@ -522,7 +522,7 @@ symbols that will drive the FSM encoder. <para> -The FSM will produce K output symbols (remeber the FSM produces always one output symbol for each input symbol). Each of these symbols needs to be modulated. Since we are simulating the communication system, we need not simulate the actual waveforms. An M-ary, D-dimensional +The FSM will produce K output symbols (remember the FSM produces always one output symbol for each input symbol). Each of these symbols needs to be modulated. Since we are simulating the communication system, we need not simulate the actual waveforms. An M-ary, D-dimensional modulation is completely specified by a set of M, D-dimensional real vectors. In "fsm_utils.py" file we give a number of useful modulations with the following format: modulation = (D,constellation), where constellation=[c11,c12,...,c1D,c21,c22,...,c2D,...,cM1,cM2,...cMD]. The meaning of the above is that every constellation point c_i @@ -882,7 +882,7 @@ Although these can be generated by existing gr-trellis blocks (in particular, the SISO blocks, as done in some of the python examples) there is an advantage in having this functionality as a single block. To see why, think of a turbo decoder with 10 iterations. Previously we needed to concatenate 10 x 2 SISO blocks (for a sccc decoder) to emulate the passing of soft information between SISOs over 10 iterartions. With the new block however, only a single such block is needed that internally loops through 10 iterations; this results in space savings -and possibly time saving as well (since queueing at the input/ouput of the gr-blocks is avoided). +and possibly time saving as well (since queueing at the input/output of the gr-blocks is avoided). Still need to document them... diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_4.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_4.fsm index 3ac57be18d..86a110a829 100644 --- a/gr-trellis/examples/python/fsm_files/awgn2o3_4.fsm +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_4.fsm @@ -10,6 +10,6 @@ 5 2 1 6 6 1 2 5 -I don't remeber how I generated this one... +I don't remember how I generated this one... it is a bit better than awgn2o3_4_msb and worse than awgn2o3_4_msbG. diff --git a/gr-trellis/include/gnuradio/trellis/fsm.h b/gr-trellis/include/gnuradio/trellis/fsm.h index 5ba4483b97..672a33403a 100644 --- a/gr-trellis/include/gnuradio/trellis/fsm.h +++ b/gr-trellis/include/gnuradio/trellis/fsm.h @@ -165,7 +165,7 @@ namespace gr { fsm(const fsm &FSMo, const fsm &FSMi, bool serial); /*! - * \brief Creates an FSMS representing n stages through the originial FSM (AKA radix-n FSM). + * \brief Creates an FSMS representing n stages through the original FSM (AKA radix-n FSM). * * \param FSM Original FSMs * \param n Number of stages. diff --git a/gr-trellis/lib/permutation_impl.cc b/gr-trellis/lib/permutation_impl.cc index 2fe0ea8cb8..5a212a01a7 100644 --- a/gr-trellis/lib/permutation_impl.cc +++ b/gr-trellis/lib/permutation_impl.cc @@ -92,7 +92,7 @@ namespace gr { // per stream processing for(int i = 0; i < noutput_items/d_SYMS_PER_BLOCK; i++) { // Index i refers to blocks. - // Begining of packet (in blocks) + // Beginning of packet (in blocks) int i0 = d_K*(i/d_K); // position of block within packet (in blocks) int j0 = i%d_K; diff --git a/gr-trellis/python/trellis/qa_trellis.py b/gr-trellis/python/trellis/qa_trellis.py index 86c740a730..0ed802a0fd 100755 --- a/gr-trellis/python/trellis/qa_trellis.py +++ b/gr-trellis/python/trellis/qa_trellis.py @@ -77,7 +77,7 @@ class test_trellis (gr_unittest.TestCase): noise = 0.1 tb = trellis_tb(constellation, fsms, noise) tb.run() - # Make sure all packets succesfully transmitted. + # Make sure all packets successfully transmitted. self.assertEqual(tb.dst.ntotal(), tb.dst.nright()) |