import json
import datetime
import os, sys

parentdir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, parentdir)
from ekt_lib import ekt_net, ekt_cfg
from ekt_lib.ekt_sfu import Ektsfu
from pathlib2 import Path
from ekt_lib.ekt_stb_tester import stb_tester_execute_testcase
from ekt_lib.threshold_algorithm_SFU import mosaic_algorithm, iterate_to_find_threshold_step_by_step
from ekt_lib.ekt_utils import write_test_result, find_level_offset_by_frequency, write_json_file, read_json_file, \
    dvbt2_60_minuimun_level_0db_json_to_csv

FREQUENCY_666 = 666
LEVEL_OFFSET_666 = find_level_offset_by_frequency("DVBT_T2_FREQUENCY_LEVEL_OFFSET", 666.0)
LEVEL_50_666 = str("%.2f" % (-50 - LEVEL_OFFSET_666))

FREQUENCY_199 = 199
LEVEL_OFFSET_198_5 = find_level_offset_by_frequency("DVBT_T2_FREQUENCY_LEVEL_OFFSET", 198.5)
LEVEL_50_199 = str("%.2f" % (-50 - LEVEL_OFFSET_198_5))

MODULATION_QPSK = "T4"
MODULATION_16QAM = "T16"
MODULATION_64QAM = "T64"
MODULATION_256QAM = "T256"

CODE_RATE_1_2 = "R1_2"
CODE_RATE_3_5 = "R3_5"
CODE_RATE_2_3 = "R2_3"
CODE_RATE_3_4 = "R3_4"
        specan = Ektsfu(sfu_ip)
        specan.set_digitaltv_coding_constellation_dvbc(MODULATION)
        specan = Ektsfu(sfu_ip)
        specan.set_noise_awgn_cn(str(CN))
        specan = Ektsfu(sfu_ip)
        specan.set_digitaltv_coding_symbolrate_dvbc(SYMBOL_RATE[0])

        for PARAMETER in LOCK_PARAMETER[4]:
            if PARAMETER[1] == None:
                pass
            else:
                continue

            FREQUENCY_LEVEL_OFFSET = [
                PARAMETER[0],
                find_level_offset_by_frequency("DVBC_FREQUENCY_LEVEL_OFFSET",
                                               PARAMETER[0])
            ]

            specan = Ektsfu(sfu_ip)
            specan.set_frequency_frequency_frequency(
                str(FREQUENCY_LEVEL_OFFSET[0]) + "MHz")
            specan = Ektsfu(sfu_ip)
            specan.set_level_level_offset(str(FREQUENCY_LEVEL_OFFSET[1]))
            specan = Ektsfu(sfu_ip)
            specan.set_level_level_level(
                "dBm", str("%.2f" % (-60 - FREQUENCY_LEVEL_OFFSET[1])))

            net = ekt_net.EktNetClient(ekt_cfg.FRONT_END_SERVER_IP,
                                       ekt_cfg.FRONT_END_SERVER_PORT)
            net.send_data(
                json.dumps({
parentdir = os.path.dirname(
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, parentdir)
from ekt_lib import ekt_net, ekt_cfg
from ekt_lib.ekt_sfe import Ektsfe
from pathlib2 import Path
from ekt_lib.ekt_stb_tester import stb_tester_execute_testcase
from ekt_lib.threshold_algorithm_SFE import mosaic_algorithm
from ekt_lib.ekt_utils import write_test_result, read_ekt_config_data, find_level_offset_by_frequency, write_json_file, read_json_file, \
    dvbs_signal_tracking_frequency_range_json_to_csv

CODE_RATE_LIST = ["R1_2", "R2_3", "R3_4", "R5_6", "R7_8"]

MODULATION_QPSK = "S4"
LEVEL_OFFSET_950 = find_level_offset_by_frequency(
    "DVBS_S2_FREQUENCY_LEVEL_OFFSET", 950)
LEVEL_50_950 = str("%.2f" % ((-50) - LEVEL_OFFSET_950))
LEVEL_OFFSET_1550 = find_level_offset_by_frequency(
    "DVBS_S2_FREQUENCY_LEVEL_OFFSET", 1550)
LEVEL_50_1550 = str("%.2f" % ((-50) - LEVEL_OFFSET_1550))
LEVEL_OFFSET_2150 = find_level_offset_by_frequency(
    "DVBS_S2_FREQUENCY_LEVEL_OFFSET", 2150)
LEVEL_50_2150 = str("%.2f" % ((-50) - LEVEL_OFFSET_2150))

SYMBOL_RATE_FREQUENCY_5M = [
    "5.000000e6", "05000",
    [["950", "952", LEVEL_50_950], ["950", "948", LEVEL_50_950],
     ["1550", "1552", LEVEL_50_1550], ["1550", "1548", LEVEL_50_1550],
     ["2150", "2152", LEVEL_50_2150], ["2150", "2148", LEVEL_50_2150]]
]
SYMBOL_RATE_FREQUENCY_27_5M = [
CODE_RATE_2_3 = "R2_3"
CODE_RATE_3_5 = "R3_5"
CODE_RATE_3_4 = "R3_4"

GUARD_G1_16 = "G1_16"
GUARD_G19_256 = "G19256"

FREQUENCY_474 = 474
FREQUENCY_666 = 666
FREQUENCY_786 = 786

FREQUENCY_178 = 178
FREQUENCY_199 = 199
FREQUENCY_227 = 227

LEVEL_OFFSET_474 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 474.0)
LEVEL_OFFSET_666 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 666.0)
LEVEL_OFFSET_786 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 786.0)

LEVEL_OFFSET_177_5 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 177.5)
LEVEL_OFFSET_198_5 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 198.5)
LEVEL_OFFSET_226_5 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 226.5)

