SISO UFMC and CP-OFDM Example showing how to setup a simple SISO or MIMO UFMC system under frequency selective channel.
0001 % SISO UFMC and CP-OFDM 0002 % 0003 % Example showing how to setup a simple SISO or MIMO UFMC system under 0004 % frequency selective channel. 0005 0006 % This file is part of WaveComBox: www.wavecombox.com and is distributed under 0007 % the terms of the MIT license. See accompanying LICENSE file. 0008 % Original author: Mathieu Van Eeckhaute, May 25, 2018. 0009 % Contributors: François Rottenberg 0010 % Change log: 0011 0012 % Parameters of the UFMC modulation (see definition of 0013 % UFMC_InitializeChainParameters() for a definition of all modulation 0014 % parameters) 0015 0016 0017 Para=InitializeChainParameters( 'UFMC' ) % initialize parameters of the UFMC chain 0018 Para.Ns=100; % number of multicarrier symbols 0019 Para.N_R=3; 0020 Para.N_T=2; 0021 Para.S=min(Para.N_T,Para.N_R); 0022 Para.ActiveSubcarriers=(213:Para.nSubcarriers-212); % 600 active subcarriers among 1024 (LTE 10 MHz config) 0023 0024 0025 %% Transmitter 0026 % Data payload 0027 d = GenerateData (Para); % Generate data symbols 0028 % Synthesis filterbank 0029 s = Modulator(d, Para ); % UFMC modulation 0030 0031 %% Channel 0032 C=GenerateRayleighChannelReal('ITU_VehA', Para); 0033 r=Channel_Multipath( s, C ); % Multipath channel 0034 r=Channel_AWGN( r, Para ); % AWGN channel, SNR fixed in Para 0035 0036 %% Receiver 0037 z = Demodulator( r, Para ); % UFMC demodulation 0038 %Channel equalizer 0039 [ d_hat, B ] = Equalizer( z, C, Para, 'SingleTap' ); 0040 0041 %% MSE on the received symbols 0042 MSE = MSEComputes( d, d_hat, Para ); 0043 figure 0044 plot(Para.ActiveSubcarriers.',10*log10(MSE),'-xb','markersize',6,'linewidth',1) 0045 0046 xlabel('Subcarrier index') 0047 ylabel('MSE [dB]') 0048 xlim([Para.ActiveSubcarriers(1) Para.ActiveSubcarriers(end)]) 0049