From 2ce01d8b9ab08fc1f90e8c33de87b8c3a9179b7a Mon Sep 17 00:00:00 2001 From: Zilog80 Date: Tue, 27 Apr 2021 18:55:55 +0200 Subject: [PATCH] iq_svcl: test -> master (FFT csv) --- demod/iq_svcl/README.md | 31 ++- demod/iq_svcl/fft3-1.png | Bin 0 -> 216975 bytes demod/iq_svcl/iq_base.h | 4 + demod/iq_svcl/iq_client.c | 50 ++++- demod/iq_svcl/iq_server.c | 390 +++++++++++++++++++++++++++------- demod/iq_svcl/iq_svcl.h | 4 + demod/iq_svcl/plot_fft.py | 15 +- demod/iq_svcl/plot_fft_ani.py | 186 ++++++++++++++++ demod/iq_svcl/plot_wfft.py | 52 +++++ demod/iq_svcl/scan_fft.c | 65 ++++-- 10 files changed, 686 insertions(+), 111 deletions(-) create mode 100644 demod/iq_svcl/fft3-1.png create mode 100644 demod/iq_svcl/plot_fft_ani.py create mode 100644 demod/iq_svcl/plot_wfft.py diff --git a/demod/iq_svcl/README.md b/demod/iq_svcl/README.md index 7867894..c7cc3ec 100644 --- a/demod/iq_svcl/README.md +++ b/demod/iq_svcl/README.md @@ -23,16 +23,23 @@ receive IF stream from baseband IQ via TCP, default `PORT=1280 (iq_svcl.h)`
     ``: IF sample rate
     `=8,16,32`: output/IF bits per (real) sample (u8, s16 or f32)
- down-converts up to `MAX_FQ=(4+1) (iq_base.h)` channels/signals. More signals than number of CPUs/cores is not recommended.
+ down-converts up to `MAX_FQ=(4+1) (iq_base.h)` channels/signals. (On older CPUs, more signals than number of CPU cores is not recommended.)
(Note: If the baseband sample rate has no appropriate factors (e.g. if prime), the IF sample rate might be high and IF-processing slow.)
- One channel can be used for scanning, `--fft ` makes FFT (2 seconds average). - The FFT is saved in `` as `;`, approx. 200 Hz per bin.
+ One channel can be used for scanning, e.g. `./iq_server --fft_avg ` makes *m* rows of avg-FFT (FFT_AVG=2 seconds average), and + this channel will be reused for client FFT requests. Only one channel/thread can be used for FFT/scanning. A client can request a new FFT, + if the last FFT has finished.
+ There are two kinds of FFTs, `fft_all` and `fft_avg`. `fft_avg` integrates over FFT_AVG=2 seconds and can be used for signal peak scanning. + For waterfall display, `--fft_all ` produces *m*\*FFT_AVG\*FFT_FPS/2 rows of FFT (FFT_AVG seconds, FFT_FPS/2 per sec). + The FFT is saved in `` as
+    `sec.ms,freq_min,freq_max,Hz/bin,N_bins, db_1,...,db_N`
+ approx. 200 Hz per bin. + Choose `filename="-"` for `stdout`.
If no output bps is chosen (`--bo [8,16,32]`), the IF bps is equal to the baseband bps. It is recommended to use `--bo 32` (i.e. float32) output, then no quantization noise is introduced when converting from internal float32 samples.
- Ex.2
[terminal 1]
- `T1$ rtl_sdr -f 403.0M -s 1920000 - | ./iq_server --fft fft_server.txt --bo 32 - 1920000 8`
+ `T1$ rtl_sdr -f 403.0M -s 1920000 - | ./iq_server --fft_avg 1 fft_server.csv --bo 32 - 1920000 8`
[terminal 2]
`T2$ ./iq_client --freq -0.3125 | ./m10mod -c -vv --IQ 0.0 - 48000 32`
[terminal 3]
@@ -41,7 +48,17 @@ receive IF stream from baseband IQ via TCP, default `PORT=1280 (iq_svcl.h)`
`T4$ ./iq_client --stop`    (*close all clients and stop server*)
- The `iq_server` `--fft` option immediately starts reading the IQ stream (so buffering is reduced).
- `./iq_client --fft ` can also request FFT.
- The IF sample rate `if_sr` is at least 48000 such that the baseband sample rate `sr` is a multiple of `if_sr`. + - The `iq_server` FFT options immediately start reading the IQ stream (so buffering is reduced).
+ `./iq_client `, where `=--fft_avg_cl` or `--fft_all_cl`, requests FFT from the server.
+ (`=--fft_avg_sv/--fft_all_sv` would save the FFT at the server, but only if `./iq_server --enable_clsv_out`.)
+ The IF sample rate `if_sr` is at least 48000 and such that the baseband sample rate `sr` is a multiple of `if_sr`. + + - Ex.3
+ [terminal 1]
+ `T1$ rtl_sdr -f 404550k -s 2048000 - | ./iq_server --fft_avg 1 fft_avg.csv --bo 32 - 2048000 8`
+ (scan FFT: `./scan_fft fft_avg.csv`)
+ [terminal 3]
+ `T3$ ./iq_client --fft_all_cl -1 - | python plot_fft_ani.py 3 -`
+ ![FFT image](fft3-1.png "FFT") + diff --git a/demod/iq_svcl/fft3-1.png b/demod/iq_svcl/fft3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..029c60b0700a517ac8edb1a9a8da4ef4b9934101 GIT binary patch literal 216975 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

