Home > WaveComBox > Toolbox > Receiver > MSESingleTapTheo.m

MSESingleTapTheo

PURPOSE ^

Computes theoretical MSE after single-tap equalization.

SYNOPSIS ^

function [ MSE_theo ] = MSESingleTapTheo( B, C, Para, A, A_1, A_2 )

DESCRIPTION ^

 Computes theoretical MSE after single-tap equalization.

 function [ x, B ] = MSESingleTapTheo( B, C, Para, modulation, A )
 function [ x, B ] = MSESingleTapTheo( B, C, Para, modulation, A, A_1 )
 function [ x, B ] = MSESingleTapTheo( B, C, Para, modulation, A, A_1, A_2 )

 The function works for MIMO and SISO systems.

 Input arguments:

   B: equalizing matrices at each subcarrier. Size: vector [2*Para.M, 1]
   if Para.N_T == Para.N_R == 1 and multidimensional array
   [Para.S,Para.N_R,2*Para.M] otherwise

   C: channel impulse response. Multidimensional array [Para.N_R, Para.N_T, ~].

   Para: structure containing the modulation parameters.

   A: (optional, by default identity) pre-equalizing matrices at each subcarrier. Size: vector [2*Para.M, 1]
   if Para.N_T == Para.N_R == 1 and multidimensional array
   [Para.T,Para.S,2*Para.M] otherwise

   A_1: (optional, by default 0) first frequency derivative of pre-equalizing matrices at each
   subcarrier. Size: vector [2*Para.M, 1] if Para.N_T == Para.N_R == 1 and
   multidimensional array [Para.T,Para.S,2*Para.M] otherwise

   A_2: (optional, by default 0) second frequency derivative of pre-equalizing matrices at each
   subcarrier. Size: vector [2*Para.M, 1] if Para.N_T == Para.N_R == 1 and
   multidimensional array [Para.T,Para.S,2*Para.M] otherwise


 Ouput arguments:

   MSE_theo: MSE at each subcarrier. Size: vector [2*Para.M, 1]

 See also OFDM_MSESingleTapTheor, FBMC_OQAM_MSESingleTapTheorApprox.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [ MSE_theo ] = MSESingleTapTheo( B, C, Para, A, A_1, A_2 )
0002 % Computes theoretical MSE after single-tap equalization.
0003 %
0004 % function [ x, B ] = MSESingleTapTheo( B, C, Para, modulation, A )
0005 % function [ x, B ] = MSESingleTapTheo( B, C, Para, modulation, A, A_1 )
0006 % function [ x, B ] = MSESingleTapTheo( B, C, Para, modulation, A, A_1, A_2 )
0007 %
0008 % The function works for MIMO and SISO systems.
0009 %
0010 % Input arguments:
0011 %
0012 %   B: equalizing matrices at each subcarrier. Size: vector [2*Para.M, 1]
0013 %   if Para.N_T == Para.N_R == 1 and multidimensional array
0014 %   [Para.S,Para.N_R,2*Para.M] otherwise
0015 %
0016 %   C: channel impulse response. Multidimensional array [Para.N_R, Para.N_T, ~].
0017 %
0018 %   Para: structure containing the modulation parameters.
0019 %
0020 %   A: (optional, by default identity) pre-equalizing matrices at each subcarrier. Size: vector [2*Para.M, 1]
0021 %   if Para.N_T == Para.N_R == 1 and multidimensional array
0022 %   [Para.T,Para.S,2*Para.M] otherwise
0023 %
0024 %   A_1: (optional, by default 0) first frequency derivative of pre-equalizing matrices at each
0025 %   subcarrier. Size: vector [2*Para.M, 1] if Para.N_T == Para.N_R == 1 and
0026 %   multidimensional array [Para.T,Para.S,2*Para.M] otherwise
0027 %
0028 %   A_2: (optional, by default 0) second frequency derivative of pre-equalizing matrices at each
0029 %   subcarrier. Size: vector [2*Para.M, 1] if Para.N_T == Para.N_R == 1 and
0030 %   multidimensional array [Para.T,Para.S,2*Para.M] otherwise
0031 %
0032 %
0033 % Ouput arguments:
0034 %
0035 %   MSE_theo: MSE at each subcarrier. Size: vector [2*Para.M, 1]
0036 %
0037 % See also OFDM_MSESingleTapTheor, FBMC_OQAM_MSESingleTapTheorApprox.
0038 
0039 % This file is part of WaveComBox: www.wavecombox.com and is distributed under
0040 % the terms of the MIT license. See accompanying LICENSE file.
0041 % Original author: François Rottenberg, May 8, 2018.
0042 % Contributors:
0043 % Change log:
0044 
0045 switch Para.Modulation
0046     case 'CP-OFDM'
0047         if exist('A','var')==0
0048             [ MSE_theo ] = OFDM_MSESingleTapTheor( B, C, Para );
0049         else
0050             [ MSE_theo ] = OFDM_MSESingleTapTheor( B, C, Para, A );
0051         end
0052     case 'FBMC-OQAM'
0053         if exist('A','var')==0
0054             [ MSE_theo ] = FBMC_OQAM_MSESingleTapTheorApprox( B, C, Para );
0055         else
0056             if exist('A_1','var')==0
0057                 [ MSE_theo ] = FBMC_OQAM_MSESingleTapTheorApprox( B, C, Para, A );
0058             else if exit('A_2','var')==0
0059                     [ MSE_theo ] = FBMC_OQAM_MSESingleTapTheorApprox( B, C, Para, A, A_1 );
0060                 else
0061                     [ MSE_theo ] = FBMC_OQAM_MSESingleTapTheorApprox( B, C, Para, A, A_1, A_2 );
0062                 end
0063             end
0064         end
0065     otherwise
0066         error('Modulation not implemented')
0067 end
0068 
0069 
0070 end
0071

Generated on Mon 14-Oct-2019 13:48:34 by m2html © 2005