Правильный наклон синхроимпульса символа
The comm.SymbolSynchronizer
Система object™ корректирует наклон синхроимпульса символа между передатчиком с одной несущей и приемником для схем модуляции PAM, PSK, QAM и OQPSK. Для получения дополнительной информации см. раздел «Обзор синхронизации символов».
Примечание
Входной сигнал действует на базисе скорости дискретизации, и выходной сигнал действует на базисе скорости символа.
Для исправления наклона синхроимпульса символа синхронизации:
Создайте comm.SymbolSynchronizer
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает символьный синхронизатор Системный объект для коррекции синхроимпульса между передатчиком с одной несущей и приемником.symbolSync
= comm.SymbolSynchronizer
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Для примера, symbolSync
= comm.SymbolSynchronizer(Name
,Value
)comm.SymbolSynchronizer('Modulation','OQPSK')
конфигурирует системный объект символьной синхронизации для входного сигнала, модулированного OQPSK. Заключайте каждое имя свойства в кавычки.
Настраиваемые DampingFactor
, NormalizedLoopBandwidth
, и DetectorGain
свойства позволяют вам оптимизировать эффективность синхронизатора в цикле симуляции, не освобождая объект.
Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release
функция разблокирует их.
Если свойство настраивается, можно изменить его значение в любой момент.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.
Modulation
- Тип модуляции'PAM/PSK/QAM'
(по умолчанию) | 'OQPSK'
Тип модуляции, заданный как 'PAM/PSK/QAM'
или 'OQPSK'
.
Настраиваемый: Нет
Типы данных: char
| string
TimingErrorDetector
- Метод детектора ошибок синхронизацииZero-Crossing (decision-directed)
(по умолчанию) | Gardner (non-data-aided)
| Early-Late (non-data-aided)
| Mueller-Muller (decision-directed)
Метод детектора ошибок синхронизации, заданный как Zero-Crossing (decision-directed)
, Gardner (non-data-aided)
, Early-Late (non-data-aided)
, или Mueller-Muller (decision-directed)
. Это свойство присваивает схему выявления ошибок синхронизации, используемую в синхронизаторе. Для получения дополнительной информации смотрите Выявление ошибок синхронизации (TED).
Настраиваемый: Нет
Типы данных: char
| string
SamplesPerSymbol
- Выборки по символу2
(по умолчанию) | целое число, больше 1Выборки на символ, заданные как целое число, больше 1.
Настраиваемый: Нет
Типы данных: double
DampingFactor
- Коэффициент затухания контурного фильтра1
(по умолчанию) | положительная скалярная величинаКоэффициент затухания фильтра цикла, заданный как положительная скалярная величина. Для получения дополнительной информации см. Раздел «Фильтр цикла».
Настраиваемый: Да
Типы данных: double
| single
NormalizedLoopBandwidth
- Нормированная полоса пропускания контурного фильтра0.01
(по умолчанию) | скаляром в области значений (0, 1)Нормированная полоса пропускания цикла фильтра, заданная в виде скаляра в область значений (0, 1). Шумовая полоса нормирована к скорости дискретизации входного сигнала. Для получения дополнительной информации см. Раздел «Фильтр цикла».
Примечание
Чтобы гарантировать блокировку символа синхронизатора, установите NormalizedLoopBandwidth
свойство на значение меньше 0.1
.
Настраиваемый: Да
Типы данных: double
| single
DetectorGain
- Коэффициент усиления фазового детектора2.7
(по умолчанию) | положительная скалярная величинаФаза коэффициент усиления детектора, заданный как положительная скалярная величина.
Настраиваемый: Да
Типы данных: double
| single
Для версий ранее R2016b используйте step
функция для запуска алгоритма системного объекта. Аргументы в step
является созданным объектом, далее приводятся аргументы, показанные в этом разделе.
Для примера, y = step(obj,x)
и y = obj(x)
выполнять эквивалентные операции.
корректирует наклон синхроимпульса символа между передатчиком с одной несущей и приемником на основе входных выборок и выходов синхронизированных символов.symbols
= symbolSync(samples
)
Вход действует на базисе частоты дискретизации, а выходной сигнал действует на базисе скорости символа.
Можно настроить DampingFactor
, NormalizedLoopBandwidth
, и DetectorGain
свойства для повышения эффективности синхронизатора.
samples
- Входные выборкиВход отсчеты, заданные как скаляр или вектор-столбец сигнала с одной несущей, модулированного PAM-, PSK-, QAM- или OQPSK.
Типы данных: double
| single
Поддержка комплексного числа: Да
symbols
- Синхронизированные символыСинхронизированные символы, возвращенные как вектор-столбец переменного размера. Символы выхода наследуют тип данных от выборок входов. Для входа с размерностями N самп-на-1, этот выход имеет размерности N сим-на-1. N sym приблизительно равен N sump, разделенному на N sps, где N sps равно SamplesPerSymbol
значение свойства. Если выход превышает максимальный размер вывода , она усечена.
timingErr
- Предполагаемая ошибка синхронизацииПредполагаемая ошибка синхронизации для каждой выборки входа, возвращенная в виде скаляра в область значений [0, 1] или вектор-столбец элементов в область значений [0, 1]. Предполагаемая временная ошибка нормирована к входной частоте выборки. timingErr
имеет тот совпадающий тип данных и размер, что и вход samples
.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
comm.SymbolSynchronizer
Исправьте фиксированную ошибку символа синхронизации на зашумленном сигнале QPSK. Проверьте вероятность битовой ошибки (BER) синхронизируемого принимаемого сигнала.
Инициализируйте параметры симуляции.
M = 4; % Modulation order for QPSK nSym = 5000; % Number of symbols in a packet sps = 4; % Samples per symbol timingErr = 2; % Samples of timing error snr = 15; % Signal-to-noise ratio (dB)
Создайте корневой приподнятый косинус (RRC), передает и принимает системные объекты фильтра.
txfilter = comm.RaisedCosineTransmitFilter( ... 'OutputSamplesPerSymbol',sps); rxfilter = comm.RaisedCosineReceiveFilter( ... 'InputSamplesPerSymbol',sps,'DecimationFactor',2);
Создайте символьный синхронизатор Системный объект, чтобы исправить ошибку синхронизации.
symbolSync = comm.SymbolSynchronizer;
Сгенерируйте случайные M-арные символы и примените QPSK модуляцию.
data = randi([0 M-1],nSym,1); modSig = pskmod(data,M,pi/4);
Создайте объект задержки, чтобы ввести фиксированную ошибку синхронизации из 2 выборок. Поскольку фильтр RRC передачи выводит 4 выборки на символ, 1 выборка эквивалентна символу 1/4 через фиксированную задержку и канал.
fixedDelay = dsp.Delay(timingErr);
fixedDelaySym = ceil(fixedDelay.Length/sps); % Round fixed delay to nearest integer in symbols
Пропустите модулированный сигнал через передающий RRC фильтр при помощи txfilter
объект. Примените ошибку синхронизации сигнала при помощи fixedDelay
объект.
txSig = txfilter(modSig); delaySig = fixedDelay(txSig);
Пропустите задержанный сигнал через канал AWGN с отношением сигнал/шум 15 дБ.
rxSig = awgn(delaySig,snr,'measured');
Пропустите модулированный сигнал через приемный RRC-фильтр при помощи rxfilter
объект. Отобразите график поля точек. Из-за ошибки синхронизации принятый сигнал не совпадает с ожидаемым эталонным созвездием QPSK.
rxSample = rxfilter(rxSig); scatterplot(rxSample(1001:end),2)
Исправьте ошибку символа синхронизации при помощи symbolSync
объект. Отобразите график поля точек. Синхронизированный сигнал теперь выравнивается с ожидаемым созвездием QPSK.
rxSync = symbolSync(rxSample); scatterplot(rxSync(1001:end),2)
Демодулируйте сигнал QPSK.
recData = pskdemod(rxSync,M,pi/4);
Вычислите в символах общую системную задержку из-за фиксированной задержки и фильтров RRC передачи и приема.
sysDelay = dsp.Delay(fixedDelaySym + txfilter.FilterSpanInSymbols/2 + ...
rxfilter.FilterSpanInSymbols/2);
Вычислите BER с учетом задержки системы.
[numErr,ber] = biterr(sysDelay(data),recData)
numErr = 12
ber = 0.0012
Исправьте фиксированную ошибку символа синхронизации на шумном сигнале передачи BPSK. Проверьте вероятность битовой ошибки (BER) синхронизируемого принимаемого сигнала.
Инициализируйте параметры симуляции.
M = 2; % Modulation order for BPSK nSym = 20000; % Number of symbols in a packet sps = 4; % Samples per symbol timingErr = 2; % Samples of timing error snr = 15; % Signal-to-noise ratio (dB)
Создайте корневой приподнятый косинус (RRC), передает и принимает системные объекты фильтра.
txfilter = comm.RaisedCosineTransmitFilter(... 'OutputSamplesPerSymbol',sps); rxfilter = comm.RaisedCosineReceiveFilter(... 'InputSamplesPerSymbol',sps,'DecimationFactor',1);
Создайте символьный синхронизатор System object™, чтобы исправить ошибку синхронизации.
symbolSync = comm.SymbolSynchronizer(... 'SamplesPerSymbol',sps, ... 'NormalizedLoopBandwidth',0.01, ... 'DampingFactor',1.0, ... 'TimingErrorDetector','Early-Late (non-data-aided)');
Сгенерируйте символы случайных данных и примените BPSK модуляцию.
data = randi([0 M-1],nSym,1); modSig = pskmod(data,M);
Создайте объект задержки, чтобы ввести фиксированную ошибку синхронизации из 2 выборок. Поскольку фильтр RRC передачи выводит 4 выборки на символ, 1 выборка эквивалентна символу 1/4 через фиксированную задержку и канал.
fixedDelay = dsp.Delay(timingErr);
fixedDelaySym = ceil(fixedDelay.Length/sps); % Round fixed delay to nearest integer in symbols
Пропустите модулированный сигнал через передающий RRC фильтр при помощи txfilter
объект. Примените ошибку синхронизации сигнала при помощи fixedDelay
объект.
txSig = txfilter(modSig); delayedSig = fixedDelay(txSig);
Пропустите задержанный сигнал через канал AWGN.
rxSig = awgn(delayedSig,snr,'measured');
Пропустите модулированный сигнал через приемный RRC-фильтр при помощи rxfilter
объект. Отобразите график поля точек. Из-за ошибки синхронизации принятый сигнал не совпадает с ожидаемым опорным созвездием BPSK.
rxSample = rxfilter(rxSig); scatterplot(rxSample(10000:end),2)
Исправьте ошибку символа синхронизации при помощи symbolSync
объект. Отобразите график поля точек. Синхронизированный сигнал теперь выравнивается с ожидаемым созвездием BPSK.
rxSync = symbolSync(rxSample); scatterplot(rxSync(10000:end),2)
Демодулируйте сигнал BPSK.
recData = pskdemod(rxSync,M);
Вычислите в символах общую системную задержку из-за фиксированной задержки и фильтров RRC передачи и приема.
sysDelay = dsp.Delay(fixedDelaySym + txfilter.FilterSpanInSymbols/2 + ...
rxfilter.FilterSpanInSymbols/2);
Вычислите BER с учетом задержки системы.
[numErr1,ber1] = biterr(sysDelay(data),recData)
numErr1 = 8
ber1 = 4.0000e-04
Исправьте символы времени и ошибки смещения частоты при помощи comm.SymbolSynchronizer
и comm.CarrierSynchronizer
Системные объекты.
Строение
Инициализируйте параметры симуляции.
M = 16; % Modulation order nSym = 2000; % Number of symbols in a packet sps = 2; % Samples per symbol spsFilt = 8; % Samples per symbol for filters and channel spsSync = 2; % Samples per symbol for synchronizers lenFilt = 10; % RRC filter length
Создайте соответствующую пару корневых приподнятых Системных объектов фильтра косинуса (RRC) для передатчика и приемника.
txfilter = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',lenFilt, ... 'OutputSamplesPerSymbol',spsFilt,'Gain',sqrt(spsFilt)); rxfilter = comm.RaisedCosineReceiveFilter('FilterSpanInSymbols',lenFilt, ... 'InputSamplesPerSymbol',spsFilt,'DecimationFactor',spsFilt/2,'Gain',sqrt(1/spsFilt));
Создайте системный объект со смещением частоты фазы, чтобы ввести доплеровский сдвиг на 100 Гц.
doppler = comm.PhaseFrequencyOffset('FrequencyOffset',100, ... 'PhaseOffset',45,'SampleRate',1e6);
Создайте Системный объект переменной задержки, чтобы ввести смещения времени.
varDelay = dsp.VariableFractionalDelay;
Создайте несущую и символьный синхронизатор Системные объекты, чтобы исправить доплеровский сдвиг и смещение по времени, соответственно.
carrierSync = comm.CarrierSynchronizer('SamplesPerSymbol',spsSync); symbolSync = comm.SymbolSynchronizer( ... 'TimingErrorDetector','Early-Late (non-data-aided)', ... 'SamplesPerSymbol',spsSync);
Создайте сигнальное созвездие Системные объекты, чтобы просмотреть результаты.
refConst = qammod(0:M-1,M,'UnitAveragePower',true); cdReceive = comm.ConstellationDiagram('ReferenceConstellation',refConst, ... 'SamplesPerSymbol',spsFilt,'Title','Received Signal'); cdDoppler = comm.ConstellationDiagram('ReferenceConstellation',refConst, ... 'SamplesPerSymbol',spsSync,'Title','Frequency Corrected Signal'); cdTiming = comm.ConstellationDiagram('ReferenceConstellation',refConst, ... 'SamplesPerSymbol',spsSync,'Title','Frequency and Timing Synchronized Signal');
Основной цикл обработки
Основной цикл обработки:
Генерирует случайные символы и применяет QAM модуляцию.
Фильтрует модулированный сигнал.
Применяет смещения частоты и времени.
Передает переданный сигнал через канал AWGN.
Фильтрует принятый сигнал.
Исправляет доплеровский сдвиг.
Исправляет смещение синхронизации.
for k = 1:15 data = randi([0 M-1],nSym,1); modSig = qammod(data,M,'UnitAveragePower',true); txSig = txfilter(modSig); txDoppler = doppler(txSig); txDelay = varDelay(txDoppler,k/15); rxSig = awgn(txDelay,25); rxFiltSig = rxfilter(rxSig); rxCorr = carrierSync(rxFiltSig); rxData = symbolSync(rxCorr); end
Визуализация
Постройте график сигнальных созвездий принимаемого сигнала, сигнала с поправкой на частоту и синхронизируемого сигнала частоты и синхронизации. Конкретные точки созвездия не могут быть идентифицированы в принятом сигнале и могут быть только частично идентифицированы в сигнале с коррекцией частоты. Однако синхронизируемый по времени и частоте сигнал выравнивается с ожидаемыми точками созвездия QAM.
cdReceive(rxSig)
cdDoppler(rxCorr)
cdTiming(rxData)
Исправьте монотонно увеличивающуюся ошибку символа синхронизации на сигнале шумного 8-PSK. Отображение нормированной ошибки синхронизации.
Инициализируйте параметры симуляции.
M = 8; % Modulation order nSym = 5000; % Number of symbol in a packet sps = 2; % Samples per symbol nSamp = sps*nSym; % Number of samples in a packet
Создайте корневой приподнятый косинус (RRC), передает и принимает системные объекты фильтра.
txfilter = comm.RaisedCosineTransmitFilter( ... 'OutputSamplesPerSymbol',sps); rxfilter = comm.RaisedCosineReceiveFilter( ... 'InputSamplesPerSymbol',sps, ... 'DecimationFactor',1);
Создайте переменную дробную задержку System object™, чтобы ввести монотонно увеличивающуюся ошибку синхронизации.
varDelay = dsp.VariableFractionalDelay;
Создайте символьный синхронизатор Системный объект, чтобы исправить ошибку синхронизации.
symbolSync = comm.SymbolSynchronizer(... 'TimingErrorDetector','Mueller-Muller (decision-directed)', ... 'SamplesPerSymbol',sps);
Сгенерируйте случайные 8-арные символы и примените 8-PSK модуляцию.
data = randi([0 M-1],nSym,1); modSig = pskmod(data,M,pi/8);
Пропустите модулированный сигнал через фильтр передачи приподнятого косинуса и примените монотонно увеличивающуюся задержку синхронизации.
vdelay = (0:1/nSamp:1-1/nSamp)'; txSig = txfilter(modSig); delaySig = varDelay(txSig,vdelay);
Пропустите задержанный сигнал через канал AWGN с отношением сигнал/шум 15 дБ.
rxSig = awgn(delaySig,15,'measured');
Пропустите модулированный сигнал через приемный RRC-фильтр. Отобразите график поля точек. Из-за ошибки синхронизации принятый сигнал не совпадает с ожидаемым 8-PSK эталонным созвездием.
rxSample = rxfilter(rxSig); scatterplot(rxSample,sps)
Исправьте ошибку символа синхронизации при помощи symbolSync
объект. Отобразите график поля точек. Синхронизированный сигнал теперь выравнивается с ожидаемым 8-PSK созвездием.
[rxSym,tError] = symbolSync(rxSample); scatterplot(rxSym(1001:end))
Постройте график оценки ошибки синхронизации. Со временем нормированная ошибка синхронизации увеличивается до 1 выборки.
figure plot(vdelay,tError) xlabel('Time (s)') ylabel('Timing Error (samples)')
Алгоритм символьной синхронизации основан на цикле фазовой автоподстройки (ФАП), который состоит из четырех компонентов:
Детектор временных ошибок (TED)
Делающий интерполяции
Контроллер интерполяции
Фильтр цикла
Для модуляции OQPSK синфазные и квадратурные компоненты сигнала сначала выравниваются (как в модуляции QPSK) с использованием буфера состояний, чтобы кэшировать последнюю половину символа предыдущего входного сигнала. После начального выравнивания оставшийся процесс синхронизации аналогичен процессу модуляции QPSK.
Этот блок показывает пример синхронизатора синхронизации времени. На рисунке временная характеристика символа PLL работает с x (t), принятым сигналом дискретизации после согласованной фильтрации. PLL синхронизации символов выводит сигнал символа ,, после корректировки на синхроимпульс между передатчиком и приемником.
Синхронизатор временных параметров символа поддерживает методы TED с использованием данных и TED, ориентированные на принятие решений. В этой таблице показаны выражения оценки времени для опций метода TED.
Метод TED | Выражение |
---|---|
Пересечение нулем (направленное на принятие решения) | |
Гарднер (без использования данных) | |
Раннее-позднее (без использования данных) | |
Мюллер-Мюллер (ориентированный на принятие решений) |
TED без использования данных использует принятые выборки без какого-либо знания переданного сигнала или результатов оценки канала. TED без использования данных используется, чтобы оценить ошибку синхронизации для сигналов со схемами модуляции, которые имеют точки созвездия, выровненные по синфазной или квадратурной оси. Примеры сигналов, подходящих для методов Гарднера или раннего-позднего времени, включают модулированные QPSK сигналы с нулевым смещением фазы, который имеет точки в {1 + 0 i, 0 + 1 i, -1 + 0 i, 0−1<reservedrangesplaceholder0>} и BPSK-модулированные сигналы с нулевым смещением фазы.
Метод Гарднера - метод Гарднера является методом обратной связи без использования данных, который не зависит от восстановления фазы несущей. Используется для систем основной полосы частот и модулированных систем несущей. Более конкретно, этот способ используется для систем, которые используют тип линейной модуляции с импульсами Найквиста, которые имеют избыточную полосу пропускания между приблизительно 40% и 100%. Примеры включают системы, которые используют PAM, PSK, QAM или OQPSK модуляцию и которые формируют сигнал с использованием фильтров приподнятого косинуса, коэффициент срабатывания которых находится между 0,4 и 1. При наличии шума эффективность этого способа восстановления синхронизации улучшается, когда избыточная полоса пропускания увеличивается (или коэффициент срабатывания увеличивается в случае фильтра приподнятого косинуса). Метод Гарднера аналогичен методу ранних-поздних ворот.
Ранний-поздний метод - метод раннего-позднего периода является методом обратной связи без использования данных. Он используется для систем, которые используют тип линейной модуляции, такой как PAM, PSK, QAM или OQPSK модуляция. Для примера системы, использующие фильтр приподнятого косинуса с импульсами Найквиста. При наличии шума эффективность этого способа восстановления синхронизации улучшается, когда избыточная полоса пропускания импульса увеличивается (или коэффициент срабатывания увеличивается в случае фильтра приподнятого косинуса).
Ранне-поздний метод аналогичен методу Гарднера. Метод Гарднера работает лучше в системах с высокими значениями ОСШ, потому что он имеет более низкий самошум, чем ранний-поздний метод.
TED, ориентированный на принятие решений, использует sign
функция для оценки синфазной и квадратурной составляющих принятых выборок, что приводит к меньшей вычислительной сложности, чем TED без использования данных.
Метод пересечения нулем - метод пересечения нулем является методом, направленным на принятие решения, который требует 2 выборки на символ на входе в синхронизатор. Используется в условиях низкого ОСШ для всех значений избыточной полосы пропускания и в условиях умеренного ОСШ для умеренных коэффициентов избыточной полосы пропускания в приблизительной области значений [0,4, 0,6].
Метод Мюллера-Мюллера - метод Мюллера-Мюллера является направленным на принятие решения методом обратной связи, который требует предварительного восстановления фазы несущей. Когда входной сигнал имеет импульсы Найквиста (для примера, при использовании фильтра приподнятого косинуса), метод Мюллера-Мюллера не имеет собственного шума. Для узкополосной передачи сигналов в присутствии шума эффективность метода Мюллера-Мюллера улучшается, когда коэффициент избыточной полосы пропускания импульса уменьшается.
Поскольку методы, ориентированные на принятие решений (пересечение нулем и Мюллер-Мюллер), оценивают ошибку синхронизации на основе знака синфазной и квадратурной составляющих сигналов, переданных синхронизатору, они не рекомендованы для созвездий, которые имеют точки с нулем синфазного или квадратурного компонента. и являются синфазными и квадратурными компонентами входных сигналов к детектору ошибки синхронизации, где - предполагаемая ошибка синхронизации. Коэффициенты метода Мюллера-Мюллера и являются оценками и . Временные оценки делаются путем применения sign
функция для синфазного и квадратурного компонентов и используется только для методов TED, направленных на принятие решений.
Временная задержка оценивается из выборок с фиксированной скоростью согласованного фильтра, которые асинхронны со скоростью символа. Поскольку получившиеся выборки не выровнены по контурам символов, интерполятор используется, чтобы «переместить» выборки. Поскольку задержка неизвестна, интерполятор должен быть адаптивным. Кроме того, поскольку интерполяция является линейной комбинацией доступных выборок, ее можно рассматривать как выход фильтра.
Интерполятор использует кусочно-параболический интерполятор с структурой Фэрроу и α коэффициента, установленными на 1/2 (см. Райс, Майкл, Цифровые коммуникации: Подход в дискретном времени).
Управление интерполяцией предоставляет интерполятору индекс базовой точки и дробный интервал. Индекс базовой точки является индексом выборки, ближайшим к интерполяции. Дробный интервал является отношением времени между интерполяцией и ее индексом базовой точки и интерполяционным интервалом.
Интерполяция выполняется для каждой выборки, и сигнал строба используется, чтобы определить, выводится ли интерполянт. Синхронизатор использует управление интерполяцией счетчика по модулю 1, чтобы предоставить строб и дробный интервал для использования с интерполятором.
Синхронизатор использует пропорционально-интегрирующий петлевой фильтр (PI). Пропорциональные составляющие, K 1 и коэффициент усиления интегратора, K 2, вычисляются
и
Промежуточный срок, θ, дается
где:
N - количество выборок на символ.
ζ - коэффициент затухания.
Bn T s является нормированным циклом полосой пропускания.
K p - коэффициент усиления детектора.
[1] Райс, Майкл. Цифровые коммуникации: подход в дискретном времени. Верхняя Седл-Ривер, Нью-Джерси: Prentice Hall, 2008.
[2] Менгали, Умберто и Альдо Н. Д'Андреа. Методы синхронизации для цифровых приемников. Нью-Йорк: Пленум Пресс, 1997.
Указания и ограничения по применению:
Смотрите Системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.