예제 #1
0
ModemArgInfoList ModemFMStereo::getSettings() {
    ModemArgInfoList args;
    
    ModemArgInfo demphArg;
    demphArg.key = "demph";
    demphArg.name = "De-emphasis";
    demphArg.value = std::to_string(_demph);
    demphArg.description = "FM Stereo De-Emphasis, typically 75us in US/Canada, 50us elsewhere.";
    
    demphArg.type = ModemArgInfo::STRING;
    
    std::vector<std::string> demphOptNames;
    demphOptNames.push_back("None");
    demphOptNames.push_back("10us");
    demphOptNames.push_back("25us");
    demphOptNames.push_back("32us");
    demphOptNames.push_back("50us");
    demphOptNames.push_back("75us");
    demphArg.optionNames = demphOptNames;
    
    std::vector<std::string> demphOpts;
    demphOpts.push_back("0");
    demphOpts.push_back("10");
    demphOpts.push_back("25");
    demphOpts.push_back("32");
    demphOpts.push_back("50");
    demphOpts.push_back("75");
    demphArg.options = demphOpts;

    args.push_back(demphArg);
    
    return args;
}
예제 #2
0
ModemArgInfoList ModemGMSK::getSettings() {
    ModemArgInfoList args;
    
    ModemArgInfo fdelayArg;
    fdelayArg.key = "fdelay";
    fdelayArg.name = "Filter delay";
    fdelayArg.value = std::to_string(_fdelay);
    fdelayArg.description = "Filter delay in samples";
    fdelayArg.type = ModemArgInfo::INT;
    fdelayArg.units = "samples";
    fdelayArg.range = ModemRange(1,128);
    args.push_back(fdelayArg);
    
    ModemArgInfo spsArg;
    spsArg.key = "sps";
    spsArg.name = "Samples / symbol";
    spsArg.value = std::to_string(_sps);
    spsArg.description = "Modem samples-per-symbol";
    spsArg.type = ModemArgInfo::INT;
    spsArg.units = "samples/symbol";
    spsArg.range = ModemRange(2,512);
    args.push_back(spsArg);
    
    ModemArgInfo ebfArg;
    ebfArg.key = "ebf";
    ebfArg.name = "Excess bandwidth";
    ebfArg.value = std::to_string(_ebf);
    ebfArg.description = "Modem excess bandwidth factor";
    ebfArg.type = ModemArgInfo::FLOAT;
    ebfArg.range = ModemRange(0.1,0.49);
    args.push_back(ebfArg);

    return args;
}
예제 #3
0
ModemArgInfoList ModemFSK::getSettings() {
    ModemArgInfoList args;
    
    ModemArgInfo bpsArg;
    bpsArg.key = "bps";
    bpsArg.name = "Bits/symbol";
    bpsArg.value = std::to_string(bps);
    bpsArg.description = "Modem bits-per-symbol";
    bpsArg.type = ModemArgInfo::STRING;
    bpsArg.units = "bits";
    
    std::vector<std::string> bpsOpts;
    bpsOpts.push_back("1");
    bpsOpts.push_back("2");
    bpsOpts.push_back("4");
    bpsOpts.push_back("8");
    bpsOpts.push_back("16");
    bpsArg.options = bpsOpts;
    
    args.push_back(bpsArg);
    
    ModemArgInfo spsArg;
    spsArg.key = "sps";
    spsArg.name = "Symbols/second";
    spsArg.value = std::to_string(sps);
    spsArg.description = "Modem symbols-per-second";
    spsArg.type = ModemArgInfo::INT;
    spsArg.range = ModemRange(10,115200);
    std::vector<std::string> spsOpts;
    
    args.push_back(spsArg);
    
    ModemArgInfo bwArg;
    bwArg.key = "bw";
    bwArg.name = "Signal bandwidth";
    bwArg.value = std::to_string(bw);
    bwArg.description = "Total signal bandwidth";
    bwArg.type = ModemArgInfo::FLOAT;
    bwArg.range = ModemRange(0.1,0.49);
    args.push_back(bwArg);

    return args;
}
예제 #4
0
ModemArgInfoList ModemAPSK::getSettings() {
    ModemArgInfoList args;
    
    ModemArgInfo consArg;
    consArg.key = "cons";
    consArg.name = "Constellation";
    consArg.description = "Modem Constellation Pattern";
    consArg.value = std::to_string(cons);
    consArg.type = ModemArgInfo::STRING;
    std::vector<std::string> consOpts;
    consOpts.push_back("4");
    consOpts.push_back("8");
    consOpts.push_back("16");
    consOpts.push_back("32");
    consOpts.push_back("64");
    consOpts.push_back("128");
    consOpts.push_back("256");
    consArg.options = consOpts;
    args.push_back(consArg);
    
    return args;
}