From d2f4d30ebcad7430e4f0495cae5c2b3a16be73ce Mon Sep 17 00:00:00 2001 From: rupak Date: Tue, 21 Jan 2020 19:05:09 +0530 Subject: added help files --- builder.sce | 2 +- help/en_US/addchapter.sce | 5 + help/en_US/alignsignals.xml | 84 +++++++++++++++ help/en_US/arithdeco.xml | 69 ++++++++++++ help/en_US/arithenco.xml | 46 ++++++++ help/en_US/finddelay.xml | 78 ++++++++++++++ help/en_US/gfcosets.xml | 60 +++++++++++ help/en_US/gflineq.xml | 65 ++++++++++++ help/en_US/gfrepcov.xml | 55 ++++++++++ help/en_US/gftrunc.xml | 51 +++++++++ help/en_US/iqcoef2imbal.xml | 55 ++++++++++ help/en_US/iqimbal2coef.xml | 55 ++++++++++ help/en_US/iscatastrophic.xml | 68 ++++++++++++ help/en_US/istrellis.xml | 81 ++++++++++++++ help/en_US/lteZadoffChuSeq.xml | 61 +++++++++++ help/en_US/master_help.xml | 28 +++++ help/en_US/octave_functions.xml | 116 +++++++++++++++++++++ help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS | Bin 42 -> 1408 bytes .../scilab_en_US_help/JavaHelpSearch/DOCS.TAB | 3 +- .../en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS | 2 +- .../scilab_en_US_help/JavaHelpSearch/POSITIONS | Bin 84 -> 5471 bytes help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA | 2 +- help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP | Bin 2048 -> 8192 bytes help/en_US/scilab_en_US_help/alignsignals.html | 96 +++++++++++++++++ help/en_US/scilab_en_US_help/arithdeco.html | 85 +++++++++++++++ help/en_US/scilab_en_US_help/arithenco.html | 36 ++++++- help/en_US/scilab_en_US_help/finddelay.html | 95 +++++++++++++++++ help/en_US/scilab_en_US_help/gfcosets.html | 78 ++++++++++++++ help/en_US/scilab_en_US_help/gflineq.html | 85 +++++++++++++++ help/en_US/scilab_en_US_help/gfrepcov.html | 77 ++++++++++++++ help/en_US/scilab_en_US_help/gftrunc.html | 74 +++++++++++++ help/en_US/scilab_en_US_help/index.html | 86 ++++++++++++++- help/en_US/scilab_en_US_help/iqcoef2imbal.html | 77 ++++++++++++++ help/en_US/scilab_en_US_help/iqimbal2coef.html | 78 ++++++++++++++ help/en_US/scilab_en_US_help/iscatastrophic.html | 93 +++++++++++++++++ help/en_US/scilab_en_US_help/istrellis.html | 98 +++++++++++++++++ help/en_US/scilab_en_US_help/jhelpmap.jhm | 14 +++ help/en_US/scilab_en_US_help/jhelptoc.xml | 14 +++ help/en_US/scilab_en_US_help/lteZadoffChuSeq.html | 81 ++++++++++++++ help/en_US/scilab_en_US_help/octave_functions.html | 102 ++++++++++++++++++ .../section_1f049b1e3111e3d1d538e7603f77f589.html | 86 ++++++++++++++- help/en_US/scilab_en_US_help/ssbdemod.html | 110 +++++++++++++++++++ help/en_US/ssbdemod.xml | 97 +++++++++++++++++ help/fr_FR/build_help.sce | 3 - help/fr_FR/c_multiplybypi.xml | 56 ---------- help/fr_FR/c_sub.xml | 86 --------------- help/fr_FR/c_sum.xml | 62 ----------- help/fr_FR/fortran_sum.xml | 62 ----------- help/fr_FR/scilab_sum.xml | 63 ----------- jar/scilab_en_US_help.jar | Bin 14457 -> 47794 bytes macros/alignsignals.bin | Bin 19752 -> 19636 bytes macros/alignsignals.sci | 5 +- macros/arithdeco.bin | Bin 22733 -> 22427 bytes macros/arithdeco.sci | 25 ++--- macros/arithenco.bin | Bin 22355 -> 22426 bytes macros/arithenco.sci | 15 ++- macros/cleanmacros.sce | 20 ++++ macros/finddelay.bin | Bin 26477 -> 26538 bytes macros/finddelay.sci | 15 ++- macros/gfcosets.bin | Bin 10350 -> 10336 bytes macros/gfcosets.sci | 11 +- macros/gflineq.bin | Bin 19682 -> 19629 bytes macros/gflineq.sci | 9 +- macros/gfrepcov.bin | Bin 5439 -> 5396 bytes macros/gfrepcov.sci | 15 ++- macros/gftrunc.bin | Bin 4631 -> 4635 bytes macros/gftrunc.sci | 20 ++-- macros/iqcoef2imbal.bin | Bin 12452 -> 12380 bytes macros/iqcoef2imbal.sci | 17 ++- macros/iqimbal2coef.bin | Bin 9184 -> 9083 bytes macros/iqimbal2coef.sci | 16 +-- macros/iscatastrophic.bin | Bin 6927 -> 6842 bytes macros/iscatastrophic.sci | 12 +-- macros/istrellis.bin | Bin 16135 -> 16253 bytes macros/istrellis.sci | 20 ++-- macros/lib | 29 +++--- macros/lteZadoffChuSeq.bin | Bin 6969 -> 7089 bytes macros/lteZadoffChuSeq.sci | 12 +-- macros/octave_functions.bin | Bin 0 -> 4686 bytes macros/octave_functions.sci | 63 +++++++++++ macros/ssbdemod.bin | Bin 18419 -> 18517 bytes macros/ssbdemod.sci | 20 ++-- 82 files changed, 2712 insertions(+), 492 deletions(-) create mode 100644 help/en_US/addchapter.sce create mode 100644 help/en_US/alignsignals.xml create mode 100644 help/en_US/arithdeco.xml create mode 100644 help/en_US/finddelay.xml create mode 100644 help/en_US/gfcosets.xml create mode 100644 help/en_US/gflineq.xml create mode 100644 help/en_US/gfrepcov.xml create mode 100644 help/en_US/gftrunc.xml create mode 100644 help/en_US/iqcoef2imbal.xml create mode 100644 help/en_US/iqimbal2coef.xml create mode 100644 help/en_US/iscatastrophic.xml create mode 100644 help/en_US/istrellis.xml create mode 100644 help/en_US/lteZadoffChuSeq.xml create mode 100644 help/en_US/octave_functions.xml create mode 100644 help/en_US/scilab_en_US_help/alignsignals.html create mode 100644 help/en_US/scilab_en_US_help/arithdeco.html create mode 100644 help/en_US/scilab_en_US_help/finddelay.html create mode 100644 help/en_US/scilab_en_US_help/gfcosets.html create mode 100644 help/en_US/scilab_en_US_help/gflineq.html create mode 100644 help/en_US/scilab_en_US_help/gfrepcov.html create mode 100644 help/en_US/scilab_en_US_help/gftrunc.html create mode 100644 help/en_US/scilab_en_US_help/iqcoef2imbal.html create mode 100644 help/en_US/scilab_en_US_help/iqimbal2coef.html create mode 100644 help/en_US/scilab_en_US_help/iscatastrophic.html create mode 100644 help/en_US/scilab_en_US_help/istrellis.html create mode 100644 help/en_US/scilab_en_US_help/lteZadoffChuSeq.html create mode 100644 help/en_US/scilab_en_US_help/octave_functions.html create mode 100644 help/en_US/scilab_en_US_help/ssbdemod.html create mode 100644 help/en_US/ssbdemod.xml delete mode 100644 help/fr_FR/build_help.sce delete mode 100644 help/fr_FR/c_multiplybypi.xml delete mode 100644 help/fr_FR/c_sub.xml delete mode 100644 help/fr_FR/c_sum.xml delete mode 100644 help/fr_FR/fortran_sum.xml delete mode 100644 help/fr_FR/scilab_sum.xml create mode 100644 macros/cleanmacros.sce create mode 100644 macros/octave_functions.bin create mode 100644 macros/octave_functions.sci diff --git a/builder.sce b/builder.sce index c58e2c7..102f948 100644 --- a/builder.sce +++ b/builder.sce @@ -35,13 +35,13 @@ function main_builder() // Action // ============================================================================= + help_from_sci("macros","help/en_US"); tbx_builder_macros(toolbox_dir); //tbx_builder_gateway(toolbox_dir); tbx_build_localization(toolbox_dir); tbx_builder_help(toolbox_dir); tbx_build_loader(toolbox_dir); tbx_build_cleaner(toolbox_dir); - help_from_sci("macros","help/en_US"); endfunction // ============================================================================= diff --git a/help/en_US/addchapter.sce b/help/en_US/addchapter.sce new file mode 100644 index 0000000..bb3559c --- /dev/null +++ b/help/en_US/addchapter.sce @@ -0,0 +1,5 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by tbx_build_help_loader: Please, do not edit this file + +add_help_chapter("FOSSEE_Communication_Systems_Toolbox",get_absolute_file_path("addchapter.sce"),%F); +clear add_help_chapter; diff --git a/help/en_US/alignsignals.xml b/help/en_US/alignsignals.xml new file mode 100644 index 0000000..90c03ee --- /dev/null +++ b/help/en_US/alignsignals.xml @@ -0,0 +1,84 @@ + + + + + + + + alignsignals + This function aligns the two input signals. + + + + + Syntax + + [Xa Ya] = ALIGNSIGNALS(X,Y) + [Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG) + [Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG,1) + [Xa Ya D] = ALIGNSIGNALS(...) + + + + + + Description + +[Xa Ya] = ALIGNSIGNALS(X,Y) aligns the two vectors X and Y by estimating +the delay D between the two. If Y is delayed with respect to X, D is +positive , and X is delayed by D samples. If Y is advanced with respect +to X, D is negative, and Y is delayed by -D samples. + + +[Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG) considers MAXLAG be the maximum correlation +window size which is used to calculate the estimated delay D between X and Y. +MAXLAG is an integer-valued scalar. By default, MAXLAG is equal to MAX(LX,LY)-1. +If MAXLAG is empty ([]),then default value is considered. If MAXLAG +is negative, it is replaced by its absolute value. + + +[Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG,1) keeps the lengths of Xa +and Ya the same as those of X and Y, respectively. +Here, 1 implies truncation of the intermediate vectors. +Input argument 4 is 0 implies truncation_off (no truncation). +D is positive implies D zeros are pre-pended to X, and the last D samples of X are truncated. +D is negative implies -D zeros are pre-pended to Y, and the last -D samples +of Y are truncated. That means, when D>=Length(X), all samples of X are lost. +Similarly, when -D>=Length(Y), all samples of Y are lost. +Avoid assigning a specific value to MAXLAG when using the truncate=1 option, set MAXLAG to []. + + +[Xa Ya D] = ALIGNSIGNALS(...) returns the estimated delay D. + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/arithdeco.xml b/help/en_US/arithdeco.xml new file mode 100644 index 0000000..12bfb87 --- /dev/null +++ b/help/en_US/arithdeco.xml @@ -0,0 +1,69 @@ + + + + + + + + arithdeco + This function decodes the given code using arithmetic coding + + + + + Syntax + + SEQ = ARITHDECO(CODE, COUNT, LEN) + + + + + + Description + +SEQ = ARITHDECO(CODE, COUNT, LEN) decodes the given received seq (CODE) to message using arithmetic coding. +COUNT is vector which gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) +CODE is the binary arithmetic code + + +Source Alphabet is assumed to be {1,2,....N} where N is a positive integer +Therefore, sequence should be finite and positive +Length of the COUNT should match the length of the source alphabet + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/arithenco.xml b/help/en_US/arithenco.xml index e303e05..c8fba0b 100644 --- a/help/en_US/arithenco.xml +++ b/help/en_US/arithenco.xml @@ -20,4 +20,50 @@ This function encodes the given sequence using aritmetic coding + + + Syntax + + CODE = ARITHENCO(SEQ, COUNT) + + + + + + Description + +CODE = ARITHENCO(SEQ, COUNT) encodes the given sequence (SEQ) using arithmetic coding. +COUNT is vector whihc gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) +CODE is the binary arithmetic code +Source Alphabet is assumed to be {1,2,....N} where N is a positive integer +Therefore, sequence should be finite and positive +Length of the COUNT should match the length of the source alphabet + + + + + + + Examples + + + + + Bibliography + Sayood, K., Introduction to Data Compression, Morgan Kaufmann, 2000, Chapter 4, Section 4.4.3. + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + diff --git a/help/en_US/finddelay.xml b/help/en_US/finddelay.xml new file mode 100644 index 0000000..8eaa396 --- /dev/null +++ b/help/en_US/finddelay.xml @@ -0,0 +1,78 @@ + + + + + + + + finddelay + This function returns the estimated delay between two input signals using crosscorrelation. + + + + + Description + +D = FINDDELAY(X,Y), returns estimated Delay D between X +and Y. D is positive implies Y is delayed with respect to X and vice versa. +If X, Y are matrices, then D is a row vector corresponding to delay between columns of X and Y + + +D = FINDDELAY(...,MAXLAG), uses MAXLAG as the maximum correlation +window size used to find the estimated delay(s) between X and Y: + + +> If MAXLAG is an integer-valued scalar, and X and Y are row or column +vectors or matrices, the vector D of estimated delays is found by +cross-correlating (the columns of) X and Y over a range of lags +-MAXLAG:MAXLAG. +> If MAXLAG is an integer-valued row or column vector, and one input is vector +and another be matirx (let X is a row or column vector , +and Y is a matrix) then the vector D of estimated delays is found by +cross-correlating X and column J of Y over a range of lags +-MAXLAG(J):MAXLAG(J), for J=1:Number of columns of Y. +> If MAXLAG is an integer-valued row or column vector, and X and Y are +both matrices. then vector D of estimated delays is found by +cross-correlating corresponding columns of X and Y over a range of lags +-MAXLAG(J):MAXLAG(J). + + +By default, MAXLAG is equal to MAX(LX,LY)-1 for vectors, + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/gfcosets.xml b/help/en_US/gfcosets.xml new file mode 100644 index 0000000..59850c7 --- /dev/null +++ b/help/en_US/gfcosets.xml @@ -0,0 +1,60 @@ + + + + + + + + gfcosets + This function produces cyclotomic cosets for a Galois field GF(P) + + + + + Description + +GFCS = GFCOSETS(M) produces cyclotomic cosets mod(2^M - 1). Each row of the +output GFCS contains one cyclotomic coset. + + +GFCS = GFCOSETS(M, P) produces cyclotomic cosets mod(P^M - 1), where +P is a prime number. + + +Because the length of the cosets varies in the complete set, %nan is used to +fill out the extra space in order to make all variables have the same +length in the output matrix GFCS. + + + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/gflineq.xml b/help/en_US/gflineq.xml new file mode 100644 index 0000000..19a56b0 --- /dev/null +++ b/help/en_US/gflineq.xml @@ -0,0 +1,65 @@ + + + + + + + + gflineq + This function finds a solution for linear equation Ax = b over a prime Galois field. + + + + + Description + +[X, SFLAG] = GFLINEQ(A, B) returns a particular solution (X) of AX=B in GF(2). +If the equation has no solution, then X is empty and SFLAG = 0 else SFLAG = 1. + + +[X, SFLAG]= GFLINEQ(A, B, P) returns a particular solution of the linear +equation A X = B in GF(P) and SFLAG=1. +If the equation has no solution, then X is empty and SFLAG = 0. + + + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/gfrepcov.xml b/help/en_US/gfrepcov.xml new file mode 100644 index 0000000..01d6c12 --- /dev/null +++ b/help/en_US/gfrepcov.xml @@ -0,0 +1,55 @@ + + + + + + + + gfrepcov + This function represents a binary polynomial in standard ascending order format. + + + + + Description + +Q = GFREPCOV(P) converts vector (P) to standard ascending +order format vector (Q), which is a vector that lists the coefficients in +order of ascending exponents, if P represents a binary polynomial +as a vector of exponents with non-zero coefficients. + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/gftrunc.xml b/help/en_US/gftrunc.xml new file mode 100644 index 0000000..f203c81 --- /dev/null +++ b/help/en_US/gftrunc.xml @@ -0,0 +1,51 @@ + + + + + + + + gftrunc + This function is used to truncate the higher order zeroes in the given polynomial equation + + + + + Description + +A is considered to be matrix that gives the coefficients of polynomial GF(p) in ascending order powers +A = [1 2 3] denotes 1 + 2 x + 3 x^2 +AT=GFTRUNC(A) returns a matrix which gives the polynomial GF(p) truncating the input matrix +that is if A(i)=0, where i > d + 1, where d is the degree of the polynomial, that zero is removed + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/iqcoef2imbal.xml b/help/en_US/iqcoef2imbal.xml new file mode 100644 index 0000000..f465c5c --- /dev/null +++ b/help/en_US/iqcoef2imbal.xml @@ -0,0 +1,55 @@ + + + + + + + + iqcoef2imbal + This function returns the amplitude imbalance and phase imbalance + + + + + Description + +[AMP_IMB_DB, PH_IMB_DEG] = IQCOEF2IMBAL(COMP_COEF) returns +the amplitude imbalance and phase imbalance +that a given compensator coefficient will correct. +Comp_Coef is a scalar or a vector of complex numbers. +AMP_IMB_DB and PH_IMB_DEG are the amplitude imbalance in dB +and the phase imbalance in degrees. + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/iqimbal2coef.xml b/help/en_US/iqimbal2coef.xml new file mode 100644 index 0000000..29c0473 --- /dev/null +++ b/help/en_US/iqimbal2coef.xml @@ -0,0 +1,55 @@ + + + + + + + + iqimbal2coef + This function returns the I/Q imbalance compensator coefficient for given amplitude and phase imbalance. + + + + + Description + +COMP_COEF = IQIMBAL2COEF(AMP_IMB_DB, PH_IMB_DEG) returns the I/Q imbalance +compensator coefficient for given amplitude and phase imbalance. +Comp_Coef is a scalar or a vector of complex numbers. +AMP_IMB_DB and PH_IMB_DEG are the amplitude imbalance in dB +and the phase imbalance in degrees and should be of same size. + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/iscatastrophic.xml b/help/en_US/iscatastrophic.xml new file mode 100644 index 0000000..915ef6c --- /dev/null +++ b/help/en_US/iscatastrophic.xml @@ -0,0 +1,68 @@ + + + + + + + + iscatastrophic + This function determines if a convolutional code is catastrophic or not + + + + + Description + +RESULT = ISCATASTROPHIC(TRELLIS) returns 1 if the specified +trellis corresponds to a catastrophic convolutional code, else 0. + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/istrellis.xml b/help/en_US/istrellis.xml new file mode 100644 index 0000000..a742261 --- /dev/null +++ b/help/en_US/istrellis.xml @@ -0,0 +1,81 @@ + + + + + + + + istrellis + This function checks if the given input is of trellis structure + + + + + Description + +[ISOK, STATUS] = ISTRELLIS(S) returns [T,''] if the given input is valid trellis structure. Otherwise ISOK is F and STATUS +indicates the reason for invalidity + + +Fields in trellis structure are +numInputSymbols, (number of input symbols) +numOutputSymbols, (number of output symbols) +numStates, (number of states) +nextStates, (next state matrix) +outputs, (output matrix) + + +Properties of the fields are as follows +numInputSymbols and numOutputSymbols should be a power of 2 (as data is represented in bits). +The 'nextStates' and 'outputs' fields are matrices of size 'numStates' x 'numInputSymbols' . +Each element in the 'nextStates' matrix and 'output' matrix is an integer value between zero and (numStates-1). +The (r,c) element of the 'nextStates' matrix and 'output' matrix,denotes the next state and output respectively when +the starting state is (r-1) and the input bits have decimal representation (c-1). + + +To convert to decimal value, use the first input bit as the most significant bit (MSB). + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/lteZadoffChuSeq.xml b/help/en_US/lteZadoffChuSeq.xml new file mode 100644 index 0000000..26e39f4 --- /dev/null +++ b/help/en_US/lteZadoffChuSeq.xml @@ -0,0 +1,61 @@ + + + + + + + + lteZadoffChuSeq + This function generates root Zadoff-Chu sequence of complex symbols as per LTE specifications. + + + + + Description + +SEQ = LTEZADOFFCHUSEQ(R, N) generates the Rth root Zadoff-Chu sequence (SEQ) +of length N. + + + + + + + Examples + + + + + Bibliography + 3rd Generation Partnership Project, Technical Specification Group Radio + Access Network, Evolved Universal Terrestrial Radio Access (E-UTRA), + Physical channels and modulation, Release 10, 3GPP TS 36.211, v10.0.0, + 2010-12. + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/en_US/master_help.xml b/help/en_US/master_help.xml index b3b27d3..a6115d0 100644 --- a/help/en_US/master_help.xml +++ b/help/en_US/master_help.xml @@ -1,7 +1,21 @@ + + + + + + + + + + + + + + ]> FOSSEE_Communication_Systems_Toolbox +&abbab6e363c5628eaebbbb13af15017d1; +&a6cf26bc826aa2a13e513479fb771b8d3; &aaa30023c011c2d00a22694ae6ca55e21; +&a954ba0e19a1c282aadb2037003a2e24f; +&a3e8e25b8e9087f74b6ced8480944e12e; +&af493f190190f2350b9c9005d568729d4; +&ac7c236c674443f8359b379eb7984fae6; +&a73d0cf80beb8a70a9dbce1b0beafddfc; +&a99eb36b2a384db7518eb509623d77dd8; +&a64b4ed87241b1bed1ad876766668de08; +&a00eb0d4504e4b1f052e536c9853260cb; +&a19ba4e809aea0bd30dc4d6556467ce7b; +&acc68b7f28731c4a6dd38df2902862041; +&ace4dca7c71cdc2b40ea29e7f4b7677f1; +&ab8c34ae1e9b36a8768c0265578560679; diff --git a/help/en_US/octave_functions.xml b/help/en_US/octave_functions.xml new file mode 100644 index 0000000..b50f5f6 --- /dev/null +++ b/help/en_US/octave_functions.xml @@ -0,0 +1,116 @@ + + + + + + + + octave_functions + Call functions available in communications (and any other) package of Octave. The actual function call is "octave_fun" and is available as a part of "FOSSEE-Scilab-Octave-Toolbox" + + + + + Syntax + + [y1, y2, ...] = octave_fun("octave_function",input1,input2,...) + [y1, y2, ...] = octave_fun("octave_function",input1,input2,...,optional_input1,optional_input2,...) + [y1, y2, ...] = octave_fun("octave_function","octave_package",input1,input2,...) + [y1, y2, ...] = octave_fun("octave_function","octave_package",input1,input2,...,optional_input1,optional_input2,...) + + + + + + Parameters + + + y : + ouput as returned by octave. It can be a vector or matrix of doubles + + + octave_function : + name of the function in octave that has to be called. It has to be a string in double quotes + + + input : + input as expected by the octave function. It can be a vector or matrix of doubles + + + optional_input : + an optional argument that the given octave function can accept. It has to be a string in double quotes + + + octave_package : + name of the package in octave that has to be loaded as required by the octave function. It has to be a string in double quotes + + + + + + Description + +This function accepts an octave function name with the relevant inputs and returns the output as generated. It requires Octave to be installed along with necessary packages. + + + +\begin{eqnarray} +&\mbox{min}_{x} +& C^T⋅x \\ +& \text{subject to}& A⋅x = b \\ +& & G⋅x \preceq_K h \\ +& & x_i \in \{0,1\}, i \in \!\, bool_vars\ +& & x_j \in \!\, \mathbb{Z}, i \in \!\, int_vars\\ +\end{eqnarray} + + + + + + + + Examples + + + + + Examples + + + + + Authors + + Rupak Rokade + + + diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS index 22646bd..065f3cd 100644 Binary files a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS and b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS differ diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB index 5009c35..d944672 100644 --- a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB @@ -1 +1,2 @@ -e@ \ No newline at end of file +e___ _e10084³XJ89\Ž**(ңd*RҪJ,ۨZ/00ȿ⌢,ȳ2+44"̢( j/,/0" ",J0 ++0ﺪꪪ \ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS index 90f9c03..5918ccb 100644 --- a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS @@ -1 +1 @@ -P` \ No newline at end of file +U\a=O* #R܀ ;ʼݬK+չ`e;\},@& \ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS index eeb46b1..42fcc13 100644 Binary files a/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS and b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS differ diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA index 2cfff7d..b6a5538 100644 --- a/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA @@ -1,2 +1,2 @@ JavaSearch 1.0 -TMAP bs=2048 rt=0 fl=-1 id1=19 id2=1 +TMAP bs=2048 rt=1 fl=-1 id1=509 id2=1 diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP index 6ca29d9..d6bf32e 100644 Binary files a/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP and b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP differ diff --git a/help/en_US/scilab_en_US_help/alignsignals.html b/help/en_US/scilab_en_US_help/alignsignals.html new file mode 100644 index 0000000..495fa9e --- /dev/null +++ b/help/en_US/scilab_en_US_help/alignsignals.html @@ -0,0 +1,96 @@ + + + alignsignals + + + +
+ + + + +
+ << FOSSEE_Communication_Systems_Toolbox + + + FOSSEE_Communication_Systems_Toolbox + + + arithdeco >> + +
+
+
+ + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > alignsignals + +

