?? rxtrama.m
字號(hào):
function [trama, memoria] = rxTrama(linea, memoria)
%------------------------------------------------------------------------
%| function [trama, memoria] = rxTrama(linea, memoria)
%------------------------------------------------------------------------
%| Funci髇 que recibe promedia un conjunto de muestras
%| asign醤doles el valor "0" o "1".
%|
%| Par醡etros de entrada:
%| 1.- LINEA = muestra de una se馻l de l韓ea de niveles TTL
%| 2.- MEMORIA = vector fila de longitud m韓ima 16 o nFlancos,
%| si 閟te supera los 16 flancos
%|
%| Par醡etros de Salida:
%| 1.- TRAMA = bit resultante de la traducci髇.
%| 2.- MEMORIA = vector fila con las condiciones finales del reloj
%-------------------------------------------------------------------------
%%%%%% Ctes.
contMUESTRA = 1; % Contador de Muestras
MUESTRAS_BIT = 3;
muestraANT = 4;
valorUNO = 6;
valorMUESTRA = 7; % Suma de los voltajes de las muestras en 1 s韒bolo
trama = [];
% 1.- Suma acumulada de la amplitud de todas muestras de 1 s韒bolo
%------------------------------------------------------------------
memoria(valorMUESTRA) = memoria(valorMUESTRA) + linea;
% 2.- Al final del s韒bolo estimamos si era un "0" o un "1"
%-----------------------------------------------------------
% Detectamos flanco tras haber contado un n鷐ero de muestras
% superior al 60% de las muestras que tiene 1 bit
flanco = ( (memoria(muestraANT)~=linea) & ...
( memoria(contMUESTRA) > (memoria(MUESTRAS_BIT)*0.8) ) );
condicion = flanco | (memoria(contMUESTRA) >= memoria(MUESTRAS_BIT));
if condicion,
valorMedio = ceil(memoria(valorMUESTRA)/memoria(contMUESTRA));
% if (memoria(contMUESTRA) >= 0.8*memoria(MUESTRAS_BIT)),
trama = (valorMedio > 2);
if ~(memoria(valorUNO) > 0), % 0V ==> "1"
trama = ~trama;
end;
memoria(contMUESTRA) = 0;
memoria(valorMUESTRA)= 0;
% else,
% memoria(valorUNO) = ~memoria(valorUNO);
% memoria(valorMUESTRA)= linea*memoria(contMUESTRA);
% end;
end;
memoria(muestraANT) = linea;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -