Сквозная симуляция дистанционного управления CCSDS с нарушениями RF и коррекции

В этом примере показано, как измерить частоту ошибок по битам (BER) и количество модулей передачи линии связи (CLTUs), потерянный в Консультативном Комитете по Системам передачи и обработки данных Пробела (CCSDS) дистанционное управление (TC) ссылка. Пример добавляет нарушения фронтенда радиочастоты (RF) и аддитивный белый гауссов шум (AWGN) к ссылке.

Введение

TC CCSDS обычно используется для отправки команд от наземной станции до космического корабля. Приемники TC CCSDS подвергаются большим ошибкам частоты из-за неопределенности частоты в относящихся к космическому кораблю приемниках и доплеровском сдвиге частоты. Чтобы компенсировать большие смещения частоты, наземные станции выполняют развертку поставщика услуг в частоте или используют основанное на БПФ приобретение в космическом корабле во время спутникового приобретения. В этом примере показано, как добавить смещение частоты на 200 кГц к сигналу и использовать основанное на БПФ приобретение для коррекции.

Для каждого сигнала к шумовому отношению (ОСШ) указывают, формы волны TC CCSDS, которые сгенерированы с CLTU и последовательностью приобретения, искажены нарушениями RF и проходятся канал AWGN. Пример показывает, как смоделировать эти нарушения RF:

  • Несущая частота и фаза возмещены

  • Частота поднесущей и фаза возмещены

  • Синхронизация фазы возмещена

Приемник TC CCSDS компенсирует нарушения, и системы координат передачи (TFs) в CLTUs восстанавливаются. Этот пример поддерживает BPSK, PCM/PM/biphase-L, и PCM/PSK/PM схемы модуляции. Нарушения поднесущей применимы только с PCM/PSK/PM схемой модуляции. Эти схемы модуляции [8] используются, чтобы сгенерировать форму волны TC CCSDS, в форме основополосных выборок синфазной квадратуры (IQ).

  • PCM/PSK/PM: линия закодированный сигнал согласно формату импульсной модуляции кода (PCM) является манипулированием сдвига фазы (PSK), модулируемым на поднесущей синусоиды и затем фазе, модулируемой (PM) на остаточном поставщике услуг.

  • PCM/PM/biphase-L: двухфазный-L закодированные данные (Манчестера) являются фазой, модулируемой на остаточном поставщике услуг.

  • BPSK: Подавленная модуляция поставщика услуг при помощи данных невозврата к нулю (NRZ) по поставщику услуг.

Этот рисунок показывает шаги обработки, вовлеченные в восстановление систем координат передачи.

Этот рисунок показывает работу приемника, которая включает компенсацию нарушений RF, демодуляцию, структурирует синхронизацию и декодирование систем координат передачи.

Чтобы восстановить TFs с полученной формы волны, выполните эти шаги.

  1. Крупная коррекция частоты: Используйте основанный на БПФ алгоритм, чтобы оценить смещение частоты.

  2. Несущая частота и отслеживание фазы: Используйте замкнутый цикл фазы (PLL) второго порядка [1] для поставщика услуг, отслеживающего.

  3. Частота поднесущей и отслеживание фазы: Используйте Схему Костаса второго порядка [1] для отслеживания поднесущей.

  4. Отслеживание синхронизации символа и демодуляция: Используйте цикл отслеживания перехода данных (DTTL) второго порядка [3] модуль для временной синхронизации и демодуляции символа [1].

  5. Синхронизация системы координат и декодирование: Используйте твердый основанный на символе алгоритм для кода Bose Chaudhuri Hocquenghem (BCH) и мягкий основанный на символе алгоритм для кода низкой проверки четности плотности (LDPC).

