[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/tools/IQ_Analyzer/src/IQ_Params.py b/mcu/tools/IQ_Analyzer/src/IQ_Params.py
new file mode 100644
index 0000000..6a11623
--- /dev/null
+++ b/mcu/tools/IQ_Analyzer/src/IQ_Params.py
@@ -0,0 +1,137 @@
+
+###################################################################################################
+# L T E D E F I N I T I O N S #
+###################################################################################################
+###################################################################################################
+# LTE Bandwidth | 1.4 MHz | 3.0 MHz | 5.0 MHz | 10.0 MHz | 15.0 MHz | 20.0 MHz #
+# Num. of RBs | 6 | 15 | 25 | 50 | | 100 #
+# Occupied Subcarriers | 72 | 180 | 300 | 600 | | 1200 #
+# Nfft | 128 | 256 | 512 | 1024 | | 2048 #
+# N_CP1 | 10 | 20 | 40 | 80 | | 160 #
+# N_CP2 | 9 | 18 | 36 | 72 | | 144 #
+# LTE_sample_rate | 1.92 Msps | 3.84 Msps | 7.68 Msps | 15.36 Msps | 23.04 Msps | 30.72 Msps #
+###################################################################################################
+# Notes: #
+# LTE_sample_rate = 2*[(N_DL_sym-1)(N_fft+N_CP2) + (N_fft+N_CP1)] / (1 millisecond) #
+# #
+###################################################################################################
+
+####################################################################
+# ------------------ LTE-SPECIFIC PARAMATERS (B) ------------------#
+####################################################################
+
+
+class IqParams:
+
+ def __init__(self, chose_rate, Ncp_type):
+ self.Ncp_type = Ncp_type
+ self.is_averagedFrames = 1
+ self.is_avgSlidingWindow = 1
+ self.is_avgSlidingWindow = 1
+ self.num_avg_frames = 10
+ self.symAmount = 14
+
+ if (chose_rate == 1.4):
+
+ self.sample_rate = 1.92*pow(10,6)
+ self.numRB = 6;
+ self.Nfft = 128
+ self.analysis_frame_len = 1920
+ self.interp_freqSpectrum_lowLimit = -0.96*pow(10,6)
+ self.interp_freqSpectrum_upperLimit = 0.96*pow(10,6)
+
+ if (Ncp_type == 1):
+ self.NCP1 = 10
+ self.NCP2 = 9
+ else:
+ self.NCP1 = 10
+ self.NCP2 = 9
+
+ elif (chose_rate == 3):
+
+ self.sample_rate = 3.84*pow(10,6)
+ self.numRB = 15;
+ self.Nfft = 256
+ self.analysis_frame_len = 3840
+ self.interp_freqSpectrum_lowLimit = -1.92*pow(10,6)
+ self.interp_freqSpectrum_upperLimit = 1.92*pow(10,6)
+
+ if (Ncp_type == 1):
+ self.NCP1 = 20
+ self.NCP2 = 18
+ else:
+ self.NCP1 = 20
+ self.NCP2 = 18
+
+ elif (chose_rate == 5):
+
+ self.sample_rate = 7.68*pow(10,6)
+ self.numRB = 25;
+ self.Nfft = 512
+ self.analysis_frame_len = 7680
+ self.interp_freqSpectrum_lowLimit = -3.84*pow(10,6)
+ self.interp_freqSpectrum_upperLimit = 3.84*pow(10,6)
+
+ if (Ncp_type == 1):
+ self.NCP1 = 40
+ self.NCP2 = 36
+ else:
+ self.NCP1 = 40
+ self.NCP2 = 36
+
+ elif (chose_rate == 10):
+
+ self.sample_rate = 15.36*pow(10,6)
+ self.numRB = 50;
+ self.Nfft = 1024
+ self.analysis_frame_len = 15360
+ self.interp_freqSpectrum_lowLimit = -7.68*pow(10,6)
+ self.interp_freqSpectrum_upperLimit = 7.68*pow(10,6)
+
+ if (Ncp_type == 1):
+ self.NCP1 = 80
+ self.NCP2 = 72
+ else:
+ self.NCP1 = 80
+ self.NCP2 = 72
+
+ elif (chose_rate == 15):
+
+ #### FIX ME ####
+ self.sample_rate = 23.04*pow(10,6)
+ self.numRB = 75;
+ self.Nfft = 2048
+ self.analysis_frame_len = 1920
+ self.interp_freqSpectrum_lowLimit = -0.96*pow(10,6)
+ self.interp_freqSpectrum_upperLimit = 0.96*pow(10,6)
+
+ if (Ncp_type == 1):
+ self.NCP1 = 160
+ self.NCP2 = 144
+ else:
+ self.NCP1 = 160
+ self.NCP2 = 144
+ #### FIX ME ####
+
+ elif (chose_rate == 20):
+
+ self.sample_rate = 30.72*pow(10,6)
+ self.numRB = 100;
+ self.Nfft = 2048
+ self.analysis_frame_len = 30720
+ self.interp_freqSpectrum_lowLimit = -15.36*pow(10,6)
+ self.interp_freqSpectrum_upperLimit = 15.36*pow(10,6)
+
+ if (Ncp_type == 1):
+ self.NCP1 = 160
+ self.NCP2 = 144
+ else:
+ self.NCP1 = 160
+ self.NCP2 = 144
+
+ else:
+ sys.exit('Invalid LTE rate')
+ #error('Invalid LTE rate');
+
+ self.sample_time = 1/ self.sample_rate;
+ self.PSS_FFT_size = self.Nfft
\ No newline at end of file