specan.set_digitaltv_coding_constellation_dvbs2(MODULATION) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_coderate_dvbs2(code_rate_cn[0]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_noise_awgn_cn(str(code_rate_cn[1])) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_level_level_level( "dBm", str("%.2f" % ((-10) - FREQUENCY_LEVEL_OFFSET[1]))) time.sleep(5) _, mosaic_result = mosaic_algorithm( sfu_ip, str("%.2f" % ((-10) - FREQUENCY_LEVEL_OFFSET[1])), str("%.2f" % ((-10) - FREQUENCY_LEVEL_OFFSET[1]))) if mosaic_result == "Fail": mosaic_result = None PARAMETER[3] = mosaic_result write_json_file( "../../ekt_json/dvbs2_18_dynamic_range_awng_sensitivity_level.json", load_dict) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbs2_18_dynamic_range_awng_sensitivity_level: current_time:{}, modulation: {}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), MODULATION, code_rate_cn[0], str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-10) - FREQUENCY_LEVEL_OFFSET[1])),
str("%.2f" % ((-60) - FREQUENCY_LEVEL_OFFSET[1])), "Frequency points are not supported") + "\n")) PARAMETER[1] = "Frequency points are not supported" write_json_file("../../ekt_json/dvbc_5_IQ_inverted.json", load_dict) dvbc_5_IQ_inverted_json_to_csv( "../../ekt_json/dvbc_5_IQ_inverted.json", "../../ekt_test_report/dvbc_5_IQ_inverted.csv") continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, -60 - FREQUENCY_LEVEL_OFFSET[1], -60 - FREQUENCY_LEVEL_OFFSET[1]) print( "dvbc_5_IQ_inverted: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic result:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-60) - FREQUENCY_LEVEL_OFFSET[1])), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbc_5_IQ_inverted: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic result:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-60) - FREQUENCY_LEVEL_OFFSET[1])), start_data_result.get("detect_mosic_result")) + "\n")
continue elif lock_state == "2": write_test_result("../../ekt_log/test_result_sfu.txt", ( "j83_9_frequency_error_rate: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, {}" .format( datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[1]), str(SYMBOL_RATE[1]), str(-50), "Frequency points are not supported") + "\n")) continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, -50, -50) print( "j83_9_frequency_error_rate: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic result:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str(-50), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "j83_9_frequency_error_rate: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic result:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str(-50), start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[1] = mosaic_result
.format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_666), str(8), "Lock fail") + "\n")) else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) for PARAME in load_dict.get("test_parame_result"): if PARAME[1] == None: pass else: continue specan = Ektsfu(sfu_ip) specan.set_digitaltv_bicm_constelrotation_dvbt2(PARAME[0]) time.sleep(1) start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, float(LEVEL_50), float(LEVEL_50)) print( "dvbt2_37_modes_supplument_1_rotation: current_time:{}, fft_size: {}, modulation: {},coderate:{}, PIL:{}, guard:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "M32E", MODULATION_256QAM, CODE_RATE_2_3, "PP4", GUARD_G1_16, FREQUENCY_666, str("8"), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbt2_37_modes_supplument_1_rotation: current_time:{}, fft_size: {}, modulation: {},coderate:{}, PIL:{}, guard:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "M32E", MODULATION_256QAM, CODE_RATE_2_3, "PP4", GUARD_G1_16, FREQUENCY_666, str("8"), start_data_result.get("detect_mosic_result")) + "\n") PARAME[1] = mosaic_result write_json_file(
lock_state = net.send_rec(json.dumps({"cmd": "get_lock_state"})) if lock_state == "1": pass elif lock_state == "0": write_test_result("../../ekt_log/test_result_sfu.txt", ( "dvbt_6_signal_bandwidth: current_time:{}, frequency:{} MHz,bandwidth:{} Ksym/s, {}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_BW[0]), str(FREQUENCY_BW[1]), "Lock fail") + "\n")) continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, "-60", "-60") print( "dvbt_6_signal_bandwidth: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), MODULATION_64QAM, CODE_RATE_2_3, str(FREQUENCY_BW[0]), str(FREQUENCY_BW[1]), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbt_6_signal_bandwidth: current_time:{}, modulation: {}, coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), MODULATION_64QAM, CODE_RATE_2_3, str(FREQUENCY_BW[0]), str(FREQUENCY_BW[1]), start_data_result.get("detect_mosic_result")) + "\n") FREQUENCY_BW[2] = mosaic_result write_json_file("../../ekt_json/dvbt_6_signal_bandwidth.json",
time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_framing_pilot_dvbt2(PARAMETER[2]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_bicm_coderate_dvbt2(PARAMETER[3]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_framing_guard_dvbt2(PARAMETER[4]) time.sleep(1) ldata = get_ldata_from_lf_fftsize(PARAMETER[6], PARAMETER[0]) specan = Ektsfu(sfu_ip) specan.set_digitaltv_framing_ldata_dvbt2(str(ldata)) time.sleep(1) start_data_result, test_result = mosaic_algorithm( sfu_ip, LEVEL_50_666, LEVEL_50_666) print( "dvbt2_53_changes_modulation_parameters: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAMETER[1], PARAMETER[3], str(FREQUENCY_666), str(8), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbt2_53_changes_modulation_parameters: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAMETER[1], PARAMETER[3], str(FREQUENCY_666), str(8), start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[7] = test_result write_json_file( "../../ekt_json/dvbt2_53_changes_modulation_parameters.json", load_dict)
continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue for PARAMETER in LOCK_PARAMETER[3]: if PARAMETER[1] == None: pass else: continue code_rate_cn = PARAMETER[0] specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_coderate_dvbs2(code_rate_cn[0]) mosaic_algorithm(sfu_ip, FREQUENCY_OFFSET[2], "-50") specan = Ektsfu(sfu_ip) specan.set_frequency_frequency_frequency(FREQUENCY_OFFSET[1] + "MHz") time.sleep(3) start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, FREQUENCY_OFFSET[2], "-50") print( "dvbs2_26_signal_tracking_frequency_range: current_time:{}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), code_rate_cn[0], FREQUENCY_OFFSET[1], SYMBOL_RATE_FREQUENCY[1], FREQUENCY_OFFSET[2], start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbs2_26_signal_tracking_frequency_range: current_time:{}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}"
else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue for PARAMETER in LOCK_PARAMETER[2]: if PARAMETER[1] == None: pass else: continue code_rate = PARAMETER[0] specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_coderate_dvbs2(code_rate) time.sleep(1) start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, str((-45 - float(FREQUENCY_LEVEL_OFFSET[1]))), "-50") print( "dvbs2_23_amplitude_distortion_test: current_time:{}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), code_rate, FREQUENCY_LEVEL_OFFSET[0], str(SYMBOL_RATE[1]), str((-45 - float(FREQUENCY_LEVEL_OFFSET[1]))), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbs2_23_amplitude_distortion_test: current_time:{}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), code_rate, FREQUENCY_LEVEL_OFFSET[0], str(SYMBOL_RATE[1]), str((-45 - float(FREQUENCY_LEVEL_OFFSET[1]))), start_data_result.get("detect_mosic_result")) + "\n")
write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue for PARAMETER in LOCK_PARAMETER[1]: if PARAMETER[1] == None: pass else: continue code_rate_cn = PARAMETER[0] specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_coderate_dvbs2(code_rate_cn[0]) specan = Ektsfu(sfu_ip) specan.set_noise_awgn_cn(str(code_rate_cn[1])) start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, LEVEL_50, "-50") print( "dvbs2_24_symbol_err_rate: current_time:{}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), code_rate_cn[0], FREQUENCY_1550, str(SYMBOL_RATE[1]), LEVEL_50, start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbs2_24_symbol_err_rate: current_time:{}, coderate:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), code_rate_cn[0], FREQUENCY_1550, str( SYMBOL_RATE[1]), LEVEL_50, start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[1] = mosaic_result
PARAMETER[1] = "Frequency points are not supported" write_json_file( "../../ekt_json/dvbc_1_dynamic_range_awng_min_level.json", load_dict) dvbc_1_dynamic_range_awng_min_level_json_to_csv( "../../ekt_json/dvbc_1_dynamic_range_awng_min_level.json", "../../ekt_test_report/dvbc_1_dynamic_range_awng_min_level.csv" ) continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, str("%.2f" % ((-10) - FREQUENCY_LEVEL_OFFSET[1])), "-10") write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbc_1_dynamic_range_awng_min_level: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic results:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-10) - FREQUENCY_LEVEL_OFFSET[1])), start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[2] = mosaic_result res, test_result = iterate_to_find_threshold_step_by_step_dvbs2( sfu_ip, (test_start_level - FREQUENCY_LEVEL_OFFSET[1]), level_offset=str(FREQUENCY_LEVEL_OFFSET[1])) print( "dvbc_1_dynamic_range_awng_min_level: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,{}"
lock_state = net.send_rec(json.dumps({"cmd": "get_lock_state"})) if lock_state == "1": pass elif lock_state == "0": write_test_result("../../ekt_log/test_result_sfu.txt", ( "dvbt2_44_normal_mode: current_time:{}, frequency:{} MHz,bandwidth:{} Ksym/s, {}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(PARAMETER[0]), str(PARAMETER[3]), "Lock fail") + "\n")) continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue start_data_result, test_result = mosaic_algorithm( sfu_ip, PARAMETER[2], PARAMETER[2]) print( "dvbt2_44_normal_mode: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAMETER[5], PARAMETER[7], str(PARAMETER[0]), str(PARAMETER[3]), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbt2_44_normal_mode: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAMETER[5], PARAMETER[7], str(PARAMETER[0]), str(PARAMETER[3]), start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[9] = test_result write_json_file("../../ekt_json/dvbt2_44_normal_mode.json", load_dict)
str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-50) - FREQUENCY_LEVEL_OFFSET[1])), "Frequency points are not supported") + "\n")) PARAMETER[1] = "Frequency points are not supported" write_json_file("../../ekt_json/dvbc_4_symbol_rate.json", load_dict) dvbc_4_symbol_rate_json_to_csv( "../../ekt_json/dvbc_4_symbol_rate.json", "../../ekt_test_report/dvbc_4_symbol_rate.csv") continue else: write_test_result("../../ekt_log/test_result_sfu.txt", ("Lock state err" + "\n")) continue start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, LOCK_PARAMETER[3], LOCK_PARAMETER[3]) print( "dvbc_4_symbol_rate: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic result:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-50) - FREQUENCY_LEVEL_OFFSET[1])), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbc_4_symbol_rate: current_time:{}, frequency:{} MHz,symbol_rate:{} Ksym/s,level:{} dbm, Mosaic result:{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str(FREQUENCY_LEVEL_OFFSET[0]), str(SYMBOL_RATE[1]), str("%.2f" % ((-50) - FREQUENCY_LEVEL_OFFSET[1])), start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[1] = mosaic_result
else: continue specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_fftmode_dvbt(PARAME[0]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_constellation_dvbt(PARAME[1]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_coderate_dvbt(PARAME[2]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_coding_guard_dvbt(PARAME[3]) time.sleep(1) start_data_result, mosaic_result = mosaic_algorithm( sfu_ip, float("%.2f" % (LEVEL_60 - LEVEL_OFFSET_666)), "-60") print( "dvbt_7_modes: current_time:{}, fft_size: {}, modulation: {}, coderate:{},guard:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAME[0], PARAME[1], PARAME[2], PARAME[3], FREQUENCY_666, str("8"), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbt_7_modes: current_time:{}, fft_size: {}, modulation: {}, coderate:{},guard:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAME[0], PARAME[1], PARAME[2], PARAME[3], FREQUENCY_666, str("8"), start_data_result.get("detect_mosic_result")) + "\n") PARAME[4] = mosaic_result write_json_file("../../ekt_json/dvbt_7_modes.json", load_dict)
specan.set_digitaltv_framing_fftsize_dvbt2(PARAMETER[0]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_bicm_constellation_dvbt2(PARAMETER[1]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_framing_pilot_dvbt2(PARAMETER[2]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_bicm_coderate_dvbt2(PARAMETER[3]) time.sleep(1) specan = Ektsfu(sfu_ip) specan.set_digitaltv_framing_guard_dvbt2(PARAMETER[4]) time.sleep(1) start_data_result, test_result = mosaic_algorithm( sfu_ip, LEVEL_30, LEVEL_30) print( "dvbt2_62_maximum_signal_levels: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAMETER[1], PARAMETER[3], str(FREQUENCY_666), str(8), start_data_result.get("detect_mosic_result"))) write_test_result( "../../ekt_log/test_result_sfu.txt", "dvbt2_62_maximum_signal_levels: current_time:{}, modulation: {},coderate:{}, frequency:{} MHz,bandwidth:{} MHZ,{}" .format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), PARAMETER[1], PARAMETER[3], str(FREQUENCY_666), str(8), start_data_result.get("detect_mosic_result")) + "\n") PARAMETER[6] = test_result write_json_file("../../ekt_json/dvbt2_62_maximum_signal_levels.json", load_dict) dvbt2_62_maximum_level_to_csv(