stabd alone script to generate fading sample files for cohpsk_ch
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 19 Apr 2018 23:51:49 +0000 (23:51 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 19 Apr 2018 23:51:49 +0000 (23:51 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@3510 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/octave/cohpsk_ch_fading.m [new file with mode: 0644]

diff --git a/codec2-dev/octave/cohpsk_ch_fading.m b/codec2-dev/octave/cohpsk_ch_fading.m
new file mode 100644 (file)
index 0000000..84bcc00
--- /dev/null
@@ -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