QTeRJZK0CMv zUXW0SK-^}2zc8XD6@xvYp;F#GZOJK_U@h6Sl$M#tA({oR9;plR*B-Ev(S`c$DWaca z+wp-9U#lJ;D8d!pacO7_S@b;9B6mN_2Ew9qYzmQb5f7pei?GJojI86_N^y~~lK&vN zjPX)p=$Nxx7)Hu6o*87hr&Fs}B20dxq*1Tz-c1rN`XsyM2-_qc%;RtwdD0hzz;LgD z;k2T=^m@n($g*UA(E*HIs2A>MpSu)bHdO#t$_?+oSCFU={57eDIovSN2v(Kle~eZW zaTw>&VKU7(WGI!es!HCyQ}!i`(I6O(y0D`q+v z*90nfHtr=BJ7A3dzdZeaLv?B2LQ+5jh`4teR3G<0Za&FR+yWB@AV9x>#Xrs+`}tA* zV1KIk-{_y9%}vuS&seILbE^J-zK%}?hD?Q|ZrMinPZWtuM5<`?WXLlfw;EkQ8B`}S zH(c*TJtCLh?39MB%>CFCYlcg-*=I3dn4|Jx8u6HG)3A9e`uA^xfHBL0L#1~$7J?z@ z-FCBh8>5<43e-RZWDYgh!C{wJM9DdWx#4UNVL`WKlD-#|J^wrM$oR7+pQK-MN~-2sbm%VksZW9AM