+

alignsignals

+

This function aligns the two input signals.

+ + +

Syntax

+
[Xa Ya] = ALIGNSIGNALS(X,Y)
+[Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG)
+[Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG,1)
+[Xa Ya D] = ALIGNSIGNALS(...)
+ +

Description

+

[Xa Ya] = ALIGNSIGNALS(X,Y) aligns the two vectors X and Y by estimating +the delay D between the two. If Y is delayed with respect to X, D is +positive , and X is delayed by D samples. If Y is advanced with respect +to X, D is negative, and Y is delayed by -D samples.

+

[Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG) considers MAXLAG be the maximum correlation +window size which is used to calculate the estimated delay D between X and Y. +MAXLAG is an integer-valued scalar. By default, MAXLAG is equal to MAX(LX,LY)-1. +If MAXLAG is empty ([]),then default value is considered. If MAXLAG +is negative, it is replaced by its absolute value.

+

[Xa Ya] = ALIGNSIGNALS(X,Y,MAXLAG,1) keeps the lengths of Xa +and Ya the same as those of X and Y, respectively. +Here, 1 implies truncation of the intermediate vectors. +Input argument 4 is 0 implies truncation_off (no truncation). +D is positive implies D zeros are pre-pended to X, and the last D samples of X are truncated. +D is negative implies -D zeros are pre-pended to Y, and the last -D samples +of Y are truncated. That means, when D>=Length(X), all samples of X are lost. +Similarly, when -D>=Length(Y), all samples of Y are lost. +Avoid assigning a specific value to MAXLAG when using the truncate=1 option, set MAXLAG to [].

+

[Xa Ya D] = ALIGNSIGNALS(...) returns the estimated delay D.

+

+ +

Examples

+
X = [0 0 0 1 2 3 ];
+Y = [1 2 3 ];
+[Xa,Ya] = alignsignals(X,Y,[],1)
+ +

Authors

+
+
+ +
+ + + + + + +
Report an issue
+ << FOSSEE_Communication_Systems_Toolbox + + + FOSSEE_Communication_Systems_Toolbox + + + arithdeco >> + +
+
+
+ + diff --git a/help/en_US/scilab_en_US_help/arithdeco.html b/help/en_US/scilab_en_US_help/arithdeco.html new file mode 100644 index 0000000..0bb23a3 --- /dev/null +++ b/help/en_US/scilab_en_US_help/arithdeco.html @@ -0,0 +1,85 @@ + + + arithdeco + + + +
+ + + + +
+ << alignsignals + + + FOSSEE_Communication_Systems_Toolbox + + + arithenco >> + +
+
+
+ + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > arithdeco + +

+

arithdeco

+

This function decodes the given code using arithmetic coding

+ + +

Syntax

+
SEQ = ARITHDECO(CODE, COUNT, LEN)
+ +

Description

+

SEQ = ARITHDECO(CODE, COUNT, LEN) decodes the given received seq (CODE) to message using arithmetic coding. +COUNT is vector which gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) +CODE is the binary arithmetic code

+

Source Alphabet is assumed to be {1,2,....N} where N is a positive integer +Therefore, sequence should be finite and positive +Length of the COUNT should match the length of the source alphabet

+

+ +

Examples

+
counts = [40 1 9];
+len = 11;
+seq = [1 3 2 1 1 1 3 3 1 1 2 ]
+code = arithenco(seq,counts);
+disp(code)
+dseq=arithdeco(code,counts,len)
+disp(dseq)
+disp(seq)
+ +

Authors

+
+
+ +
+ + + + + + +
Report an issue
+ << alignsignals + + + FOSSEE_Communication_Systems_Toolbox + + + arithenco >> + +
+
+
+ + diff --git a/help/en_US/scilab_en_US_help/arithenco.html b/help/en_US/scilab_en_US_help/arithenco.html index 785de5e..78ce48e 100644 --- a/help/en_US/scilab_en_US_help/arithenco.html +++ b/help/en_US/scilab_en_US_help/arithenco.html @@ -12,7 +12,7 @@
- << FOSSEE_Communication_Systems_Toolbox + << arithdeco @@ -20,7 +20,8 @@ - + finddelay >> +

@@ -33,6 +34,32 @@

arithenco

This function encodes the given sequence using aritmetic coding

+ + +

Syntax

+
CODE = ARITHENCO(SEQ, COUNT)
+ +

Description

+

CODE = ARITHENCO(SEQ, COUNT) encodes the given sequence (SEQ) using arithmetic coding. +COUNT is vector whihc gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) +CODE is the binary arithmetic code +Source Alphabet is assumed to be {1,2,....N} where N is a positive integer +Therefore, sequence should be finite and positive +Length of the COUNT should match the length of the source alphabet

+

+ +

Examples

+
counts = [40 1 9];
+len = 4;
+seq = [1 3 2 1]
+code = arithenco(seq,counts);
+disp(code)
+ +

Bibliography

+

Sayood, K., Introduction to Data Compression, Morgan Kaufmann, 2000, Chapter 4, Section 4.4.3.

+ +

Authors

+

