From 1a22285544947bb25911aa35658f486d088ed497 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Thu, 19 Apr 2018 23:51:49 +0000 Subject: [PATCH] stabd alone script to generate fading sample files for cohpsk_ch git-svn-id: https://svn.code.sf.net/p/freetel/code@3510 01035d8c-6547-0410-b346-abe4f91aad63 --- codec2-dev/octave/cohpsk_ch_fading.m | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 codec2-dev/octave/cohpsk_ch_fading.m diff --git a/codec2-dev/octave/cohpsk_ch_fading.m b/codec2-dev/octave/cohpsk_ch_fading.m new file mode 100644 index 00000000..84bcc001 --- /dev/null +++ b/codec2-dev/octave/cohpsk_ch_fading.m @@ -0,0 +1,26 @@ +% cohpsk_ch_fading.m +% David Rowe +% April 2018 + +% function to write float fading samples for use by C programs + +function cohpsk_ch_fading(raw_file_name, Fs, dopplerSpreadHz, len_samples) + spread = doppler_spread(dopplerSpreadHz, Fs, len_samples); + spread_2ms = doppler_spread(dopplerSpreadHz, Fs, len_samples); + hf_gain = 1.0/sqrt(var(spread)+var(spread_2ms)); + printf("hf_gain: %f\n", hf_gain); + + % interleave real imag samples + + inter = zeros(1,len_samples*4); + inter(1:4) = hf_gain; + for i=1:len_samples + inter(i*4+1) = real(spread(i)); + inter(i*4+2) = imag(spread(i)); + inter(i*4+3) = real(spread_2ms(i)); + inter(i*4+4) = imag(spread_2ms(i)); + end + f = fopen(raw_file_name,"wb"); + fwrite(f, inter, "float32"); + fclose(f); +endfunction -- 2.25.1