Generic of doubly selective channel emulator, locally non-stationary in time, nonstationary in frequency, with non-separable dispersion function

20190268112 · 2019-08-29

    Inventors

    Cpc classification

    International classification

    Abstract

    Currently, wideband channel simulation/emulation is carried out through channel realizations obtained from dispersion functions dictated by communication standards, in order to perform the tests and validation of the new data communication schemes. However, the channel models available in the state of the art only consider the simulation/emulation of stationary channels with separable dispersion characteristics, allowing only the treatment of unrealistic channels. The present invention describes and details a method and apparatus for performing the channel simulation/emulation in scenarios where the channel is doubly selective, i.e., selective in time and frequency, where the simulation/emulation is of an arbitrarily long duration, and for a channel that is locally non-stationary in time, not stationary in frequency and with a non-separable dispersion function. To solve this, the orthogonalization technique of the channel is used in conjunction with a windowing scheme in order to generate arbitrarily long realizations of doubly dispersive channels.

    Claims

    1. A method for generating simulation/emulation of a doubly selective channel, locally non-stationary in time, non-stationary in frequency, and with a non-separable dispersion function implemented by means of a signal processor comprising: a) To define one or a plurality of dispersion functions, S(v,) inherent to the channel c.sub.bb(t; ), b) To determine one or a plurality of the band limiting filter g() according to the maximum bandwidth of the signals to be transmitted, c) To obtain the channel limited in band by convolving the channel with the limiting band filter:
    h.sub.bb(t;)=c.sub.bb(t;)*g()i. d) To obtain one or a plurality of universal correlation functions R.sub.U(,) from: i. Defining the maximum delay time .sub.max, ii. Generating one or a plurality of two-dimensional profile that complies with the principle of expansion of subspaces of correlation functions limited in time delay, as an example the universal two-dimensional profile is defined by information of the maximum delays, such as:
    P.sub.U(,)=(),, {0,.sub.max} iii. Generate the universal correlation function through
    R.sub.U(, )=.sub..sup..sub..sup.P.sub.U(,)g()g()dd e) To obtain the set of basis functions and their corresponding weights of the correlation function R.sub.U(,) from some matrix factorization technique such as the Cholezky factorization, LU, LDL.sup.T, QR, etc., that allows to expand the correlation function R.sub.U(, ), as an example, this patent employs the decomposition in terms of eigenvalues and eigenvectors of R.sub.U(, ), f) From a certain threshold of permissible error in the approximation, which is given by the relative power of the eigenvalues, choose the custom-character=1, 2, . . . , L.sub.min universal eigen functions, custom-character(), and universal eigenvalues, custom-character, which can represent processes with an error less than or equal to that established in the threshold, g) To define one or a plurality of correlation tensors R.sub.h.sub.bb(t,s; ,), a determined from measurements, user-defined functions or communication standards, considering a particular shaping filter, h) To make one or a plurality of orthogonalization processes in the time delay domain with the universal functions to obtain the tensor custom-character.sub.(t,s) from custom-character.sub.(t,s)=.sub..sup..sub..sup.R.sub.h.sub.bb (t, s; ,)custom-character().sub.()dd, where the basis functions custom-character() are obtained from the eigen-decomposition of the universal correlation function, i) To make a rearrangement of the tensor custom-character.sub.(t,s) as a matrix of correlation matrices or functions custom-character.sub.(t,s), j) To obtain one or a plurality of a set of functions and their corresponding weights of the matrix of matrices custom-character.sub.(t,s) from some matrix factorization technique like the Cholezky factorizations, LU, LDL.sup.T, QR, etc., that allows to expand the matrix of matrices custom-character.sub.(t,s), as an example, the decomposition of eigenvalues and eigenvectors of the matrix of matrices is used custom-character.sub.(t,s) as described below:
    .sub.k.sub.k(s)=.sub.0.sup.T.sup.Lmincustom-character.sub.(t,s).sub.k(t)dt for k=1, 2, . . . , K.sub.min, where K.sub.min is the number of eigenfunctions and eigenvalues required to expand a process (t) with a predefined MSE approximation error to the matrix of correlation matrices custom-character.sub.(t,s), k) To generate a set of parameters from the set of functions and weights obtained according to the factorization method defined in the claim j), that as an example it is generated K.sub.min complex Gaussian random variables .sub.k of unit variance to be weighed with its corresponding eigenvalue .sub.k, thus obtaining the coefficients P.sub.k={square root over (.sub.k)}*.sub.k, l) To perform one or a plurality of stochastic process expansion (t) from a set of functions and their corresponding weights of the matrix of matrices custom-character.sub.(t,s) based on some matrix factorization technique like the Cholezky factorizations, LU, LDL.sup.T, QR, etc., as defined in the claim j), in this case the expansion of the stochastic process (t) is implemented as expressed below ( t ) = .Math. k = 1 K min .Math. .Math. P k .Math. k ( t ) , 0 < t < T Lmin , m) To rearrange the process (t) in L.sub.min independent sequences custom-character.sub.l(t) from the reassignment of each T seconds as correspond to the process number custom-character=1, 2, . . . , L.sub.min, n) To generate another or another plurality of a process of the type (t) according to the subsection l), which is also rearranged as was done in the subsection m), in this way it results in one or a plurality of processes custom-character.sub.l(t) and custom-character.sub.l(t) for custom-character=1, 2, . . . , L.sub.min, y l=1, 2, . . . , , o) To use the patent Mtodo y aparato de generacin de realizaciones de canal estacionarias y no-estacionarias de longitud arbitraria which explains how the sequences custom-character.sub.l(t) and custom-character.sub.l(t) are weighted by a window w(t) for each value of l according to l * T - T 2 t < l * T + T 2 , l = 1 , 2 , .Math. .Math. , , and phase shifted by the value of a uniform random variable , whose value will remain constant for l=1, 2, . . . , , and where custom-character.sub.l(t) will also be phase shifted T/2, and then added to generate the L.sub.min arbitrarily long stochastic processes custom-character(t), p) To carry out the expansion of the realization of the channel .sub.bb(t; ) with the set of functions defined according to the factorization technique explained in subsection e), as an example, it is implemented the vector multiplication of the processes custom-character(t) with the set of universal orthogonal functions custom-character(), as described below: h ^ bb ( t ; ) = .Math. = 1 L min .Math. .Math. ( t ) .Math. ( ) . q) To sample .sub.bb(t; ) by a required sampling period T.sub.s; thus, a discrete and time-varying linear filter is obtained, where each tap is a discrete process correlated with the others, h.sub.q[nT.sub.s] for q=0, 1, 2, . . . , Q1. and r) To convolute the discrete channel with the signal of interest u(t=nT.sub.s) for obtaining the output signal y(t=nT.sub.s), where one or a plurality of the filter is required that will be used to distort the signal of interest u(t=nT.sub.s), and thus provoke the same changes (statistically speaking) that would have been obtained if it were transmitted through a real channel, whose statistics were used in the proposed emulator.

    2. A generic doubly selective channel emulator device, locally non-stationary in time, non-stationary in frequency, and with non-separable dispersion function implemented in a signal processor, which according to claim 1 is capable of using a lower dimensionality in the generation of processes from: a) To define one or a plurality of a filter or two-dimensional window F.sub.BF(t,s) which in this case will be the window w (t,s)=w (t)w(s), for each of the temporal correlation matrices custom-character=1, 2, . . . , L.sub.min and K=1, 2, . . . , L.sub.min. b) To perform the Hadamard product between one or a plurality of correlation matrices custom-character.sub.(t,s) and the two-dimensional window w(t,s), as defined below:
    custom-character.sub.(t,s)=custom-character.sub.(t,s)w(t,s)0<t<T,0<s<T, where the operator is defined as the Hadamard product and custom-character=1, 2, . . . , L.sub.min and K=1, 2, . . . , L.sub.min c) To obtain the set of basis functions and their corresponding weights from the matrix of correlation matrices, custom-character.sub.(t, s), from some matrix factorization technique like the Cholezky factorizations, LU, LDL.sup.T, QR, etc., as established in the subsection j) of the claim 1; as an example, the eigen-decomposition of the matrix of correlation matrices is performed, custom-character.sub.(t,s), thus obtaining the corresponding eigenvalues and eigenvectors as mentioned in paragraph j) of claim 1, and d) To proceed according to the articles k), l), m), n) o), p), q) and r) of claim 1, except that in step o), it should be omitted the procedure of applying the window w(t) to each of the independent realizations for custom-character=1, 2, . . . , L.sub.min, and l=1, 2, . . . , , of the processes custom-character.sub.l(t) and custom-character.sub.l(t), since the equivalent windowing process was already applied in paragraph b) of claim 2.

    3. A generic doubly selective channel emulator apparatus, locally non-stationary in time, non-stationary in frequency, and with non-separable scattering function implemented in a signal processor, which according to claim 1 and claim 2, includes: a) One or a plurality of the finite state machine CNTL_1 which performs general control through a group of essential signals Data_conf_system, Instruction, Start, Rst y Clk, of the initialization processes of required parameters along the architecture blocks, b) One or a plurality of the block GEN_EIGEN_VALFUNC_1 which generates the parameters according to the matrix factorization technique like the Cholezky factorizations, LU, LDL.sup.T, QR, etc., as established in paragraph k) of claim 1, hence the block GEN_EIGEN_VALFUNC_1 is made up of two submodules: a first submodule GEN_EIGENVAL_1 that contains a Gaussian random variable generator GNRG that produces K.sub.min random variables .sub.k to be weighted by the eigenvalues .sub.k previously stored in a memory MEM_EVAL_1 and thus generate the coefficients P.sub.k; and a second submodule MEM_EIGEN_FUNC_1 which consists of a block of memory, which stores the sets of eigenfunctions .sub.k(t) that like the eigenvalues .sub.k, are obtained from the process of eigen-decomposition of the matrix of matrices custom-character.sub.(t, s), c) One or a plurality of the module GEN_EXPANSION_MEM_1 that performs the process expansion (t) from the parameters P.sub.k and .sub.k(t) according to the matrix factorization technique as established in article l) of claim 1; it subsequently generates two sets of L.sub.min channel realizations custom-character(t) and custom-character(t), of duration T with predefined statistics from the rearrangement of the process (t) according to the process index custom-character=1, 2, . . . , L.sub.min. d) One or a plurality of the module GEN_EXPANSION_MEM_1 which is made up of three main submodules: i. a submodule MULT_ADD_1 that receives the values of the previously weighed random variables P.sub.k and multiplies them with the eigenfunctions .sub.k(t) to generate a set of processes (t), according to articles l), m) and n) of claim 1, of duration T.sub.Lmin as required, obtained through ( t ) = .Math. k = 1 K min .Math. .Math. P k .Math. k ( t ) , 0 < t < T L .Math. .Math. min ii. a submodule REAC_ASIFNPROC_1 that performs the rearrangement/assignment of processes of the type (t) to two sequences custom-character.sub.c(t) and custom-character(t) as indicated by the process index custom-character=1, 2, . . . , L.sub.min, and iii. a set of L.sub.min submodules DMEM_1, DMEM_2, . . . , DMEM_Kmin which are buffer-like memory blocks that store the sequences custom-character(t) and custom-character(t) as indicated by the process index custom-character=1, 2, . . . , L.sub.min, and that will be delivered for further processing. e) One or a plurality of the module VENT_SUMPROC_1 that generates L.sub.min arbitrarily long stochastic processes with non-stationary statistics custom-character(t) where each of the processes custom-character(t) are generated from the sum of two sequences custom-character(t) and custom-character(t). In this module, the window is applied to each of the sequences custom-character(t) and custom-character(t) each period T, and subsequently, an delay is applied to both sequences whose value is random at the beginning of the emulation process and subsequently remains constant. In addition, the sequence custom-character(t) is also delayed with respect to the other by T/2 to then add them up and get the process custom-character(t), f) One or a plurality of the module VENT_SUMPROC_1 that generates L.sub.min arbitrarily long stochastic processes with non-stationary statistics custom-character(t) according to clause o) of claim 1, and which is comprised of several subblocks. A set of subblocks MULT_W1_SUM, MULT_W2_SUM to MULT_WLmin_SUM, which make a sum of the sequences custom-character(t) and custom-character(t) specifically to obtain the processes custom-character(t) arbitrarily long for custom-character=1, 2, . . . , L.sub.min. Each of the subblocks contains two submodules, one submodule of phase shift DELAY which is responsible for generating a time shift from a previously configured value, for the case of the branch of the sequence custom-character(t) with a delay that is configured from the value T/2, where and T are parameters previously calculated. For the branch custom-character(t) the delay is only . A submodule VENT_1 which is a block of memory; such memory is initialized with the values of the windowing function. In the case of opting for the generation of the processes mentioned in claim 2, this window is a constant function, g) One or a plurality of the module MULT_FUNC_UNIVERSAL_1 that performs the vector multiplication of stochastic processes custom-character(t) arbitrarily long with universal basis functions custom-character(t) to expand the generated channel .sub.bb(t; ). Likewise, it uses an interpolation scheme so that the expansion of the channel generated in h ^ bb ( t ; ) = .Math. = 1 L min .Math. .Math. ( t ) .Math. ( ) , is performed at the sampling rate T.sub.s to which the input signal u(t=nT.sub.s) is placed from the output of a baseband transmitter apparatus, and h) One or a plurality of the module OPCONVCHNL_1 that performs the convolution operation between the input signal u(t=nT.sub.s) and the processes h.sub.q[nT.sub.s] for q=0, 1, 2, . . . , Q1, which are generated by the module MULT_FUNC_UNIVERSAL_1.

    4. The method and system, which according to the previous claims, characterized in that any set of orthogonal functions custom-character() can be used, that represents a basis for the band-limited channel, and thus generate the processes custom-character(t) with statistics custom-character.sub.(t,s)=E{custom-character(t).sub.*(s)}, such as, for example, Prolate functions, wavelet functions, universal functions, etc.

    5. The method and system, which according to the previous claims, characterized in that any set of orthogonal functions .sub.k(t) can be used, that represents a base and thus generate the processes (t) with statistics custom-character.sub.(t, s) such as, for example, Prolate functions, wavelet functions, universal functions, etc.

    6. The method and system, which according to the preceding claims, characterized in that any set of orthogonal functions {dot over ()}(t) can be used, that represents a base and thus generate the processes (t) with statistics custom-character.sub.(t,s) such as, for example, Prolate functions, wavelet functions, universal functions, etc.

    Description

    BRIEF DESCRIPTION OF THE FIGURES

    [0026] FIG. 1 shows an example of the variations of power received in a channel with multipath, with different observation ranges.

    [0027] FIG. 2 shows an example of the non-separable dispersion function of a doubly dispersive communications channel in time-delay and Doppler frequency v.

    [0028] FIG. 3 shows an example of a discrete delay power profile P().

    [0029] FIG. 4 illustrates the universal power profile, which is used to obtain a super space to apply the channel orthogonalization technique.

    [0030] FIG. 5 shows the correlation tensor R.sub.h.sub.bb(t,s; , ) in the domain of Doppler frequencies v and v, for the frequency value v=v.sub.1, and the reduction that is made in the dimensionality in the time domain of delay given by and .

    [0031] FIG. 6 illustrates the rearrangement of the tensor custom-character.sub.(t,s) as a matrix of correlation matrices custom-character.sub.(t, s), for this example, all processes are considered to have the same autocorrelation and cross-correlation for having an SSF.

    [0032] FIG. 7 illustrates how the correlation matrices of each coordinate pair are observed (custom-character, ) in the rearrangement of the tensor custom-character.sub.(t,s) as a matrix of correlation matrices custom-character.sub.(t, s), when dealing with NSSFs.

    [0033] FIG. 8 shows the set of eigenvalues .sub.k and eigenfunctions .sub.k(t) obtained from the eigen-decomposition of the matrix of correlation matrices custom-character.sub.(t, s).

    [0034] FIG. 9 illustrates an example of a process (t) formed by L.sub.min realizations custom-character(t) where each of the realizations custom-character32 1, 2, . . . , L.sub.min is defined in the same interval 0<t<T.

    [0035] FIG. 10 describes the required rearrangement of the process (t).

    [0036] FIG. 11 shows the process of windowing and delay associated with the realizations of the sequences custom-character.sub.l(t) and custom-character.sub.l(t) for obtaining custom-character(t) for custom-character=1.

    [0037] FIG. 12 shows the two-dimensional window w(t,s) as an additional function to modify the matrix of correlation matrices custom-character.sub.(t,s).

    [0038] FIG. 13 shows an example of the modified matrix of matrices custom-character.sub.(t,s), from the windowing of custom-character.sub.(t,s) by means of the two-dimensional filter w(t, s).

    [0039] FIG. 14 shows the architecture 1400 of the generic doubly-selective channel emulator, locally non-stationary in time, non-stationary in frequency, and with non-separable scattering function of the present invention.

    [0040] FIG. 15 illustrates the architecture of the coefficients and functions generator module 1402 GEN_EIGEN_VALFUNC_1.

    [0041] FIG. 16 shows the stochastic processes module 1403 GEN_EXPANSION_MEM_1.

    [0042] FIG. 17 shows the module of windowing and sum of processes 1404 VENT_SUMPROC_1.

    [0043] FIG. 18a and FIG. 18b show two non-separable scattering functions obtained from the COST-BU standard.

    [0044] FIG. 19 shows the example of 3 independent channel realizations whose statistics of the dispersion function evolve over time.

    [0045] FIG. 20a shows an example of the first 5 basis functions .sub.k(t), obtained from the eigen-decomposition of the matrix of correlation matrices custom-character.sub.(t,s) of the considered example.

    [0046] FIG. 20b shows an example of the first 5 basis functions {dot over ()}.sub.k(t), obtained from the eigen-decomposition of the matrix of modified correlation matrices, custom-character.sub.(t,s). This modification is based on the windowing of custom-character.sub.(t,s) by the filter or two-dimensional window w(t,s) for each of the correlation matrices in 0<t<T, 0<s<T.

    [0047] FIGS. 21a, 21b, 21c, 21d and 21e show the evolution of a variant NSSF in time, obtained by estimating channel realizations generated by a simulator/emulator using the present invention

    DETAILED DESCRIPTION OF THE INVENTION

    [0048] Ortogonalizaction of the Wireless Communication Channel.

    [0049] A communication channel given by a real multipath propagation environment, where there is relative mobility between transmitter and receiver, results in a behavior whose statistics are doubly dispersive, that is, it presents dispersion in both the time delay domain and in the Doppler frequency domain. Therefore, the simulators and channel emulators to be designed must be parameterized from separable (SSF) or non-separable (NSSF) dispersion functions, and according to the locally non-stationary conditions that they wish to reproduce. So a factor of crucial importance is the complexity in the design of the channel simulator/emulator, which will depend on the dimensionality of the channel model, as well as its maximum values of maximum frequency Doppler f.sub.Dmax and maximum delay .sub.max. Whereby if relevant M discrete trajectories are considered, the channel model is described as follows:

    [00007] c bb ( t ; ) = .Math. m = 0 M - 1 .Math. .Math. m ( t ) .Math. ( - m ) . ( IX )

    [0050] Note that in the previous equation, the dispersion delay .sub.M-1, commonly denoted as .sub.max, corresponds to the maximum dispersion of the channel in the time domain of delay. To be able to parameterize a simulator/emulator to statistically approximate a channel with NSSF, the present invention proposes the utilization of the channel orthogonalization method, which performs the channel expansion from a finite and reduced set of eigen functions custom-character() and whose method is presented in greater detail in the doctoral thesis of one of the authors of this invention [REF4] as well as in the patent Emulador de Canal Doblemente Selectivo, estacionario o No-estacionario en tiempo, con Funcin de Dispersin No-Separable. To achieve channel expansion from a finite and reduced set of eigen functions, it is necessary to consider a frequency observation window (corresponding to the bandwidth of the signal of interest), so it can be considered that the channel has been limited within a band of frequencies by a filter g(). Resulting in the band-based baseband channel model as:

    [00008] h bb ( t ; ) = c bb ( t ; ) * g ( ) = .Math. m = 0 M - 1 .Math. .Math. m ( t ) .Math. g ( - m ) . ( X )

    [0051] This channel has a finite dimensionality, so it can be expanded as shown below:

    [00009] h bb ( t ; ) = .Math. = 1 L min .Math. .Math. ( t ) .Math. ( ) , ( XI )

    [0052] this representation of the channel characterizes the wireless channel by means of non-physical trajectories, that is, with propagation trajectories without physical meaning, which allows to obtain a reduction of the dimensionality in the time-delay domain, which in principle is infinite, to only L.sub.min components, or stochastic processes custom-character(t). The functions that will be used to expand the channel's realizations, custom-character(), must be able to represent any channel realization of any SSF or NSSF considered during a simulation, so it can be shown that a solution consists of obtaining these functions from the decomposition in eigenvectors custom-character() y eigenvalues custom-character, of a universal correlation function, R.sub.U(,) [REF6]. This universal correlation function is formed from a correlation function of a non-stationary and non-correlated stochastic process P.sub.U(, ) which has values of one in its diagonal, for the time from zero to the maximum .sub.max considered in the SSF or NSSF that will be considered in the simulation, that is:


    P.sub.U(, )=(),, {0,max(.sub.max)},(XII)

    where P.sub.U(, ) is here called as two-dimensional universal profile, and its diagonal function, P.sub.U(), is hereafter named as the universal power profile, shown in FIG. 4. This two-dimensional universal profile is then doubly convolved by band-limiting filters g() and g(), in the domains y , respectively, to finally generate the universal correlation function R.sub.U(,), a i.e.:


    R.sub.U(,)=.sub.28.sup..sub..sup.P.sub.U(,)g()g()dd.(XIII)

    [0053] The processes custom-character(t) in equation (XI) are obtained through the projection of the basis function set, custom-character(), with the channel that has to be transformed into the subspace, as shown below:


    custom-character(t)=custom-characterh.sub.bb(t;),custom-character()custom-character(XIV)

    [0054] In this way, the correlation of the processes custom-character(t) will provide with statistically important information to determine how dispersive the channel is, how stationary it is, as well as the dimensionality of the channel once the orthogonalization has been applied. Therefore, the correlation between two processes is defined as follows:


    custom-character.sub.(t,s)=E{custom-character(t).sub.*(s)},(XV)

    [0055] where if the process custom-character(t) is defined from equation XIV as:


    custom-character(t)=.sub..sup.h.sub.bb(t;)custom-character()d,(XVI)

    [0056] the correlation would be defined as shown below:


    custom-character.sub.(t,s)=E{.sub..sup.h.sub.bb(t;)custom-character()d.sub..sup.h.sub.bb*(s;).sub.()d},(XVII)


    custom-character.sub.(t,s)=.sub..sup..sub..sup.R.sub.h.sub.bb(t,s;, )custom-character().sub.()dd.(XVIII)

    [0057] Therefore, if we assume stationarity in the wide sense of channel behavior, the statistics of fading or distortions due to Doppler scattering will not change with respect to time. In the patent Emulador de canal doblemente selectivo, estacionario o no-estacionario en tiempo, con funcin de dispersin no-separable, we presented the method and apparatus that implements this modality as well as the modality where the channel is approached as stationary in short-time, whereby in larger observation windows, the channel can be treated as non-stationary.

    [0058] However, if you want to emulate a real and highly variant propagation environment, and also knowing that such wireless channel h.sub.bb(t; ) in reality is non-stationary within short time intervals (comparable to the duration of a transmitted symbol or data frame), and correlated in the time domain of delay and in the temporal domain t; then the emulator to be designed must be able to generate channel realizations that possess the correlation defined by R.sub.h.sub.bb (t, s; , ) completely. Therefore, the channel correlation R.sub.h.sub.bb(t,s; , ) describes the correlation between the sample in custom-charactert, custom-character with the sample in custom-characters, custom-character; Hence, the correlation introduced by the filtering stages within the transmitter and receiver is considered, as well as the correlation of the physical trajectories in the propagation environment. Then, applying the orthogonalization technique to the correlation tensor R.sub.h.sub.bb(t, s; , ), the correlation seen in all domains will be maintained. This allows to obtain a finite size tensor custom-character.sub.(t, s) because the dimensionality seen in the delay domain and is infinite.

    [0059] Therefore, in this invention it is explained the method and apparatus that will generate the channel realizations corresponding to the correlation tensor R.sub.h.sub.bb(t,s; , ) of a channel reproducing exactly the correlation between the sample in custom-charactert, Tcustom-character with the sample custom-characters, custom-character and whose channel dispersion function can be non-separable or separable, for environments where the channel is non-stationary.

    [0060] FIG. 1 shows an example of the variations of power received in a channel with multipath, on different observation ranges, where it can be seen that the factors that mainly affects the variability of the channel, such as the fading of long and small scales, for a space of local observation time, could be separated as a product for the stationary case.

    [0061] FIG. 2 shows an example of the non-separable dispersion function of a doubly dispersive communications channel in time delay and Doppler frequency v; where it can be seen that the delay power profile P() is different for each Doppler frequency value v. Likewise, the delay power profile observed in each Doppler frequency value v can be continuous or discrete.

    [0062] FIG. 3 shows an example of a discrete power delay profile P() with identifiable components, where the maximum delay parameter is observed, .sub.max, which determines the maximum delay value that must be considered when defining a relevant power value. FIG. 4 illustrates the universal power profile, which is employed for obtaining a superspace to apply the channel orthogonalization technique, which allows obtaining a set of eigenvalues and eigenfunctions; this set allows the expansion of any power delay profile, whether continuous or discrete, where the highest energy of the delay is within the maximum delay parameter .sub.max, since the channel is required or observed in a finite bandwidth.

    [0063] FIG. 5 shows the correlation tensor R.sub.h.sub.bb(t,s; , ) in the frequency domains v, v for the frequency value v=v.sub.1, and the reduction that is made in the dimensionality in the time domain of delay given by and . This reduction in dimensionality is achieved using the channel orthogonalization technique, in order to obtain a correlation tensor custom-character.sub.(t, s) with finite dimensionality given by the indices custom-character and .

    [0064] FIG. 6 illustrates the rearrangement of the tensor custom-character.sub.(t,s) as a matrix of correlation matrices custom-character.sub.(t, s) with the objective of observing the correlation of the non-physical or virtual delay domain given by the coordinate index (custom-character, x) and the corresponding time correlation matrix observed in the interval 0<t<T y 0<s<T. For this example, all processes are considered to have the same autocorrelation and cross-correlation, that is, they correspond to an SSF.

    [0065] FIG. 7 illustrates how the correlation matrices of each coordinate pair are observed (custom-character, ) in the rearrangement of the tensor custom-character.sub.(t,s) as a matrix of correlation matrices custom-character.sub.(t, s), when dealing with a NSSF.

    [0066] FIG. 8 shows the set of values .sub.k and base functions .sub.k(t), obtained from the eigen-decomposition of the matrix of correlation matrices custom-character.sub.(t,s). Additionally, it is observed that the set of eigenfunctions .sub.k(t) and eigenvalues .sub.k will expand realizations of a process conformed by L.sub.min realizations custom-character(t) where each of the realizations custom-character=1, 2, . . . , L.sub.min is defined in the interval 0<t<T.

    [0067] FIG. 9 illustrates an example of a process (t) conformed by L.sub.min realizations custom-character(t) where each of the realizations custom-character=1, 2, . . . , L.sub.min is defined in the same interval 0<t<T.

    [0068] FIG. 10 describes the required rearrangement of the process (t) according to the number of the process custom-character=1, 2, . . . , L.sub.min; in this way, channel realizations are generated for 1=1, 2, . . . , and the realizations are concatenated custom-character.sub.l(t) for obtaining L.sub.min arbitrarily long processes.

    [0069] FIG. 11 shows the window process with w(t) for each of the realizations of the sequences custom-character.sub.l(t) and custom-character.sub.l(t) and the application of the associated delay , to consequently add the two sequences and thus forming the arbitrarily long process custom-character(t) for custom-character=1.

    [0070] FIG. 12 shows the two-dimensional window w(t,s) as an additional function to modify the matrix of correlation matrices custom-character.sub.(t,s) and achieve a reduction in the number of eigenfunctions .sub.k(t) and eigenvalues .sub.k required to expand the process (t) defined in the interval 0<t<T L.sub.min.

    [0071] FIG. 13 shows an example of the modified matrix of correlation matrices custom-character.sub.(t,s), from applying the windowing to custom-character.sub.(t,s) by means of the bidimensional filter w(t, s).

    [0072] In FIG. 14 it is shown the architecture 1400 of the generic doubly selective channel emulator, locally non-stationary in time, non-stationary in frequency, and with non-separable dispersion function of the present invention, which consists of six main modules: the controller module 1401 CNTL_1, the module for generation of coefficients and basis functions 1402 GEN_EIGEN_VALFUNC_1, the module of stochastic processes generation 1403 GEN_EXPANSION_MEM_1, the module of windowing and sum of processes 1404 VENT_SUMPROC_1, the multiplying and interpolating module 1405 MULT_FUNC_UNIVERSAL_1 and the channel convolution module 1406 OPCONVCHNL_1.

    [0073] FIG. 15 illustrates the architecture of the coefficient and function generator module 1402 GEN_EIGEN_VALFUNC_1 which is made up of two elements: the generator of random variables with predefined variance 15001 GEN_EIGENVAL_1, the module of storage and generation of eigenfunctions 15002 MEM_EIGEN_FUNC_1.

    [0074] FIG. 16 shows the stochastic process module 1403 GEN_EXPANSION_MEM_1 contains three submodules: the vector multiplication submodule 16001 MULT_ADD_1, the rearrangement module and allocation of generated processes (t) 16002 REAC_ASIFNPROC_1 and the block of type memories that store the sequences custom-character(t) and custom-character(t) as indicated by the process index custom-character=1, 2, . . . , L.sub.min, 16003 DMEM_1, DMEM_2, . . . , DMEM_Kmin.

    [0075] FIG. 17 shows the module of windowing and sum of processes 1404 VENT_SUMPROC_1, which is conformed by L.sub.min stochastic process generator modules 17001 MULT_W1_SUM, MULT_W2_SUM to MULT_W2_SUM which are responsible for making a sum of the sequences custom-character(t) and custom-character(t) in an specific manner for obtaining the processes custom-character(t) arbitrarily long. Each of the generators contains two submodules, the submodule 17002 DELAY is responsible for generating a time shift, and the submodule 17003 VENT_1 which is a block of memory initialized with the values of the windowing function w(t).

    [0076] FIG. 18a and FIG. 18b show two NSSF obtained from the COST-BU standard, which are used to indicate that a channel can have different NSSF over time in the case of being non-stationary. These NSSF are used as an example of the system proposed in this invention, which demonstrates that it is feasible to generate continuous channel realizations and at the same time guarantee that the estimated NSSF is changing with respect to time for the locally non-stationary case.

    [0077] FIG. 19 shows the example of 3 independent channel realizations whose statistics of the dispersion function evolve over time. For this example, the temporal selectivity is observed in the transition between two dispersion functions.

    [0078] FIG. 20a shows an example of the first 5 basis functions .sub.k(t), obtained from the eigen-decomposition of the matrix of correlation matrices custom-character.sub.(t, s) of the considered example.

    [0079] FIG. 20b shows an example of the first 5 basis functions {dot over ()}.sub.k(t), obtained from the eigen-decomposition of the modified matrix of correlation matrices, custom-character.sub.(t,s). This modification is based on the windowing of custom-character.sub.(t,s) by the filter or bidimensional window w(t,s) for each of the correlation matrices in 0<t<T, 0<s<T.

    [0080] FIG. 21a, FIG. 21b, FIG. 21c, FIG. 21d and FIG. 21e show the statistical performance obtained by the generic doubly selective channel emulator, locally non-stationary in time, non-stationary in frequency, and with non-separable scattering function. of the present invention, where the evolution of the COST-BU scattering function with a Doppler frequency [500 Hz, 500 Hz] to a Doppler dispersion of [50 Hz, 50 Hz], whose functions were shown in FIG. 18.

    [0081] Method for Generic Emulation/Simulation of Doubly Selective Channels, Locally Non-Stationary in Time, Non-Stationary in Frequency, and with Non-Separable Dispersion Function.

    [0082] 1.To perform the generic emulation of doubly selective channels, locally non-stationary in time, non-stationary in frequency, and with non-separable scattering function, it is important to define the correlation tensor R.sub.h.sub.bb(t,s; ,), a which can be obtained from the channel dispersion function specified by means of communication standards, field measurements or by the user. In this way, the maximum Doppler frequency is defined f.sub.Dmax and maximum delay .sub.max, as well as the universal delay profile. In addition, it is necessary to define the time T of duration in which the correlation tensor is defined R.sub.h.sub.bb(t,s; , ) and the mean square error corresponding to the approximation of the doubly dispersive channel.

    [0083] 2.Having defined the correlation tensor R.sub.h.sub.bb(t,s; , ) and thus, after having obtained the correlation tensor with reduced dimensionality custom-character.sub.(t, s), it continue to make a rearrangement of the tensor custom-character.sub.(t, s) as a matrix of correlation matrices custom-character.sub.(t, s) with the objective of observing the correlation of the non-physical or virtual delay domain given by the coordinate index (custom-character, ) and also the corresponding time correlation matrix observed in the interval 0<t<T y 0<s<T, as shown in FIG. 6 and FIG. 7.

    [0084] 3.Once the matrix of correlation matrices custom-character.sub.(t,s) has been obtained, the eigen-decomposition of it is performed as described in the equations (XIX) and (XX), for obtaining a set of eigenfunctions .sub.k(t) with its corresponding eigenvalues .sub.k [REF5]. The size of the matrix of matrices custom-character.sub.(t,s) and therefore the set of basis functions .sub.k(t) and eigenvalues .sub.k, will be determined by the number L.sub.min of universal functions required by the expansion in (XI), as a result of the MSE approximation error of the channel orthogonalization.

    [00010] k .Math. k ( s ) = 0 T Lmin .Math. .Math. , .Math. ( t , s ) .Math. k ( t ) .Math. dt . ( XIX ) ( t ) = .Math. k = 1 K min .Math. .Math. P k .Math. k ( t ) , 0 < t < T Lmin ( XX )

    [0085] As a result of the eigen-decomposition of the matrix of matrices custom-character.sub.(t,s), the eigenfunctions .sub.k(t) are obtained, defined in the interval 0<t<T.sub.Lmin where T.sub.Lmin=T*L.sub.min, in conjunction with their eigenvalues .sub.k for k=1, 2, . . . , K.sub.min; where K.sub.min is the number of eigenfunctions and eigenvalues required to expand a process (t) with a predefined MSE approximation error to the matrix of correlation matrices custom-character.sub.(t,s).

    [0086] 4.A generation of K.sub.min complex Gaussian random variables .sub.k of unit variance is performed, whose are weighted by its corresponding eigenvalue .sub.k. Specifically, we obtain a set of random variables P.sub.k={square root over (.sub.k)}*.sub.k that applying them to eigen-functions .sub.k(t), will expand the process (t) defined in the interval 0<t<T.sub.Lmin. The process (t) represents L.sub.min realizations custom-character(t) where each of the realizations custom-character=1, 2, . . . , L.sub.min is defined in the interval 0<t<T, as shown in FIG. 8 and FIG. 9.

    [0087] 5.After having generated a realization of the process (t), we proceed to rearrange it in L.sub.min independent sequences custom-character.sub.l(t) from the reassignment according to the number of the process custom-character=1, 2, . . . , L.sub.min as shown in FIG. 10. In this way, channel realizations are generated for each time l=1, 2, . . . , and the concatenation of realizations are continued custom-character.sub.l(t) as shown in the same FIG. 10.

    [0088] 6.Likewise, another process similar to (t) and another set of realizations called custom-character.sub.l(t) are produced; then a window w(t) is used to weight each realization of each generated sequences custom-character.sub.l(t) and custom-character.sub.l(t) for custom-character=1, 2, . . . , L.sub.min, y l=1, 2, . . . , .

    [0089] 7.Subsequently, the sequences custom-character.sub.l(t) and custom-character.sub.l(t) once weighted are shifted by a realization of a uniform random variable whose value will remain constant for l=1, 2, . . . , , as described below:

    [00011] l * T - T 2 t < l * T + T 2 , l = 1 , 2 , .Math. .Math. , , ( XXI )

    [0090] and where custom-character(t) will have also an additional phase shift of T/2; hence it will be obtained L.sub.min sums of sequences according to the index of the generated process custom-character=1, 2, . . . , L.sub.min as described in FIG. 11 for custom-character=1. Therefore, it has been generated L.sub.min correlated and arbitrarily long stochastic processes custom-character(t), with stationary or non-stationary statistics that have been predefined in the correlation matrix. Note that the different L.sub.min stochastic processes custom-character(t) have a phase shift determined by a random value defined by the parameter whose value remains constant throughout the life of the processes custom-character(t). The single schema of concatenation of windowed processes, for realization of random processes, is explained in detail in the patent Mtodo y aparato de generacin de realizaciones de canal estacionarias y no-estacionarias de longitud arbitraria.

    [0091] It is important to note that the number of eigenfunctions .sub.k(t) can be reduced in conjunction with the corresponding eigenvalues .sub.k for k=1, 2, . . . , K.sub.min, required to expand a process (t); it can be also avoided the operation of multiplying the window w(t) to each of the realizations of each of the generated sequences custom-character.sub.l(t) and custom-character.sub.l(t) for custom-character=1, 2, . . . , L.sub.min, and l=1, 2, . . . , . The aforementioned is achieved by using the following stochastic process generation methodology: [0092] a) It is defined the correlation matrix corresponding to the process to be generated, which in this case would be the corresponding index correlation matrix custom-character, custom-character of the matrix of correlation matrices custom-character.sub.(t,s). [0093] b) It is defined a filter or two-dimensional window F.sub.BF(t,s) which in this case will be the window w (t, s)=w (t)w (s) shown in FIG. 12. [0094] c) The Hadamard product of the two-dimensional window F.sub.BF(t,s) and each of the temporal correlation matrices custom-character=1, 2, . . . , Lmin and =1, 2, . . . , Lmin that conforms custom-character.sub.(t,s), and thus a modified correlation function custom-character.sub.(t,s) is generated, as shown in FIG. 13. The above can be represented by the following definition:


    custom-character.sub.(t,s)=custom-character.sub.(t,s))w(t,s)0<t<T,0<s<T,(XXII) [0095] where the operator defines the Hadamard product. [0096] d) The Karhunen-Love expansion of the modified correlation matrix custom-character.sub.(t,s) is performed, generating the corresponding eigenvalues and eigenvectors [{dot over ()}.sub.k, {dot over ()}.sub.k(t)]. In the case of the expansion of processes (t) corresponding to the matrix of correlation matrices custom-character.sub.(t,s), the eigen-decomposition is performed to the matrix of correlation matrices custom-character.sub.x(t,s) completely. With this procedure, a new set of eigenfunctions {dot over ()}.sub.k(t) with its corresponding eigenvalues {dot over ()}.sub.k are generated, which are able to expand processes (t) where the windowing has already been implicitly applied by the equation (XXII). [0097] e) Later, K.sub.min complex Gaussian random variables .sub.k of unit variance are generated to be weighed with its corresponding eigenvalue {dot over ()}.sub.k, thus obtaining the coefficients P.sub.k={square root over ({dot over ()}.sub.k)}*.sub.k. [0098] f) The expansion of the stochastic process is carried out (t) as expressed in (XX) and shown in FIG. 9. [0099] g) Likewise, another process similar to (t) and therefore another set of realizations called custom-character.sub.l(t), which do not require a weighting by the window w(t). [0100] h) The sequences custom-character.sub.l(t) and custom-character.sub.l(t) are phase shifted by a realization of the random variable , while custom-character.sub.l(t) will also have an additional phase shift of T/2. As a result, L.sub.min sum of sequences are carried out, according to the index of the process generated custom-character=1, 2, . . . , L.sub.min. In this way, L.sub.min arbitrarily long stochastic processes custom-character(t) are generated, with predefined statistics capable of being stationary or non-stationary, as shown in FIG. 11. This schema of concatenation of windowed processes, where the characteristics required by the window w (t) and the parameter , is found in the patent Mtodo y aparato de generacin de realizaciones de canal estacionarias y no-estacionarias de longitud arbitraria.

    [0101] 8.Once the L.sub.min arbitrarily long stochastic processes custom-character(t) are generated, by means of any of the two variants explained previously, it follows to perform the expansion of the channel realization .sub.bb(t; ) from the multiplication of the processes custom-character(t), with the set of universal orthogonal functions custom-character(), as described as follows:

    [00012] h ^ bb ( t ; ) = .Math. = 1 L min .Math. .Math. ( t ) .Math. ( ) , ( XXIII )

    [0102] 9.Finally, from the discretization of the realization of the channel .sub.bb(t; ) that is sampled every Ts seconds, it is obtained the processes h.sub.q[nT.sub.s] for q=0, 1, 2, . . . , Q1, that represent the discrete channel as a linear filter of Q taps, variant in time, and that will impregnate (through the convolution process) the distortions to the signal of interest u(t=nT.sub.s) according to the statistics defined in the design of the emulator's realizations, which may be generated according to a doubly selective non-stationary propagation environment with Non-separable Dispersion.

    [0103] Implementation of the Proposed Channel Model.

    [0104] FIG. 14 shows the general architecture of the proposed emulator for doubly-selective channels 1400 able to emulate the statistics of a non-separable dispersion function and the locally non-stationarity of the channel, supported by expressions (X) to (XVIII) and whose generation method previously presented is based on the analysis and synthesis expressions defined in (XIX) and (XX), respectively, as well as the rearrangement of the channel realizations, as explained before.

    [0105] The proposed architecture consists of six essential blocks 1401-1406, which in conjunction serve to generate a non-stationary stochastic process with statistics that can evolve over time and that represent doubly dispersive channels; i.e., dispersive in Doppler frequency and time delay, with non-separable dispersion function. The channel emulation scheme given by the system 1400 allows to impregnate doubly selective distortions to an input signal u(t) coming from the output of a baseband transmitter device, resulting in a signal y(t) properly distorted with the statistics of a previously defined channel.

    [0106] The general architecture 1400 described in FIG. 14 contains a finite state machine 1401 CNTL_1 which performs the general control of the architecture. Which through a group of essential signals like Data_conf_system, Instruction, Start, Rst y Clk, perform the initialization processes of required parameters along the blocks of the general architecture 1400, as well as determines the processing of the data for the correct generation of stochastic processes custom-character(t) where custom-character is defined in the way custom-character=1, 2, . . . , L.sub.min, and thus to carry out the expansion of the realization of the channel .sub.bb(t;) that will be applied to the signal of interest u(t).

    [0107] The block 1402 GEN_EIGEN_VALFUNC_1 shown in FIG. 14, performs the generation of the coefficients P.sub.k from random Gaussian variables .sub.k of unit variance, and whose variance of P.sub.k, is determined according to the eigenvalues .sub.k previously stored. It also stores and produces the values of the eigenfunctions .sub.k(t), to be delivered to the module 1403 GEN_EXPANSION_MEM_1.

    [0108] Likewise, the block 1402 GEN_EIGEN_VALFUNC_1 is formed by two submodules, which are shown in FIG. 15. The first submodule 15001 GEN_EIGENVAL_1 contains a Gaussian random variable generator GRNG that produces K.sub.min random variables .sub.k to be weighted by the eigenvalues .sub.k previously stored in a memory MEM_EVAL_1. The second submodule 15002 MEM_EIGEN_FUNC_1 consists of a block of memory, which stores the sets of eigenfunctions .sub.k(t) that, similar to the eigenvalues .sub.k, were obtained from the process of eigen-decomposition of the matrix of matrices custom-character.sub.(t,s).

    [0109] The module 1403 GEN_EXPANSION_MEM_1 performs the process expansion (t) periodically, from the parameters .sub.k and .sub.k(t), and subsequently generates two sets of L.sub.min channel realizations custom-character(t) and custom-character(t), of duration T, with predefined statistics from the rearrangement of the process (t) according to the process index custom-character=1, 2, . . . . , L.sub.min.

    [0110] Likewise, the block 1403 GEN_EXPANSION_MEM_1 is formed by three main submodules, which are shown in FIG. 16. The submodule 16001 MULT_ADD_1 receives the values of the previously weighted random variables P.sub.k and multiplies them with the eigenfunctions .sub.k(t) to carry out the expansion of the processes (t) as defined in (XX). Subsequently, the submodule 16002 REAC_ASIFNPROC_1 performs the rearrangement/assignment of two processes of the type (t) to two sequences custom-character(t) and custom-character(t) as indicated by the process index custom-character=1, 2, . . . , L.sub.min. Besides, the set of L.sub.min submodules 16003 DMEM_1, DMEM_2, . . . , DMEM_Kmin are buffer-like memory blocks that store the sequences custom-character(t) and custom-character(t) as indicated by the process index custom-character=1, 2, . . . , L.sub.min, and which will deliver the values of the sequences custom-character(t) and custom-character(t) for further processing.

    [0111] The module 1404 VENT_SUMPROC_1 is the block responsible for generating L.sub.min arbitrarily long stochastic processes with non-stationary statistics custom-character(t). Each of the processes custom-character(t) are generated from the sum of two sequences custom-character(t) and custom-character(t). Previously, the window is applied to each of the sequences custom-character(t) and custom-character(t) each period T, and later, a delay is applied to both sequences whose value is random at the beginning of the emulation process and subsequently remains constant. In addition, one of the sequences is delayed with respect to the other T/2 and then both added for yielding the process custom-character(t). It is important to highlight that the generation of stochastic processes custom-character(t) for custom-character=1, 2, . . . , L.sub.min, are of arbitrary length, and that it is employed the window scheme and parameter considerations of , and the window w (t) presented in the patent Mtodo y aparato de generacin de realizaciones de canal estacionarias y no-estacionarias de longitud arbitraria.

    [0112] Likewise, the module 1404 VENT_SUMPROC_1 is formed by four main blocks which are shown in FIG. 17. The module 1404 VENT_SUMPROC_1 has L.sub.min process generators 17001 MULT_W1_SUM, MULT_W2_SUM to MULT_WLmin_SUM which are responsible of making a sum of the sequences custom-character(t) and custom-character(t) specifically to obtain the processes custom-character(t) arbitrarily long for custom-character=1, 2, . . . , L.sub.min. Each of the generators contains two submodules, the submodule 17002 DELAY is responsible for generating a time shift from a previously configured value, for the case of the branch of the sequence custom-character(t) the delay is set from the value T/2, where and T are parameters previously calculated. Besides, submodule 17003 is a memory block; its registers are initialized with the values of the window function which, like and T, are defined as previously presented in the patent Mtodo y aparato de generacin de realizaciones de canal estacionarias y no-estacionarias de longitud arbitraria.

    [0113] However, it is important to highlight that in case of generating the processes (t) by means of the stochastic process generation methodology presented in this patent (where the matrix of correlation matrices is modified custom-character(t,s) with a two-dimensional filter), the memory block indicated as the submodule 17003 will be initialized by a constant function, which will not modify in amplitude the previously generated sequences custom-character(t) and custom-character(t), because these sequences already have this window implicity.

    [0114] The block 1405 MULT_FUNC_UNIVERSAL_1 shown in FIG. 14, performs vector multiplication of the arbitrarily long stochastic processes custom-character(t) with the universal base functions custom-character(t) to expand the generated cannel .sub.bb(t; ). Likewise, an interpolation scheme is used so that the expansion of the channel generated in (XXIII) matches the sampling rate at which the input signal u(t), coming from the output of a transmitting device, is delivered. In this way the resulting processes h.sub.q [nT.sub.s] for q=0, 1, 2, . . . , Q1, are correlated stochastic processes that are generated at the required sampling rates.

    [0115] The module 1406 OPCONVCHNL_1 presented in FIG. 14, performs the convolution operation between the input signal u(t) and h.sub.q[nT.sub.s] for q=0, 1, 2, . . . , Q 1, at the sampling rate defined by T.sub.s and which are generated by the module 1405 MULT_FUNC_UNIVERSAL_1 from the statistics of the predefined scattering function S(v, ), which can evolve over time if desired as for S(t; v, ). Hence, the obtained signal y(t) has been properly distorted with the statistics of a previously defined non-stationary channel with a non-separable dispersion function.

    [0116] Statistical results of the generated channel realizations of a non-separable dispersion function, obtained by applying the method and apparatus proposed in the present invention.

    [0117] In order to demonstrate the accuracy and quality of the channel realizations generated by the method and apparatus proposed in the present invention, two non-separable dispersion functions obtained by different parameterization of the channel defined by the COST-BU standard are used as an example, whose are shown in FIG. 18a and FIG. 18b. The results presented below are obtained through the concatenation of stochastic processes which are generated from two sets of eigenfunctions .sub.k(t) and eigenvalues .sub.k. The two sets of eigenfunctions and eigenvalues were obtained from the two NSSF indicated in FIG. 18a and FIG. 18b. The simulation starts with the generation of channel realizations from the dispersion function COST-BU 1 with the Doppler bandwidth parameters specified as [500 Hz, 500 Hz], a maximum delay value .sub.max=10e6 seconds; and subsequently the channel realizations evolve into a COST-BU 2 dispersion function with Doppler bandwidth parameters of [50 Hz, 50 Hz] and a maximum delay value .sub.max=7e6 seconds, as shown in FIG. 19. The sampling frequency is F.sub.s=1.35 Mhz and the band limiting filter is represented by a raised cosine function with a total bandwidth of 675 kHz and an excess bandwidth of 0.5. In the case of the universal orthogonal functions, it is considered L.sub.min=7 functions for the given channel parameters.

    [0118] In FIGS. 20a and 20b are plotted for comparison purposes, the basis functions .sub.k(t) obtained from the eigen-decomposition of the matrix of matrices custom-character.sub.(t,s), and the basis functions {dot over ()}.sub.k(t) obtained from the eigen-decomposition of the matrix of matrices custom-character.sub.(t,s), respectively; where the latter implicitly includes the two-dimensional window w(t,s), as it was applied before the eigen-decomposition was carried out.

    [0119] FIG. 21a, FIG. 21b, FIG. 21c, FIG. 21d and FIG. 21e show the evolution of the dispersion function S(t; v, ) in 5 instants of time t.sub.1, t.sub.2, t.sub.3, t.sub.4 and t.sub.5; with changes form a dispersion in Doppler frequency of [500 Hz, 500 Hz] into a dispersion of [50 Hz, 50 Hz]. The resulting time-variant dispersion function in the time S(t,v,), was obtained from 10,000 realizations made from the generation of L.sub.min=7 stochastic processes custom-character(t).

    [0120] The present invention has been described in its preferred embodiment, however, it will be apparent to those skilled in the art, that a multiplicity of changes and modifications of this invention can be made, without departing from the scope of the following claims. The descriptions of the methods and process diagrams presented in the present invention are provided simply as illustrative examples and are not intended to require or imply that the steps of the various definitions must be performed in the order presented. As will be appreciated by one skilled in the art, the steps of the various previous definitions can be performed in any order. Words such as then, next, etc., are not intended to limit the order of steps; these words are used simply to guide the reader through the description of the methods. Although process diagrams can describe operations as a sequential process, many of the operations can be performed in parallel or simultaneously. In addition, the order of operations may change. A process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function, to the call function or the main function.

    [0121] The various blocks, modules, circuits and steps of the illustrated logic algorithm blocks, described in connection with the definitions described in the present document may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various commented components, blocks, modules, circuits and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the limitations of the application and/or the particular design imposed by a system in general. The experts can implement the described functionality in various ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

    [0122] Embodiments implemented in computer programs can be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A segment of code or instructions executable by machine can represent a procedure, a function, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program instructions. A code segment may be implemented or described in another code segment, or a hardware circuit, passing and/or receiving information, data, arguments, parameters or memory content. Information, arguments, parameters, data, etc., can be passed, forwarded or transmitted through any suitable means, including the exchange of memory, sending of messages, sending through tokens, transmission of the network, etc.

    [0123] When implemented in software, functions can be stored as one or more instructions, or code in a computer-readable storage medium either transiently or as a final destination. The steps of a method or algorithm described in this document can be included in a software module executable in a processor, which can reside in a storage medium readable by computer or readable by a processor module. The non-transient communication means readable by computer or readable by the processor, include both computer storage means and storage media of materials that facilitate the transfer of a computer program from one place to another. A non-transient storage medium readable by the processor can be any available means that can be accessed by a computer. By way of example, and not limitation, such non-transient means readable by the processor, may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any another means of tangible storage that can be used to store desired program code in the form of instructions or data structures and which can be accessed by a computer or processor. Disk, as used in this document, includes compact disc (CD), laser discs, optical discs, digital versatile discs (DVD), a floppy disk and the Blu-ray disc on discs are usually reproduced magnetically, while the discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer readable media. In addition, the operations of a procedure or algorithm may reside as one or any combination or set of codes and/or instructions in a non-transient medium readable for a processor, and/or in a non-transient medium readable for a computer, which it can be incorporated into a software product.

    [0124] When implemented in hardware, the functionality can be implemented within a signal processing circuit, which may be suitable for use in a wireless receiver or mobile device. Such implementation of signal processing may include circuits to obtain the measurement of the signal of interest, as well as calculation steps described in the definitions presented in the present invention.

    [0125] The hardware used to implement logical functions, logic blocks, modules and circuits described in connection with the aspects described in this document, can be implemented or implemented with a general-purpose processor, a digital signal processor (DSP), a specific application integrated circuit (ASIC), an array of programmable field gates (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of them designed to perform the functions described in this document. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors together with a DSP core, or any other configuration. Alternatively, some steps or methods can be performed by circuits that are specific to a given function.

    [0126] Any reference to the claim elements in the singular, for example, using the articles a, an or the should not be interpreted as limiting the element to the singular. The above description of the disclosed definitions is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these definitions and/or implementations will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown in this document, but should be accorded the broadest scope consistent with the following claims and the novel principles and features described herein.

    REFERENCES

    [0127] [REF1] Parsons, J. (1992). The mobile radio propagation channel. Halsted Press. [0128] [REF2] P. Bello, Characterization of randomly time-variant linear channels, vol. 11, no. 4, pp. 360 393, December 1963. [0129] [REF3] Lee, W. (1995). Mobile Cellular Telecommunications: Analog and Digital Systems. McGraw-Hill. [0130] [REF4] Parra-Michel, R. (2003). Modelado y Simulacin de Canales de Banda Amplia. PhD thesis. Channel, IEEE Transactions on Vehicular Technology, vol. 41, no. 4, pp. 461-468, November 1992. [0131] [REF5] K.-W. Yip and T.-S. Ng, Karhunen-Love expansion of the wssus channel output and its application to efficient simulation, Selected Areas in Communications, IEEE Journal on, vol. 15, no. 4, pp. 640-646, May 1997. [0132] [REF6] R. Parra-Michel, V. Kontorovitch, and A. Orozco-Lugo, Simulation of wideband channels with non-separable scattering functions, in Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP '02), vol. 3,13-17 May 2002, pp. 2829 2832.