From 05b200a4debd67990dabfd17e8a4139ec514dbec Mon Sep 17 00:00:00 2001 From: drowe67 Date: Sat, 29 Apr 2017 23:56:05 +0000 Subject: [PATCH] first pass at file based tx git-svn-id: https://svn.code.sf.net/p/freetel/code@3113 01035d8c-6547-0410-b346-abe4f91aad63 --- codec2-dev/octave/ofdm_tx.m | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 codec2-dev/octave/ofdm_tx.m diff --git a/codec2-dev/octave/ofdm_tx.m b/codec2-dev/octave/ofdm_tx.m new file mode 100644 index 00000000..dee8d51c --- /dev/null +++ b/codec2-dev/octave/ofdm_tx.m @@ -0,0 +1,29 @@ +% ofdm_tx.m +% David Rowe April 2017 +% +% File based ofdm tx. Generate a file of ofdm samples, inclduing +% optional channel simulation. + + +function ofdm_tx(filename, Nsec) + ofdm_lib; + Ts = 0.018; Tcp = 0.002; Rs = 1/Ts; bps = 2; Nc = 16; Ns = 8; + states = ofdm_init(bps, Rs, Tcp, Ns, Nc); + ofdm_load_const; + + % generate fixed test frame of tx bits and run OFDM modulator + + Nrows = Nsec*Rs; + Nframes = floor((Nrows-1)/Ns); + + rand('seed', 100); + tx_bits = rand(1,Nbitsperframe) > 0.5; + + tx = []; + for f=1:Nframes + tx = [tx ofdm_mod(states, tx_bits)]; + end + + Ascale = 32000/max(real(tx)); + ftx=fopen(filename,"wb"); fwrite(ftx, Ascale*real(tx), "short"); fclose(ftx); +endfunction -- 2.25.1