From: drowe67 Date: Mon, 12 Jun 2017 01:38:40 +0000 (+0000) Subject: rewrote test bits generation X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=b081ab8d94a386366e2e8fa8d82753006ffcbccf;p=freetel-svn-tracking.git rewrote test bits generation git-svn-id: https://svn.code.sf.net/p/freetel/code@3179 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/octave/ofdm_dev.m b/codec2-dev/octave/ofdm_dev.m index f6cd831a..f66e08cb 100644 --- a/codec2-dev/octave/ofdm_dev.m +++ b/codec2-dev/octave/ofdm_dev.m @@ -183,7 +183,6 @@ function [sim_out rx states] = run_sim(sim_in) % note for reasons unknown LdpcEncode() returns garbage if we use > 0.5 rather than round() tx_data_bits = round(rand(1,Nbits*rate)); - %test_bits_ofdm_file(tx_data_bits); tx_bits = []; tx_symbols = []; for f=1:Nframes diff --git a/codec2-dev/octave/ofdm_lib.m b/codec2-dev/octave/ofdm_lib.m index ef09b6a2..54393e85 100644 --- a/codec2-dev/octave/ofdm_lib.m +++ b/codec2-dev/octave/ofdm_lib.m @@ -414,8 +414,19 @@ endfunction % Save test bits frame to a text file in the form of a C array +% +% usage: +% ofdm_lib; test_bits_ofdm_file +% -function test_bits_ofdm_file(test_bits_ofdm) +function test_bits_ofdm_file + + 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; + + rand('seed',1); + test_bits_ofdm = round(rand(1,Nbitsperframe)); f=fopen("../src/test_bits_ofdm.h","wt"); fprintf(f,"/* Generated by test_bits_ofdm_file() Octave function */\n\n"); diff --git a/codec2-dev/octave/tofdm.m b/codec2-dev/octave/tofdm.m index 1dc88d0a..4816ca1c 100644 --- a/codec2-dev/octave/tofdm.m +++ b/codec2-dev/octave/tofdm.m @@ -3,7 +3,8 @@ % % Octave script for comparing Octave and C versions of OFDZM modem -Frames = 10; + +Frames = 1; more off; ofdm_lib; @@ -12,7 +13,7 @@ autotest; % Run a few frames of Octave version Ts = 0.018; Tcp = 0.002; Rs = 1/Ts; bps = 2; Nc = 16; Ns = 8; -states = ofdm_initbps, Rs, Tcp, Ns, Nc); +states = ofdm_init(bps, Rs, Tcp, Ns, Nc); ofdm_load_const; rand('seed',1); @@ -20,13 +21,14 @@ tx_bits = round(rand(1,Nbitsperframe)); tx_bits_log = []; tx_log = []; for f=1:Frames - tx_bits_log = [tx_bits tx_bits]; + tx_bits_log = [tx_bits_log tx_bits]; tx_log = [tx_log ofdm_mod(states, tx_bits)]; end - -% Load C version and plot Octave and C states and differences ----------------------------- -load ../build_linux/octave/tofdm_out.txt; +% Run C version and plot Octave and C states and differences ----------------------------- + +system('../build_linux/unittest/tofdm'); +load tofdm_out.txt; stem_sig_and_error(1, 111, tx_bits_log_c, tx_bits_log - tx_bits_log_c, 'tx bits', [1 length(tx_bits_log) -1.5 1.5]) stem_sig_and_error(2, 211, real(tx_log_c), real(tx_log - tx_log_c), 'tx re', [1 length(tx_log_c) -1.5 1.5])