Этот рисунок показывает шаги обработки, которые вовлечены в синхронизацию системы координат и декодирование TFs [4].

  1. Поиск запускает последовательность: Когда кодирование канала является BCH, входящий поток битов ищется поразрядно шаблон последовательности запуска. Когда кодирование канала является LDPC, входящий мягкий поток символов ищется с мягким коррелятором шаблон последовательности запуска. Для BCH допустимое количество ошибок в последовательности запуска 0 или 1 (в зависимости от режима декодирования). В режиме с обнаружением ошибок допустимое количество ошибок в последовательности запуска 0. В режиме с коррекцией ошибок допустимое количество ошибок в последовательности запуска равняется 1.

  2. Декодирование: Когда последовательность запуска обнаруживается, операция декодирования начинается. Кодовые комбинации (CWs) декодируются и опционально дерандомизируются.

  3. Отклонение CW или обнаружение последовательности хвоста: Если декодер имеет какой-либо отказ декодирования или какие-либо неоткорректированные ошибки в декодируемом выходе, данные из этой не пройдено CW не передаются операциям подуровня канала передачи данных. CW отклоняется, и поиск перезапусков последовательности запуска. Если последовательность хвоста присутствует, ищите последовательность хвоста, чтобы обнаружить конец CLTU. Для декодирования BCH используется метод отклонения CW. Для LDPC используйте корреляцию последовательности хвоста или отклонение CW. Когда никакая последовательность хвоста не используется, поиск последовательности запуска должен возобновиться в начале неоткорректированной CW. Когда последовательность хвоста используется, поиск может возобновиться в конце неоткорректированной CW.

Настройка симуляции

Сконфигурируйте количество выборок на уровень символа и символ.

% Samples per symbol
% Due to the low symbol rate and 200 KHz frequency offset, a large value of
% 200 samples per symbol must be used as a default value with
% PCM/PSK/PM modulation. For BPSK and PCM/PM/biphase-L modulation, a
% default value of 20 samples per symbol is used (due to medium and high
% symbol rates).
sps = 20;
% Symbol rate
% The symbol rates specified in TC for each modulation are:
% - For PCM/PSK/PM modulation, the coded symbol rates are 4000, 2000, 1000,
%   500, 250, 125, 62.5, 31.25, 15.625, or 7.8125 symbols/s (as specified in
%   CCSDS TC recommendation [6]).
% - For PCM/PM/biphase-L modulation, the coded symbol rates are 8000, 16000,
%   32000, 64000, 128000, or 256000 symbols/s.
% - For BPSK modulation, the coded symbol rates are 1000, 2000, 4000, 8000,
%   16000, 32000, 64000, 128000, 256000, 512000, 1024000, or 2048000
%   symbols/s.
symbolRate = 2048000;

DTTL для синхронизации символа выполняет лучше с четным числом выборок на символ. Для нечетного числа выборок на символ ошибочная оценка синхронизации является ненулевой при совершенном отслеживании синхронизации смещения. Ненулевая ошибка синхронизации вырывает DTTL от совершенного условия отслеживания.

Сконфигурируйте и отобразите параметры передачи TC CCSDS.

cfg = ccsdsTCConfig;
cfg.ChannelCoding = "BCH";
cfg.Modulation = "BPSK";
cfg.ModulationIndex = 1.2; % Applicable with PCM/PSK/PM and PCM/PM/biphase-L. Supported range in this example is [0.2 1.5].
if strcmpi(cfg.Modulation,"PCM/PSK/PM")
    cfg.SymbolRate = symbolRate;
end
cfg.SamplesPerSymbol = sps
cfg = 
  ccsdsTCConfig with properties:

       DataFormat: "CLTU"
    ChannelCoding: "BCH"
    HasRandomizer: 1
       Modulation: "BPSK"

Сконфигурируйте параметры приемника.

normLoopBWCarrier = 0.005;      % Normalized loop bandwidth for carrier synchronizer
normLoopBWSubcarrier = 0.00005; % Normalized loop bandwidth for subcarrier synchronizer 
normLoopBWSymbol = 0.005;       % Normalized loop bandwidth for symbol synchronizer

Чтобы уменьшать шумовой вклад в цикле, уменьшите пропускную способность цикла. Область значений получения по запросу - в смещения частоты также уменьшается из-за декремента в пропускной способности цикла. Когда вы используете маленькую пропускную способность цикла в модулях синхронизации, приобретение занимает более длительное время, чтобы сходиться. Чтобы улучшать производительность в низком SNRs, уменьшайте пропускную способность цикла и используйте более высокое значение для длины последовательности приобретения. Если циклы не отслеживают смещения, полагайте, что увеличение пропускной способности цикла увеличивает область значений получения по запросу - в.

Параметры симуляции

Этот пример выполняет две пакетных передачи для многой энергии на символ к шумовой степени спектральное отношение плотности (Es/No) точки. Es/No может быть вектором или скаляром. Для статистически допустимых результатов BER запустите симуляцию по крайней мере для 1 000 количеств передач.

numBurst  = 2;                  % Number of burst transmissions
EsNodB = [8 8.5];               % Es/No in dB
SNRIn = EsNodB - 10*log10(sps); % SNR in dB from Es/No

Обработка цепи