@@ -40,7 +67,7 @@ Report an issue - << FOSSEE_Communication_Systems_Toolbox + << arithdeco @@ -48,7 +75,8 @@ - + finddelay >> +
diff --git a/help/en_US/scilab_en_US_help/finddelay.html b/help/en_US/scilab_en_US_help/finddelay.html new file mode 100644 index 0000000..757117d --- /dev/null +++ b/help/en_US/scilab_en_US_help/finddelay.html @@ -0,0 +1,95 @@ + + + finddelay + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > finddelay + +

+

finddelay

+

This function returns the estimated delay between two input signals using crosscorrelation.

+ + +

Description

+

D = FINDDELAY(X,Y), returns estimated Delay D between X +and Y. D is positive implies Y is delayed with respect to X and vice versa. +If X, Y are matrices, then D is a row vector corresponding to delay between columns of X and Y

+

D = FINDDELAY(...,MAXLAG), uses MAXLAG as the maximum correlation +window size used to find the estimated delay(s) between X and Y:

+

> If MAXLAG is an integer-valued scalar, and X and Y are row or column +vectors or matrices, the vector D of estimated delays is found by +cross-correlating (the columns of) X and Y over a range of lags +-MAXLAG:MAXLAG. +> If MAXLAG is an integer-valued row or column vector, and one input is vector +and another be matirx (let X is a row or column vector , +and Y is a matrix) then the vector D of estimated delays is found by +cross-correlating X and column J of Y over a range of lags +-MAXLAG(J):MAXLAG(J), for J=1:Number of columns of Y. +> If MAXLAG is an integer-valued row or column vector, and X and Y are +both matrices. then vector D of estimated delays is found by +cross-correlating corresponding columns of X and Y over a range of lags +-MAXLAG(J):MAXLAG(J).

+

By default, MAXLAG is equal to MAX(LX,LY)-1 for vectors,

+

+ +

Examples

+
X = [ 0 0 1 2 3 ];
+Y = [ 0 0 0 1 2 3];
+D = finddelay(X,Y,2)
+disp(D)
+X = [ 0 1 0 0 ; 1 0 2 1 ;0 0 0 2 ];
+Y = [ 0 0 1 0 ;1 0 0 2 ; 0 0 0 0 ];
+D = finddelay(X,Y)
+disp(D)
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/gfcosets.html b/help/en_US/scilab_en_US_help/gfcosets.html new file mode 100644 index 0000000..66cb7f5 --- /dev/null +++ b/help/en_US/scilab_en_US_help/gfcosets.html @@ -0,0 +1,78 @@ + + + gfcosets + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > gfcosets + +

+

gfcosets

+

This function produces cyclotomic cosets for a Galois field GF(P)

+ + +

Description

+

GFCS = GFCOSETS(M) produces cyclotomic cosets mod(2^M - 1). Each row of the +output GFCS contains one cyclotomic coset.

+

GFCS = GFCOSETS(M, P) produces cyclotomic cosets mod(P^M - 1), where +P is a prime number.

+

Because the length of the cosets varies in the complete set, %nan is used to +fill out the extra space in order to make all variables have the same +length in the output matrix GFCS.

+

+

+ +

Examples

+
c = gfcosets(2,3)
+disp(c)
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/gflineq.html b/help/en_US/scilab_en_US_help/gflineq.html new file mode 100644 index 0000000..4c3d2f7 --- /dev/null +++ b/help/en_US/scilab_en_US_help/gflineq.html @@ -0,0 +1,85 @@ + + + gflineq + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > gflineq + +

+

gflineq

+

This function finds a solution for linear equation Ax = b over a prime Galois field.

+ + +

Description

+

[X, SFLAG] = GFLINEQ(A, B) returns a particular solution (X) of AX=B in GF(2). +If the equation has no solution, then X is empty and SFLAG = 0 else SFLAG = 1.

+

[X, SFLAG]= GFLINEQ(A, B, P) returns a particular solution of the linear +equation A X = B in GF(P) and SFLAG=1. +If the equation has no solution, then X is empty and SFLAG = 0.

+

+

+ +

Examples

+
A=[1 0 1; 1 1 0; 1 1 1]
+p=3
+[x,vld] = gflineq(A,[1;0;1],p)
+disp(A,'A=')
+disp(x,'x=');
+if(vld)
+disp('Linear equation has solution x')
+else
+disp('Linear equation has no solution and x is empty')
+end
+disp( pmodulo(A*x,p),'B =')
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/gfrepcov.html b/help/en_US/scilab_en_US_help/gfrepcov.html new file mode 100644 index 0000000..a648564 --- /dev/null +++ b/help/en_US/scilab_en_US_help/gfrepcov.html @@ -0,0 +1,77 @@ + + + gfrepcov + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > gfrepcov + +

+

gfrepcov

+

This function represents a binary polynomial in standard ascending order format.

+ + +

Description

+

Q = GFREPCOV(P) converts vector (P) to standard ascending +order format vector (Q), which is a vector that lists the coefficients in +order of ascending exponents, if P represents a binary polynomial +as a vector of exponents with non-zero coefficients.

+

+ +

Examples

+
The matrix below represents the binary polynomial $1 + s + s^2 + s^4$
+Implies output vector should be [1 1 1 0 1]
+A=[0 1 2 4 ]
+B=gfrepcov(A)
+disp(B)
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/gftrunc.html b/help/en_US/scilab_en_US_help/gftrunc.html new file mode 100644 index 0000000..edbe751 --- /dev/null +++ b/help/en_US/scilab_en_US_help/gftrunc.html @@ -0,0 +1,74 @@ + + + gftrunc + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > gftrunc + +

+

gftrunc

+

This function is used to truncate the higher order zeroes in the given polynomial equation

+ + +

Description

+

A is considered to be matrix that gives the coefficients of polynomial GF(p) in ascending order powers +A = [1 2 3] denotes 1 + 2 x + 3 x^2 +AT=GFTRUNC(A) returns a matrix which gives the polynomial GF(p) truncating the input matrix +that is if A(i)=0, where i > d + 1, where d is the degree of the polynomial, that zero is removed

+

+ +

Examples

+
A= [ 0 0 1 4 0 0]
+c = gftrunc([0 0 1 2 3 0 0 0 4 5 0 1 0 0])
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/index.html b/help/en_US/scilab_en_US_help/index.html index 33cb2ea..65ef155 100644 --- a/help/en_US/scilab_en_US_help/index.html +++ b/help/en_US/scilab_en_US_help/index.html @@ -32,7 +32,91 @@ +
diff --git a/help/en_US/scilab_en_US_help/iqcoef2imbal.html b/help/en_US/scilab_en_US_help/iqcoef2imbal.html new file mode 100644 index 0000000..6de9384 --- /dev/null +++ b/help/en_US/scilab_en_US_help/iqcoef2imbal.html @@ -0,0 +1,77 @@ + + + iqcoef2imbal + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > iqcoef2imbal + +

+

iqcoef2imbal

+

This function returns the amplitude imbalance and phase imbalance

+ + +

Description

+

[AMP_IMB_DB, PH_IMB_DEG] = IQCOEF2IMBAL(COMP_COEF) returns +the amplitude imbalance and phase imbalance +that a given compensator coefficient will correct. +Comp_Coef is a scalar or a vector of complex numbers. +AMP_IMB_DB and PH_IMB_DEG are the amplitude imbalance in dB +and the phase imbalance in degrees.

+

+ +

Examples

+
[a_imb_db,ph_imb_deq] = iqcoef2imbal([4 2 complex(-0.1145,0.1297) complex(-0.0013,0.0029)])
+disp(a_imb_db,'amplitude imbalance in dB =')
+disp(ph_imb_deq,'phase imbalance in degrees=')
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/iqimbal2coef.html b/help/en_US/scilab_en_US_help/iqimbal2coef.html new file mode 100644 index 0000000..2dc757f --- /dev/null +++ b/help/en_US/scilab_en_US_help/iqimbal2coef.html @@ -0,0 +1,78 @@ + + + iqimbal2coef + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > iqimbal2coef + +

+

iqimbal2coef

+

This function returns the I/Q imbalance compensator coefficient for given amplitude and phase imbalance.

+ + +

Description

+

COMP_COEF = IQIMBAL2COEF(AMP_IMB_DB, PH_IMB_DEG) returns the I/Q imbalance +compensator coefficient for given amplitude and phase imbalance. +Comp_Coef is a scalar or a vector of complex numbers. +AMP_IMB_DB and PH_IMB_DEG are the amplitude imbalance in dB +and the phase imbalance in degrees and should be of same size.

+

+ +

Examples

+
[a_imb_db,ph_imb_deg] = iqcoef2imbal([4 2 complex(-0.1145,0.1297) complex(-0.0013,0.0029)])
+disp(a_imb_db,'amplitude imbalance in dB =')
+disp(ph_imb_deg,'phase imbalance in degrees=')
+Comp_Coef = iqimbal2coef(a_imb_db, ph_imb_deg)
+disp(Comp_Coef,'Compensator Coefficients=')
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/iscatastrophic.html b/help/en_US/scilab_en_US_help/iscatastrophic.html new file mode 100644 index 0000000..4094f18 --- /dev/null +++ b/help/en_US/scilab_en_US_help/iscatastrophic.html @@ -0,0 +1,93 @@ + + + iscatastrophic + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > iscatastrophic + +

+

iscatastrophic

+

This function determines if a convolutional code is catastrophic or not

+ + +

Description

+

RESULT = ISCATASTROPHIC(TRELLIS) returns 1 if the specified +trellis corresponds to a catastrophic convolutional code, else 0.

+ +

Examples

+
eg_1.numInputSymbols = 4;
+eg_1.numOutputSymbols = 4;
+eg_1.numStates = 3;
+eg_1.nextStates = [0 1 2 1;0 1 2 1; 0 1 2 1];
+eg_1.outputs = [0 0 1 1;1 1 2 1; 1 0 1 1];
+res_t_eg_1=istrellis(eg_1)
+res_c_eg_1=iscatastrophic(eg_1)
+if (res_c_eg_1) then
+disp('Example 1 is catastrophic')
+else
+disp('Example 1 is not catastrophic')
+end
+eg_2.numInputSymbols = 2;
+eg_2.numOutputSymbols = 4;
+eg_2.numStates = 2;
+eg_2.nextStates = [0 0; 1 1 ]
+eg_2.outputs = [0 0; 1 1];
+res_t_eg_2=istrellis(eg_2)
+res_c_eg_2=iscatastrophic(eg_2)
+if (res_c_eg_2) then
+disp('Example 2 is catastrophic')
+else
+disp('Example 2 is not catastrophic')
+end
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/istrellis.html b/help/en_US/scilab_en_US_help/istrellis.html new file mode 100644 index 0000000..5c9f2c2 --- /dev/null +++ b/help/en_US/scilab_en_US_help/istrellis.html @@ -0,0 +1,98 @@ + + + istrellis + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > istrellis + +

