EasyManua.ls Logo

Rohde & Schwarz SMBV100A - Page 471

Rohde & Schwarz SMBV100A
780 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Remote Control Commands
R&S
®
SMBV100A
454Operating Manual 1407.6062.32 ─ 08
rad = grad * (pi / 180.0);
fprintf(fp, "%f %f\n", sin(rad), cos(rad));
}
fclose(fp);
}
Extract from a C-program generating a binary data set from the I/Q pairs in the file
SICO.TXT and storing the result to file SICO.WV:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
void main(void)
{
const unsigned int samples = 20; // Number of samples to convert
FILE *fp_sour, *fp_dest;
float i_float, q_float;
unsigned short i_usint, q_usint;
int i;
fp_sour = fopen("SICO.TXT", "rt");
if (fp_sour == 0)
return;
fp_dest = fopen("SICO.WV", "wb");
if (fp_dest == 0)
{
fclose(fp_sour);
return;
}
// Write required tags to waveform file
fprintf(fp_dest, "{TYPE: SMU-WV,0}");
fprintf(fp_dest, "{CLOCK: 10e6}");
fprintf(fp_dest, "{SAMPLES: %d}", samples);
fprintf(fp_dest, "{WAVEFORM-%d:#", (samples * 4) + 1);
for (i=0; i<samples; i++)
{
// Read I/Q pair from ASCII file
if (fscanf(fp_sour, "%f %f", &i_float, &q_float) == EOF)
break;
// Convert I/Q pair to unsigned short
i_usint = (unsigned short)floor((i_float * 32767.0) + 0.5);
q_usint = (unsigned short)floor((q_float * 32767.0) + 0.5);
// Write converted I/Q pair to waveform file
fwrite(&i_usint, 2, 1, fp_dest);
fwrite(&q_usint, 2, 1, fp_dest);
}
fprintf(fp_dest, "}");
fclose(fp_dest);
fclose(fp_sour);
}
R&S Signal Generator Waveform and List Format

Table of Contents

Other manuals for Rohde & Schwarz SMBV100A

Related product manuals