Искаженная форма волны TC CCSDS с последовательностью приобретения и одним CLTU обрабатывается за один раз. Чтобы синхронизировать полученные данные и восстановить TFs, эти шаги обработки происходят.

  1. Сгенерируйте биты в TF TC.

  2. Сгенерируйте форму волны TC для последовательности приобретения с чередованием единиц и нулей.

  3. Сгенерируйте форму волны TC CCSDS для TFs со случайными битами.

  4. Примените формирование импульса с помощью фильтра приподнятого косинуса квадратного корня (применимый только с модуляцией BPSK).

  5. Примените частоту поднесущей и смещение фазы (применимый только с PCM/PSK/PM модуляцией).

  6. Примените смещение фазы и несущая частота.

  7. Примените смещение фазы синхронизации.

  8. Передайте переданный сигнал через канал AWGN.

  9. Откорректируйте крупную частоту и смещение фазы.

  10. Отфильтруйте полученный сигнал.

  11. Откорректируйте смещение фазы и несущая частота.

  12. Откорректируйте частоту поднесущей и смещение фазы (применимый только с PCM/PSK/PM модуляцией).

  13. Откорректируйте смещение синхронизации и демодуляцию символа.

  14. Обнаружьте запуск CLTU и декодируйте TFs.

% Initialization of variables to store BER and number of CLTUs lost
bitsErr = zeros(length(SNRIn),1);
cltuErr = zeros(length(SNRIn),1);

% Square root raised cosine (SRRC) transmit and receive filter objects for BPSK
if strcmpi(cfg.Modulation,"BPSK")
    % SRRC transmit filter object
    txfilter = comm.RaisedCosineTransmitFilter;
    txfilter.RolloffFactor = 0.35;    % Filter rolloff
    txfilter.FilterSpanInSymbols = 6; % Filter span
    txfilter.OutputSamplesPerSymbol = sps;
    % SRRC receive filter object
    rxfilter = comm.RaisedCosineReceiveFilter;
    rxfilter.RolloffFactor = 0.35;    % Filter rolloff
    rxfilter.FilterSpanInSymbols = 6; % Filter span
    rxfilter.DecimationFactor = 1;
    rxfilter.InputSamplesPerSymbol = sps;
end

% Sample rate
if strcmpi(cfg.Modulation,"PCM/PM/biphase-L")
    % In CCSDS TC recommendation [6] section 2.2.7, coded symbol rates are
    % defined prior to biphase-L encoding.
    fs = 2*sps*symbolRate; % Biphase-L encoding has 2 symbols for each bit
else
    fs = sps*symbolRate;
end

for iSNR = 1:length(SNRIn)

    % Set the random number generator to default
    rng default

    % SNR value in the loop
    SNRdB = SNRIn(iSNR);

    % Initialization of error computing parameters
    totNumErrs = 0;
    numErr = 0;
    totNumBits = 0;
    cltuLost = 0;

    for iBurst = 1:numBurst

        % Acquisition sequence with 800 octets
        acqSeqLength = 6400;
        acqBits = repmat([0;1], 0.5*acqSeqLength, 1); % Alternating ones and zeros with zero as starting bit, starting bit can be either zero or one

        % CCSDS TC Waveform for acquisition sequence
        % Maximum subcarrier frequency offset specified in CCSDS TC is
        % ±(2*1e-4)*fsc, where fsc is the subcarrier frequency
        subFreqOffset = 3.2; % Subcarrier frequency offset in Hz
        subPhaseOffset = 4;  % Subcarrier phase offset in degrees
        % Frequency offset in Hz
        if strcmpi(cfg.Modulation,'PCM/PSK/PM')
            % Signal modulation along with subcarrier frequency and phase offset
            acqSymb = HelperCCSDSTCSubCarrierModulation(acqBits,cfg,subFreqOffset,subPhaseOffset); 
        else
            % Signal modulation as per the specified scheme in CCSDS telecommmand
            % Subcarrier impairments are not applicable with BPSK and PCM/PM/biphase-L
            cfg.DataFormat = 'acquisition sequence';
            acqSymb = ccsdsTCWaveform(acqBits,cfg);
            cfg.DataFormat = 'CLTU';
        end

        % CCSDS TC waveform for CLTU
        transferFramesLength = 640;                   % Number of octets in the transfer frame
        inBits = randi([0 1],transferFramesLength,1); % Bits in the TC transfer frame
        if strcmpi(cfg.Modulation,'PCM/PSK/PM')
            % Encoded bits after TC synchronization and channel coding sublayer operations
            [~,encBits] = ccsdsTCWaveform(inBits,cfg);
            % Signal modulation along with subcarrier frequency and phase offset
            waveSymb = HelperCCSDSTCSubCarrierModulation(encBits,cfg,subFreqOffset,subPhaseOffset);
        else
            waveSymb = ccsdsTCWaveform(inBits,cfg);
        end

        % CCSDS TC waveform with acquisition sequence and CLTU
        waveform = [acqSymb;waveSymb];

        % Transmit filtering for BPSK
        if strcmpi(cfg.Modulation,'BPSK')
            % Pulse shaping using SRRC filter
            data = [waveform;zeros(txfilter.FilterSpanInSymbols,1)];
            txSig = txfilter(data);
        else
            txSig = waveform;
        end
       
        % Add carrier frequency and phase offset
        freqOffset = 200000;  % Frequency offset in Hz
        phaseOffset = 20;     % Phase offset in degrees
        if fs <= (2*(freqOffset+cfg.SubcarrierFrequency)) && strcmpi(cfg.Modulation,'PCM/PSK/PM')
            error('Sample rate must be greater than twice the sum of frequency offset and subcarrier frequency');
        elseif fs <= (2*freqOffset)
            error('Sample rate must be greater than twice the frequency offset');
        end
        pfo = comm.PhaseFrequencyOffset('FrequencyOffset',freqOffset, ...
            'PhaseOffset',phaseOffset,'SampleRate',fs);
        txSigOffset = pfo(txSig);

        % Timing offset as an integer number of samples
        timingErr = 5;        % Timing error must be <= 0.4*sps
        delayedSig  = [zeros(timingErr,1);txSigOffset]; 

        % Pass the signal through an AWGN channel
        rxSig = awgn(complex(delayedSig),SNRdB,'measured',iBurst);

        % Coarse carrier frequency synchronization
        if strcmpi(cfg.Modulation,'PCM/PSK/PM')
             % Coarse carrier frequency synchronization for PCM/PSK/PM
            coarseSync = HelperCCSDSTCCoarseFrequencyCompensator('FrequencyResolution',100,...
                'SampleRate',fs);
        else
            % Coarse carrier frequency synchronization for BPSK and PCM/PSK/biphase-L
            coarseSync = comm.CoarseFrequencyCompensator( ...
                'Modulation','BPSK','FrequencyResolution',100, ...
                'SampleRate',fs);
        end
        
        % Compensation for coarse frequency offset
        [rxCoarse,estCoarseFreqOffset] = coarseSync(rxSig);
        
        % Receive filtering 
        if strcmpi(cfg.Modulation,'BPSK')
            % SRRC receive filtering for BPSK
            rxFiltDelayed = rxfilter(rxCoarse);
            rxFilt = rxFiltDelayed(rxfilter.FilterSpanInSymbols*sps+1:end);
        else
            % Low-pass filtering for PCM/PSK/PM and PCM/PSK/biphase-L
            % Filtering is done with a lowpass filter to reduce the effect of
            % noise to the carrier phase tracking loop
            b = fir1(40,0.3); % Coefficients for 40th-order lowpass filter with cutoff frequency = 0.3*fs/2
            rxFiltDelayed = filter(b,1,[rxCoarse;zeros(0.5*(length(b)-1),1)]);
            % Removal of filter delay
            rxFilt = rxFiltDelayed(0.5*(length(b)-1)+1:end);
        end
        
        % Fine frequency and phase correction
        if strcmpi(cfg.Modulation,'BPSK')
            fineSync = comm.CarrierSynchronizer('SamplesPerSymbol',sps, ...
                'Modulation','BPSK','NormalizedLoopBandwidth',normLoopBWCarrier);
        else
            fineSync = HelperCCSDSTCCarrierSynchronizer('SamplesPerSymbol', ...
                cfg.SamplesPerSymbol,'NormalizedLoopBandwidth',normLoopBWCarrier);
        end
        [rxFine,phErr] = fineSync(rxFilt);

        % Subcarrier frequency and phase correction
        if strcmpi(cfg.Modulation,'PCM/PSK/PM')
            subSync = HelperCCSDSTCSubCarrierSynchronizer('SamplesPerSymbol',sps, ...
                'NormalizedLoopBandwidth',normLoopBWSubcarrier);
            [rxSub,subCarPhErr] = subSync(real(rxFine));
        else
            rxSub = real(rxFine);
        end

        % Timing synchronization and symbol demodulation
        timeSync = HelperCCSDSTCSymbolSynchronizer('SamplesPerSymbol',sps, ...
            'NormalizedLoopBandwidth',normLoopBWSymbol);
        [rxSym,timingErr] = timeSync(rxSub);
         
        % Search for start sequence and bit recovery
        bits = HelperCCSDSTCCLTUBitRecover(rxSym,cfg,'Error Correcting',0.8);
        bits = bits(~cellfun('isempty',bits)); % Removal of empty cell array contents
       
        % Length of transfer frames with fill bits
        if strcmpi(cfg.ChannelCoding,'BCH')
            messageLength = 56;
        else
            messageLength = 0.5*cfg.LDPCCodewordLength;
        end
        frameLength = messageLength*ceil(length(inBits)/messageLength);
        
        if (isempty(bits)) || (length(bits{1})~= frameLength) ||(length(bits)>1)
            cltuLost = cltuLost + 1;
        else
            numErr = sum(abs(double(bits{1}(1:length(inBits)))-inBits));
            totNumErrs = totNumErrs + numErr;
            totNumBits = totNumBits + length(inBits);
        end
    end
    bitsErr(iSNR) = totNumErrs/totNumBits;
    cltuErr(iSNR) = cltuLost;

    % Display of bit error rate and number of CLTUs lost
    fprintf([['\nBER with ', num2str(SNRdB+10*log10(sps)) ],' dB Es/No : %1.2e\n'],bitsErr(iSNR));
    fprintf([['\nNumber of CLTUs lost with ', num2str(SNRdB+10*log10(sps)) ],' dB Es/No : %d\n'],cltuErr(iSNR));
