Добрый день ! Не могу понять как экспериментально снимаются S-кривые. Вот допустим есть система связи отрисованная в матлаб. Последовательность у нее такая: генератор - SRRC TX - SRRC RX - элемент задержки - система снятия отсчета - дискриминатор, допустим гарднера.
Я пробовал таким образом сделать. Генерирую сигнал пропускаю через систему фильтров образуя ФПК. Создаю цикл, n=1:100 где n - это величина задержки входного сигнала. Обединяю сигналы параллельно. Запускаю в модель matlab. Там система снимает отсчеты на выходе детектора Гарднера и затем в каждой строке матрицы я нахожу МО. В результате у меня требуемая S-кривая не получается. Каждый раз что то иное. Понять в чем дело не могу. Подскажите, как будет верно.
1 этап - Генерация сигнала
clc;close all; clear all;
RolloffFactor = 0.5;
FilterSpanInSymbols = 8;
txfilter = comm.RaisedCosineTransmitFilter('Shape','Square root',...
'RolloffFactor', RolloffFactor,...
'FilterSpanInSymbols', FilterSpanInSymbols,...
'OutputSamplesPerSymbol',100);
rxfilter = comm.RaisedCosineReceiveFilter( 'Shape','Square root',...
'RolloffFactor', RolloffFactor,...
'FilterSpanInSymbols', FilterSpanInSymbols,...
'DecimationFactor',1);
data = 2*randi([0 1],1e4,1) - 1;
x = txfilter (data);
R = rxfilter(x);
R = R/max(R);
RX = [];
for n = 50:1:150
R1 = delayseq(R,n);
RX = [RX R1];
end
RX1 = timeseries(RX,0.01*(0:length(R)-1));
Потом моделирую
Потом полученные переменные провожу по циклу и результат уже смотрю на графике
for n = 1:length(simout(1,:))
S(n) = mean(S(:,n));
end
plot(S);
Модельку прикладываю по ссылке https://drive.google.com/file/d/1AzothtD7xLc7OE6jMkQfEOJ5yanME5Sd/view?usp=sharing
Может как то аналитически можно находить... Там я видел у Гарднера для ФПК, но это жееесть...