EasyManua.ls Logo

Rohde & Schwarz SMU200A - Page 532

Rohde & Schwarz SMU200A
888 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
®
SMU200A
512Operating Manual 1007.9845.32 ─ 15
if (fp == 0)
return;
for (i=0; i<samples; i++)
{
grad = (360.0 / (float)samples) * (float)i;
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, "}");
R&S Signal Generator Waveform and List Format

Table of Contents

Other manuals for Rohde & Schwarz SMU200A

Related product manuals