+

istrellis

+

This function checks if the given input is of trellis structure

+ + +

Description

+

[ISOK, STATUS] = ISTRELLIS(S) returns [T,''] if the given input is valid trellis structure. Otherwise ISOK is F and STATUS +indicates the reason for invalidity

+

Fields in trellis structure are +numInputSymbols, (number of input symbols) +numOutputSymbols, (number of output symbols) +numStates, (number of states) +nextStates, (next state matrix) +outputs, (output matrix)

+

Properties of the fields are as follows +numInputSymbols and numOutputSymbols should be a power of 2 (as data is represented in bits). +The 'nextStates' and 'outputs' fields are matrices of size 'numStates' x 'numInputSymbols' . +Each element in the 'nextStates' matrix and 'output' matrix is an integer value between zero and (numStates-1). +The (r,c) element of the 'nextStates' matrix and 'output' matrix,denotes the next state and output respectively when +the starting state is (r-1) and the input bits have decimal representation (c-1).

+

To convert to decimal value, use the first input bit as the most significant bit (MSB).

+

+ +

Examples

+
Valid trellis structure
+trellis.numInputSymbols = 4;
+trellis.numOutputSymbols = 4;
+trellis.numStates = 3;
+trellis.nextStates = [0 1 2 1;0 1 2 1; 0 1 2 1];
+trellis.outputs = [0 0 1 1;1 1 2 1; 1 0 1 1];
+[isok,status] = istrellis(trellis)
+
+Inavlid trellis structure
+trellis.numInputSymbols = 3;
+trellis.numOutputSymbols = 3;
+trellis.numStates = 3;
+trellis.nextStates = [0 1 2 ;0 1 2 ; 0 1 2 ];
+trellis.outputs = [0 0 1 ;1 1 2 ; 1 0 1 ];
+[isok,status] = istrellis(trellis)
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/jhelpmap.jhm b/help/en_US/scilab_en_US_help/jhelpmap.jhm index 7c02e3c..640043a 100644 --- a/help/en_US/scilab_en_US_help/jhelpmap.jhm +++ b/help/en_US/scilab_en_US_help/jhelpmap.jhm @@ -3,5 +3,19 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/jhelptoc.xml b/help/en_US/scilab_en_US_help/jhelptoc.xml index 30ce6fb..1583522 100644 --- a/help/en_US/scilab_en_US_help/jhelptoc.xml +++ b/help/en_US/scilab_en_US_help/jhelptoc.xml @@ -3,7 +3,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/lteZadoffChuSeq.html b/help/en_US/scilab_en_US_help/lteZadoffChuSeq.html new file mode 100644 index 0000000..99df316 --- /dev/null +++ b/help/en_US/scilab_en_US_help/lteZadoffChuSeq.html @@ -0,0 +1,81 @@ + + + lteZadoffChuSeq + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > lteZadoffChuSeq + +

+

lteZadoffChuSeq

+

This function generates root Zadoff-Chu sequence of complex symbols as per LTE specifications.

+ + +

Description

+

SEQ = LTEZADOFFCHUSEQ(R, N) generates the Rth root Zadoff-Chu sequence (SEQ) +of length N.

+

+ +

Examples

+
seq1 = lteZadoffChuSeq(2, 3)
+disp(seq1,'seq1')
+//Error should occur because inputs are not co primes
+seq2 = lteZadoffChuSeq(25, 5)
+disp(seq2,'seq2')
+ +

Bibliography

+

3rd Generation Partnership Project, Technical Specification Group Radio

+

Access Network, Evolved Universal Terrestrial Radio Access (E-UTRA),

+

Physical channels and modulation, Release 10, 3GPP TS 36.211, v10.0.0,

+

2010-12.

+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/octave_functions.html b/help/en_US/scilab_en_US_help/octave_functions.html new file mode 100644 index 0000000..345acc2 --- /dev/null +++ b/help/en_US/scilab_en_US_help/octave_functions.html @@ -0,0 +1,102 @@ + + + octave_functions + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > octave_functions + +

+

octave_functions

+

Call functions available in communications (and any other) package of Octave. The actual function call is "octave_fun" and is available as a part of "FOSSEE-Scilab-Octave-Toolbox"

+ + +

Syntax

+
[y1, y2, ...] = octave_fun("octave_function",input1,input2,...)
+[y1, y2, ...] = octave_fun("octave_function",input1,input2,...,optional_input1,optional_input2,...)
+[y1, y2, ...] = octave_fun("octave_function","octave_package",input1,input2,...)
+[y1, y2, ...] = octave_fun("octave_function","octave_package",input1,input2,...,optional_input1,optional_input2,...)
+ +

Parameters

+
y : +

ouput as returned by octave. It can be a vector or matrix of doubles

+
octave_function : +

name of the function in octave that has to be called. It has to be a string in double quotes

+
input : +

input as expected by the octave function. It can be a vector or matrix of doubles

+
optional_input : +

an optional argument that the given octave function can accept. It has to be a string in double quotes

+
octave_package : +

name of the package in octave that has to be loaded as required by the octave function. It has to be a string in double quotes

+ +

Description

+

This function accepts an octave function name with the relevant inputs and returns the output as generated. It requires Octave to be installed along with necessary packages.

+

+

+ +

Examples

+
// Reshape a given array using octave and its "communications" package.
+// See help in octave for more information about "reshape" function.
+// Note that this example requires the "communications" package to be installed in octave and the "FOSSEE-Scilab-Octave-Toolbox" loaded in scilab.
+x = [1, 2, 3, 4];
+dim1 = 2;
+dim2 = 2;
+output = octave_fun("reshape", "communications", x, dim1, dim2)
+ +

Examples

+
// Compute the Q function using octave and its "communications" package.
+// See help in octave for more information about "qfunc" function.
+// Note that this example requires the "communications" package to be installed in octave and the "FOSSEE-Scilab-Octave-Toolbox" loaded in scilab.
+M = [1, 2; 3, 4];
+output = octave_fun("qfunc", "communications", M)
+ +

Authors

+
  • Rupak Rokade
+
+ + + + diff --git a/help/en_US/scilab_en_US_help/section_1f049b1e3111e3d1d538e7603f77f589.html b/help/en_US/scilab_en_US_help/section_1f049b1e3111e3d1d538e7603f77f589.html index 1afbe8c..756b049 100644 --- a/help/en_US/scilab_en_US_help/section_1f049b1e3111e3d1d538e7603f77f589.html +++ b/help/en_US/scilab_en_US_help/section_1f049b1e3111e3d1d538e7603f77f589.html @@ -31,7 +31,91 @@

FOSSEE_Communication_Systems_Toolbox

-
  • arithencoThis function encodes the given sequence using aritmetic coding
+
  • alignsignalsThis function aligns the two input signals.
  • + + + + + +
  • arithdecoThis function decodes the given code using arithmetic coding
  • + + + + + +
  • arithencoThis function encodes the given sequence using aritmetic coding
  • + + + + + +
  • finddelayThis function returns the estimated delay between two input signals using crosscorrelation.
  • + + + + + +
  • gfcosetsThis function produces cyclotomic cosets for a Galois field GF(P)
  • + + + + + +
  • gflineqThis function finds a solution for linear equation Ax = b over a prime Galois field.
  • + + + + + +
  • gfrepcovThis function represents a binary polynomial in standard ascending order format.
  • + + + + + +
  • gftruncThis function is used to truncate the higher order zeroes in the given polynomial equation
  • + + + + + +
  • iqcoef2imbalThis function returns the amplitude imbalance and phase imbalance
  • + + + + + +
  • iqimbal2coefThis function returns the I/Q imbalance compensator coefficient for given amplitude and phase imbalance.
  • + + + + + +
  • iscatastrophicThis function determines if a convolutional code is catastrophic or not
  • + + + + + +
  • istrellisThis function checks if the given input is of trellis structure
  • + + + + + +
  • lteZadoffChuSeqThis function generates root Zadoff-Chu sequence of complex symbols as per LTE specifications.
  • + + + + + +
  • octave_functionsCall functions available in communications (and any other) package of Octave. The actual function call is "octave_fun" and is available as a part of "FOSSEE-Scilab-Octave-Toolbox"
  • + + + + + +
  • ssbdemodThis function performs Single Side Band Amplitude Demodulation

diff --git a/help/en_US/scilab_en_US_help/ssbdemod.html b/help/en_US/scilab_en_US_help/ssbdemod.html new file mode 100644 index 0000000..1fe5a1a --- /dev/null +++ b/help/en_US/scilab_en_US_help/ssbdemod.html @@ -0,0 +1,110 @@ + + + ssbdemod + + + + + + + + FOSSEE_Communication_Systems_Toolbox >> FOSSEE_Communication_Systems_Toolbox > ssbdemod + +

+

ssbdemod

+

This function performs Single Side Band Amplitude Demodulation

+ + +

Description

+

Z = SSBDEMOD(Y,Fc,Fs) +demodulates the single sideband amplitude modulated signal Y +with the carrier frequency Fc (Hz). +Sample frequency Fs (Hz). zero initial phase (ini_phase). +The modulated signal can be an upper or lower sideband signal. +A lowpass butterworth filter is used in the demodulation.

+

Z = SSBDEMOD(Y,Fc,Fs,INI_PHASE) +adds an extra argument the initial phase (rad) of the modulated signal.

+

Z = SSBDEMOD(Y,Fc,Fs,INI_PHASE,NUM,DEN) +adds extra arguments about the filter specifications +i.e., the numerator and denominator of the lowpass filter.

+

Fs must satisfy Fs >2*(Fc + BW), where BW is the bandwidth of the +modulating signal.

+

+

+ +

Examples