PARAMETER_LIST = [
    [
        MODULATION_256QAM, PP4, CODE_RATE_2_3, GUARD_G1_16, 8,
import os, sys

parentdir = os.path.dirname(
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, parentdir)
from ekt_lib import ekt_net, ekt_cfg
from ekt_lib.ekt_sfu import Ektsfu
from pathlib2 import Path
from ekt_lib.ekt_stb_tester import stb_tester_execute_testcase
from ekt_lib.threshold_algorithm_SFU import mosaic_algorithm
from ekt_lib.ekt_utils import write_test_result, find_level_offset_by_frequency, write_json_file, read_json_file, \
    dvbt2_37_modes_supplument_1_json_to_csv

FREQUENCY_666 = 666.0

LEVEL_OFFSET_666 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", FREQUENCY_666)
LEVEL_50 = str("%.2f" % (-50 - LEVEL_OFFSET_666))

MODULATION_QPSK = "T4"
MODULATION_16QAM = "T16"
MODULATION_64QAM = "T64"
MODULATION_256QAM = "T256"

CODE_RATE_1_2 = "R1_2"
CODE_RATE_3_5 = "R3_5"
CODE_RATE_2_3 = "R2_3"
CODE_RATE_3_4 = "R3_4"
CODE_RATE_4_5 = "R4_5"
CODE_RATE_5_6 = "R5_6"

GUARD_G1_128 = "G1128"
예제 #6
0
import os, sys

parentdir = os.path.dirname(
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, parentdir)
from ekt_lib import ekt_net, ekt_cfg
from ekt_lib.ekt_sfu import Ektsfu
from pathlib2 import Path
from ekt_lib.ekt_stb_tester import stb_tester_execute_testcase
from ekt_lib.threshold_algorithm_SFU import mosaic_algorithm
from ekt_lib.ekt_utils import write_test_result, read_ekt_config_data, find_level_offset_by_frequency, write_json_file, read_json_file, \
    dvbs2_24_symbol_err_rate_json_to_csv

MODULATION_8PSK = "S8"
FREQUENCY_1550 = "1550"
LEVEL_OFFSET = find_level_offset_by_frequency("DVBS_S2_FREQUENCY_LEVEL_OFFSET",
                                              int(FREQUENCY_1550))
LEVEL_50 = str("%.2f" % ((-50) - LEVEL_OFFSET))

SYMBOL_RATE_5M = ["5.000000e6", "05002", 5]
SYMBOL_RATE_5M_ = ["5.000000e6", "04998", 5]
SYMBOL_RATE_27_5M = ["27.500000e6", "27503", 27.5]
SYMBOL_RATE_27_5M_ = ["27.500000e6", "27497", 27.5]
SYMBOL_RATE_45M = ["45.000000e6", "44996", 45]
SYMBOL_RATE_45M_ = ["45.000000e6", "45004", 45]

dict_config_data = {
    "SYMBOL_RATE": [
        SYMBOL_RATE_5M, SYMBOL_RATE_5M_, SYMBOL_RATE_27_5M, SYMBOL_RATE_27_5M_,
        SYMBOL_RATE_45M, SYMBOL_RATE_45M_
    ]
}
예제 #7
0
        CN = LOCK_PARAMETER[3]

        specan = Ektsfu(sfu_ip)
        specan.set_digitaltv_coding_constellation_j83b(MODULATION)
        # specan = Ektsfu(sfu_ip)
        # specan.set_digitaltv_coding_symbolrate_j83b(SYMBOL_RATE[0])
        specan = Ektsfu(sfu_ip)
        specan.set_noise_awgn_cn(str(CN))

        for PARAMETER in LOCK_PARAMETER[4]:
            if PARAMETER[1] == None:
                pass
            else:
                continue

            FREQUENCY_LEVEL_OFFSET = [PARAMETER[0], find_level_offset_by_frequency("ANNEXB_FREQUENCY_LEVEL_OFFSET", PARAMETER[0])]

            specan = Ektsfu(sfu_ip)
            specan.set_frequency_frequency_frequency(str(FREQUENCY_LEVEL_OFFSET[0]) + "MHz")
            specan = Ektsfu(sfu_ip)
            specan.set_level_level_offset(str(FREQUENCY_LEVEL_OFFSET[1]))
            specan = Ektsfu(sfu_ip)
            specan.set_level_level_level("dBm", str("%.2f" % (-60 - FREQUENCY_LEVEL_OFFSET[1])))

            net = ekt_net.EktNetClient(ekt_cfg.FRONT_END_SERVER_IP, ekt_cfg.FRONT_END_SERVER_PORT)
            net.send_data(json.dumps({"cmd": "set_frequency_data", "frequency": str(FREQUENCY_LEVEL_OFFSET[0])}))
            time.sleep(1)
            del net
            net = ekt_net.EktNetClient(ekt_cfg.FRONT_END_SERVER_IP, ekt_cfg.FRONT_END_SERVER_PORT)
            net.send_data(json.dumps({"cmd": "set_symbol_rate_data", "symbol_rate": str(SYMBOL_RATE[1])}))
            time.sleep(1)
예제 #8
0
        if loop_lock_mark == True:
            pass
        else:
            continue

        if FREQUENCY_LEVEL_OFFSET[0] < 400:
            CURRENT_BANDWIDTH = 7
            specan = Ektsfu(sfu_ip)
            specan.set_digitaltv_framing_fftsize_dvbt2("M32K")
        else:
            CURRENT_BANDWIDTH = 8
            specan = Ektsfu(sfu_ip)
            specan.set_digitaltv_framing_fftsize_dvbt2("M32E")

        CURRENT_FREQUENCY = FREQUENCY_LEVEL_OFFSET[0]
        LEVEL_OFFSET_FREQUENCY = find_level_offset_by_frequency(
            "DVBT_T2_FREQUENCY_LEVEL_OFFSET", CURRENT_FREQUENCY)
        LEVEL_50 = str("%.2f" % (-50 - LEVEL_OFFSET_FREQUENCY))

        specan = Ektsfu(sfu_ip)
        specan.set_frequency_frequency_frequency(
            str(int(FREQUENCY_LEVEL_OFFSET[0])) + "MHz")
        specan = Ektsfu(sfu_ip)
        specan.set_digitaltv_framing_channelbandwidth_dvbt2("BW_{}".format(
            str(CURRENT_BANDWIDTH)))
        specan = Ektsfu(sfu_ip)
        specan.set_level_level_offset(str(LEVEL_OFFSET_FREQUENCY))
        specan = Ektsfu(sfu_ip)
        specan.set_level_level_level("dBm", str(LEVEL_50))

        net = ekt_net.EktNetClient(ekt_cfg.FRONT_END_SERVER_IP,
                                   ekt_cfg.FRONT_END_SERVER_PORT)
예제 #9
0
FFT_SIZE_8K = "M8K"

MODULATION_QPSK = "T4"
MODULATION_16QAM = "T16"
MODULATION_64QAM = "T64"

CODE_RATE_1_2 = "R1_2"
CODE_RATE_2_3 = "R2_3"
CODE_RATE_3_4 = "R3_4"

GUARD_G1_4 = "G1_4"
GUARD_G1_8 = "G1_8"

FREQUENCY_474 = 474
LEVEL_OFFSET_474 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 474.0)
LEVEL_60_474 = str("%.2f" % (-60 - LEVEL_OFFSET_474))

FREQUENCY_666 = 666
LEVEL_OFFSET_666 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 666.0)
LEVEL_60_666 = str("%.2f" % (-60 - LEVEL_OFFSET_666))

FREQUENCY_858 = 858
LEVEL_OFFSET_858 = find_level_offset_by_frequency(
    "DVBT_T2_FREQUENCY_LEVEL_OFFSET", 858.0)
LEVEL_60_858 = str("%.2f" % (-60 - LEVEL_OFFSET_858))

PARAMETER_LIST = [[
    FFT_SIZE_8K, MODULATION_64QAM, CODE_RATE_2_3, GUARD_G1_8, 3, None
], [FFT_SIZE_8K, MODULATION_64QAM, CODE_RATE_3_4, GUARD_G1_4, 7, None]]
예제 #10
0
import datetime
import os, sys

parentdir = os.path.dirname(
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, parentdir)
from ekt_lib import ekt_net, ekt_cfg
from ekt_lib.ekt_sfu import Ektsfu
from pathlib2 import Path
from ekt_lib.ekt_stb_tester import stb_tester_execute_testcase
from ekt_lib.threshold_algorithm_SFU import mosaic_algorithm
from ekt_lib.ekt_utils import write_test_result, write_json_file, read_json_file, find_level_offset_by_frequency, \
    j83_2_channel_bandwidth_json_to_csv

FREQUENCY_666 = 666
LEVEL_OFFSET_666 = find_level_offset_by_frequency(
    "ANNEXB_FREQUENCY_LEVEL_OFFSET", 666)
LEVEL_50_666 = str("%.2f" % (-50 - LEVEL_OFFSET_666))

MODULATION_64QAM = "J64"
MODULATION_256QAM = "J256"

SYMBOL_RATE_5361 = ["5.361e6", "5361"]

PARAMETER_LIST = [[
    FREQUENCY_666, LEVEL_OFFSET_666, LEVEL_50_666, MODULATION_256QAM,
    SYMBOL_RATE_5361, None
]]

my_file = Path("../../ekt_json/j83_2_channel_bandwidth.json")
if my_file.exists():
    pass