Demodulates received signal. function [ z ] = Demodulator( d, Para ) The function works for SISO and MIMO systems. Input arguments: r: received signal. Size: matrix [Para.N_R, ~] Para: structure containing the modulation parameters. Outputs arguments: z: demodulated symbols. Size: matrix [2*Para.M, ~] if Para.N_R == 1, multidimensional array [Para.N_R, 2*Para.M, ~] if Para.N_R > 1.
0001 function [ z ] = Demodulator( r, Para ) 0002 % Demodulates received signal. 0003 % 0004 % function [ z ] = Demodulator( d, Para ) 0005 % 0006 % The function works for SISO and MIMO systems. 0007 % 0008 % Input arguments: 0009 % 0010 % r: received signal. Size: matrix [Para.N_R, ~] 0011 % 0012 % Para: structure containing the modulation parameters. 0013 % 0014 % Outputs arguments: 0015 % 0016 % z: demodulated symbols. Size: matrix [2*Para.M, ~] if Para.N_R == 1, 0017 % multidimensional array [Para.N_R, 2*Para.M, ~] if Para.N_R > 1. 0018 0019 % This file is part of WaveComBox: www.wavecombox.com and is distributed under 0020 % the terms of the MIT license. See accompanying LICENSE file. 0021 % Original author: François Rottenberg, May 7, 2018. 0022 % Contributors: 0023 % Change log: 0024 0025 switch Para.Modulation 0026 case 'CP-OFDM' 0027 z=OFDM_Demodulator( r, Para ); % CP-OFDM demodulation 0028 case 'FBMC-OQAM' 0029 z=FBMC_OQAM_Demodulator( r, Para ); % FBMC-OQAM demodulation 0030 case 'UFMC' 0031 z=UFMC_Demodulator( r, Para ); % UFMC demodulation 0032 case 'F-OFDM' 0033 z=F_OFDM_Demodulator( r, Para ); % F-OFDM demodulation 0034 case 'W-OFDM' 0035 z=W_OFDM_Demodulator( r, Para ); % W-OFDM demodulation 0036 otherwise 0037 error('Modulation not implemented') 0038 end 0039 0040 end 0041