+
Fs =200;
+t = [0:2*Fs+1]'/Fs;
+ini_phase = 5;
+Fc = 20;
+fm1= 2;
+fm2= 3
+x =sin(2*fm1*%pi*t)+sin(2*fm2*%pi*t);
+y = ssbmod(x,Fc,Fs,ini_phase);
+o = ssbdemod(y,Fc,Fs,ini_phase);
+z = fft(y);
+zz =abs(z(1:length(z)/2+1 ));
+axis = (0:Fs/length(zz):Fs -(Fs/length(zz)))/2;
+
+figure
+subplot(3,1,1); plot(x);
+title(' Message signal');
+subplot(3,1,2); plot(y);
+title('Amplitude modulated signal');
+subplot(3,1,3); plot(axis,zz);
+title('Spectrum of amplitude modulated signal');
+z1 =fft(o);
+zz1 =abs(z1(1:length(z1)/2+1 ));
+axis = (0:Fs/length(zz1):Fs -(Fs/length(zz1)))/2;
+figure
+subplot(3,1,1); plot(y);
+title(' Modulated signal');
+subplot(3,1,2); plot(o);
+title('Demodulated signal');
+subplot(3,1,3); plot(axis,zz1);
+title('Spectrum of Demodulated signal');
+ +

Authors

+
  • Pola Lakshmi Priyanka, IIT Bombay
