From 3c761467659fb6d4776fc59075d7d32e99b9b156 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Thu, 28 Mar 2024 07:39:00 +1030 Subject: [PATCH] work out packet duration including pre/postamble --- doc/modem_codec_frame_design.ods | Bin 44305 -> 44489 bytes octave/ofdm_helper.m | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/modem_codec_frame_design.ods b/doc/modem_codec_frame_design.ods index ab51e225c0bf83afa58f212e33f4c00eeabf5b6e..040ba0160adc96327f3487de7676e81b74d8b332 100644 GIT binary patch delta 3136 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 delta 3028 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 diff --git a/octave/ofdm_helper.m b/octave/ofdm_helper.m index b34ec239..38c02486 100644 --- a/octave/ofdm_helper.m +++ b/octave/ofdm_helper.m @@ -44,7 +44,8 @@ function print_config(states) printf("Nc=%d Ts=%4.3f Tcp=%4.3f Ns: %d Np: %d\n", Nc, 1/Rs, Tcp, Ns, Np); printf("Nsymperframe: %d Nbitsperpacket: %d Nsamperframe: %d Ntxtbits: %d Nuwbits: %d Nuwframes: %d\n", Ns*Nc, Nbitsperpacket, Nsamperframe, Ntxtbits, Nuwbits, Nuwframes); - printf("uncoded bits/s: %4.1f\n", Nbitsperpacket*Fs/(Np*Nsamperframe)); + printf("uncoded bits/s: %4.1f Duration (incl post/preamble): %4.2f s\n", + Nbitsperpacket*Fs/(Np*Nsamperframe), (Np+2)*Ns*(Tcp+1/Rs)); end %-----------------------------------------------------------------------