Perfect Code Experiments, 2012-04-17
The purpose of this set of experiments is to transmit a series of different code sequences involving amplitude and phase modulations for evaluation of 'perfect code' measurement performance. Sequences interleaved with well know codes (e.g. barker, uncoded, etc) will also be used to provide comparative data. Due to MISA (steerable antenna) upgrades only the Zenith antenna was used for these experiments.
Data Collection Plan
Primary data collection were conducted on 2012-03-17 according to the following plan :
Load the timing generator with new timing patterns and test (FDL in Ion Lab).
Activate transmitter (CEF in Ion Lab / TCA)
Collect high resolution amplitude linearization sequence (FDL in Ion Lab).
Compute linearization model and resequence amplitude modulated IQ waveform data. Load on to AWG unit (FDL in Ion Lab).
Test data for perfect code and comparison sequences.
Perfect & polyphase codes for coherent decoding
Reference measurement with Barker code
7-bit barker code - 16 us baud length - 3000 us IPP - 500 kHz sampling
Perfect code from Lehtinen et al.
7-bit almost perfect code - 16 us baud length - 3000 us IPP - 500 kHz sampling
Perfect code from Lehtinen et al.
9-bit almost perfect code - 16 us baud length - 3000 us IPP - 500 kHz sampling
Reference measurement with Barker code
13-bit Barker code - 10 us baud length - 3000 us IPP - 500 kHz sampling
Perfect code from Roininen et al.
13-bit almost perfect code - 10 us baud length - 3000 us IPP - 500 kHz samping
Polyphase code from Orispää
15-bit polyphase code - 10 us baud length - 3000 us IPP - 500 kHz sampling
Perfect code from Lehtinen et al.
17-bit almost perfect code - 10 us baud length - 3000 us IPP - 500 kHz sampling
Perfect code from Roininen et al.
51-bit almost perfect code - 2 us baud length - 3000 us IPP - 1 MHz sampling
Polyphase code from Vierinen
70-bit polyphase code - 2 us baud length - 3000 us IPP - 1 MHz sampling
Perfect code from Lehtinen et al.
81-bit almost perfect code - 2 us baud length - 3000 us IPP - 1 MHz sampling
Polyphase alternating codes
Binary alternating code for reference
11-bit strong binary alternating code (truncated from a 16-bit code set) - 40 us baud length - 10000 us IPP - 500 kHz sampling
Polyphase alternating code from Markkanen et al.
11-bit strong 11-nary alternating code - 40 us baud length - 10000 us IPP - 500 kHz sampling
Binary alterating code for reference
16-bit strong binary alternating code - 30 us baud length - 10000 us IPP - 500 kHz sampling
Polyphase alternating code from Markkanen et al.
16-bit strong 16-nary alternating code - 30 us baud length - 10000 us IPP - 500 kHz sampling
Binary alternating code for reference
25-bit strong binary alternating code (truncated from a 32-bit code set) - 20 us baud length - 10000 us IPP - 500 kHz sampling
Polyphase alternating code from Markkanen et al.
25-bit strong 5-nary alternating code - 20 us baud length - 10000 us IPP - 500 kHz sampling
Binary alternating code for reference
31-bit strong binary alternating code ( truncated from a 32-bit code set) - 16 us baud length - 10000 us IPP - 500 kHz sampling
Polyphase alternating code from Markkanen et al.
31-bit strong 31-nary alternating code - 16 us baud length - 10000 us IPP - 500 kHz sampling
Multi-purpose test
An attempt to combine some D/E/F-region capabilities
D-region (starts at time 0)
9-bit perfect code from Lehtinen et al. Table 1 - 6 us baud length - 1000 us IPP - repeat 280 times - wait an extra 10500 us
E/F-region (starts at time 290500 us)
32-bit alternating code - 10 us baud length - 5500 us IPP - repeat once - wait an extra 5500 us
F-region (starts at time 648000 us)
8-bit strong alternating code - 80 us baud length - 11000 us IPP - repeat 2 times - 500 kHz sampling
Translate all waveguide tap information to power measurement XML files.
Translate all TX and RX data to HDF5.
Online Data
Data is contained in gzipped tar archives which contain documentation as well as HDF5 files for the TX and RX data channels. The HDF5 files are created with the gzip compression option active.
AWG Settings
The NI 5542 AWG settings for this set of experiments were as follows :
trigger = PFI0
edge = rising
mode = stepped
iq_rate = 10000000
carrier_enable = True
carrier_freq = 30000000.0
analog_filter_freq = 0.0
fir_filter_type = flat
fir_filter_param = 0.40
prefilter_i_gain = 0.7
prefilter_q_gain = 0.7
cic_filter_gain = 1.0
with the underlying chip rate being 10 MHz but subject to interpolation, upconversion, and filtering.
Transmitter Linearization
Transmitter linearization data was collected using 256 amplitude steps set using the following code :
AMPLITUDE_MAX = 16 AMPLITUDE_SPACING = 0.0625 AMPLITUDE_STEPS = int(AMPLITUDE_MAX / AMPLITUDE_SPACING) input_vector = 1.0/numpy.power(2,numpy.arange(0,AMPLITUDE_MAX,AMPLITUDE_SPACING,dtype=numpy.float64)) input_vector = numpy.append(input_vector,0.0)
with the final end point forced to zero. Only amplitude modulated waveforms need correction (the others run in saturation). As such the are for the following modes :
mhr_s_3000_170_sgo_ltest_f4402
mhr_s_3000_162_sgo_ltest_f4402
mhr_s_3000_130_sgo_ltest_f4402
mhr_s_3000_112_sgo_ltest_f4402
mhr_s_3000_102_sgo_ltest_f4402
mhr_s_1000_54_sgo_ltest_f4402
Many of the models of similar pulse length are quite close to each other but there are some variations. We don't yet know the sensitivity of the model to TX power level, Voltage / Current setting, or match variations. At this point there is still a bit of faith that variations are small and that the exit from the saturation point remains similar with these variations.
All amplitude modulated waveforms were linearized using the pre-distortion model with the identical length. The exception to this is the 9 bit perfect code which was corrected with the 130usec linearizatino model (versus 142). I just missed that one and we will see if it makes a difference.