+
+ + + + diff --git a/help/en_US/ssbdemod.xml b/help/en_US/ssbdemod.xml new file mode 100644 index 0000000..1ce9be8 --- /dev/null +++ b/help/en_US/ssbdemod.xml @@ -0,0 +1,97 @@ + + + + + + + + ssbdemod + This function performs Single Side Band Amplitude Demodulation + + + + + Description + +Z = SSBDEMOD(Y,Fc,Fs) +demodulates the single sideband amplitude modulated signal Y +with the carrier frequency Fc (Hz). +Sample frequency Fs (Hz). zero initial phase (ini_phase). +The modulated signal can be an upper or lower sideband signal. +A lowpass butterworth filter is used in the demodulation. + + +Z = SSBDEMOD(Y,Fc,Fs,INI_PHASE) +adds an extra argument the initial phase (rad) of the modulated signal. + + +Z = SSBDEMOD(Y,Fc,Fs,INI_PHASE,NUM,DEN) +adds extra arguments about the filter specifications +i.e., the numerator and denominator of the lowpass filter. + + +Fs must satisfy Fs >2*(Fc + BW), where BW is the bandwidth of the +modulating signal. + + + + + + + + + Examples + + + + + Authors + + Pola Lakshmi Priyanka, IIT Bombay + + + diff --git a/help/fr_FR/build_help.sce b/help/fr_FR/build_help.sce deleted file mode 100644 index 7065316..0000000 --- a/help/fr_FR/build_help.sce +++ /dev/null @@ -1,3 +0,0 @@ -// This file is released under the 3-clause BSD license. See COPYING-BSD. - -tbx_build_help(TOOLBOX_TITLE,get_absolute_file_path("build_help.sce")); diff --git a/help/fr_FR/c_multiplybypi.xml b/help/fr_FR/c_multiplybypi.xml deleted file mode 100644 index b23737d..0000000 --- a/help/fr_FR/c_multiplybypi.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - c_multiplybypi - Multiple par %pi un nombre - - - Séquence d'appel - a = multiplybypi(b) - - - Arguments - - - b - - Premier argument d'entrée - - - - a - - Argument de sortie - - - - - - Description - Fait une multiplication particulière. - Ajoutez ici plus d'informations sur cette fonction - - LaTeX peut etre utilisé pour afficher l'équation: Dans ce cas, le rendu pourrait être $x*\pi$ - - - - Exemples - c_multiplybypi(3) - - - Voir aussi - - - c_sum - - - Lien vers la page d'aide sum de Scilab - - - - diff --git a/help/fr_FR/c_sub.xml b/help/fr_FR/c_sub.xml deleted file mode 100644 index 5b121e7..0000000 --- a/help/fr_FR/c_sub.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - c_sub - calcule de la soustraction depuis du code C - - - Squence d'appel - a = c_sub(b,c) - - - Arguments - - - b - - Premier argument d'entre - - - - c - - Second argument d'entre - - - - a - - Argument de sortie - - - - - - Description - calcule la soustraction. - Ajoutez ici plus d'informations sur cette fonction - - LaTeX peut etre utilis pour afficher l'quation: Dans ce cas, le rendu pourrait tre $x-y$ - - Il est possible d'inclure une image en utilisant du code Scilab (il faut dclarer au pralable le namespace xmlns:scilab="http://www.scilab.org"): - - - plot3d(); - - ]]> - - - plot3d(); - - Si une image contient une chane de caractres localises, il faut alors ajouter l'attribut scilab:localized="true": - - - plot2d(); - xtitle("Mes jolis plots 2D"); - - ]]> - - - plot2d(); - xtitle("Mes jolis plots 2D"); - - - - Exemples - c_sub(3,4) - - - Voir aussi - - - c_sum - - - Lien vers la page d'aide sum de Scilab - - - - diff --git a/help/fr_FR/c_sum.xml b/help/fr_FR/c_sum.xml deleted file mode 100644 index db218c8..0000000 --- a/help/fr_FR/c_sum.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - c_sum - calcule de la somme depuis du code C - - - Squence d'appel - a = c_sum(b,c) - - - Arguments - - - b - - Premier argument d'entree - - - - c - - Second argument d'entree - - - - a - - Argument de sortie - - - - - - Description - calcule la somme. - Ajoutez ici plus d'informations sur cette fonction - - LaTeX peut etre utilis pour afficher l'quation: Dans ce cas, le rendu pourrait tre $x+y$ - - - - Exemples - c_sum(3,4) - - - Voir aussi - - - fortran_sum - - - Lien vers la page d'aide sum de Scilab - - - - diff --git a/help/fr_FR/fortran_sum.xml b/help/fr_FR/fortran_sum.xml deleted file mode 100644 index 59c888a..0000000 --- a/help/fr_FR/fortran_sum.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - fortran_sum - calcule de la somme depuis du code fortran - - - Squence d'appel - a = c_sum(b,c) - - - Arguments - - - b - - Premier argument d'entre - - - - c - - Second argument d'entre - - - - a - - Argument de sortie - - - - - - Description - calcule la somme. - Ajoutez ici plus d'informations sur cette fonction - - LaTeX peut etre utilis pour afficher l'quation: Dans ce cas, le rendu pourrait tre $x+y$ - - - - Exemples - fortran_sum(3,4) - - - Voir aussi - - - c_sum - - - Lien vers la page d'aide sum de Scilab - - - - diff --git a/help/fr_FR/scilab_sum.xml b/help/fr_FR/scilab_sum.xml deleted file mode 100644 index 5b14618..0000000 --- a/help/fr_FR/scilab_sum.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - scilab_sum - calcule de la somme depuis du code scilab - - - Squence d'appel - a = scilab_sum(b,c) - - - Arguments - - - b - - Premier argument d'entre - - - - c - - Second argument d'entre - - - - a - - Argument de sortie - - - - - - Description - calcule la somme. - Ajoutez ici plus d'informations sur cette fonction - - LaTeX peut etre utilis pour afficher l'quation: Dans ce cas, le rendu pourrait tre $x+y$ - - - - Exemples - scilab_sum(3,4) - - - Voir aussi - - - c_sum - - - Lien vers la page d'aide sum de Scilab - - - - diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar index 26f6d92..a970e9a 100644 Binary files a/jar/scilab_en_US_help.jar and b/jar/scilab_en_US_help.jar differ diff --git a/macros/alignsignals.bin b/macros/alignsignals.bin index 48bdb7d..1a8f3ec 100644 Binary files a/macros/alignsignals.bin and b/macros/alignsignals.bin differ diff --git a/macros/alignsignals.sci b/macros/alignsignals.sci index 97bf596..6000b57 100644 --- a/macros/alignsignals.sci +++ b/macros/alignsignals.sci @@ -36,11 +36,8 @@ function varargout = alignsignals(x,y,varargin) // Y = [1 2 3 ]; // [Xa,Ya] = alignsignals(X,Y,[],1) // -// See also -// finddelay -// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay // Check number of input arguments [out_a,inp_a]=argn(0) diff --git a/macros/arithdeco.bin b/macros/arithdeco.bin index 505f75b..307cf86 100644 Binary files a/macros/arithdeco.bin and b/macros/arithdeco.bin differ diff --git a/macros/arithdeco.sci b/macros/arithdeco.sci index 95a06b9..226c12d 100644 --- a/macros/arithdeco.sci +++ b/macros/arithdeco.sci @@ -1,18 +1,18 @@ function [seq] = arithdeco(code, count, len) // This function decodes the given code using arithmetic coding - -// Calling sequence +// +// Syntax // SEQ = ARITHDECO(CODE, COUNT, LEN) // // Description // SEQ = ARITHDECO(CODE, COUNT, LEN) decodes the given received seq (CODE) to message using arithmetic coding. -// COUNT is vector whihc gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) +// COUNT is vector which gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) // CODE is the binary arithmetic code - +// // Source Alphabet is assumed to be {1,2,....N} where N is a positive integer // Therefore, sequence should be finite and positive // Length of the COUNT should match the length of the source alphabet - +// // Examples // counts = [40 1 9]; // len = 11; @@ -22,20 +22,11 @@ function [seq] = arithdeco(code, count, len) // dseq=arithdeco(code,counts,len) // disp(dseq) // disp(seq) - -// Bibliography -// Sayood, K., Introduction to Data Compression, Morgan Kaufmann, 2000, Chapter 4, Section 4.4.3. - -// See also -// arithenco - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay - -//*************************************************************************************************************************************// - - //Input argument check +//Input argument check [outa,inpa]=argn(0); if(~inpa==3) diff --git a/macros/arithenco.bin b/macros/arithenco.bin index 429c26d..441c2ad 100644 Binary files a/macros/arithenco.bin and b/macros/arithenco.bin differ diff --git a/macros/arithenco.sci b/macros/arithenco.sci index b596924..adcd50b 100644 --- a/macros/arithenco.sci +++ b/macros/arithenco.sci @@ -1,9 +1,9 @@ function [code] = arithenco(seq, count) // This function encodes the given sequence using aritmetic coding - +// // Syntax // CODE = ARITHENCO(SEQ, COUNT) - +// // Description // CODE = ARITHENCO(SEQ, COUNT) encodes the given sequence (SEQ) using arithmetic coding. // COUNT is vector whihc gives information about the source statistics (i.e. frequency of each symbol in the source alphabet) @@ -11,22 +11,19 @@ function [code] = arithenco(seq, count) // Source Alphabet is assumed to be {1,2,....N} where N is a positive integer // Therefore, sequence should be finite and positive // Length of the COUNT should match the length of the source alphabet - +// // Examples // counts = [40 1 9]; // len = 4; // seq = [1 3 2 1] // code = arithenco(seq,counts); // disp(code) - +// // Bibliography // Sayood, K., Introduction to Data Compression, Morgan Kaufmann, 2000, Chapter 4, Section 4.4.3. - -// See also -// arithdeco - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/cleanmacros.sce b/macros/cleanmacros.sce new file mode 100644 index 0000000..a6428b2 --- /dev/null +++ b/macros/cleanmacros.sce @@ -0,0 +1,20 @@ +// ==================================================================== +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// ==================================================================== +function cleanmacros() + + libpath = get_absolute_file_path("cleanmacros.sce"); + + binfiles = ls(libpath+"/*.bin"); + for i = 1:size(binfiles,"*") + mdelete(binfiles(i)); + end + + mdelete(libpath+"/names"); + mdelete(libpath+"/lib"); +endfunction + +cleanmacros(); +clear cleanmacros; // remove cleanmacros on stack + +// ==================================================================== diff --git a/macros/finddelay.bin b/macros/finddelay.bin index 8a977dc..c5d32d5 100644 Binary files a/macros/finddelay.bin and b/macros/finddelay.bin differ diff --git a/macros/finddelay.sci b/macros/finddelay.sci index eb8e96a..00d6755 100644 --- a/macros/finddelay.sci +++ b/macros/finddelay.sci @@ -1,16 +1,16 @@ function d = finddelay(x,y,varargin) // This function returns the estimated delay between two input signals using crosscorrelation. // If signals are periodic, delay with least absolute value is returned. - +// // Calling Sequence // D = FINDDELAY(X,Y) // D = FINDDELAY(...,MAXLAG) - +// // Description // D = FINDDELAY(X,Y), returns estimated Delay D between X // and Y. D is positive implies Y is delayed with respect to X and vice versa. // If X, Y are matrices, then D is a row vector corresponding to delay between columns of X and Y - +// // D = FINDDELAY(...,MAXLAG), uses MAXLAG as the maximum correlation // window size used to find the estimated delay(s) between X and Y: // @@ -29,7 +29,7 @@ function d = finddelay(x,y,varargin) // -MAXLAG(J):MAXLAG(J). // // By default, MAXLAG is equal to MAX(LX,LY)-1 for vectors, - +// // Examples // X = [ 0 0 1 2 3 ]; // Y = [ 0 0 0 1 2 3]; @@ -39,12 +39,9 @@ function d = finddelay(x,y,varargin) // Y = [ 0 0 1 0 ;1 0 0 2 ; 0 0 0 0 ]; // D = finddelay(X,Y) // disp(D) - -// See also -// alignsignals - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/gfcosets.bin b/macros/gfcosets.bin index 987d207..a0ec71a 100644 Binary files a/macros/gfcosets.bin and b/macros/gfcosets.bin differ diff --git a/macros/gfcosets.sci b/macros/gfcosets.sci index ed69f86..59de7b8 100644 --- a/macros/gfcosets.sci +++ b/macros/gfcosets.sci @@ -15,17 +15,14 @@ function gfcs = gfcosets(m, p) // Because the length of the cosets varies in the complete set, %nan is used to // fill out the extra space in order to make all variables have the same // length in the output matrix GFCS. - - +// +// // Examples // c = gfcosets(2,3) // disp(c) - -// See also -// gfminpol, gfprimdf, gfroots - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/gflineq.bin b/macros/gflineq.bin index 957bee2..3525ba7 100644 Binary files a/macros/gflineq.bin and b/macros/gflineq.bin differ diff --git a/macros/gflineq.sci b/macros/gflineq.sci index 3b34529..0a2b33d 100644 --- a/macros/gflineq.sci +++ b/macros/gflineq.sci @@ -13,7 +13,7 @@ function [x, sflag] = gflineq(a, b, p) // equation A X = B in GF(P) and SFLAG=1. // If the equation has no solution, then X is empty and SFLAG = 0. // - +// // Examples // A=[1 0 1; 1 1 0; 1 1 1] // p=3 @@ -26,12 +26,9 @@ function [x, sflag] = gflineq(a, b, p) // disp('Linear equation has no solution and x is empty') // end // disp( pmodulo(A*x,p),'B =') - -// See also -// gfadd, gfconv, gfdiv, gfrank, gfroots - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/gfrepcov.bin b/macros/gfrepcov.bin index 7ea415c..48ed26f 100644 Binary files a/macros/gfrepcov.bin and b/macros/gfrepcov.bin differ diff --git a/macros/gfrepcov.sci b/macros/gfrepcov.sci index 6e16717..35a9cb6 100644 --- a/macros/gfrepcov.sci +++ b/macros/gfrepcov.sci @@ -1,28 +1,25 @@ function q = gfrepcov(p) // This function represents a binary polynomial in standard ascending order format. - +// // Calling Sequence // Q = GFREPCOV(P) - +// // Description // Q = GFREPCOV(P) converts vector (P) to standard ascending // order format vector (Q), which is a vector that lists the coefficients in // order of ascending exponents, if P represents a binary polynomial // as a vector of exponents with non-zero coefficients. - +// // Examples // The matrix below represents the binary polynomial $1 + s + s^2 + s^4$ // Implies output vector should be [1 1 1 0 1] // A=[0 1 2 4 ] // B=gfrepcov(A) // disp(B) -// Also try A=[1 2 3 4 4] which is incorrect way of representing binary polynomial - -// See also -// gfpretty - +// +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/gftrunc.bin b/macros/gftrunc.bin index fbb0c07..6857e20 100644 Binary files a/macros/gftrunc.bin and b/macros/gftrunc.bin differ diff --git a/macros/gftrunc.sci b/macros/gftrunc.sci index de0e6e6..5381d1c 100644 --- a/macros/gftrunc.sci +++ b/macros/gftrunc.sci @@ -1,25 +1,21 @@ function at=gftrunc(a) //This function is used to truncate the higher order zeroes in the given polynomial equation - -//Calling Sequence +// +// Calling Sequence //AT=GFTRUNC(A) - -//Description +// +// Description //A is considered to be matrix that gives the coefficients of polynomial GF(p) in ascending order powers //A = [1 2 3] denotes 1 + 2 x + 3 x^2 //AT=GFTRUNC(A) returns a matrix which gives the polynomial GF(p) truncating the input matrix //that is if A(i)=0, where i > d + 1, where d is the degree of the polynomial, that zero is removed - +// //Examples -//A= [ 0 0 1 4 0 0] returns [0 0 1 4] +//A= [ 0 0 1 4 0 0] //c = gftrunc([0 0 1 2 3 0 0 0 4 5 0 1 0 0]) - - -//See also -//gfadd, gfconv, gfdeconv, gfsub, gftuple - +// //Authors -//Pola Lakshmi Priyanka, IIT Bombay// +//Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// // Check number of input arguments diff --git a/macros/iqcoef2imbal.bin b/macros/iqcoef2imbal.bin index 54d08ae..cc18580 100644 Binary files a/macros/iqcoef2imbal.bin and b/macros/iqcoef2imbal.bin differ diff --git a/macros/iqcoef2imbal.sci b/macros/iqcoef2imbal.sci index 2c08c2b..16608fc 100644 --- a/macros/iqcoef2imbal.sci +++ b/macros/iqcoef2imbal.sci @@ -1,10 +1,10 @@ function [Amp_Imb_DB, Ph_Imb_Deg] = iqcoef2imbal(Comp_Coef) // This function returns the amplitude imbalance and phase imbalance // that a given compensator coefficient will correct. - +// // Calling sequence // [AMP_IMB_DB, PH_IMB_DEG] = IQCOEF2IMBAL(COMP_COEF) - +// // Description // [AMP_IMB_DB, PH_IMB_DEG] = IQCOEF2IMBAL(COMP_COEF) returns // the amplitude imbalance and phase imbalance @@ -12,20 +12,15 @@ function [Amp_Imb_DB, Ph_Imb_Deg] = iqcoef2imbal(Comp_Coef) // Comp_Coef is a scalar or a vector of complex numbers. // AMP_IMB_DB and PH_IMB_DEG are the amplitude imbalance in dB // and the phase imbalance in degrees. - +// // Examples // [a_imb_db,ph_imb_deq] = iqcoef2imbal([4 2 complex(-0.1145,0.1297) complex(-0.0013,0.0029)]) // disp(a_imb_db,'amplitude imbalance in dB =') // disp(ph_imb_deq,'phase imbalance in degrees=') - -// Bibliography -// http://in.mathworks.com/help/comm/ref/iqcoef2imbal.html - -// See also -// iqimbal2coef - +// +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/iqimbal2coef.bin b/macros/iqimbal2coef.bin index 0bf83da..0d7d51e 100644 Binary files a/macros/iqimbal2coef.bin and b/macros/iqimbal2coef.bin differ diff --git a/macros/iqimbal2coef.sci b/macros/iqimbal2coef.sci index 0849478..c8a8645 100644 --- a/macros/iqimbal2coef.sci +++ b/macros/iqimbal2coef.sci @@ -1,31 +1,25 @@ function Comp_Coef = iqimbal2coef(Amp_Imb_dB, Ph_Imb_Deg) // This function returns the I/Q imbalance compensator coefficient for given amplitude and phase imbalance. - +// // Calling Sequence // COMP_COEF = IQIMBAL2COEF(AMP_IMB_DB, PH_IMB_DEG) - +// // Description // COMP_COEF = IQIMBAL2COEF(AMP_IMB_DB, PH_IMB_DEG) returns the I/Q imbalance // compensator coefficient for given amplitude and phase imbalance. // Comp_Coef is a scalar or a vector of complex numbers. // AMP_IMB_DB and PH_IMB_DEG are the amplitude imbalance in dB // and the phase imbalance in degrees and should be of same size. - +// // Examples // [a_imb_db,ph_imb_deg] = iqcoef2imbal([4 2 complex(-0.1145,0.1297) complex(-0.0013,0.0029)]) // disp(a_imb_db,'amplitude imbalance in dB =') // disp(ph_imb_deg,'phase imbalance in degrees=') // Comp_Coef = iqimbal2coef(a_imb_db, ph_imb_deg) // disp(Comp_Coef,'Compensator Coefficients=') - -// Bibliography -// http://in.mathworks.com/help/comm/ref/iqimbal2coef.html - -// See also -// iqcoef2imbal - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/iscatastrophic.bin b/macros/iscatastrophic.bin index 99f7cb0..0e68d18 100644 Binary files a/macros/iscatastrophic.bin and b/macros/iscatastrophic.bin differ diff --git a/macros/iscatastrophic.sci b/macros/iscatastrophic.sci index 9c54f19..2dc1ad9 100644 --- a/macros/iscatastrophic.sci +++ b/macros/iscatastrophic.sci @@ -1,14 +1,10 @@ function result = iscatastrophic(trellis) - // This function determines if a convolutional code is catastrophic or not - // Calling Sequence // RESULT = ISCATASTROPHIC(TRELLIS) - // Description // RESULT = ISCATASTROPHIC(TRELLIS) returns 1 if the specified // trellis corresponds to a catastrophic convolutional code, else 0. - // Examples // eg_1.numInputSymbols = 4; // eg_1.numOutputSymbols = 4; @@ -22,7 +18,6 @@ function result = iscatastrophic(trellis) // else // disp('Example 1 is not catastrophic') // end - // eg_2.numInputSymbols = 2; // eg_2.numOutputSymbols = 4; // eg_2.numStates = 2; @@ -35,13 +30,8 @@ function result = iscatastrophic(trellis) // else // disp('Example 2 is not catastrophic') // end - - -// See also -// istrellis - // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/istrellis.bin b/macros/istrellis.bin index 273fa72..2cb8404 100644 Binary files a/macros/istrellis.bin and b/macros/istrellis.bin differ diff --git a/macros/istrellis.sci b/macros/istrellis.sci index da8be0c..86e6583 100644 --- a/macros/istrellis.sci +++ b/macros/istrellis.sci @@ -1,30 +1,29 @@ function [isOk, status] = istrellis(S) - // This function checks if the given input is of trellis structure - +// // Calling Sequence // [ISOK, STATUS] = ISTRELLIS(S) // // Description // [ISOK, STATUS] = ISTRELLIS(S) returns [T,''] if the given input is valid trellis structure. Otherwise ISOK is F and STATUS // indicates the reason for invalidity - +// // Fields in trellis structure are // numInputSymbols, (number of input symbols) // numOutputSymbols, (number of output symbols) // numStates, (number of states) // nextStates, (next state matrix) // outputs, (output matrix) - +// // Properties of the fields are as follows // numInputSymbols and numOutputSymbols should be a power of 2 (as data is represented in bits). // The 'nextStates' and 'outputs' fields are matrices of size 'numStates' x 'numInputSymbols' . // Each element in the 'nextStates' matrix and 'output' matrix is an integer value between zero and (numStates-1). // The (r,c) element of the 'nextStates' matrix and 'output' matrix,denotes the next state and output respectively when // the starting state is (r-1) and the input bits have decimal representation (c-1). - +// // To convert to decimal value, use the first input bit as the most significant bit (MSB). - +// // Examples // Valid trellis structure // trellis.numInputSymbols = 4; @@ -33,7 +32,7 @@ function [isOk, status] = istrellis(S) // trellis.nextStates = [0 1 2 1;0 1 2 1; 0 1 2 1]; // trellis.outputs = [0 0 1 1;1 1 2 1; 1 0 1 1]; // [isok,status] = istrellis(trellis) - +// // Inavlid trellis structure // trellis.numInputSymbols = 3; // trellis.numOutputSymbols = 3; @@ -41,12 +40,9 @@ function [isOk, status] = istrellis(S) // trellis.nextStates = [0 1 2 ;0 1 2 ; 0 1 2 ]; // trellis.outputs = [0 0 1 ;1 1 2 ; 1 0 1 ]; // [isok,status] = istrellis(trellis) - -// See also -// iscatastrophic - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/lib b/macros/lib index 00d40f5..cf1a67d 100644 --- a/macros/lib +++ b/macros/lib @@ -1,17 +1,18 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/macros/lteZadoffChuSeq.bin b/macros/lteZadoffChuSeq.bin index 02d0fb4..f7505fb 100644 Binary files a/macros/lteZadoffChuSeq.bin and b/macros/lteZadoffChuSeq.bin differ diff --git a/macros/lteZadoffChuSeq.sci b/macros/lteZadoffChuSeq.sci index 9f4a6c1..862e268 100644 --- a/macros/lteZadoffChuSeq.sci +++ b/macros/lteZadoffChuSeq.sci @@ -7,23 +7,23 @@ function seq = lteZadoffChuSeq(R, N) // Description // SEQ = LTEZADOFFCHUSEQ(R, N) generates the Rth root Zadoff-Chu sequence (SEQ) // of length N. - +// // Examples // seq1 = lteZadoffChuSeq(2, 3) // disp(seq1,'seq1') -// Error should occur because inputs are not co primes +// //Error should occur because inputs are not co primes // seq2 = lteZadoffChuSeq(25, 5) // disp(seq2,'seq2') - - +// +// // Bibliography // 3rd Generation Partnership Project, Technical Specification Group Radio // Access Network, Evolved Universal Terrestrial Radio Access (E-UTRA), // Physical channels and modulation, Release 10, 3GPP TS 36.211, v10.0.0, // 2010-12. - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// diff --git a/macros/octave_functions.bin b/macros/octave_functions.bin new file mode 100644 index 0000000..0a8e662 Binary files /dev/null and b/macros/octave_functions.bin differ diff --git a/macros/octave_functions.sci b/macros/octave_functions.sci new file mode 100644 index 0000000..26ba9e2 --- /dev/null +++ b/macros/octave_functions.sci @@ -0,0 +1,63 @@ +// Copyright (C) 2019 - IIT Bombay - FOSSEE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +// Author: Rupak Rokade +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + + +function [y] = octave_functions() + // Call functions available in communications (and any other) package of Octave. The actual function call is "octave_fun" and is available as a part of "FOSSEE-Scilab-Octave-Toolbox" + // + // Syntax + // [y1, y2, ...] = octave_fun("octave_function",input1,input2,...) + // [y1, y2, ...] = octave_fun("octave_function",input1,input2,...,optional_input1,optional_input2,...) + // [y1, y2, ...] = octave_fun("octave_function","octave_package",input1,input2,...) + // [y1, y2, ...] = octave_fun("octave_function","octave_package",input1,input2,...,optional_input1,optional_input2,...) + // + // Parameters + // y : ouput as returned by octave. It can be a vector or matrix of doubles + // octave_function : name of the function in octave that has to be called. It has to be a string in double quotes + // input : input as expected by the octave function. It can be a vector or matrix of doubles + // optional_input : an optional argument that the given octave function can accept. It has to be a string in double quotes + // octave_package : name of the package in octave that has to be loaded as required by the octave function. It has to be a string in double quotes + // + // Description + // This function accepts an octave function name with the relevant inputs and returns the output as generated. It requires Octave to be installed along with necessary packages. + // + // + // \begin{eqnarray} + // &\mbox{min}_{x} + // & C^T⋅x \\ + // & \text{subject to}& A⋅x = b \\ + // & & G⋅x \preceq_K h \\ + // & & x_i \in \{0,1\}, i \in \!\, bool_vars\ + // & & x_j \in \!\, \mathbb{Z}, i \in \!\, int_vars\\ + // \end{eqnarray} + // + // + // Examples + // + // // Reshape a given array using octave and its "communications" package. + // // See help in octave for more information about "reshape" function. + // // Note that this example requires the "communications" package to be installed in octave and the "FOSSEE-Scilab-Octave-Toolbox" loaded in scilab. + // x = [1, 2, 3, 4]; + // dim1 = 2; + // dim2 = 2; + // output = octave_fun("reshape", "communications", x, dim1, dim2) + // + // Examples + // + // // Compute the Q function using octave and its "communications" package. + // // See help in octave for more information about "qfunc" function. + // // Note that this example requires the "communications" package to be installed in octave and the "FOSSEE-Scilab-Octave-Toolbox" loaded in scilab. + // M = [1, 2; 3, 4]; + // output = octave_fun("qfunc", "communications", M) + // +// Authors +// Rupak Rokade +endfunction diff --git a/macros/ssbdemod.bin b/macros/ssbdemod.bin index 84336e2..06966b2 100644 Binary files a/macros/ssbdemod.bin and b/macros/ssbdemod.bin differ diff --git a/macros/ssbdemod.sci b/macros/ssbdemod.sci index 7271cf9..c6da89a 100644 --- a/macros/ssbdemod.sci +++ b/macros/ssbdemod.sci @@ -1,12 +1,11 @@ -function z = ssbdemod(y, Fc, Fs, varargin) - +function z = ssbdemod(y, Fc, Fs, varargin) // This function performs Single Side Band Amplitude Demodulation - +// // Calling Sequence // Z = SSBDEMOD(Y,Fc,Fs) // Z = SSBDEMOD(Y,Fc,Fs,INI_PHASE) // Z = SSBDEMOD(Y,Fc,Fs,INI_PHASE,NUM,DEN) - +// // Description // Z = SSBDEMOD(Y,Fc,Fs) // demodulates the single sideband amplitude modulated signal Y @@ -24,10 +23,10 @@ function z = ssbdemod(y, Fc, Fs, varargin) // // Fs must satisfy Fs >2*(Fc + BW), where BW is the bandwidth of the // modulating signal. - - +// +// // Examples - +// // Fs =200; // t = [0:2*Fs+1]'/Fs; // ini_phase = 5; @@ -58,12 +57,9 @@ function z = ssbdemod(y, Fc, Fs, varargin) // title('Demodulated signal'); // subplot(3,1,3); plot(axis,zz1); // title('Spectrum of Demodulated signal'); - -// See also -// ssbmod - +// // Authors -// Pola Lakshmi Priyanka, IIT Bombay// +// Pola Lakshmi Priyanka, IIT Bombay //*************************************************************************************************************************************// -- cgit