From 86fc1cda61b95fe91b7866dcbc5fd9230650ff98 Mon Sep 17 00:00:00 2001 From: baobrien Date: Fri, 23 Oct 2015 16:57:05 +0000 Subject: [PATCH] Added mrd4 encoder git-svn-id: https://svn.code.sf.net/p/freetel/code@2468 01035d8c-6547-0410-b346-abe4f91aad63 --- codec2-dev/octave/fsk4.m | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/codec2-dev/octave/fsk4.m b/codec2-dev/octave/fsk4.m index 95720dcb..2b832b4c 100644 --- a/codec2-dev/octave/fsk4.m +++ b/codec2-dev/octave/fsk4.m @@ -148,6 +148,27 @@ function bits = fsk4_demod_thing(fsk4_states, rx) end endfunction +function dat = bitreps(in,M) + for i=1:length(in) + dat(1+(i-1)*M:i*M) = in(i); + end +endfunction + +function syms = mrd4(bits) + syms = zeros(1,length(bits)); + rd=0; + lastsym=0; + for n = (1:length(bits)) + bit = bits(n); + sp = 1+(bit*2.0); + [x,v] = min(abs([rd+sp rd-sp])); + ssel = [sp -sp](v); + if(ssel == lastsym)ssel = -ssel;endif + syms(n) = ssel; + rd = rd + ssel; + lastsym = ssel; + end +endfunction function out = fold_sum(in,l) sublen = floor(length(in)/l); -- 2.25.1