mvc export to pdf : Best program to convert pdf to jpg Library application class asp.net html windows ajax E8251-9035522-part501

Agilent Signal Generators Programming Guide
213
Creating and Downloading Waveform Files
Understanding Waveform Data
Waveform Data Requirements
To be successful in downloading files, you must first create the data in the required format.
• Signed 2’s complement
• 2–byte integer values
• Input data range of 32768 to 32767
• Minimum of 60 samples per waveform (60 I and 60 Q data points)
• Interleaved I and Q data
• Big endian byte order
• The same name for the marker, header, and I/Q file 
This is only a requirement if you create and download a marker file and or file header, otherwise 
the signal generator automatically creates the marker file and or file header using the I/Q data 
file name. 
NOTE
FTP can be used without programming commands to transfer files from the PC to the signal 
generator or from the signal generator to the PC.
For more information, see “Waveform Structure” on page 221.
For more information on waveform data, see “Understanding Waveform Data” on page 213.
Understanding Waveform Data
The signal generator accepts binary data formatted into a binary I/Q file. This section explains the 
necessary components of the binary data, which uses ones and zeros to represent a value.
Bits and Bytes
Binary data uses the base–two number system. The location of each bit within the data represents a 
value that uses base two raised to a power (2
n–1
). The exponent is n  1 because the first position is 
zero. The first bit position, zero, is located at the far right. To find the decimal value of the binary 
data, sum the value of each location:
1101 = (1 2
3
) + (1 2
2
) + (0  2
1
) + (1  2
0
= (1 8) + (1 4) + (0  2) + (1  1) 
= 13 (decimal value)
Notice that the exponent identifies the bit position within the data, and we read the data from right 
to left.
The signal generator accepts data in the form of bytes. Bytes are groups of eight bits:
01101110 = (0 2
7
) + (1 2
6
) + (1  2
5
) + (0  2
4
) +(1 2
3
) + (1 2
2
) + (1  2
1
) + (0  2
0
= 110 (decimal value)
Best program to convert pdf to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf file into jpg; to jpeg
Best program to convert pdf to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
convert multi page pdf to single jpg; best program to convert pdf to jpg
214
Agilent Signal Generators Programming Guide
Creating and Downloading Waveform Files
Understanding Waveform Data
The maximum value for a single unsigned byte is 255 (11111111 or 2
8
1), but you can use multiple 
bytes to represent larger values. The following shows two bytes and the resulting integer value:
01101110 10110011= 28339 (decimal value)
The maximum value for two unsigned bytes is 65535. Since binary strings lengthen as the value 
increases, it is common to show binary values using hexadecimal (hex) values (base 16), which are 
shorter. The value 65535 in hex is FFFF. Hexadecimal consists of the values 0, 1, 2, 3, 4, 5, 6, 7, 8, 
9, A, B, C, D, E, and F. In decimal, hex values range from 0 to 15 (F). It takes 4 bits to represent a 
single hex value.
For I and Q data, the signal generator uses two bytes to represent an integer value.
LSB and MSB (Bit Order)
Within groups (strings) of bits, we designate the order of the bits by identifying which bit has the 
highest value and which has the lowest value by its location in the bit string. The following is an 
example of this order.
Little Endian and Big Endian (Byte Order)
When you use multiple bytes (as required for the waveform data), you must identify their order. This 
is similar to identifying the order of bits by LSB and MSB. To identify byte order, use the terms little 
endian and big endian. These terms are used by designers of computer processors.
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001
A = 1010
B = 1011
C = 1100
D = 1101
E = 1110
F = 1111
Most Significant Bit (MSB)
This bit has the highest value (greatest weight) and is located at the far left of the bit 
string.
Least Significant Bit (LSB)
This bit has the lowest value (bit position zero) and is located at the far right of the 
bit string.
Intel is a registered trademark of Intel Corporation.
1 0  1  1 0 1 1  1   1  1  1 1 0  1 0 0 1
LSB
MSB
15  14 13 12 11 10  9  8 
7 6 5 4  3 3 2 2 1  0
Data
Bit Position
Because we are using 2 bytes of data, the LSB appears in the second byte.
C# Create PDF from images Library to convert Jpeg, png images to
Best and professional C# image to PDF converter SDK C# Example: Convert More than Two Type Images to bmp")); images.Add(new Bitmap(Program.RootPath + "\\" 1
convert multi page pdf to jpg; changing pdf file to jpg
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
Best adobe PDF to image converter SDK for page As PDFPage = doc.GetPage(0) ' Convert the first page.ConvertToImage(ImageType.PNG, Program.RootPath + "Output.png
convert pdf to 300 dpi jpg; convert .pdf to .jpg online
Agilent Signal Generators Programming Guide
215
Creating and Downloading Waveform Files
Understanding Waveform Data
Notice in the previous figure that the LSB and MSB positioning changes with the byte order. In little 
endian order, the LSB and MSB are next to each other in the bit sequence.
NOTE
For I/Q data downloads, the signal generator requires big endian order. For each I/Q data 
point, the signal generator uses four bytes (two integer values), two bytes for the I point and 
two bytes for the Q point.
The byte order, little endian or big endian, depends on the type of processor used with your 
development platform. Intel processors and its clones use little endian. (Intel© is a U.S. registered 
trademark of Intel Corporation.) Sun™ and Motorola processors use big endian. The Apple PowerPC 
processor, while big endian oriented, also supports the little endian order. Always refer to the 
processor’s manufacturer to determine the order they use for bytes and if they support both, to 
understand how to ensure that you are using the correct byte order.
Development platforms include any product that creates and saves waveform data to a file. This 
includes Agilent Technologies Advanced Design System EDA software, C++, MATLAB, and so forth.
The byte order describes how the system processor stores integer values as binary data in memory. 
If you output data from a little endian system to a text file (ASCII text), the values are the same as 
viewed from a big endian system. The order only becomes important when you use the data in binary 
format, as is done when downloading data to the signal generator.
Sun is a trademark or registered trademark of Sun Microsystems, Inc. in the U.S. and other countries.
1 0  1  1 0 1 1  1   1  1  1 1 0  1 0 0 1
15  14 13 12 11 10  9  8 
7 6 5 4  3 3 2 2 1  0
Data
Bit Position
1 0  1  1 0 1 1  1
15  14 13 12 11 10  9  8 
Data
Bit Position
Big Endian Order
Little Endian Order
 1  1 1 0  1 0 0 1
7 6 5 4 4 3
2 1  0
Hex values = E9 B7
Hex values = B7 E9
LSB
MSB
MSB
LSB
The lowest order byte that contains bits 0–7 comes first.
The highest order byte that contains bits 8–15 comes first.
VB.NET Create PDF from images Library to convert Jpeg, png images
Best and professional image to PDF converter SDK Components to batch convert PDF documents in Visual Basic images.Add(New REImage(Program.RootPath + "\\" 1
batch pdf to jpg converter online; pdf to jpg
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Best C#.NET PDF converter SDK for converting PDF to PDF documents to tiff format in Visual C# .NET program. Also supports convert PDF files to jpg, jpeg images.
.net convert pdf to jpg; change from pdf to jpg on
216
Agilent Signal Generators Programming Guide
Creating and Downloading Waveform Files
Understanding Waveform Data
Byte Swapping
While the processor for the development platform determines the byte order, the recipient of the data 
may require the bytes in the reverse order. In this situation, you must reverse the byte order before 
downloading the data. This is commonly referred to as byte swapping. You can swap bytes either 
programmatically or by using either the Agilent Technologies Intuilink for ESG/PSG/E8257N Signal 
Generator software, or the Signal Studio Toolkit 2 software. For the signal generator, byte swapping 
is the method to change the byte order of little endian to big endian. For more information on little 
endian and big endian order, see “Little Endian and Big Endian (Byte Order)” on page 214.
The following figure shows the concept of byte swapping for the signal generator. Remember that we 
can represent data in hex format (4 bits per hex value), so each byte (8 bits) in the figure shows two 
example hex values.
To correctly swap bytes, you must group the data to maintain the I and Q values. One common 
method is to break the two–byte integer into one–byte character values (0–255). Character values use 
8 bits (1 byte) to identify a character. Remember that the maximum unsigned 8–bit value is 255 (2
8
 1). Changing the data into character codes groups the data into bytes. The next step is then to 
swap the bytes to align with big endian order. 
NOTE
The signal generator always assumes that downloaded data is in big endian order, so there is 
no data order check. Downloading data in little endian order will produce an undesired 
output signal.
DAC Input Values
The signal generator uses a 16–bit DAC (digital–to–analog convertor) to process each of the 2–byte 
integer values for the I and Q data points. The DAC determines the range of input values required 
from the I/Q data. Remember that with 16 bits we have a range of 0–65535, but the signal generator 
divides this range between positive and negative values:
• 32767 = positive full scale output
• 0 = 0 volts
• 32768 = negative full scale output
Because the DAC’s range uses both positive and negative values, the signal generator requires signed 
input values. The following list illustrates the DAC’s input value range.
E9
B7
53
2A
1 2 3
E9
B7
53
2A
1
2 3
I data = bytes 0 and 1
Q data = bytes 2 and 3
Little Endian
Big Endian
16–bit integer values (2 bytes = 1 integer value)
I
Q
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Best PDF converter SDK for Visual Studio .NET for PDFPage)doc.GetPage(0); // Convert the first page.ConvertToImage(ImageType.PNG, Program.RootPath + "Output.png
convert pdf to high quality jpg; .pdf to jpg converter online
VB.NET Image: Visual Basic .NET Guide to Draw Text on Image in .
sure that you can create the best picture with you can freely use the method below in your program. powerful & profession imaging controls, PDF document, image
pdf to jpeg; convert multiple pdf to jpg
Agilent Signal Generators Programming Guide
217
Creating and Downloading Waveform Files
Understanding Waveform Data
Notice that it takes only 15 bits (2
15
) to reach the Vmax (positive) or Vmin (negative) values. The 
MSB determines the sign of the value. This is covered in “2’s Complement Data Format” on page 219.
Using E443xB ESG DAC Input Values
In this section, the words signal generator with or without a model number refer to an N5162A/82A 
MXG, E4438C ESG, E8267D PSG. The signal generator input values differ from those of the earlier 
E443xB ESG models. For the E443xB models, the input values are all positive (unsigned) and the 
data is contained within 14 bits plus 2 bits for markers. This means that the E443xB DAC has a 
smaller range:
• 0 = negative full scale output
• 8192 = 0 volts
• 16383 = positive full scale output
Although the signal generator uses signed input values, it accepts unsigned data created for the 
E443xB and converts it to the proper DAC values. To download an E443xB files to the signal 
generator, use the same command syntax as for the E443xB models. For more information on 
downloading E443xB files, see “Downloading E443xB Signal Generator Files” on page 258.
Scaling DAC Values
The signal generator uses an interpolation algorithm (sampling between the I/Q data points) when 
reconstructing the waveform. For common waveforms, this interpolation can cause overshoot, which 
may exceed the limits of the signal process path’s internal number representation, causing arithmatic 
overload. This will be reported as either a data path overload error (MXG) or a DAC over–range error 
condition (ESG/PSG). Because of the interpolation, the error condition can occur even when all the I 
and Q values are within the DAC input range. To avoid the DAC over–range problem, you must scale 
(reduce) the I and Q input values, so that any overshoot remains within the DAC range.
Voltage
DAC Range
Input Range
Binary Data
Hex Data
Vmax
Vmin
0 Volts
32767
–32768
0
01111111 11111111
00000000 00000000
00000000 00000001
11111111 11111111
10000000 00000000
1
-1
7FFF
0001
0000
FFFF
8000
0
32767
65535
32766
32768
C# Create PDF Library SDK to convert PDF from other file formats
Best C#.NET component to create searchable PDF document from Microsoft Office String outputFile = Program.RootPath + "\\" output.pdf"; // Create a
batch pdf to jpg converter; convert pdf to jpg c#
VB.NET Create PDF Library SDK to convert PDF from other file
with Visual Basic .NET class and able to create PDF in both .NET WinForms and ASP.NET program. Best VB.NET component to convert Microsoft Office Word
changing pdf to jpg; convert pdf document to jpg
218
Agilent Signal Generators Programming Guide
Creating and Downloading Waveform Files
Understanding Waveform Data
NOTE
Whenever you interchange files between signal generator models, ensure that all scaling is 
adequate for that signal generator’s waveform.
There is no single scaling value that is optimal for all waveforms. To achieve the maximum dynamic 
range, select the largest scaling value that does not result in a DAC over–range error. There are two 
ways to scale the I/Q data:
• Reduce the input values for the DAC.
• Use the SCPI command :RADio:ARB:RSCaling <val> to set the waveform amplitude as a 
percentage of full scale.
NOTE
The signal generator factory preset for scaling is 70%. If you reduce the DAC input values, 
ensure that you set the signal generator scaling (:RADio:ARB:RSCaling) to an appropriate 
setting that accounts for the reduced values.
To further minimize overshoot problems, use the correct FIR filter for your signal type and adjust 
your sample rate to accommodate the filter response.
DAC over–range 
No over–range 
Interpolation
Interpolation
–32768
32767
Scaling effect
Max input value
Agilent Signal Generators Programming Guide
219
Creating and Downloading Waveform Files
Understanding Waveform Data
NOTE
FIR filter capability is only available on the N5172B/82B with Option 653 or 656, the 
N5162A/82A with Option 651, 652, or 654, the E4438C with Option 001, 002, 601, or 602, 
and on the E8267D with Option 601 or 602.
2’s Complement Data Format
The signal generator requires signed values for the input data. For binary data, two’s complement is 
a way to represent positive and negative values. The most significant bit (MSB) determines the sign.
• 0 equals a positive value (01011011 = 91 decimal)
• 1 equals a negative value (10100101 = 91 decimal)
Like decimal values, if you sum the binary positive and negative values, you get zero. The one 
difference with binary values is that you have a carry, which is ignored. The following shows how to 
calculate the two’s complement using 16–bits. The process is the same for both positive and negative 
values.
I and Q Interleaving
When you create the waveform data, the I and Q data points typically reside in separate arrays or 
files. The signal generator requires a single I/Q file for waveform data playback. The process of 
interleaving creates a single array with alternating I and Q data points, with the Q data following the 
I data. This array is then downloaded to the signal generator as a binary file. The interleaved file 
comprises the waveform data points where each set of data points, one I data point and one Q data 
point, represents one I/Q waveform point.
Convert the decimal value to binary. 
23710 = 01011100 10011110 
Notice that 15 bits (0–14) determine the value and bit 16 (MSB) indicates a positive value. 
Invert the bits (1 becomes 0 and 0 becomes 1).
10100011 01100001 
Add one to the inverted bits. Adding one makes it a two’s complement of the original binary value.
10100011 01100001
+ 00000000 00000001
10100011 01100010  
The MSB of the resultant is one, indicating a negative value (23710). 
Test the results by summing the binary positive and negative values; when correct, they produce zero.
01011100 10011110
+ 10100011 01100010
00000000 00000000
220
Agilent Signal Generators Programming Guide
Creating and Downloading Waveform Files
Understanding Waveform Data
NOTE
The signal generator can accept separate I and Q files created for the earlier E443xB ESG 
models. For more information on downloading E443xB files, see “Downloading E443xB Signal 
Generator Files” on page 258.
The following figure illustrates interleaving I and Q data. Remember that it takes two bytes (16 bits) 
to represent one I or Q data point.
11001010 01110110 01110111 00111110
I Data 
Q Data
11101001 11001010 01011110 01110010
11001010 01110110 11101001 11001010 01110111 00111110 01011110 01110010
I Data
Q Data
I Data
Q Data
Interleaved Binary Data
CA 76 E9 CA 77 3E 5E 72
Q Data
Q Data
I Data
I Data
Interleaved Hex Data
Binary 
Hex
CA 
76 
77 
3E
Binary 
Hex
E9 
CA 
5E 
72
Waveform
data point
Waveform
data point
Waveform data point
Waveform data point
MSB
MSB
LSB
LSB
Agilent Signal Generators Programming Guide
221
Creating and Downloading Waveform Files
Waveform Structure
Waveform Structure
To play back waveforms, the signal generator uses data from the following three files: 
• File header
• Marker file
• I/Q file
All three files have the same name, the name of the I/Q data file, but the signal generator stores 
each file in its respective directory (headers, markers, and waveform). For information on file 
extractions, see “Commands for Downloading and Extracting Waveform Data” on page 232.
File Header
The file header contains settings for the ARB modulation format such as sample rate, marker polarity, 
I/Q modulation attenuator setting and so forth. When you create and download I/Q data, the signal 
generator automatically creates a file header with all saved parameters set to unspecified. With 
unspecified header settings, the waveform either uses the signal generator default settings, or if a 
waveform was previously played, the settings from that waveform. Ensure that you configure and save 
the file header settings for each waveform.
NOTE
If you have no RF output when you play back a waveform, ensure that the marker RF 
blanking function has not been set for any of the markers. The marker RF blanking function 
is a header parameter that can be inadvertently set active for a marker by a previous 
waveform. To check for and turn RF blanking off manually, refer to “Configuring the 
Pulse/RF Blank (Agilent X-Series and MXG)” on page 312 and “Configuring the Pulse/RF 
Blank (ESG/PSG)” on page 312.
Marker File
The marker file uses one byte per I/Q waveform point to set the state of the four markers either on 
(1) or off (0) for each I/Q point. When a marker is active (on), it provides an output trigger signal to 
the rear panel EVENT 1 connector (Marker 1 only) or and the AUX IO, event 2 connector pin 
(Markers 1, 2, 3, or 4), that corresponds to the active marker number. (For more information on 
active markers and their output trigger signal location, refer to your signal generator’s User’s Guide.) 
Because markers are set at each waveform point, the marker file contains the same number of bytes 
as there are waveform points. For example, for 200 waveform points, the marker file contains 200 
bytes.
Although a marker point is one byte, the signal generator uses only bits 0–3 to configure the 
markers; bits 4–7 are reserved and set to zero. The following example shows a marker byte.
222
Agilent Signal Generators Programming Guide
Creating and Downloading Waveform Files
Waveform Structure
The following example shows a marker binary file (all values in hex) for a waveform with 200 points. 
Notice the first marker point, 0f, shows all four markers on for only the first waveform point. 
If you create your own marker file, its name must be the same as the waveform file. If you download 
I/Q data without a marker file, the signal generator automatically creates a marker file with all 
points set to zero. For more information on markers, see the User’s Guide.
NOTE
Downloading marker data using a file name that currently resides on the signal generator 
overwrites the existing marker file without affecting the I/Q (waveform) file. However, 
downloading just the I/Q data with the same file name as an existing I/Q file also overwrites 
the existing marker file setting all bits to zero.
Marker Byte
0000 1 0 1 1
Binary
Hex
Marker Number Position
4 3 3 2  1
Reserved
0000 0101
05
Sets markers 1 and 3 on for a waveform point
Example of Setting a Marker Byte
01
= Marker 1 on
05
= Markers 1 and 3 on
04
= Marker 3 on
00
= No active markers
0f
= All markers on
Documents you may be interested
Documents you may be interested