end
BER with 8 dB Es/No : 0.00e+00
Number of CLTUs lost with 8 dB Es/No : 0
BER with 8.5 dB Es/No : 0.00e+00
Number of CLTUs lost with 8.5 dB Es/No : 0

Результаты BER

Когда каждая точка Es/No завершается, результаты BER для симуляции построены. bitsErr массив с измеренным BER для всех, симулировал точки Es/No. Рисунок показывает результат симуляции, которые получены с 10 000 количеств передач и точек Es/No в области значений [4 7.5].

Дальнейшее исследование

Нормированная длина последовательности пропускной способности и приобретения цикла

Этот пример использует большое значение для длины последовательности приобретения (800 октетов), чтобы улучшать производительность синхронизаторов в низких значениях ОСШ. Эта таблица показывает нормированные значения пропускной способности цикла и выборки на символ, используемый в симуляции с каждой схемой модуляции для последовательности приобретения 800 октетов.

T = table({'BPSK';'PCM/PSK/PM';'PCM/PM/biphase-L'},[0.005; 0.0002; 0.0003], ...
          {'Not Applicable';0.00005;'Not Applicable'},[0.005; 0.0005; 0.0005], ...
          [20; 200; 20],[2048000; 4000; 256000],'VariableNames',{'Modulation','Carrier Synchronizer',...
          'Subcarrier Synchronizer','Symbol Synchronizer','Samples per symbol','Symbol rate'})
T=3×6 table
         Modulation         Carrier Synchronizer    Subcarrier Synchronizer    Symbol Synchronizer    Samples per symbol    Symbol rate
    ____________________    ____________________    _______________________    ___________________    __________________    ___________

    {'BPSK'            }            0.005             {'Not Applicable'}              0.005                   20             2.048e+06 
    {'PCM/PSK/PM'      }           0.0002             {[    5.0000e-05]}             0.0005                  200                  4000 
    {'PCM/PM/biphase-L'}           0.0003             {'Not Applicable'}             0.0005                   20              2.56e+05 

Можно использовать этот пример, чтобы далее исследовать эти модули синхронизации.

  • Синхронизация поставщика услуг: Чтобы улучшить точность оценки фазы, можно уменьшать шумовой вклад в циклы отслеживания путем уменьшения нормированной пропускной способности. Сокращение пропускной способности цикла уменьшает область значений получения по запросу - в, и приобретение занимает более длительное время, чтобы сходиться.

  • Синхронизация поднесущей: можно построить предполагаемое смещение поднесущей, чтобы идентифицировать более точную пропускную способность цикла. Чтобы помочь улучшить точность оценки частоты поднесущей, можно увеличить частоту дискретизации и ОСШ.

  • Синхронизация символа: DTTL для синхронизации символа выполняет хорошо в более высоком количестве выборок на символ. Когда вы увеличиваете выборки на символ, увеличения разрешения, и эффективность DTTL улучшается. Слишком много выборок на символ могут уменьшать ОСШ и влиять на эффективность. Если ОСШ меньше-15 дБ (из-за большого количества выборок на символ), эффективность циклов отслеживания затронута.

Для любого основанного на PLL цикла, чтобы действовать в очень низком ОСШ, пропускная способность цикла должна быть очень низкой. Эта низкая пропускная способность цикла уменьшает область значений получения по запросу - в. Для CLTUs с кодированием канала LDPC, если количество потерянного CLTUs высоко, можно уменьшать threshold значение для обнаружения последовательности запуска в помощнике функционирует HelperCCSDSTCCLTUBitRecover. Можно также попытаться улучшить результаты BER путем выбора только CLTUs с очень высокой нормированной метрикой корреляции с последовательностью запуска. Максимизировать обнаружение системы координат и минимизировать ложное предупреждение, 0.8 используются в качестве порога обнаружения в этом примере. Чтобы уменьшать ложное предупреждение, можно увеличить пороговое значение обнаружения. Если вы увеличиваете пороговое значение обнаружения, процент раскрытых преступлений системы координат уменьшает.

Смещение частоты поднесущей с PCM/PSK/PM

Максимальное смещение частоты поднесущей, заданное в рекомендации [6] TC CCSDS, ±(2×10-4)fsc, где fsc частота поднесущей дистанционного управления. Необходимо рассмотреть максимум смещения частоты 3,2 Гц или 1,6 Гц с поднесущей синусоиды на 8 кГц или на 16 кГц, соответственно. Можно построить предполагаемое смещение частоты поднесущей, чтобы анализировать эффективность отслеживания поднесущей. Когда синхронизатор сходится, среднее значение оценки приблизительно равно входному значению смещения частоты поднесущей 3,2 Гц.

if strcmpi(cfg.Modulation,'PCM/PSK/PM')
    estSubCarFreqOffset = diff(subCarPhErr)*fs/(2*pi);
    rmean = cumsum(estSubCarFreqOffset)./(1:length(estSubCarFreqOffset))';
    plot(rmean)
    xlabel('Symbols')
    ylabel('Estimated Subcarrier Frequency Offset (Hz)')
    title('PCM/PSK/PM: Subcarrier Frequency Offset')
    grid on
end

Приложение

Пример использует эти функции помощника:

Библиография

  1. Дж. Вила-Вальс, М. Наварро, П. Клозас и М. Бертинелли, "Синхронизация бросает вызов в коммуникациях глубокого космоса", Космос IEEE и Журнал Электронных систем, издание 34, № 1, стр 16-27, январь 2019.

  2. М. Бальди и др., "Современные приемники дистанционного управления космической миссии", Космос IEEE и Журнал Электронных систем, издание 32, № 6, стр 4-15, июнь 2017.

  3. S. Миллион и С. Инеди, "Эффекты плотности перехода символа на эффективности цикла отслеживания перехода данных в низких отношениях сигнал-шум", Международная конференция IEEE Продолжений по вопросам Коммуникационного ICC '95, Сиэтл, ВА, США, 1995, стр 1036-1040 vol.2.

  4. Синхронизация TC и кодирование канала. Рекомендация для стандартов системы передачи и обработки данных пробела, CCSDS 231.0-B-3. Синяя книга. Выпуск 3. Вашингтон, D.C.:CCSDS, сентябрь 2017.

  5. Синхронизация TC и кодирование канала. Сводные данные концепции и объяснения. CCSDS 230.1-G-2. Зеленая книга. Выпуск 2. Вашингтон, округ Колумбия: CCSDS, ноябрь 2012.

  6. Радиочастота и системы модуляции - часть 1. Заземлите станции и космический корабль. CCSDS 401.0-B-29. Синяя книга. Выпуск 29. Вашингтон, округ Колумбия: CCSDS, март 2019.

  7. Майкл Райс, цифровая связь - подход дискретного времени. Нью-Йорк: Prentice Hall, 2008.

  8. Нгуен, T.M., В.Л. Мартин и Курица-Geul Е. "Необходимая Пропускная способность, Нежелательная Эмиссия и КПД Степени Данных для Невязки и Подавленных Систем-a Поставщика услуг Сравнительное Исследование". Транзакции IEEE на электромагнитной совместимости 37, № 1 (февраль 1995): 34-50. https://doi.org/10.1109/15.350238.

Смотрите также

Объекты

Функции

Похожие темы