From c00456b9844e33b8b8c4ddc115a9646ddf46f673 Mon Sep 17 00:00:00 2001 From: c vw Date: Tue, 27 Oct 2020 10:14:54 +0100 Subject: [PATCH] make "noise blanker tests" more flexible --- hpsdrsim.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/hpsdrsim.c b/hpsdrsim.c index c41659e..a6a7806 100644 --- a/hpsdrsim.c +++ b/hpsdrsim.c @@ -230,6 +230,8 @@ int main(int argc, char *argv[]) seed = ((uintptr_t) &seed) & 0xffffff; diversity=0; noiseblank=0; + nb_pulse=0; + nb_width=0; OLDDEVICE=DEVICE_ORION2; NEWDEVICE=NEW_DEVICE_ORION2; @@ -247,7 +249,13 @@ int main(int argc, char *argv[]) if (!strncmp(argv[i],"-audio", 6)) {do_audio=1;} if (!strncmp(argv[i],"-P1", 3)) {oldnew=1;} if (!strncmp(argv[i],"-P2", 3)) {oldnew=2;} - if (!strncmp(argv[i],"-nb", 3)) {noiseblank=1;} + if (!strncmp(argv[i],"-nb", 3)) { + noiseblank=1; + if (i < argc-1) sscanf(argv[++i],"%d",&nb_pulse); + if (i < argc-1) sscanf(argv[++i],"%d",&nb_width); + if (nb_pulse < 1 || nb_pulse > 200) nb_pulse=5; + if (nb_width < 1 || nb_width > 200) nb_width=100; + } } switch (OLDDEVICE) { @@ -326,12 +334,16 @@ int main(int argc, char *argv[]) if (diversity && noiseblank) { // // Create impulse noise as a real-time signal - // 5 impulses per second + // n impulses per second + // m samples wide + // about -80 dBm in 1000 Hz // + off=sqrt(0.05 / (nb_pulse*nb_width)); memset(divtab, 0, LENDIV*sizeof(double)); - fprintf(stderr,"NOISE BLANKER test activated\n"); - for (i=0; i<5; i++) { - for (j=9600*i; j< 9600*i+100; j++) divtab[j]=1.0; + fprintf(stderr,"NOISE BLANKER test activated: %d pulses of width %d within %d samples\n", + nb_pulse, nb_width, LENDIV); + for (i=0; i