R&S AFQ100A Operating Manual page 287

I/q modulation generator
Hide thumbs Also See for AFQ100A:
Table of Contents

Advertisement

R&S AFQ100A
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;
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);
}
1401.3084.32
AFQ Commands - Signal Generation
// Number of samples to convert
6.26
E-3

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Afq100b

Table of Contents