exponenta event banner

Правильная синхронизация символов и доплеровские смещения

Исправьте ошибки синхронизации символов и смещения частоты с помощью 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');

Основной цикл обработки

Основной цикл обработки:

  • Генерирует случайные символы и применяет модуляцию КАМ.

  • Фильтрация модулированного сигнала.

  • Применяет частотные и временные смещения.

  • Пропускает передаваемый сигнал через канал 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

Визуализация

Постройте график созвездий принятого сигнала, скорректированного по частоте сигнала и синхронизированного по частоте и времени сигнала. Конкретные точки созвездия не могут быть идентифицированы в принятом сигнале и могут быть идентифицированы только частично в сигнале с поправкой на частоту. Однако синхронизированный по времени и частоте сигнал выравнивается с ожидаемыми точками совокупности КАМ.

cdReceive(rxSig)

Figure Constellation Diagram contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes with title Received Signal contains 2 objects of type line. This object represents Channel 1.

cdDoppler(rxCorr)

Figure Constellation Diagram contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes with title Frequency Corrected Signal contains 2 objects of type line. This object represents Channel 1.

cdTiming(rxData)

Figure Constellation Diagram contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes with title Frequency and Timing Synchronized Signal contains 2 objects of type line. This object represents Channel 1.

См. также

|