^2SmkJWMF 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 aCzcTH%Kf5oX|WjE5VWzy`GT|8?*11&i$RkB literal 0 HcmV?d00001 diff --git a/demod/iq_svcl/iq_base.h b/demod/iq_svcl/iq_base.h index db33108..eca90c5 100644 --- a/demod/iq_svcl/iq_base.h +++ b/demod/iq_svcl/iq_base.h @@ -34,7 +34,10 @@ typedef struct { double xlt_fq; float complex *blk; int used; + // int fft; + int stop_fft; + int fft_num; } thd_t; @@ -97,6 +100,7 @@ typedef struct { thd_t thd; int fd; char *fname; + FILE *fpo; } thargs_t; diff --git a/demod/iq_svcl/iq_client.c b/demod/iq_svcl/iq_client.c index 93b5487..2cb8180 100644 --- a/demod/iq_svcl/iq_client.c +++ b/demod/iq_svcl/iq_client.c @@ -4,6 +4,27 @@ * * gcc -O2 iq_client.c -o iq_client * + * usage: + * (request IF IQ samples) + * ./iq_client [--ip ] [--port ] --freq # -0.5 < fq < 0.5 + * + * (request FFT) + * ./iq_client # FFT csv output + * : + * --fft_avg_cl # client out + * --fft_all_cl # client out + * --fft_avg_sv # server out (if iq_server --enable_clsv_out) + * --fft_avg_sv # server out (if iq_server --enable_clsv_out) + * : + * _avg_: m avg-FFTs + * _all_: m*FFT_FPS/2 FFTs + * m = -1 : continuous FFT output + * : + * csv filename ("-": stdout) + * + * ./iq_client - # close client + * ./iq_client --stop # close all clients, stop server + * * author: zilog80 */ @@ -49,17 +70,24 @@ int main(int argc, char *argv[]) { } else serv_port = port; } - else if (strcmp(*argv, "--fft0") == 0) { - sprintf(sendln, "%s", "--fft0"); - } - else if (strcmp(*argv, "--fft") == 0) { - sprintf(sendln, "%s", "--fft"); - ++argv; - if (*argv) { - fname_fft = *argv; + else if (strncmp(*argv, "--fft", 5) == 0) { + char *arg_fft = *argv; + int fft_num = 0; + int opt_fft_cl = 0; + if (strncmp(arg_fft+5, "_avg", 4) == 0) opt_fft_cl = OPT_FFT_AVG; + else if (strncmp(arg_fft+5, "_all", 4) != 0) return -1; + if (strncmp(arg_fft+5+4, "_cl", 3) == 0) { + opt_fft_cl |= OPT_FFT_CLNT; + re = 2; } + else if (strncmp(arg_fft+5+4, "_sv", 3) == 0) opt_fft_cl |= OPT_FFT_SERV; else return -1; - re = 2; + ++argv; + if (*argv) fft_num = atoi(*argv); else return -1; + ++argv; + if (*argv) fname_fft = *argv; else return -1; + //sprintf(sendln, "%s_%s_%s", "--fft", (opt_fft_cl & OPT_FFT_AVG) ? "avg" : "all", (opt_fft_cl & OPT_FFT_CLNT) ? "cl" : "sv"); + sprintf(sendln, "%s %d %s", arg_fft, fft_num, fname_fft); } else if (strcmp(*argv, "--freq") == 0) { ++argv; @@ -155,7 +183,9 @@ int main(int argc, char *argv[]) { else if ( re == 2 ) { // fft data - FILE *fpo = fopen(fname_fft, "wb"); + FILE *fpo = NULL; + if (fname_fft[0] == '-') fpo = stdout; + else fpo = fopen(fname_fft, "wb"); if (fpo != NULL) { memset(recvln, 0, LINELEN+1); diff --git a/demod/iq_svcl/iq_server.c b/demod/iq_svcl/iq_server.c index b78cdba..0a7d5bf 100644 --- a/demod/iq_svcl/iq_server.c +++ b/demod/iq_svcl/iq_server.c @@ -7,6 +7,24 @@ * * (gcc -O2 iq_client.c -o iq_client) * + * usage: + * ./iq_server [--enable_clsv_out] [--port ] [iq_baseband.wav] + * no wav-file: stdin + * + * ./iq_server [--bo ] - [iq_baseband.raw] + * =8,16,32 bit client/IF output + * + * ./iq_server [iq_baseband.wav] # FFT csv output + * : + * --fft_avg + * --fft_all + * : + * _avg: m avg-FFTs + * _all: m*FFT_FPS/2 FFTs + * m = -1 : continuous FFT output + * : + * csv filename ("-": stdout) + * * author: zilog80 */ @@ -27,13 +45,13 @@ #include "iq_svcl.h" #include "iq_base.h" +#define FFT_AVG 2 // fft_avg: integrate FFT_AVG seconds, 2*FFT_FPS FFTs +#define FFT_FPS 16 // fft_all: output (ca.) FFT_FPS/2 per sec + #define FPOUT stderr -#define OPT_FFT_SERV 1 // server -#define OPT_FFT_CLSV 2 // server (client request) -#define OPT_FFT_CLNT 3 // server -> client - static int option_dbg = 0; +static int option_clsv_out = 0; static int tcp_eof = 0; @@ -275,21 +293,82 @@ static void *thd_IF(void *targs) { // pcm_t *pcm, double xlt_fq return NULL; } -#define FFT_SEC 2 -#define FFT_FPS 20 + +static int fft_txt_prn(FILE *fpo, dft_t *dft, float *db) { + int j; + + fprintf(fpo, "# ; ## sr:%d , N:%d\n", dft->sr, dft->N); + for (j = dft->N/2; j < dft->N/2 + dft->N; j++) { + fprintf(fpo, "%+11.8f;%7.2f\n", bin2fq(dft, j % dft->N), db[j % dft->N]); + } + + return 0; +} + +static int fft_txt_tcp(int fd, dft_t *dft, float *db) { + char sendln[LINELEN+1]; + int sendln_len; + int j, l; + + snprintf(sendln, LINELEN, "# ; ## sr:%d , N:%d\n", dft->sr, dft->N); + sendln_len = strlen(sendln); + l = write(fd, sendln, sendln_len); + for (j = dft->N/2; j < dft->N/2 + dft->N; j++) { + memset(sendln, 0, LINELEN+1); + snprintf(sendln, LINELEN, "%+11.8f;%7.2f\n", bin2fq(dft, j % dft->N), db[j % dft->N]); + sendln_len = strlen(sendln); + l = write(fd, sendln, sendln_len); + } + + return 0; +} + + +static int fft_csv_prn(FILE *fpo, dft_t *dft, float *db, double t_sec) { + int j; + + fprintf(fpo, "%7.3f, ", t_sec); + fprintf(fpo, "%d, %d, ", (int)bin2freq(dft, dft->N/2), (int)bin2freq(dft, dft->N/2 - 1)); + fprintf(fpo, "%.2f, ", dft->sr/(double)dft->N); + fprintf(fpo, "%d, ", dft->N); + for (j = dft->N/2; j < dft->N/2 + dft->N; j++) { + fprintf(fpo, "%7.2f%c", db[j % dft->N], j < dft->N/2 + dft->N-1 ? ',' : '\n'); + } + + return 0; +} + +static int fft_csv_tcp(int fd, dft_t *dft, float *db, double t_sec) { + char sendln[LINELEN+1]; + int sendln_len; + int j, l; + + snprintf(sendln, LINELEN, "%7.3f, %d, %d, %.2f, %d, ", + t_sec, (int)bin2freq(dft, dft->N/2), (int)bin2freq(dft, dft->N/2 - 1), dft->sr/(double)dft->N, dft->N); + sendln_len = strlen(sendln); + l = write(fd, sendln, sendln_len); + for (j = dft->N/2; j < dft->N/2 + dft->N; j++) { + memset(sendln, 0, LINELEN+1); + snprintf(sendln, LINELEN, "%7.2f%c", db[j % dft->N], j < dft->N/2 + dft->N-1 ? ',' : '\n'); + sendln_len = strlen(sendln); + l = write(fd, sendln, sendln_len); + } + + return 0; +} + static void *thd_FFT(void *targs) { thargs_t *tharg = targs; pcm_t *pcm = &(tharg->pcm); - FILE *fpo = NULL; - char *fname_fft = "db_fft.txt"; - int k; int bitQ = 0; float complex *z = NULL; + float *db = NULL; + float *all_rZ = NULL; float *avg_rZ = NULL; float *avg_db = NULL; @@ -312,7 +391,6 @@ static void *thd_FFT(void *targs) { dsp.bps_out = pcm->bps_out; - //(dsp.thd)->fft = 1; if (option_dbg) { fprintf(stderr, "init FFT buffers\n"); } @@ -326,6 +404,8 @@ static void *thd_FFT(void *targs) { z = calloc(dsp.decM+1, sizeof(float complex)); if (z == NULL) goto exit_thread; + db = calloc(dsp.DFT.N+1, sizeof(float)); if (db == NULL) goto exit_thread; + all_rZ = calloc(dsp.DFT.N+1, sizeof(float)); if (all_rZ == NULL) goto exit_thread; avg_rZ = calloc(dsp.DFT.N+1, sizeof(float)); if (avg_rZ == NULL) goto exit_thread; avg_db = calloc(dsp.DFT.N+1, sizeof(float)); if (avg_db == NULL) goto exit_thread; @@ -334,12 +414,16 @@ static void *thd_FFT(void *targs) { int len = dsp.DFT.N / dsp.decM; int mlen = len*dsp.decM; int sum_n = 0; - int sec = FFT_SEC; - int fft_step = dsp.sr_base/(dsp.DFT.N*FFT_FPS); + int sum_fft = 0; + int avg_sec = FFT_AVG; + int fft_step = (int)(dsp.sr_base/(double)(dsp.DFT.N*FFT_FPS) + 0.5); int n_fft = 0; int th_used = 0; int readSamples = 1; + int n_out = 0; + + bitQ = 0; while ( bitQ != EOF ) { @@ -367,65 +451,95 @@ static void *thd_FFT(void *targs) { n++; if (n == len) { // mlen = len * decM <= DFT.N - n_fft += 1; - - if ((dsp.thd)->fft && sum_n*n_fft*mlen < sec*dsp.sr_base && n_fft >= fft_step) + if ( (dsp.thd)->fft ) { - for (j = 0; j < mlen; j++) { - dsp.DFT.Z[j] *= dsp.DFT.win[j]; + if ((dsp.thd)->fft_num == 0) + { + if ( tharg->fpo ) { fclose(tharg->fpo); tharg->fpo = NULL; } + else if ( tharg->fd > STDIN_FILENO ) { close(tharg->fd); tharg->fd = -1; } + + (dsp.thd)->fft = 0; } - while (j < dsp.DFT.N) dsp.DFT.Z[j++] = 0.0; // dft(Z[...]) != 0 - raw_dft(&(dsp.DFT), dsp.DFT.Z); + n_fft += 1; - for (j = 0; j < dsp.DFT.N; j++) avg_rZ[j] += cabs(dsp.DFT.Z[j]); + if (sum_n*n_fft*mlen < avg_sec*dsp.sr_base && n_fft >= fft_step) { + n_fft = fft_step; - sum_n++; - n_fft = 0; - } - if (sum_n*fft_step*mlen >= sec*dsp.sr_base) { - - for (j = 0; j < dsp.DFT.N; j++) avg_rZ[j] /= dsp.DFT.N*(float)sum_n; - for (j = 0; j < dsp.DFT.N; j++) avg_db[j] = 20.0*log10(avg_rZ[j]+1e-20); - - - pthread_mutex_lock( (dsp.thd)->mutex ); - fprintf(FPOUT, "<%d: FFT>\n", (dsp.thd)->tn); - pthread_mutex_unlock( (dsp.thd)->mutex ); - - if ( (dsp.thd)->fft == OPT_FFT_CLNT ) { // send FFT data to client - char sendln[LINELEN+1]; - int sendln_len; - int l; - snprintf(sendln, LINELEN, "# ; ## sr:%d , N:%d\n", dsp.DFT.sr, dsp.DFT.N); - sendln_len = strlen(sendln); - l = write(tharg->fd, sendln, sendln_len); - for (j = dsp.DFT.N/2; j < dsp.DFT.N/2 + dsp.DFT.N; j++) { - memset(sendln, 0, LINELEN+1); - snprintf(sendln, LINELEN, "%+11.8f;%7.2f\n", bin2fq(&(dsp.DFT), j % dsp.DFT.N), avg_db[j % dsp.DFT.N]); - sendln_len = strlen(sendln); - l = write(tharg->fd, sendln, sendln_len); + if (sum_fft == 0) { + pthread_mutex_lock( (dsp.thd)->mutex ); + fprintf(FPOUT, "<%d: FFT_START>\n", (dsp.thd)->tn); + pthread_mutex_unlock( (dsp.thd)->mutex ); } - } - else { // save FFT at server - if ( (dsp.thd)->fft == OPT_FFT_SERV ) fname_fft = tharg->fname; - else /* OPT_FFT_CLSV */ fname_fft = "db_fft_cl.txt"; - fpo = fopen(fname_fft, "wb"); - if (fpo != NULL) { - fprintf(fpo, "# ; ## sr:%d , N:%d\n", dsp.DFT.sr, dsp.DFT.N); - for (j = dsp.DFT.N/2; j < dsp.DFT.N/2 + dsp.DFT.N; j++) { - fprintf(fpo, "%+11.8f;%7.2f\n", bin2fq(&(dsp.DFT), j % dsp.DFT.N), avg_db[j % dsp.DFT.N]); + + for (j = 0; j < mlen; j++) { + dsp.DFT.Z[j] *= dsp.DFT.win[j]; + } + while (j < dsp.DFT.N) dsp.DFT.Z[j++] = 0.0; // dft(Z[...]) != 0 + + raw_dft(&(dsp.DFT), dsp.DFT.Z); + + for (j = 0; j < dsp.DFT.N; j++) { + float rZ = cabs(dsp.DFT.Z[j]); + avg_rZ[j] += rZ; + all_rZ[j] += rZ; + } + + if ( (sum_fft&1)==1 && ((dsp.thd)->fft & OPT_FFT_AVG) == 0 ) { + double t_sec = sum_fft*n_fft*mlen / (double)dsp.sr_base; + for (j = 0; j < dsp.DFT.N; j++) { // if sum_fft odd, + db[j] = 20.0*log10(0.5*all_rZ[j]/dsp.DFT.N+1e-20); // 0.5: rZ_0+rZ_1 + all_rZ[j] = 0.0f; + } + // sec.ms, freq_min, freq_max, Hz/bin, N_bins, db_1, ..., db_N + if ( tharg->fpo ) { // save FFT at server + fft_csv_prn(tharg->fpo, &(dsp.DFT), db, t_sec); + } + else if ( tharg->fd > STDIN_FILENO ) { + fft_csv_tcp(tharg->fd, &(dsp.DFT), db, t_sec); } - fclose(fpo); } - else { - fprintf(stderr, "error: open %s\n", fname_fft); - } - } - if ( (dsp.thd)->fft != OPT_FFT_SERV ) close(tharg->fd); - (dsp.thd)->fft = 0; - sum_n = 0; + sum_n++; + sum_fft++; + n_fft = 0; + } + if (sum_n*fft_step*mlen >= avg_sec*dsp.sr_base) { + float nN = 1.0/(dsp.DFT.N*(float)sum_n); + for (j = 0; j < dsp.DFT.N; j++) { + avg_db[j] = 20.0*log10(nN*avg_rZ[j]+1e-20); + avg_rZ[j] = 0.0f; + } + + if ( (dsp.thd)->fft & OPT_FFT_AVG ) { + double t_sec = sum_fft*fft_step*mlen / (double)dsp.sr_base; + if ( tharg->fpo ) { // send FFT data to client + fft_csv_prn(tharg->fpo, &(dsp.DFT), avg_db, t_sec); + } + else if ( tharg->fd > STDIN_FILENO ) { + fft_csv_tcp(tharg->fd, &(dsp.DFT), avg_db, t_sec); + } + } + + n_out++; + + if ((dsp.thd)->fft_num > 0 && n_out >= (dsp.thd)->fft_num) + { + if ( tharg->fpo ) { fclose(tharg->fpo); tharg->fpo = NULL; } + else if ( tharg->fd > STDIN_FILENO ) { close(tharg->fd); tharg->fd = -1; } + + (dsp.thd)->fft = 0; + sum_fft = 0; + n_out = 0; + + pthread_mutex_lock( (dsp.thd)->mutex ); + fprintf(FPOUT, "<%d: FFT_STOP>\n", (dsp.thd)->tn); + pthread_mutex_unlock( (dsp.thd)->mutex ); + + } + + sum_n = 0; + } } #ifdef FFT_READ_SINK_MIN @@ -445,12 +559,39 @@ static void *thd_FFT(void *targs) { if ( (dsp.thd)->used == 0 ) { + (dsp.thd)->fft = 0; pthread_mutex_lock( (dsp.thd)->mutex ); fprintf(FPOUT, "<%d: CLOSE>\n", (dsp.thd)->tn); pthread_mutex_unlock( (dsp.thd)->mutex ); break; } + if ( (dsp.thd)->stop_fft > 0 ) + { + if ( tharg->fpo ) { fclose(tharg->fpo); tharg->fpo = NULL; } + else if ( tharg->fd > STDIN_FILENO ) { close(tharg->fd); tharg->fd = -1; } + + (dsp.thd)->fft = 0; + (dsp.thd)->stop_fft = 0; + sum_fft = 0; + sum_n = 0; + n_out = 0; + + pthread_mutex_lock( (dsp.thd)->mutex ); + fprintf(FPOUT, "<%d: STOP_FFT>\n", (dsp.thd)->tn); + pthread_mutex_unlock( (dsp.thd)->mutex ); + } + } + + if ((dsp.thd)->fft_num < 0) + { + if ( tharg->fpo ) { fclose(tharg->fpo); tharg->fpo = NULL; } + else if ( tharg->fd > STDIN_FILENO ) { close(tharg->fd); tharg->fd = -1; } + (dsp.thd)->fft = 0; + + pthread_mutex_lock( (dsp.thd)->mutex ); + fprintf(FPOUT, "<%d: FFT_STOP>\n", (dsp.thd)->tn); + pthread_mutex_unlock( (dsp.thd)->mutex ); } if (bitQ == EOF) { @@ -465,6 +606,8 @@ static void *thd_FFT(void *targs) { exit_thread: if (z) { free(z); z = NULL; } + if (db) { free(db); db = NULL; } + if (all_rZ) { free(all_rZ); all_rZ = NULL; } if (avg_rZ) { free(avg_rZ); avg_rZ = NULL; } if (avg_db) { free(avg_db); avg_db = NULL; } @@ -496,6 +639,8 @@ int main(int argc, char **argv) { char tcp_buf[TCPBUF_LEN]; int th_used = 0; int tn_fft = -1; + int opt_fft = 0; + int fft_num = 0; pcm_t pcm = {0}; @@ -510,11 +655,15 @@ int main(int argc, char **argv) { for (k = 0; k < MAX_FQ; k++) base_fqs[k] = 0.0; + // server options ++argv; while ((*argv) && (!wavloaded)) { if (strcmp(*argv, "--dbg") == 0) { option_dbg = 1; } + else if (strcmp(*argv, "--enable_clsv_out") == 0) { + option_clsv_out = 1; + } else if (strcmp(*argv, "--port") == 0) { int port = 0; ++argv; @@ -524,7 +673,11 @@ int main(int argc, char **argv) { } else serv_port = port; } - else if (strcmp(*argv, "--fft") == 0) { + else if (strncmp(*argv, "--fft", 5) == 0) { + char *arg_fft = *argv; + if (strncmp(arg_fft+5, "_avg", 4) == 0) opt_fft = OPT_FFT_SERV | OPT_FFT_AVG; + else if (strncmp(arg_fft+5, "_all", 4) == 0) opt_fft = OPT_FFT_SERV; + else return -1; if (xlt_cnt < MAX_FQ) { base_fqs[xlt_cnt] = 0.0; rstype[xlt_cnt] = thd_FFT; @@ -532,6 +685,8 @@ int main(int argc, char **argv) { xlt_cnt++; } ++argv; + if (*argv) fft_num = atoi(*argv); else return -1; + ++argv; if (*argv) fname_fft = *argv; else return -1; } else if (strcmp(*argv, "-") == 0) { @@ -597,8 +752,21 @@ int main(int argc, char **argv) { for (k = 0; k < xlt_cnt; k++) { if (k == tn_fft) { - tharg[k].thd.fft = OPT_FFT_SERV; + tharg[k].thd.fft = opt_fft; tharg[k].fname = fname_fft; + tharg[k].thd.fft_num = fft_num; + tharg[k].thd.stop_fft = 0; + + if ( (tharg[k].thd.fft & 0xF) == OPT_FFT_SERV ) { // save FFT at server + if (fname_fft) { + if (fname_fft[0] == '-') tharg[k].fpo = stdout; + else tharg[k].fpo = fopen(fname_fft, "wb"); + } + else return -1; + if (tharg[k].fpo == NULL) { + fprintf(stderr, "error: open %s\n", fname_fft); + } + } } tharg[k].thd.tn = k; tharg[k].thd.tn_bit = (1< 1 ) { char *freq = tcp_buf; while (l > 1 && tcp_buf[l-1] < 0x20) l--; @@ -701,23 +870,76 @@ int main(int argc, char **argv) { break; } else if ( strncmp(tcp_buf, "--fft", 5) == 0 ) { + opt_fft = 0; + if (strncmp(tcp_buf+5, "_avg", 4) == 0) opt_fft = OPT_FFT_AVG; + else if (strncmp(tcp_buf+5, "_all", 4) != 0) return -1; + if (strncmp(tcp_buf+5+4, "_cl", 3) == 0) opt_fft |= OPT_FFT_CLNT; + else if (strncmp(tcp_buf+5+4, "_sv", 3) == 0) { + if (option_clsv_out) opt_fft |= OPT_FFT_SERV; + else { + pthread_mutex_lock( &mutex ); + fprintf(FPOUT, "\n"); + pthread_mutex_unlock( &mutex ); + close(conn_fd); + continue; + } + } + else return -1; + if (tcp_buf+5+4+4) fft_num = atoi(tcp_buf+5+4+4); else fft_num = 0; char *fname_fft_cl = "db_fft_cl.txt"; - int opt_fft = strcmp(tcp_buf, "--fft0") == 0 ? OPT_FFT_CLSV : OPT_FFT_CLNT; - //close(conn_fd); + char *pbuf = tcp_buf; + for (pbuf = tcp_buf+5+4+4; *pbuf; pbuf++) { + if (*pbuf == ' ') break; + } + if (*pbuf == ' ') { + fname_fft_cl = pbuf+1; + } if ( !tcp_eof ) { if (tn_fft >= 0) { - tharg[tn_fft].thd.fft = opt_fft; - tharg[tn_fft].fname = fname_fft_cl; - tharg[tn_fft].fd = conn_fd; + if (tharg[tn_fft].thd.fft == 0) { + tharg[tn_fft].thd.fft_num = fft_num; + tharg[tn_fft].thd.stop_fft = 0; + tharg[tn_fft].fname = fname_fft_cl; + tharg[tn_fft].fd = conn_fd; + + if ( (opt_fft & 0xF) == OPT_FFT_SERV ) { // save FFT at server + if (fname_fft_cl) { + if (fname_fft_cl[0] == '-') tharg[tn_fft].fpo = stdout; + else tharg[tn_fft].fpo = fopen(fname_fft_cl, "wb"); + } + else return -1; + if (tharg[tn_fft].fpo == NULL) { + fprintf(stderr, "error: open %s\n", fname_fft_cl); + } + close(tharg[tn_fft].fd); tharg[tn_fft].fd = -1; // tharg[tn_fft].fd == conn_fd + } + else { // (opt_fft & 0xF) == OPT_FFT_CLNT : send FFT to client + tharg[tn_fft].fpo = NULL; + } + + tharg[tn_fft].thd.fft = opt_fft; + } + else { + pthread_mutex_lock( &mutex ); + fprintf(FPOUT, "<%d: FFT running>\n", tn_fft); + pthread_mutex_unlock( &mutex ); + + close(conn_fd); + } } else { for (k = 0; k < MAX_FQ; k++) { - if (tharg[k].thd.used == 0) break; + if (tharg[k].thd.used == 0) { + if (k != tn_fft) break; + } } if (k < MAX_FQ) { - tharg[k].thd.fft = opt_fft; + tharg[k].thd.fft_num = fft_num; + tharg[k].thd.stop_fft = 0; tharg[k].fname = fname_fft_cl; + tharg[k].fd = conn_fd; + tn_fft = k; tharg[k].thd.tn = k; tharg[k].thd.tn_bit = (1< : close int num = atoi(tcp_buf+1); if (num >= 0 && num < MAX_FQ) { - if (num != tn_fft) { + if (num != tn_fft) + { tharg[num].thd.used = 0; } + else + { + tharg[num].thd.stop_fft = 1; + } } close(conn_fd); } @@ -789,6 +1030,7 @@ int main(int argc, char **argv) { rbf1 |= tharg[k].thd.tn_bit; tharg[k].thd.used = 1; tharg[k].thd.fft = 0; + tharg[k].thd.stop_fft = 0; pthread_create(&tharg[k].thd.tid, NULL, thd_IF, &tharg[k]); diff --git a/demod/iq_svcl/iq_svcl.h b/demod/iq_svcl/iq_svcl.h index 04a7c56..071b19c 100644 --- a/demod/iq_svcl/iq_svcl.h +++ b/demod/iq_svcl/iq_svcl.h @@ -6,6 +6,10 @@ #include +#define OPT_FFT_SERV 1 // server +#define OPT_FFT_CLNT 2 // server -> client +#define OPT_FFT_AVG 0x100 + #define TCPBUF_LEN 1024 #define SERV_BACKLOG 6 diff --git a/demod/iq_svcl/plot_fft.py b/demod/iq_svcl/plot_fft.py index 32a81d0..ddebabc 100644 --- a/demod/iq_svcl/plot_fft.py +++ b/demod/iq_svcl/plot_fft.py @@ -8,7 +8,7 @@ import matplotlib.ticker as ticker if len(sys.argv) < 2: print("usage:") - print("\tpython %s " % sys.argv[0]) + print("\tpython %s " % sys.argv[0]) sys.exit() fft_file = sys.argv[1] @@ -18,10 +18,17 @@ if not os.path.isfile(fft_file): sys.exit() -data = np.genfromtxt( fft_file, delimiter=';', names=['fq','db'] , skip_header=1 ) +raw_data = np.genfromtxt( fft_file, delimiter=',', max_rows=1) +data1 = raw_data[:] # max_rows=2: raw_data[0,:] +print(data1) -fq = data['fq'] -db = data['db'] +db = data1[5:] + +sr = -2.0*data1[1] + +freq_min = data1[1] / sr +freq_max = data1[2] / sr +fq = np.arange(freq_min, freq_max, 1.0/(data1[4]+1)) N = len(db) m = np.mean(db) diff --git a/demod/iq_svcl/plot_fft_ani.py b/demod/iq_svcl/plot_fft_ani.py new file mode 100644 index 0000000..c3d20b4 --- /dev/null +++ b/demod/iq_svcl/plot_fft_ani.py @@ -0,0 +1,186 @@ + +import os +import sys +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.ticker as ticker +import matplotlib.animation as animation + + +if len(sys.argv) < 3: + print("usage:") + print("\tpython <1/2/3> %s " % sys.argv[0]) + sys.exit() + +OPT_FFT_L = 1 +OPT_FFT_W = 2 +OPT_FFT_B = 3 + +OPT_FFT = OPT_FFT_B +if (sys.argv[1] == '1'): + OPT_FFT = OPT_FFT_L +elif (sys.argv[1] == '2'): + OPT_FFT = OPT_FFT_W + +fft_file = sys.argv[2] + + +if (fft_file == "-"): + f = sys.stdin +else: + try: + f = open(fft_file) + except IOError: + print("error: open %s" % fft_file) + sys.exit() + + +FFT_FPS = 16/2 +WIN_SEC = 10 +win = WIN_SEC*FFT_FPS + +line = f.readline() +#line = f.readline() + +row = np.fromstring(line, dtype=float, sep=',') +data = row[5:] + +l = len(data) +m = np.mean(data) + +data5 = np.full([win,l], m) +for x in range(2, l-2): + data5[0,x] = (data[x-2]+data[x-1]+data[x]+data[x+1]+data[x+2])/5.0 + +min_db = np.min(data5) +max_db = np.max(data5) + +sr = -2.0*row[1] + +freq_min = row[1] +freq_max = row[2] +N = row[4] + +limits = [freq_min/1e3, freq_max/1e3, WIN_SEC, 0.0] + +fq = np.arange(freq_min/sr, freq_max/sr, 1.0/(row[4]+1)) + + +################################################################################################ + +if (OPT_FFT == OPT_FFT_L): + fig = plt.figure(figsize=(12, 5)) + ax1 = fig.add_subplot(111) + ax1.set_xlim([fq[0], fq[-1]]) + ax1.set_ylim([-110.0, -30.0]) + + lp, = ax1.plot( fq, data5[0,:], color='g', linewidth=0.4) + + count = 0 + + def animate_lp(i): + line = f.readline() + if line: + row = np.fromstring(line, dtype=float, sep=',') + data = row[5:] + + global count + count += 1 + global data5 + #data5 = np.roll(data5, 1, axis=0) + for x in range(2, l-2): + data5[0,x] = (data[x-2]+data[x-1]+data[x]+data[x+1]+data[x+2])/5.0 + + lp.set_data(fq, data5[0,:]) + + return [lp] + + ani = animation.FuncAnimation(fig, animate_lp, interval=10, blit=True) + +################################################################################################ + +elif (OPT_FFT == OPT_FFT_W): + fig = plt.figure(figsize=(12, 5)) + ax2 = fig.add_subplot(111) + ax2.set_xlabel('Frequency (kHz)') + ax2.set_ylabel('Time (s)') + + im = ax2.imshow(data5, vmin=-110.0, vmax=-50.0, extent=limits, animated=True) + ax2.set_aspect('auto') + fig.colorbar(im, orientation='vertical') + + count = 0 + + def animate_im(i): + line = f.readline() + if line: + row = np.fromstring(line, dtype=float, sep=',') + data = row[5:] + + global count + count += 1 + global data5 + data5 = np.roll(data5, 1, axis=0) + for x in range(2, l-2): + data5[0,x] = (data[x-2]+data[x-1]+data[x]+data[x+1]+data[x+2])/5.0 + + im.set_data(data5) + + # update vmin/vmax + if (count % win == 0): + min_db = np.min(data5) + max_db = np.max(data5) + im.set_clim(vmin=min_db, vmax=max_db) + return [im] + + ani = animation.FuncAnimation(fig, animate_im, interval=10, blit=True) + +################################################################################################ + +else: + fig = plt.figure(figsize=(12, 8)) + ax1 = fig.add_subplot(211) + ax1.set_xlim([fq[0], fq[-1]]) + ax1.set_ylim([-110.0, -30.0]) + ax2 = fig.add_subplot(212) + ax2.set_xlabel('Frequency (kHz)') + ax2.set_ylabel('Time (s)') + + lp, = ax1.plot( fq, data5[0,:], color='g', linewidth=0.4) + im = ax2.imshow(data5, vmin=-110.0, vmax=-50.0, extent=limits, animated=True) + + ax2.set_aspect('auto') + + count = 0 + + def animate(i): + line = f.readline() + if line: + row = np.fromstring(line, dtype=float, sep=',') + data = row[5:] + + global count + count += 1 + global data5 + data5 = np.roll(data5, 1, axis=0) + for x in range(2, l-2): + data5[0,x] = (data[x-2]+data[x-1]+data[x]+data[x+1]+data[x+2])/5.0 + + im.set_data(data5) + lp.set_data(fq, data5[0,:]) + + # update vmin/vmax + if (count % win == 0): + min_db = np.min(data5) + max_db = np.max(data5) + im.set_clim(vmin=min_db, vmax=max_db) + return [lp,im] + + ani = animation.FuncAnimation(fig, animate, interval=10, blit=True) + +################################################################################################ + +plt.show() + + + diff --git a/demod/iq_svcl/plot_wfft.py b/demod/iq_svcl/plot_wfft.py new file mode 100644 index 0000000..cf29e87 --- /dev/null +++ b/demod/iq_svcl/plot_wfft.py @@ -0,0 +1,52 @@ + +import os +import sys +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.ticker as ticker + + +if len(sys.argv) < 2: + print("usage:") + print("\tpython %s " % sys.argv[0]) + sys.exit() + +fft_file = sys.argv[1] + +if not os.path.isfile(fft_file): + print("error: %s not found" % fft_file) + sys.exit() + + +raw_data = np.genfromtxt( fft_file, delimiter=',') +data = raw_data[:,5:] + +dim = np.shape(data) +m = np.mean(data) +data5 = np.full(dim, m) +for y in range(dim[0]): + for x in range(2, dim[1]-2): + data5[y,x] = (data[y,x-2]+data[y,x-1]+data[y,x]+data[y,x+1]+data[y,x+2])/5.0 + +freq_min = raw_data[0,1] / 1e3 +freq_max = raw_data[0,2] / 1e3 +N = raw_data[0,4] +tmin = raw_data[dim[0]-1,0] +tmax = raw_data[0,0] +limits = [freq_min, freq_max, tmin, tmax] + + +fig = plt.figure(figsize=(15, 5)) +ax = fig.add_subplot(111) +ax.set_title('Waterfall') +ax.set_xlabel('Frequency (kHz)') +ax.set_ylabel('Time (s)') + +plt.imshow(data5, extent=limits) + +ax.set_aspect('auto') +plt.colorbar(orientation='vertical') +plt.show() + + + diff --git a/demod/iq_svcl/scan_fft.c b/demod/iq_svcl/scan_fft.c index 42d6a37..9e60eb1 100644 --- a/demod/iq_svcl/scan_fft.c +++ b/demod/iq_svcl/scan_fft.c @@ -52,7 +52,7 @@ int main(int argc, char **argv) { if (argv[1] == NULL) { fprintf(stderr, "usage:\n"); - fprintf(stderr, "\t%s \n", argv[0]); + fprintf(stderr, "\t%s \n", argv[0]); return 1; } fp = fopen(argv[1], "rb"); @@ -61,9 +61,34 @@ int main(int argc, char **argv) { return 1; } + + memset(line, 0, LINELEN+1); + N = 0; + j = 0; + n = 0; + // sec.ms,freq_min,freq_max,Hz/bin,N_bins, ... while ( (c = fgetc(fp)) != EOF) { - if (c == '\n') N++; + if (c == '\n') break; + if (c == ' ') continue; + if (c == ',') { + if (n == 1) { + int freq_min = atoi(line); + sr = -2*freq_min; + } + if (n == 4) { + N = atoi(line); + break; + } + + n++; + memset(line, 0, LINELEN+1); + j = 0; + } + else { + line[j] = c; + j++; + } } db = calloc(N+1, sizeof(float)); if (db == NULL) return 2; @@ -73,20 +98,30 @@ int main(int argc, char **argv) { intdb = calloc(N+1, sizeof(float)); if (intdb == NULL) return 2; peak = calloc(N+1, sizeof(float)); if (peak == NULL) return 2; - fseek(fp, 0, SEEK_SET); - pbuf = fgets(line, LINELEN, fp); - p1 = strstr(line, "sr:"); - if (p1) sr = atoi(p1+3); - for (n = 0; n < N; n++) { - memset(line, 0, LINELEN+1); - pbuf = fgets(line, LINELEN, fp); - p1 = strstr(line, ";"); //p2 = strstr(p1+1, ";"); - if (p1) { - fq[n] = atof(line); //freq[n] = atof(p1+1); - db[n] = atof(p1+1); //atof(p2+1); + // ..., db_1,...,db_N: + memset(line, 0, LINELEN+1); + j = 0; + n = 0; + while ( (c = fgetc(fp)) != EOF) { + if (c == '\n') break; + if (c == ' ') continue; + if (c == ',') { + if (n < N) { + db[n] = atof(line); + fq[n] = -0.5 + n/(float)N; + } + + n++; + memset(line, 0, LINELEN+1); + j = 0; + } + else { + line[j] = c; + j++; } } + f0 = N/2; globmin = 0.0; @@ -94,14 +129,12 @@ int main(int argc, char **argv) { float db_spike3 = 10.0; int spike_wl3 = 3; //freq2bin(&DFT, 200); // 3 // 200 Hz int spike_wl5 = 5; //freq2bin(&DFT, 200); // 3 // 200 Hz - //float db_spike1 = 15.0; - //int spike_wl1 = 1; //freq2bin(&DFT, 200); // 3 // 200 Hz + dx = 200.0; if (sr) dx = sr*(fq[f0+1]-fq[f0]); //freq[f0+1]-freq[f0]; dn = 2*(int)(2400.0/dx)+1; // (odd/symmetric) integration width: 4800+dx Hz if (option_verbose > 1) fprintf(stderr, "dn = %d\n", dn); - //for (j = 0; j < N; j++) db[j] /= (float)n; // dc-spike (N-1,)N,0,1(,2): subtract mean/avg // spikes in general: