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

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

Введение

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

Для каждого сигнала к шумовому отношению (ОСШ) указывают, формы волны TC CCSDS, которые сгенерированы с CLTU и последовательностью приобретения, искажены нарушениями RF и проходятся канал АБГШ. Пример показывает, как смоделировать эти нарушения 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) на несущей.

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

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

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

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

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

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

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

  5. Кадровая синхронизация и декодирование: Используйте жесткий основанный на символе алгоритм для кода Боуза — Чоудхури — Хоквингема (БЧХ) и мягкий основанный на символе алгоритм для кода с низкой плотностью проверок на четность (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"

   Read-only properties:
    No properties.

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

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 запустите симуляцию по крайней мере для 1000 количеств передач.

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.

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

Объекты

Функции

Похожие темы