📄 untitled2.m
字号:
Tb = 3.6920*10^-6;
Lh = 3;
M = 16; % M>=16 and mod(M,4)==0
OSR = 4;
Lburst = 148;
Lburst_guard = Lburst+8;%156
TRAINING = [1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,...
1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0,...
1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1];
T_SEQ = T_SEQ_gen(TRAINING);
[ SYMBOLS , PREVIOUS , NEXT , START , STOPS ] = viterbi_init(Lh);
N = textread('12.dat','%s'); % [A,B,C,D] = textread('1.dat','%n%s%n%s');
N = ((hex2dec(N)-512)/512).';
R = zeros(1,length(N)/2);
R= N(1:2:length(N))*j + N(2:2:length(N));
r = R(1:OSR:length(R));
[ peakIndex, qualityMetric, frequencyError ] = FB_detector_corrector(r, Tb, M);
fprintf('\nThe beginning of FB is %d in received sample.\n',(peakIndex-1)*OSR+1);
r = R(peakIndex+5000:peakIndex+5000+599);
% RUN THE MATCHED FILTER, IT IS RESPONSIBLE FOR FILTERING SYNCRONIZATION
% AND RETRIEVAL OF THE CHANNEL CHARACTERISTICS.
[Y, Rhh] = mafi(r,Lh,T_SEQ,OSR);
% HAVING PREPARED THE PRECALCULATABLE PART OF THE VITERBI
% ALGORITHM, IT IS CALLED PASSING THE OBTAINED INFORMATION ALONG WITH
% THE RECEIVED SIGNAL, AND THE ESTIMATED AUTOCORRELATION FUNCTION.
%
rx_burst = viterbi_detector(SYMBOLS,NEXT,PREVIOUS,START,STOPS,Y,Rhh);
% RUN THE DeMUX
%
rx_data=DeMUX(rx_burst);
[rx_block,FLAG_SS,PARITY_CHK] = channel_dec(rx_enc)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -