Sie sind auf Seite 1von 421

IVI

Interchangeable
Virtual
Instruments

IVI-4.10: IviRFSigGen Class Specification

March 2002 Edition


Revision 1.0
Important Information
The IviRFSigGen Class Specification (IVI-4.10) is authored by the IVI Foundation member companies. For a
vendor membership roster list, please visit the IVI Foundation web site at www.ivifoundation.org, or
contact the IVI Foundation at 2515 Camino del Rio South, Suite 340, San Diego, CA 92108.

The IVI Foundation wants to receive your comments on this specification. You can contact the Foundation
through email at ivilistserver@ivifoundation.org, through the web site at
www.ivifoundation.org, or you can write to the IVI Foundation, 2515 Camino del Rio South, Suite 340,
San Diego, CA 92108.

Warranty

The IVI Foundation and its member companies make no warranty of any kind with regard to this material,
including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The
IVI Foundation and its member companies shall not be liable for errors contained herein or for incidental or
consequential damages in connection with the furnishing, performance, or use of this material.

Trademarks

Product and company names listed are trademarks or trade names of their respective companies.

No investigation has been made of common-law trademark rights in any work.

IVI-4.10 IviRFSigGen Class Specification 2 IVI Foundation


1. Overview of the IviRFSigGen Specification.....................................14
1.1 Introduction...............................................................................................................................................14
1.2 IviRFSigGen Class Overview...................................................................................................................14
1.3 References .................................................................................................................................................14
1.4 Definitions of Terms and Acronyms ........................................................................................................15

2. IviRFSigGen Class Capabilities.........................................................16


2.1 Introduction...............................................................................................................................................16
2.2 IviRFSigGen Group Names......................................................................................................................16
2.3 Repeated Capability Names......................................................................................................................18
2.3.1 LFGenerator ...............................................................................................................................18
2.3.2 Analog Modulation Source .......................................................................................................18

3. General Requirements........................................................................19
3.1 Minimum Class Compliance....................................................................................................................19
3.1.1 Disable........................................................................................................................................19
3.2 Capability Group Compliance..................................................................................................................19

4. IviRFSigGenBase Capabilities Group...............................................20


4.1 Overview ...................................................................................................................................................20
4.2 IviRFSigGenBase Attributes ....................................................................................................................20
4.2.1 Frequency ...................................................................................................................................21
4.2.2 Power Level................................................................................................................................22
4.2.3 ALC Enabled ..............................................................................................................................23
4.2.4 Output Enabled ..........................................................................................................................24
4.3 IviRFSigGenBase Functions ....................................................................................................................25
4.3.1 Configure RF .............................................................................................................................26
4.3.2 Configure ALC Enabled (IVI-C only).......................................................................................27
4.3.3 Configure Output Enabled (IVI-C only)...................................................................................28
4.3.4 Disable All Modulation.............................................................................................................29
4.3.5 Is Settled .....................................................................................................................................30
4.3.6 Wait Until Settled.......................................................................................................................31
4.4 IviRFSigGen Behavior Model..................................................................................................................32

5. IviRFSigGenModulateAM Extension Group.....................................33


5.1 IviRFSigGenModulateAM Extension Group Overview.........................................................................33
5.2 IviRFSigGenModulateAM Attributes......................................................................................................33
5.2.1 AM Enabled................................................................................................................................34
5.2.2 AM Source..................................................................................................................................35
5.2.3 AM Scaling.................................................................................................................................36

IVI Foundation 3 IVI-4.10 IviRFSigGen Class Specification


5.2.4 AM External Coupling...............................................................................................................37
5.2.5 AM Nominal Voltage ................................................................................................................38
5.2.6 AM Depth...................................................................................................................................39
5.3 IviRFSigGenModulateAM Functions......................................................................................................40
5.3.1 Configure AM Enabled (IVI-C only) ........................................................................................41
5.3.2 Configure AM External Coupling (IVI-C only) .......................................................................42
5.3.3 Configure AM ............................................................................................................................43
5.4 IviRFSigGenModulateAM Behavior Model ...........................................................................................44
5.5 IviRFSigGenModulateAM Compliance Notes........................................................................................44

6. IviRFSigGenModulateFM Extension Group.....................................45


6.1 IviRFSigGenModulateFM Extension Group Overview .........................................................................45
6.2 IviRFSigGenModulateFM Attributes ......................................................................................................45
6.2.1 FM Enabled ................................................................................................................................46
6.2.2 FM Source..................................................................................................................................47
6.2.3 FM External Coupling...............................................................................................................48
6.2.4 FM Nominal Voltage.................................................................................................................49
6.2.5 FM Deviation.............................................................................................................................50
6.3 IviRFSigGenModulateFM Functions ......................................................................................................51
6.3.1 Configure FM Enabled (IVI-C only).........................................................................................52
6.3.2 Configure FM External Coupling (IVI-C only) .......................................................................53
6.3.3 Configure FM.............................................................................................................................54
6.4 IviRFSigGenModulateFM Behavior Model............................................................................................55
6.5 IviRFSigGenModulateFM Compliance Notes........................................................................................55

7. IviRFSigGenModulatePM Extension Group.....................................56


7.1 IviRFSigGenModulatePM Extension Group Overview .........................................................................56
7.2 IviRFSigGenModulatePM Attributes ......................................................................................................56
7.2.1 PM Enabled ................................................................................................................................57
7.2.2 PM Source..................................................................................................................................58
7.2.3 PM External Coupling...............................................................................................................59
7.2.4 PM Nominal Voltage.................................................................................................................60
7.2.5 PM Deviation.............................................................................................................................61
7.3 IviRFSigGenModulatePM Functions ......................................................................................................62
7.3.1 Configure PM Enabled (IVI-C only).........................................................................................63
7.3.2 Configure PM External Coupling (IVI-C only) .......................................................................64
7.3.3 Configure PM.............................................................................................................................65
7.4 IviRFSigGenModulatePM Behavior Model............................................................................................66
7.5 IviRFSigGenModulatePM Compliance Notes........................................................................................66

8. IviRFSigGenAnalogModulationSource Extension Group ..............67


8.1 IviRFSigGenAnalogModulationSource Extension Group Overview....................................................67
8.2 IviRFSigGenAnalogModulationSource Attributes.................................................................................67
8.2.1 Analog Modulation Source Count ............................................................................................68
8.2.2 Analog Modulation Source Name (IVI-COM Only)................................................................69
8.3 IviRFSigGenAnalogModulationSource Functions.................................................................................70
8.3.1 Get Analog Modulation Source Name (IVI-C only) ................................................................71
8.4 IviRFSigGenAnalogModulationSource Behavior Model.......................................................................72
8.5 IviRFSigGenAnalogModulationSource Compliance Notes...................................................................72

IVI-4.10 IviRFSigGen Class Specification 4 IVI Foundation


9. IviRFSigGenModulatePulse Extension Group ................................73
9.1 IviRFSigGenModulatePulse Extension Group Overview......................................................................73
9.2 IviRFSigGenModulatePulse Attributes...................................................................................................73
9.2.1 Pulse Modulation Enabled ........................................................................................................74
9.2.2 Pulse Modulation Source ..........................................................................................................75
9.2.3 Pulse Modulation External Polarity..........................................................................................76
9.3 IviRFSigGenModulatePulse Functions...................................................................................................78
9.3.1 Configure Pulse Modulation Enabled (IVI-C only) .................................................................79
9.3.2 Configure Pulse Modulation Source (IVI-C only)...................................................................80
9.3.3 Configure Pulse Modulation External Polarity (IVI-C only) ..................................................81
9.4 IviRFSigGenModulatePulse Behavior Model.........................................................................................82
9.5 IviRFSigGenModulatePulse Compliance Notes.....................................................................................82

10. IviRFSigGenLFGenerator Extension Group ....................................83


10.1 IviRFSigGenLFGenerator Extension Group Overview..........................................................................83
10.2 IviRFSigGenLFGenerator Attributes.......................................................................................................83
10.2.1 Active LFGenerator ...................................................................................................................84
10.2.2 LFGenerator Count....................................................................................................................85
10.2.3 LFGenerator Name (IVI-COM Only) .......................................................................................86
10.2.4 LFGenerator Frequency.............................................................................................................87
10.2.5 LFGenerator Waveform.............................................................................................................88
10.3 IviRFSigGenLFGenerator Functions.......................................................................................................90
10.3.1 Get LFGenerator Name (IVI-C only) ........................................................................................91
10.3.2 Set Active LFGenerator (IVI-C Only) .......................................................................................92
10.3.3 Configure LFGenerator .............................................................................................................93
10.4 IviRFSigGenLFGenerator Behavior Model ............................................................................................94
10.5 IviRFSigGenLFGenerator Compliance Notes.........................................................................................94

11. IviRFSigGen LFGeneratorOutput Extension Group .......................95


11.1 IviRFSigGenLFGeneratorOutput Extension Group Overview..............................................................95
11.2 IviRFSigGenLFGeneratorOutput Attributes...........................................................................................95
11.2.1 LFGenerator Output Amplitude................................................................................................96
11.2.2 LFGenerator Output Enabled....................................................................................................97
11.3 IviRFSigGenLFGeneratorOutput Functions...........................................................................................98
11.3.1 Configure LFGenerator Output ................................................................................................99
11.4 IviRFSigGenLFGeneratorOutput Behavior Model...............................................................................100
11.5 IviRFSigGenLFGeneratorOutput Compliance Notes...........................................................................100

12. IviRFSigGenPulseGenerator Extension Group .............................101


12.1 IviRFSigGenPulseGenerator Extension Group Overview ...................................................................101
12.2 IviRFSigGenPulseGenerator Attributes ................................................................................................101
12.2.1 Pulse Internal Trigger Period...................................................................................................102
12.2.2 Pulse Width..............................................................................................................................103
12.2.3 Pulse Gating Enabled...............................................................................................................104
12.2.4 Pulse Trigger Source................................................................................................................105
12.2.5 Pulse External Trigger Slope...................................................................................................106
12.2.6 Pulse External Trigger Delay...................................................................................................107
12.3 IviRFSigGenPulseGenerator Functions ................................................................................................108
12.3.1 Configure Pulse External Trigger ...........................................................................................109
12.3.2 Configure Pulse Internal Trigger (IVI-C only) .......................................................................110
12.3.3 Configure Pulse .......................................................................................................................111
12.4 IviRFSigGenPulseGenerator Behavior Model......................................................................................112

IVI Foundation 5 IVI-4.10 IviRFSigGen Class Specification


12.5 IviRFSigGenPulseGenerator Compliance Notes ..................................................................................112

13. IviRFSigGenPulseDoubleGenerator Extension Group.................113


13.1 IviRFSigGenPulseDoubleGenerator Extension Group Overview.......................................................113
13.2 IviRFSigGenPulseDoubleGenerator Attributes....................................................................................113
13.2.1 Pulse Double Enabled..............................................................................................................114
13.2.2 Pulse Double Delay .................................................................................................................115
13.3 IviRFSigGenPulseDoubleGenerator Functions....................................................................................116
13.3.1 Configure Pulse Double..........................................................................................................117
13.4 IviRFSigGenPulseDoubleGenerator Behavior Model..........................................................................118
13.5 IviRFSigGenPulseDoubleGenerator Compliance Notes......................................................................118

14. IviRFSigGenPulseGeneratorOutput Extension Group .................119


14.1 IviRFSigGenPulseGeneratorOutput Extension Group Overview........................................................119
14.2 IviRFSigGenPulseGeneratorOutput Attributes.....................................................................................119
14.2.1 Pulse Output Polarity ..............................................................................................................120
14.2.2 Pulse Output Enabled ..............................................................................................................121
14.3 IviRFSigGenPulseGeneratorOutput Functions.....................................................................................122
14.3.1 Configure Pulse Output...........................................................................................................123
14.4 IviRFSigGenPulseGeneratorOutput Behavior Mode ...........................................................................124
14.5 IviRFSigGenPulseGeneratorOutput Compliance Notes ......................................................................124

15. IviRFSigGenSweep Extension Group.............................................125


15.1 IviRFSigGenSweep Overview................................................................................................................125
15.2 IviRFSigGenSweep Attributes ...............................................................................................................125
15.2.1 Sweep Mode .............................................................................................................................126
15.2.2 Sweep Trigger Source..............................................................................................................128
15.3 IviRFSigGenSweep Functions ...............................................................................................................130
15.3.1 Configure Sweep......................................................................................................................131
15.4 IviRFSigGenSweep Behavior Model.....................................................................................................132
Frequency Sweep / Power Sweep...........................................................................................................132
Frequency Step / Power Step / List ........................................................................................................133

16. IviRFSigGenFrequencySweep Extension Group ..........................135


16.1 IviRFSigGenFrequencySweep Extension Group Overview .................................................................135
16.2 IviRFSigGenFrequencySweep Attributes ..............................................................................................135
16.2.1 Frequency Sweep Start.............................................................................................................136
16.2.2 Frequency Sweep Stop.............................................................................................................137
16.2.3 Frequency Sweep Time............................................................................................................138
16.3 IviRFSigGenFrequencySweep Functions ..............................................................................................139
16.3.1 Configure Frequency Sweep Start Stop..................................................................................140
16.3.2 Configure Frequency Sweep Center Span...............................................................................141
16.3.3 Configure Frequency Sweep Time (IVI-C only) ....................................................................142
16.4 IviRFSigGenFrequencySweep Behavior Model....................................................................................143
16.5 IviRFSigGenFrequencySweep Compliance Notes................................................................................143

17. IviRFSigGenPowerSweep Extension Group..................................144


17.1 IviRFSigGenPowerSweep Extension Group Overview........................................................................144
17.2 IviRFSigGenPowerSweep Attributes.....................................................................................................144
17.2.1 Power Sweep Start ...................................................................................................................145

IVI-4.10 IviRFSigGen Class Specification 6 IVI Foundation


17.2.2 Power Sweep Stop ...................................................................................................................146
17.2.3 Power Sweep Time ..................................................................................................................147
17.3 IviRFSigGenPowerSweep Functions.....................................................................................................148
17.3.1 Configure Power Sweep Start Stop.........................................................................................149
17.3.2 Configure Power Sweep Time (IVI-C only) ...........................................................................150
17.4 IviRFSigGenPowerSweep Behavior Model ..........................................................................................151
17.5 IviRFSigGenPowerSweep Compliance Notes ......................................................................................151

18. IviRFSigGenFrequencyStep Extension Group ..............................152


18.1 IviRFSigGenFrequencyStep Extension Group Overview.....................................................................152
18.2 IviRFSigGenFrequencyStep Attributes..................................................................................................152
18.2.1 Frequency Step Start ................................................................................................................153
18.2.2 Frequency Step Stop.................................................................................................................154
18.2.3 Frequency Step Scaling............................................................................................................155
18.2.4 Frequency Step Size .................................................................................................................156
18.2.5 Frequency Step Single Step Enabled .......................................................................................157
18.2.6 Frequency Step Dwell..............................................................................................................158
18.3 IviRFSigGenFrequencyStep Functions..................................................................................................159
18.3.1 Configure Frequency Step Start Stop......................................................................................160
18.3.2 Configure Frequency Step Dwell............................................................................................161
18.3.3 Reset Frequency Step...............................................................................................................162
18.4 IviRFSigGenFrequencyStep Behavior Model .......................................................................................163
18.5 IviRFSigGenFrequencyStep Compliance Notes....................................................................................163

19. IviRFSigGenPowerStep Extension Group .....................................164


19.1 IviRFSigGenPowerStep Extension Group Overview ...........................................................................164
19.2 IviRFSigGenPowerStep Attributes ........................................................................................................164
19.2.1 Power Step Start.......................................................................................................................165
19.2.2 Power Step Stop.......................................................................................................................166
19.2.3 Power Step Size........................................................................................................................167
19.2.4 Power Step Single Step Enabled..............................................................................................168
19.2.5 Power Step Dwell ....................................................................................................................169
19.3 IviRFSigGenPowerStep Functions ........................................................................................................170
19.3.1 Configure Power Step Start Stop............................................................................................171
19.3.2 Configure Power Step Dwell ..................................................................................................172
19.3.3 Reset Power Step .....................................................................................................................173
19.4 IviRFSigGenPowerStep Behavior Model..............................................................................................174
19.5 IviRFSigGenPowerStep Compliance Notes..........................................................................................174

20. IviRFSigGenList Extension Group..................................................175


20.1 IviRFSigGenList Extension Group Overview.......................................................................................175
20.2 IviRFSigGenList Attributes....................................................................................................................175
20.2.1 List Selected Name...................................................................................................................176
20.2.2 List Single Step Enabled ..........................................................................................................177
20.2.3 List Dwell.................................................................................................................................178
20.3 IviRFSigGenList Functions....................................................................................................................179
20.3.1 Create Frequency List ..............................................................................................................180
20.3.2 Create Power List.....................................................................................................................181
20.3.3 Create Frequency Power List ..................................................................................................182
20.3.4 Select List (IVI-C only)............................................................................................................183
20.3.5 Clear All Lists ..........................................................................................................................184
20.3.6 Configure List Dwell...............................................................................................................185

IVI Foundation 7 IVI-4.10 IviRFSigGen Class Specification


20.3.7 Reset List..................................................................................................................................186
20.4 IviRFSigGenList Behavior Model .........................................................................................................187
20.5 IviRFSigGenList Compliance Notes......................................................................................................187

21. IviRFSigGenALC Extension Group .................................................188


21.1 IviRFSigGenALC Overview...................................................................................................................188
21.2 IviRFSigGenALC Attributes ..................................................................................................................188
21.2.1 ALC Source..............................................................................................................................189
21.2.2 ALC Bandwidth........................................................................................................................190
21.3 IviRFSigGenALC Functions ..................................................................................................................191
21.3.1 Configure ALC.........................................................................................................................192
21.4 IviRFSigGenALC Behavior Model........................................................................................................193

22. IviRFSigGen ReferenceOscillator Extension Group .....................194


22.1 IviRFSigGenReferenceOscillator Overview .........................................................................................194
22.2 IviRFSigGenReferenceOscillator Attributes.........................................................................................194
22.2.1 Reference Oscillator Source....................................................................................................195
22.2.2 Reference Oscillator External Frequency...............................................................................196
22.3 IviRFSigGenReferenceOscillator Functions.........................................................................................197
22.3.1 Configure Reference Oscillator ..............................................................................................198
22.4 IviRFSigGenReferenceOscillator Behavior Model...............................................................................199

23. IviRFSigGenSoftwareTrigger Extension Group ............................200


23.1 IviRFSigGenSoftwareTrigger Overview ...............................................................................................200
23.2 IviRFSigGenSoftwareTrigger Functions...............................................................................................200
23.2.1 Send Software Trigger .............................................................................................................200
23.3 IviRFSigGenSoftwareTrigger Behavior Model.....................................................................................200
23.4 IviRFSigGenSoftwareTrigger Compliance Notes.................................................................................200

24. IviRFSigGenModulateIQ Extension Group ....................................202


24.1 IviRFSigGenModulateIQ Extension Group Overview.........................................................................202
24.2 IviRFSigGenModulateIQ Attributes......................................................................................................202
24.2.1 IQ Enabled................................................................................................................................203
24.2.2 IQ Nominal Voltage.................................................................................................................204
24.2.3 IQ Source..................................................................................................................................205
24.2.4 IQ Swap Enabled......................................................................................................................207
24.3 IviRFSigGenModulateIQ Functions......................................................................................................208
24.3.1 Configure IQ Enabled (IVI-C only) ........................................................................................209
24.3.2 Configure IQ ............................................................................................................................210
24.3.3 Calibrate IQ ..............................................................................................................................211
24.4 IviRFSigGenModulateIQ Behavior Model............................................................................................212

25. IviRFSigGenIQImpairment Extension Group.................................213


25.1 IviRFSigGenIQImpairment Extension Group Overview......................................................................213
25.2 IviRFSigGenIQImpairment Attributes...................................................................................................213
25.2.1 IQ Impairment Enabled............................................................................................................214
25.2.2 IQ I-Offset ................................................................................................................................215
25.2.3 IQ Q-Offset...............................................................................................................................216
25.2.4 IQ Ratio ....................................................................................................................................217
25.2.5 IQ Skew ....................................................................................................................................218

IVI-4.10 IviRFSigGen Class Specification 8 IVI Foundation


25.3 IviRFSigGenIQImpairment Functions...................................................................................................219
25.3.1 Configure IQ Impairment Enabled (IVI-C only) ....................................................................220
25.3.2 Configure IQ Impairment ........................................................................................................221
25.4 IviRFSigGenIQImpairment Behavior Model.........................................................................................222
25.5 IviRFSigGenIQImpairment Compliance Notes.....................................................................................222

26. IviRFSigGenArbGenerator Extension Group.................................223


26.1 IviRFSigGenArbGenerator Extension Group Overview ......................................................................223
26.2 IviRFSigGenArbGenerator Attributes ...................................................................................................223
26.2.1 Arb Selected Waveform...........................................................................................................224
26.2.2 Arb Clock Frequency...............................................................................................................225
26.2.3 Arb Filter Frequency................................................................................................................226
26.2.4 Arb Max Number Waveforms .................................................................................................227
26.2.5 Arb Waveform Quantum.........................................................................................................228
26.2.6 Arb Waveform Size Min..........................................................................................................229
26.2.7 Arb Waveform Size Max .........................................................................................................230
26.2.8 Arb Trigger Source...................................................................................................................231
26.2.9 Arb External Trigger Slope......................................................................................................233
26.3 IviRFSigGenArbGenerator Functions ...................................................................................................234
26.3.1 Configure Arb ..........................................................................................................................235
26.3.2 Write Arb Waveform ...............................................................................................................236
26.3.3 Select Arb Waveform (IVI-C only) .........................................................................................237
26.3.4 Clear All Arb Waveforms........................................................................................................238
26.3.5 Query Arb Waveform Capabilities..........................................................................................239
26.3.6 Configure Arb Trigger Source (IVI-C only) ...........................................................................240
26.3.7 Configure Arb External Trigger Slope (IVI-C only) ..............................................................241
26.4 IviRFSigGenArbGenerator Behavior Model.........................................................................................242
26.5 IviRFSigGenArbGenerator Compliance Notes .....................................................................................242

27. IviRFSigGenDigitalModulationBase Extension Group .................243


27.1 IviRFSigGenDigitalModulationBase Extension Group Overview......................................................243
27.2 IviRFSigGenDigitalModulationBase Attributes...................................................................................243
27.2.1 DigitalModulationBase Standard Name (IVI-COM only).....................................................244
27.2.2 DigitalModulationBase Standard Count.................................................................................245
27.2.3 DigitalModulationBase Selected Standard.............................................................................246
27.2.4 DigitalModulationBase Data Source......................................................................................247
27.2.5 DigitalModulationBase PRBS Type .......................................................................................249
27.2.6 DigitalModulationBase Selected Bit Sequence......................................................................251
27.2.7 DigitalModulationBase Clock Source....................................................................................252
27.2.8 DigitalModulationBase External Clock Type ........................................................................254
27.3 IviRFSigGenDigitalModulationBase Functions...................................................................................256
27.3.1 Get DigitalModulationBase Standard Name (IVI-C only).....................................................257
27.3.2 Select DigitalModulationBase Standard (IVI-C only) ...........................................................258
27.3.3 Configure DigitalModulationBase Clock Source..................................................................259
27.3.4 Configure DigitalModulationBase Data Source (IVI-C only) ..............................................260
27.3.5 Configure DigitalModulationBase PRBS Type (IVI-C only)................................................261
27.3.6 Write DigitalModulationBase Bit Sequence ..........................................................................262
27.3.7 Select DigitalModulationBase Bit Sequence (IVI-C only) ....................................................263
27.3.8 Clear All DigitalModulationBase Bit Sequences...................................................................264
27.4 IviRFSigGenDigitalModulationBase Behavior Model.........................................................................265
27.5 IviRFSigGenDigitalModulationBase Compliance Notes.....................................................................265

IVI Foundation 9 IVI-4.10 IviRFSigGen Class Specification


28. IviRFSigGenCDMABase Extension Group .....................................266
28.1 IviRFSigGenCDMABase Extension Group Overview.........................................................................266
28.2 IviRFSigGenCDMABase Attributes......................................................................................................266
28.2.1 CDMA Standard Name (IVI-COM only) ................................................................................267
28.2.2 CDMA Standard Count............................................................................................................268
28.2.3 CDMA Selected Standard........................................................................................................269
28.2.4 CDMA Trigger Source.............................................................................................................270
28.2.5 CDMA External Trigger Slope................................................................................................272
28.2.6 CDMA Test Model Name (IVI-COM only)............................................................................273
28.2.7 CDMA Test Model Count .......................................................................................................274
28.2.8 CDMA Selected Test Model....................................................................................................275
28.2.9 CDMA Clock Source...............................................................................................................276
28.3 IviRFSigGenCDMABase Functions......................................................................................................277
28.3.1 Get CDMA Standard Name (IVI-C only)................................................................................278
28.3.2 Select CDMA Standard (IVI-C only) ......................................................................................279
28.3.3 Configure CDMA Clock Source (IVI-C only) .......................................................................280
28.3.4 Configure CDMA Trigger Source (IVI-C only) .....................................................................281
28.3.5 Configure CDMA External Trigger Slope (IVI-C only) ........................................................282
28.3.6 Get CDMA Test Model Name (IVI-C only) ...........................................................................283
28.3.7 Select CDMA Test Model (IVI-C only) ..................................................................................284
28.4 IviRFSigGenCDMABase Behavior Model............................................................................................285
28.5 IviRFSigGenCDMABase Compliance Notes........................................................................................285

29. IviRFSigGenTDMABase Extension Group .....................................286


29.1 IviRFSigGenTDMABase Extension Group Overview .........................................................................286
29.2 IviRFSigGenTDMABase Attributes ......................................................................................................286
29.2.1 TDMA Standard Name (IVI-COM only) ................................................................................287
29.2.2 TDMA Standard Count ............................................................................................................288
29.2.3 TDMA Selected Standard.........................................................................................................289
29.2.4 TDMA Trigger Source.............................................................................................................290
29.2.5 TDMA External Trigger Slope ................................................................................................292
29.2.6 TDMA Frame Name (IVI-COM only) ....................................................................................293
29.2.7 TDMA Frame Count................................................................................................................294
29.2.8 TDMA Selected Frame ............................................................................................................295
29.2.9 TDMA Clock Source ...............................................................................................................296
29.2.10 TDMA External Clock Type....................................................................................................297
29.3 IviRFSigGenTDMABase Functions ......................................................................................................298
29.3.1 Get TDMA Standard Name (IVI-C only) ................................................................................299
29.3.2 Select TDMA Standard (IVI-C only) .......................................................................................300
29.3.3 Configure TDMA Clock Source .............................................................................................301
29.3.4 Configure TDMA Trigger Source (IVI-C only) .....................................................................302
29.3.5 Configure TDMA External Trigger Slope (IVI-C only).........................................................303
29.3.6 Get TDMA Frame Name (IVI-C only) ....................................................................................304
29.3.7 Select TDMA Frame (IVI-C only)...........................................................................................305
29.4 IviRFSigGenTDMABase Behavior Model............................................................................................306
29.5 IviRFSigGenTDMABase Compliance Notes ........................................................................................306

IVI-4.10 IviRFSigGen Class Specification 10 IVI Foundation


30. IviRFSigGen Attribute ID Definitions ..............................................307

31. IviRFSigGen Attribute Value Definitions ........................................311

32. IviRFSigGen Function Parameter Value Definitions .....................324

33. IviRFSigGen Error and Completion Code Value Definitions........325

34. IviRFSigGen Hierarchies ..................................................................326


34.1 IviRFSigGen COM Hierarchy................................................................................................................326
34.1.1 IviRFSigGen COM Interfaces .................................................................................................332
34.1.2 Interface Reference Properties.................................................................................................334
34.1.3 IviRFSigGen COM Category..................................................................................................340
34.2 IviRFSigGen C Function Hierarchy.......................................................................................................341
34.3 IviRFSigGen C Attribute Hierarchy.......................................................................................................344

Appendix A Specific Driver Development Guidelines.......................349


A.1 Introduction.............................................................................................................................................349
A.2 Disabling Unused Extensions.................................................................................................................349
A.3 Query Instrument Status .........................................................................................................................354

Appendix B Interchangeability Checking Rules ................................355


B.1 Introduction.............................................................................................................................................355
B.2 When to Perform Interchangeability Checking......................................................................................355
B.3 Interchangeability Checking Rules.........................................................................................................355

Appendix C ANSI C Include File...........................................................361

Appendix D COM IDL File .....................................................................373


D.1 IviRFSigGenTypeLib.idl.........................................................................................................................373
D.2 IviRFSigGen.idl ......................................................................................................................................373
D.3 IviRFSigGenEnglish.idl..........................................................................................................................404

IVI Foundation 11 IVI-4.10 IviRFSigGen Class Specification


IviRFSigGen Class Specification

IviRFSigGen Revision History


This section is an overview of the revision history of the IviRFSigGen specification.

Table 1. IviRFSigGen Class Specification Revisions

Revision Number
Date of Revision Revision Notes

Revision 0.1 Oct 14, 1999 Original draft.


Revision 0.2 Feb 11, 2000 Based on discussion at Nov.1999 meeting:
Extension groups: ModulateAM, .FM, .PM changed,
ModulateVector -> ModulateIQ, ModulateIQ and DM
defined now, DataCoder deleted,
boolean state -> boolean stateOn,.....
Revision 0.3 May 17, 2000 Based on discussion at Feb.2000 meeting:
IVI-3.4 Revision 0.3 used
Extension groups: ModulateAM, .FM, .PM complete
rewrite
boolean stateOn -> boolean enabled.....
Revision 0.4 Nov 10, 2000 Based on discussions at May and Aug.2000 meetings:
Several groups split in 2 or more groups.
DM (and new ArbGenerator) group removed for
separate discussion.
In all modulation groups: sensitivity set ->
nominalVoltage query, multiple sources.
Marker group removed.
Revision 0.41 Nov 27, 2000 Based on discussions at Nov.2000 meeting.
Revision 0.42 Jan 30, 2001 Internal revision.
Revision 0.5 March 26,. 2001 Based on discussions at Feb. 2001 meeting:
DM and ArbGenerator group still removed for separate
discussion.
In all modulation groups: query nominalVoltage
removed.
Power unit attribute removed, dBm only now.
Analog PowerSweep extension group added
Revision 0.52 Mai 29, 2001 COM Interfaces added
Revision 0.60 July 6, 2001 Based on discussions at Feb. 2001 meeting:
Arb Generator, Arb Markers, Arb Sequences,
CDMA Base Functionality, TDMA Base Functionality,

IVI-4.10 IviRFSigGen Class Specification 12 IVI Foundation


Table 1. IviRFSigGen Class Specification Revisions
extension groups added. New chapter arrangement.
Revision 0.61 July 26, 2001 Corrections mainly on COM and C interfaces
Chapter 36. ‘Hierarchies’ added
Revision 0.62 Aug 13, 2001 Based on telefon conference Aug. 11, 2001:
Arb Markers and Arb Sequences deleted;
new DM Base Modulation as TDMA split off;
COM hierarchy edited; ....
Revision 0.63 Sept 10, 2001 IVI Meeting Boston:
Overview description added;...

Revision 0.64 October 2001 Corrections in Section 2 – Naming of groups


Section 3 modified to meet general standard;
Software Trigger Extension Group added;
Reset Frequeny Step / Reset Power Step / Reset List
functions added;
Section 30, Attribute ID Definitions modified;
Section 31, Attribute Value Definition modified;
Section 34, Hierarchies: COM & C added
Appendix C Include File added
Missing Sections added
Revision 0.70 November 2001 Updated specification with the updated style guide
Sweep Behaviour added
Revision 1.0rc1 November 2001 Updated specification as release candidate 1. There are
also several spelling, wording, and syntax corrections.
Revision 1.0rc2 December 2001 Updated specification based on feedback received on
V1.0rc1
CATID added
Revision 1.0rc3 March 2002 Updated specification based on feedback received on
V1.0rc2.
Fixed typos, spelling and wording corrections.
API corrections (Name, Count etc.)
Change to MaxTimeMilliseconds
Change Scale attributes to Scaling (VB problem)
Corrections in the compliance notes.
Interchangeability Checking Rules added.
Updated IDL; Correction in C Include File

IVI Foundation 13 IVI-4.10 IviRFSigGen Class Specification


1. Overview of the IviRFSigGen Specification

1.1 Introduction
This specification defines the IVI class for RF signal generators. The IviRFSigGen class is designed to support
the typical RF signal generator as well as common extended functionality found in more complex instruments.
This section summarizes the IviRFSigGen Specification itself and contains general information that the reader
may need in order to understand, interpret, and implement aspects of this specification. These aspects include
the following:

? IviRFSigGen Class Overview

? References

? Definitions of Terms and Acronyms

1.2 IviRFSigGen Class Overview


This specification defines the IVI class for RF signal generators (RF SigGens). The IviRFSigGen class is
designed to support the typical RF signal generator as well as common extended functionality found in more
complex instruments. The IviRFSigGen class conceptualizes a RF signal generator as an instrument that can
generate a sinussoidal carrier waveform with a wide variety of modulation types.

The IviRFSigGen class is divided into a base capability group and several extension groups. The base capability
group is used to configure the carrier waveform. This includes setting the output frequency and amplitude,
enabling or disabling the ALC and the RF output. The IviRFSigGen base capability group is described in
Section 4, IviRFSigGenBase Capability Group.

The extension groups for analog and pulse modulation are IviRFSigGenModulateAM,
IviRFSigGenModulateFM, IviRFSigGenModulatePM, IviRFSigGenAnalogModulationSource,
IviRFSigGenModulatePulse, IviRFSigGenLFGenerator, IviRFSigGenLFGeneratorOutput,
IviRFSigGenPulseGenerator, IviRFSigGenPulseDoubleGenerator and IviRFSigGenPulseGeneratorOutput.

The extension groups for sweeping are IviRFSigGenSweep, IviRFSigGenFrequencySweep,


IviRFSigGenPowerSweep, IviRFSigGenFrequencyStep, IviRFSigGenPowerStep and IviRFSigGenList.

The extension groups for digital modulation are IviRFSigGenModulateIQ, IviRFSigGenIQImpairments,


IviRFSigGenArbGeneration, IviRFSigGenDigitalModulationBase, IviRFSigGenCDMABase and
IviRFSigGenTDMABase.

The remaining extension groups are IviRFSigGenALC, IviRFSigGenReferenceOscillator and


IviRFSigGenSoftwareTrigger.

1.3 References
Several other documents and specifications are related to this specification. These other related documents are
the following:
? IVI-3.1: Architecture Overview Specification
? IVI-3.2: Inherent Capabilities Specification
? IVI-3.3: Standard Cross Class Capabilities
? IVI-5.0: Glossary
? CCITT-V.52: Characteristics of distortion and error-rate measuring apparatus for data

IVI-4.10 IviRFSigGen Class Specification 14 IVI Foundation


transmission

1.4 Definitions of Terms and Acronyms


This section defines terms and acronyms that are specific to the IviRFSigGen class. Terms of more general
interest are defined in IVI-5.0: Glossary.

ALC Automatic Level Control, Used for controlling the RF SigGens


output signal on a constant amplitude.

TDMA Time Division Multiple Access

CDMA Code Division Multiple Access

LF Low Frequency

AM Amplitude Modulation

FM Frequency Modulation

PM Phase Modulation

PRBS Pseudo Random Bit Sequence

ARB Arbitrary (Waveform)

IVI Foundation 15 IVI-4.10 IviRFSigGen Class Specification


2. IviRFSigGen Class Capabilities

2.1 Introduction
The IviRFSigGen specification divides signal generator capabilities into a base capabilities group and multiple
extension capabilities groups. Each capability group is discussed in a separate section. This section defines
names for each capability group and gives an overview of the information presented in each section.

2.2 IviRFSigGen Group Names


The capability group names for the IviRFSigGen class are defined in the following table. The Group Name is
used to represent a particular capability group and is returned as one of the possible group names from the
IviRFSigGenGroupCapabilities attribute, see IVI-3.3: Standard Cross Class Capabilities Specification.

Table 2-1. IviRFSigGen Group Names

Group Name Description

IviRFSigGenBaseCapabilities Base Capabilities: For generators that at minimum


support setting the output frequency and amplitude,
enabling or disabling the ALC and the RF output.
IviRFSigGenModulateAM Extension Group: For generators with the ability to apply
amplitude modulation to an output signal.
IviRFSigGenModulateFM Extension Group: For generators with the ability to apply
frequency modulation to an output signal.
IviRFSigGenModulatePM Extension Group: For generators with the ability to apply
phase modulation to an output signal.
IviRFSigGenAnalogModulationSource Extension Group: For generators with at least one
modulation source.
IviRFSigGenModulatePulse Extension Group: For generators with the ability to apply
pulse modulation to an output signal.
IviRFSigGenLFGenerator Extension Group: For generators with an internal LF
generator.
IviRFSigGenLFGeneratorOutput Extension Group: For generators with an internal LF
generator and a configurable output.
IviRFSigGenPulseGenerator Extension Group: For generators with an internal pulse
generator.
IviRFSigGenPulseDoubleGenerator Extension Group: For generators with an internal pulse
generator and the ability to generate a double pulse.
IviRFSigGenPulseGeneratorOutput Extension Group: For generators with an internal pulse
generator and a configurable output.
IviRFSigGenSweep Extension Group: For generators with the ability to
sweep the output frequency and/or power by analog
means, discrete steps, or a list of values.
IviRFSigGenFrequencySweep Extension Group: For generators with the ability to
sweep the output frequency.

IVI-4.10 IviRFSigGen Class Specification 16 IVI Foundation


Table 2-1. IviRFSigGen Group Names

IviRFSigGenPowerSweep Extension Group: For generators with the ability to


sweep the output power.
IviRFSigGenFrequencyStep Extension Group: For generators with the ability to
sweep the output frequency in discrete steps.
IviRFSigGenPowerStep Extension Group: For generators with the ability to
sweep the output power in discrete steps.
IviRFSigGenList Extension Group: For generators with the ability to
sweep the output frequency and/or power by alist of
values.
IviRFSigGenALC Extension Group: For generators with the ability to use
an automatic level control.
IviRFSigGenReferenceOscillator Extension Group: For generators with the ability to use
an external reference frequency.
IviRFSigGenSoftwareTrigger Extension Group: For generators with the ability to
trigger signal generation.
IviRFSigGenModulateIQ Extension Group: For generators with the ability to apply
vector (IQ) modulation to an output signal.
IviRFSigGenIQImpairment Extension Group: For generators with the ability to apply
impairment to vector (IQ) modulation.
IviRFSigGenArbGenerator Extension Group: For generators with an arbitrary
waveform generator as source for vector (IQ)
modulation.
IviRFSigGenDigitalModulationBase Extension Group: For generators with the ability to apply
basic Digital Modulation
IviRFSigGenCDMABase Extension Group: For generators with the ability to apply
digital CDMA (Code Division Multiple Access)
modulation.
IviRFSigGenTDMABase Extension Group: For generators with the ability to apply
digital TDMA (Time Division Multiple Access)
modulation.

IVI Foundation 17 IVI-4.10 IviRFSigGen Class Specification


2.3 Repeated Capability Names

The IviRFSigGen Class Specification defines two repeated capabilities. Refer to the sections of IVI-3.1, Driver
Architecture Specification that deal with repeated capabilities. The relevant sections are Section 2.7, Repeated
Capabilities, Section 4.1.9, Repeated Capabilities, Section 4.2.5, Repeated Capabilities, and Section 5.9,
Repeated Capability Identifiers and Selectors.

? LFGenerator

? Analog Modulation Source

2.3.1 LFGenerator

In the configuration store, the name for the LFGenerator repeated capability shall be "LFGenerator". The
LFGenerator capability is used by the IviRFSigGenLFGenerator and IviRFSigGenLFGeneratorOutput
extension groups and shall be available only if those groups are implemented.

When using the LFGenerator capability, it is necessary to set the Active LFGenerator attribute to an active
repeated capability identifier before calling LFGenerator functions. All attributes and functions in the
IviRFSigGenLFGenerator and IviRFSigGenLFGeneratorOutput extension groups operate on the repeated
capability instance value set by the Active LFGenerator attribute.

2.3.2 Analog Modulation Source

In the configuration store, the name for the analog modulation source repeated capability shall be
“AnalogModulationSource”.

The Analog Modulation Source capability is used by the IviRFSigGenAnalogModulationSource,


IviRFSigGenModulateAM, IviRFSigGenModulateFM, and IviRFSigGenModulatePM extension groups and
shall be available only if the IviRFSigGenAnalogModulationSource group is implemented.

IVI-4.10 IviRFSigGen Class Specification 18 IVI Foundation


3. General Requirements

This section describes the general requirements a specific driver shall meet in order to be compliant with this
specification. In addition, it provides general requirements that specific drivers shall meet in order to comply
with a capability group, attribute, or function.

3.1 Minimum Class Compliance


To be compliant with the IviRFSigGen Class Specification, an IVI specific driver shall conform to all of the
requirements for an IVI class-compliant specific driver specified in IVI-3.1: Driver Architecure Specification.
In addition it shall implement the inherent capabilities that IVI-3.2: Inherent Capabilities Specification
defines, and the IviRFSigGenBase capability group.

3.1.1 Disable

Refer to IVI-3.2: Inherent Capabilities Specification for the prototype of this function.

The Disable function shall cause the Signal Generator to apply the minimum amount of power possible at the
output terminals. Setting the power level to a very small value or physically disconnecting the signal generator
from the output terminals meets this requirement. Other techniques are also allowed.

3.2 Capability Group Compliance

IVI-3.1: Architecture Overview Specification defines the general rules for a specific driver to be compliant
with a capability group.

IVI Foundation 19 IVI-4.10 IviRFSigGen Class Specification


4. IviRFSigGenBase Capabilities Group

4.1 Overview
The IviRFSigGenBase capabilities group supports the basic signal generator capabilities.

4.2 IviRFSigGenBase Attributes


The IviRFSigGenBase capabilities group defines the following attributes:

? Frequency

? Power Level

? ALC Enabled

? Output Enabled

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 20 IVI Foundation


4.2.1 Frequency

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure RF

COM Property Name


RF.Frequency

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY

Description
Specifies the frequency of the generated RF output signal. The units are Hertz.

IVI Foundation 21 IVI-4.10 IviRFSigGen Class Specification


4.2.2 Power Level

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure RF

COM Property Name


RF.Level

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_LEVEL

Description
Specifies the power level of the RF output signal. The units are dBm.

IVI-4.10 IviRFSigGen Class Specification 22 IVI Foundation


4.2.3 ALC Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure ALC Enabled

COM Property Name


ALC.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ALC_ENABLED

Description
Enables or disables Automatic Level Control (ALC). Additional ALC attributes are in the ALC extension
group.

Defined Values

Name Description
True Enables the Automatic Level Control (ALC).
C VI_TRUE
COM VARIANT_TRUE
False Disables the Automatic Level Control (ALC).
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes

If a specific driver implements the value True for this attribute, it shall also implement the IviRFSigGenALC
extension capability group

IVI Foundation 23 IVI-4.10 IviRFSigGen Class Specification


4.2.4 Output Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Output Enabled

COM Property Name


RF.OutputEnabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_OUTPUT_ENABLED

Description
Enables or disables the RF output signal.

Defined Values

Name Description
True The signal the RF signal generator produces appears at the output connector.
C VI_TRUE
COM VARIANT_TRUE
False The signal the RF signal generator produces does not appear at the output
connector.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the value True.

IVI-4.10 IviRFSigGen Class Specification 24 IVI Foundation


4.3 IviRFSigGenBase Functions
In addition to the IVI required functions, the IviRFSigGen Base capability group includes the following
functions:

? Configure RF

? Configure ALC Enabled (IVI-C only)

? Configure Output Enabled (IVI-C only)

? Disable All Modulation

? Is Settled

? Wait Until Settled

This section describes the behavior and requirements of each function.

IVI Foundation 25 IVI-4.10 IviRFSigGen Class Specification


4.3.1 Configure RF

Description
Configures the frequency and the power level of the RF output signal.

Method Prototype
HRESULT RF.Configure ([in] DOUBLE Frequency,
[in] DOUBLE PowerLevel);

C Prototype
ViStatus IviRFSigGen_ConfigureRF (ViSession Vi,
ViReal64 Frequency,
ViReal64 PowerLevel);

Parameters
Inputs Description

Vi Instrument handle.
Frequency Specifies the frequency of the generated RF signal. The driver uses this value to
set the Frequency attribute. See the attribute description for more details.
PowerLevel Specifies the power level of the generated RF signal. The driver uses this value
to set the Power Level attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 26 IVI Foundation


4.3.2 Configure ALC Enabled (IVI-C only)

Description
Enables or disables the Automatic Level Control (ALC).

COM Method Prototype


N/A
(use the ALC.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigureALCEnabled (ViSession Vi, ViBoolean ALCEnabled);

Parameters
Inputs Description
Vi Instrument handle.
ALCEnabled Specifies whether the ALC is used. The driver uses this value to set the ALC
Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 27 IVI-4.10 IviRFSigGen Class Specification


4.3.3 Configure Output Enabled (IVI-C only)

Description
Enables or disables the RF output signal.

COM Method Prototype


N/A
(use the RF.OutputEnabled property)

C Prototype
ViStatus IviRFSigGen_ConfigureOutputEnabled (ViSession Vi, ViBoolean OutputEnabled);

Parameters
Inputs Description
Vi Instrument handle.
OutputEnabled Specifies whether the RF output is enabled. The driver uses this value to set the
Output Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 28 IVI Foundation


4.3.4 Disable All Modulation

Description
Disables all currently enabled modulations (e.g. analog, pulse, IQ, and digital modulation).

COM Method Prototype


HRESULT RF.DisableAllModulation();

C Prototype
ViStatus IviRFSigGen_DisableAllModulation (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 29 IVI-4.10 IviRFSigGen Class Specification


4.3.5 Is Settled

Description
Queries if the RF output signal is currently settled.

COM Method Prototype


HRESULT RF.IsSettled ([out, retval] VARIANT_BOOL *Done);

C Prototype
ViStatus IviRFSigGen_IsSettled (ViSession Vi, ViBoolean * Done);

Parameters
Inputs Description
Vi Instrument handle

Outputs Description
Done Returns True if the output signal is in settled, False otherwise.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 30 IVI Foundation


4.3.6 Wait Until Settled

Description
This function waits until the state of the RF output signal has settled.

COM Method Prototype


HRESULT RF.WaitUntilSettled ([in] LONG MaxTimeMilliseconds);

C Prototype
ViStatus IviRFSigGen_WaitUntilSettled (ViSession Vi, ViInt32 MaxTimeMilliseconds);

Parameters
Inputs Description
Vi Instrument handle.
MaxTimeMillise Defines the maximum time the function waits for the output to be settled. If the
conds maximum time is exceeded, this function returns the Max Time Exceeded error.The
units are milliseconds.

Defined Values for MaxTime Parameter

Name Description
Language Identifier
Max Time Immediate Sets timeout to immediate. The function returns immediately.

C IVIRFSIGGEN_VAL_MAX_TIME_IMMEDIATE

COM IviRFSigGenMaxTimeImmediate

Max Time Infinite Sets timeout to infinite. The function waits indefinitely for the
settling to complete.
C IVIRFSIGGEN_VAL_MAX_TIME_INFINITE

COM IviRFSigGenMaxTimeInfinite

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.
The table below specifies additional class-defined status codes for this function.

Completion Codes Description


Max Time Exceeded Error: Maximum time exceeded before the operation completed.

Compliance Notes
An IviRFSigGen specific driver need not implement the Max Time Immediate or the Max Time Infinite defined
values for the MaxTimeMilliseconds parameter to be compliant with the IviRFSigGenBase Capability
group.

IVI Foundation 31 IVI-4.10 IviRFSigGen Class Specification


4.4 IviRFSigGen Behavior Model

After the user calls the Initialize or Reset functions, the RF signal generator produces an output signal based
on its current configuration. All changes to the RF signal generator’s IviRFSigGenBase functions and
attributes take place immediately.

If the user executes the Wait Until Settled function, the driver will block any further operation until the
function completes (i.e. the signal at the output of the RF signal generator has settled).

IVI-4.10 IviRFSigGen Class Specification 32 IVI Foundation


5. IviRFSigGenModulateAM Extension Group

5.1 IviRFSigGenModulateAM Extension Group Overview


The IviRFSigGenModulateAM Extension Group supports signal generators that can apply amplitude
modulation to the RF output signal. The user can enable or disable amplitude modulation, specify the source
and coupling of the modulating signal and the modulation depth with linear or logarithmic attenuation.

5.2 IviRFSigGenModulateAM Attributes


The IviRFSigGenModulateAM extension group defines the following attributes:

? AM Enabled

? AM Source

? AM Scaling

? AM External Coupling

? AM Nominal Voltage

? AM Depth

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 33 IVI-4.10 IviRFSigGen Class Specification


5.2.1 AM Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure AM Enabled

COM Property Name


AnalogModulation.AM.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_AM_ENABLED

Description
Specifies whether the signal generator enables or disables amplitude modulation of the RF output signal.

Defined Values

Name Description
True The RF signal generator applies amplitude modulation to the output signal.
C VI_TRUE
COM VARIANT_TRUE
False The RF signal generator does not apply amplitude modulation to the output signal.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI-4.10 IviRFSigGen Class Specification 34 IVI Foundation


5.2.2 AM Source

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Configure AM

COM Property Name


AnalogModulation.AM.Source

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_AM_SOURCE

Description
Specifies the source of the signal that is used as the modulating signal. If more than one source is specified, the
voltages of all specified sources (internal and external) are summed. Multiple source names are separated by
commas.

Defined Values
To get the valid source names, use the Get Modulation Source Name function (IVI-C) or the Analog
Modulation Source Name property (IVI-COM) from the IviRFSigGenAnalogModulationSource extension
group.

IVI Foundation 35 IVI-4.10 IviRFSigGen Class Specification


5.2.3 AM Scaling

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure AM

COM Property Name


AnalogModulation.AM.Scaling

COM Enumeration Name


IviRFSigGenAMScalingEnum

C Constant Name
IVIRFSIGGEN_ATTR_AM_SCALING

Description
Specifies linear or logarithmic characteristic for amplitude modulation. The units of the AM Depth attribute is
changed with this setting.

Defined Values
Name Description
Language Identifier
Linear Enables linear attenuation for amplitude modulation.
C IVIRFSIGGEN_VAL_AM_SCALING_LINEAR
COM IviRFSigGenAMScalingLinear
Logarithmic Enables logarithmic attenuation for amplitude modulation.
C IVIRFSIGGEN_VAL_AM_SCALING_LOGARITHMIC
COM IviRFSigGenAMScalingLogarithmic

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_AM_SCALING_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_AM_SCALING_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_AM_SCALING_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to AM Scale
Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of AM Scaling Specific Ext Base,
IVIRFSIGGEN_VAL_AM_SCALING_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_AM_SCALING_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 36 IVI Foundation


5.2.4 AM External Coupling

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure AM External Coupling

COM Property Name


AnalogModulation.AM.ExternalCoupling

COM Enumeration Name


IviRFSigGenAMExternalCouplingEnum

C Constant Name
IVIRFSIGGEN_ATTR_AM_EXTERNAL_COUPLING

Description
Specifies the coupling of the external source of the modulating signal.

Defined Values
Name Description
Language Identifier
AC The external source is coupled for AC only.
C IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_AC
COM IviRFSigGenAMExternalCouplingAC
DC The external source is coupled for both DC and AC
C IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_DC
COM IviRFSigGenAMExternalCouplingDC

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument specific
interfaces, the actual values of the additional elements shall be greater than or equal to AM External Coupling
Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of AM External Coupling Specific Ext Base,
IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_CLASS_EXT_BASE.

IVI Foundation 37 IVI-4.10 IviRFSigGen Class Specification


5.2.5 AM Nominal Voltage

Data Type Access Applies to Coercion High Level Functions


ViReal64 RO N/A None None

COM Property Name


AnalogModulation.AM.NominalVoltage

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_AM_NOMINAL_VOLTAGE

Description
Returns the voltage at which the instrument achieves the amount of modulation specified by the AM Depth
attribute. The units are Volts.

IVI-4.10 IviRFSigGen Class Specification 38 IVI Foundation


5.2.6 AM Depth

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure AM

COM Property Name


AnalogModulation.AM.Depth

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_AM_DEPTH

Description
Specifies the extent of modulation the signal generator applies to the RF-signal (carrier waveform) with the
modulating signal as a result of summing all sources, internal and external. The amount of the specified
modulation depth is achieved with a modulating voltage of AM Nominal Voltage.
If the AM Scaling attribute is set to Linear, then the units are percent (%). If the AM Scaling attribute is set to
logarithmic, then the units are dBm.

IVI Foundation 39 IVI-4.10 IviRFSigGen Class Specification


5.3 IviRFSigGenModulateAM Functions
The IviRFSigGenModulateAM extension defines the following functions:

? Configure AM Enabled (IVI-C only)

? Configure AM External Coupling (IVI-C only)

? Configure AM

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 40 IVI Foundation


5.3.1 Configure AM Enabled (IVI-C only)

Description
Configures the signal generator to apply amplitude modulation to the RF output signal.

COM Method Prototype


N/A
(use the AnalogModulation.AM.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigureAMEnabled (ViSession Vi, ViBoolean Enabled);

Parameters
Inputs Description
Vi Instrument handle
Enabled Enables or disables amplitude modulation. The driver uses this value to set the
AM Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 41 IVI-4.10 IviRFSigGen Class Specification


5.3.2 Configure AM External Coupling (IVI-C only)

Description
Configures the coupling of the external source the signal generator uses for amplitude modulation of the
output signal.

COM Method Prototype


N/A
(use the AnalogModulation.AM.ExternalCoupling property)

C Prototype
ViStatus IviRFSigGen_ConfigureAMExternalCoupling (ViSession Vi,
ViInt32 Coupling);

Parameters
Inputs Description

Vi Instrument handle
Coupling Specifies the coupling of the external source. The driver uses this value to set the
AM External Coupling attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 42 IVI Foundation


5.3.3 Configure AM

Description
Configures the attributes that control the signal generator's amplitude modulation. These attributes are the AM
modulation source, scaling and depth.

COM Method Prototype


HRESULT AnalogModulation.AM.Configure ([in] BSTR Source,
[in] IviRFSigGenAMScalingEnum Scaling,
[in] DOUBLE Depth);

C Prototype
ViStatus IviRFSigGen_ConfigureAM (ViSession Vi, ViConstString Source,
ViInt32 Scaling,
ViReal64 Depth);

Parameters
Inputs Description

Vi Instrument handle
Source Specifies the source of the signal that the signal generator uses to modulate the
output signal. The driver uses this value to set the AM Source attribute. See the
attribute description for more details.
Scaling Specifies the scaling of the modulation. The driver uses this value to set the AM
Scaling attribute. See the attribute description for more details.
Depth Specifies the extent of modulation. The driver uses this value to set the AM Depth
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 43 IVI-4.10 IviRFSigGen Class Specification


5.4 IviRFSigGenModulateAM Behavior Model
The IviRFSigGenModulateAM Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenModulateAM settings.

5.5 IviRFSigGenModulateAM Compliance Notes

1. If a specific driver implements the IviRFSigGenModulateAM Extension Group, it shall also implement
the IviRFSigGenAnalogModulationSource Extension Group.

2. If a specific driver does not support an external modulation source, it shall not support the AM External
Coupling attribute or the Configure AM External Coupling function.

IVI-4.10 IviRFSigGen Class Specification 44 IVI Foundation


6. IviRFSigGenModulateFM Extension Group

6.1 IviRFSigGenModulateFM Extension Group Overview


The IviRFSigGenModulateFM Extension Group supports signal generators that can apply frequency
modulation to the RF output signal. The user can enable or disable frequency modulation, specify the source
and coupling of the modulating signal and the peak frequency deviation.

6.2 IviRFSigGenModulateFM Attributes


The IviRFSigGenModulateFM extension group defines the following attributes:

? FM Enabled

? FM Source

? FM External Coupling

? FM Nominal Voltage

? FM Deviation

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 45 IVI-4.10 IviRFSigGen Class Specification


6.2.1 FM Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure FM Enabled

COM Property Name


AnalogModulation.FM.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FM_ENABLED

Description
Specifies whether the signal generator enables or disables frequency modulation of the RF output signal.

Defined Values

Name Description
True The RF signal generator applies frequency modulation to the output signal.
C VI_TRUE
COM VARIANT_TRUE
False The RF signal generator does not apply frequency modulation to the output signal.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI-4.10 IviRFSigGen Class Specification 46 IVI Foundation


6.2.2 FM Source

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Configure FM

COM Property Name


AnalogModulation.FM.Source

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FM_SOURCE

Description
Specifies the source of the signal that is used as the modulating signal. If more than one source is specified, the
voltages of all sources (internal and external) are summed. Multiple source names are separated by commas.

Defined Values
To get the values (names) use the Get Modulation Source Name function (IVI-C) or the Analog Modulation
Source Name property (IVI-COM) from the IviRFSigGenAnalogModulationSource extension group.

IVI Foundation 47 IVI-4.10 IviRFSigGen Class Specification


6.2.3 FM External Coupling

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure FM External Coupling

COM Property Name


AnalogModulation.FM.ExternalCoupling

COM Enumeration Name


IviRFSigGenFMExternalCouplingEnum

C Constant Name
IVIRFSIGGEN_ATTR_FM_EXTERNAL_COUPLING

Description
Specifies the coupling of the external source of the modulating signal.

Defined Values
Name Description
Language Identifier
AC The external source is coupled for AC only.
C IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_AC
COM IviRFSigGenFMExternalCouplingAC
DC The external source is coupled for both DC and AC
C IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_DC
COM IviRFSigGenFMExternalCouplingDC

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to FM
External Coupling Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of FM External Coupling Specific Ext Base,
IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 48 IVI Foundation


6.2.4 FM Nominal Voltage

Data Type Access Applies to Coercion High Level Functions


ViReal64 RO N/A None None

COM Property Name


AnalogModulation.FM.NominalVoltage

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FM_NOMINAL_VOLTAGE

Description
Returns the voltage at which the instrument achieves the amount of modulation specified by the FM Deviation
attribute. The units are Volts.

IVI Foundation 49 IVI-4.10 IviRFSigGen Class Specification


6.2.5 FM Deviation

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure FM

COM Property Name


AnalogModulation.FM.Deviation

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FM_DEVIATION

Description
Specifies the extent of modulation (peak frequency deviation) the signal generator applies to the RF-signal
(carrier waveform) with the modulating signal as a result of summing all sources, internal and external. The
amount of the specified FM modulation deviation is achieved with a modulating voltage of FM Nominal
Voltage.The units are Hertz.

IVI-4.10 IviRFSigGen Class Specification 50 IVI Foundation


6.3 IviRFSigGenModulateFM Functions
The IviRFSigGenModulateFM extension group defines the following functions:

? Configure FM Enabled (IVI-C only)

? Configure FM External Coupling (IVI-C only)

? Configure FM

This section describes the behavior and requirements of each function.

IVI Foundation 51 IVI-4.10 IviRFSigGen Class Specification


6.3.1 Configure FM Enabled (IVI-C only)

Description
Configures the signal generator to apply frequency modulation to the RF output signal.

COM Method Prototype


N/A
(use the AnalogModulation.FM.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigureFMEnabled (ViSession Vi, ViBoolean Enabled);

Parameters
Inputs Description
Vi Instrument handle
Enabled Enables or disables frequency modulation. The driver uses this value to set the
FM Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 52 IVI Foundation


6.3.2 Configure FM External Coupling (IVI-C only)

Description
Configures the coupling of the external source the generator uses for frequency modulation of the output
signal.

COM Method Prototype


N/A
(use the AnalogModulation.FM.ExternalCoupling property)

C Prototype
ViStatus IviRFSigGen_ConfigureFMExternalCoupling (ViSession Vi,
ViInt32 Coupling);

Parameters
Inputs Description

Vi Instrument handle
Coupling Specifies the coupling of the external source. The driver uses this value to set the
FM External Coupling attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 53 IVI-4.10 IviRFSigGen Class Specification


6.3.3 Configure FM

Description
Configures the attributes that control the signal generator's frequency modulation. The attributes are the
modulation deviation and the modulating source(s).

COM Method Prototype


HRESULT AnalogModulation.FM.Configure ([in] BSTR Source,
[in] DOUBLE Deviation);

C Prototype
ViStatus IviRFSigGen_ConfigureFM (ViSession Vi, ViConstString Source,
ViReal64 Deviation);

Parameters
Inputs Description

Vi Instrument handle
Source Specifies the modulating source. The driver uses this value to set the FM Source
attribute. See the attribute description for more details.
Deviation Specifies the extent of modulation. The driver uses this value to set the FM
Deviation attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 54 IVI Foundation


6.4 IviRFSigGenModulateFM Behavior Model
The IviRFSigGenModulateFM Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenModulateFM settings.

6.5 IviRFSigGenModulateFM Compliance Notes

1. If a specific driver implements the IviRFSigGenModulateFM Extension Group, it shall also implement the
IviRFSigGenAnalogModulationSource Extension Group.

2. If a specific driver does not support an external modulation source, it shall not support the FM External
Coupling attribute or the Configure FM External Coupling function.

IVI Foundation 55 IVI-4.10 IviRFSigGen Class Specification


7. IviRFSigGenModulatePM Extension Group

7.1 IviRFSigGenModulatePM Extension Group Overview


The IviRFSigGenModulatePM Extension Group supports signal generators that can apply phase modulation to
the RF output signal. The user can enable or disable phase modulation, specify the source and coupling of the
modulating signal and the peak phase deviation.

7.2 IviRFSigGenModulatePM Attributes


The IviRFSigGenModulatePM extension group defines the following attributes:

? PM Enabled

? PM Source

? PM External Coupling

? PM Nominal Voltage

? PM Deviation

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 56 IVI Foundation


7.2.1 PM Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure PM Enabled

COM Property Name


AnalogModulation.PM.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PM_ENABLED

Description
Specifies whether the signal generator enables or disables phase modulation of the RF output signal.

Defined Values

Name Description
True The RF signal generator applies phase modulation to the output signal.
C VI_TRUE
COM VARIANT_TRUE
False The RF signal generator does not apply phase modulation to the output signal.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI Foundation 57 IVI-4.10 IviRFSigGen Class Specification


7.2.2 PM Source

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Configure PM

COM Property Name


AnalogModulation.PM.Source

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PM_SOURCE

Description
Specifies the source of the signal that is used as the modulating signal. If more than one source is specified, the
voltages of all sources (internal and external) are summed. Multiple source names are separated by commas.

Defined Values
To get the values (names) use the Get Modulation Source Name function (IVI-C) or the Analog Modulation
Source Name property (IVI-COM) from the IviRFSigGenAnalogModulationSource extension group.

IVI-4.10 IviRFSigGen Class Specification 58 IVI Foundation


7.2.3 PM External Coupling

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure PM External Coupling

COM Property Name


AnalogModulation.PM.ExternalCoupling

COM Enumeration Name


IviRFSigGenPMExternalCouplingEnum

C Constant Name
IVIRFSIGGEN_ATTR_PM_EXTERNAL_COUPLING

Description
Specifies the coupling of the external source of the modulating signal.

Defined Values
Name Description
Language Identifier
AC The external source is coupled for AC only.
C IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_AC
COM IviRFSigGenPMExternalCouplingAC
DC The external source is coupled for both DC and AC
C IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_DC
COM IviRFSigGenPMExternalCouplingDC

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to PM
External Coupling Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of AM External Coupling Specific Ext Base,
IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_CLASS_EXT_BASE.

IVI Foundation 59 IVI-4.10 IviRFSigGen Class Specification


7.2.4 PM Nominal Voltage

Data Type Access Applies to Coercion High Level Functions


ViReal64 RO N/A None None

COM Property Name


AnalogModulation.PM.NominalVoltage

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PM_NOMINAL_VOLTAGE

Description
Returns the voltage at which the instrument achieves the amount of modulation specified by the PM Deviation
attribute. The units are Volts.

IVI-4.10 IviRFSigGen Class Specification 60 IVI Foundation


7.2.5 PM Deviation

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure PM

COM Property Name


AnalogModulation.PM.Deviation

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PM_DEVIATION

Description
Specifies the extent of modulation (peak phase deviation) the signal generator applies to the RF-signal (carrier
waveform) with the modulating signal as a result of summing all sources, internal and external. The amount of
the specified PM modulation deviation is achieved with a modulating voltage of PM Nominal Voltage. The
units are radians.

IVI Foundation 61 IVI-4.10 IviRFSigGen Class Specification


7.3 IviRFSigGenModulatePM Functions
The IviRFSigGenModulatePM extension group defines the following functions:

? Configure PM Enabled (IVI-C only)

? Configure PM External Coupling (IVI-C only)

? Configure PM

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 62 IVI Foundation


7.3.1 Configure PM Enabled (IVI-C only)

Description
Configures the signal generator to apply phase modulation to the RF output signal.

COM Method Prototype


N/A
(use the AnalogModulation.PM.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigurePMEnabled (ViSession Vi, ViBoolean Enabled);

Parameters
Inputs Description
Vi Instrument handle
Enabled Enables or disables phase modulation. The driver uses this value to set the PM
Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 63 IVI-4.10 IviRFSigGen Class Specification


7.3.2 Configure PM External Coupling (IVI-C only)

Description
Configures the coupling of the external source for phase modulation.

COM Method Prototype


N/A
(use the AnalogModulation.PM.ExternalCoupling property)

C Prototype
ViStatus IviRFSigGen_ConfigurePMExternalCoupling (ViSession Vi,
ViInt32 Coupling);

Parameters
Inputs Description

Vi Instrument handle
Coupling Specifies the coupling of the external source. The driver uses this value to set the
PM External Coupling attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 64 IVI Foundation


7.3.3 Configure PM

Description
Configures the attributes that control the signal generator's phase modulation. The attributes are the
modulation deviation and the modulating source(s).

Method Prototype
HRESULT AnalogModulation.PM.Configure ([in] BSTR Source,
[in] DOUBLE Deviation);

C Prototype
ViStatus IviRFSigGen_ConfigurePM (ViSession Vi,
ViConstString Source,
ViReal64 Deviation);

Parameters
Inputs Description

Vi Instrument handle
Source Specifies the source of the signal the signal generator uses to modulate the output
signal. The driver uses this value to set the PM Source attribute. See the attribute
description for more details.
Deviation Specifies the extent of modulation. The driver uses this value to set the PM
Deviation attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 65 IVI-4.10 IviRFSigGen Class Specification


7.4 IviRFSigGenModulatePM Behavior Model
The IviRFSigGenModulatePM Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenModulatePM settings.

7.5 IviRFSigGenModulatePM Compliance Notes

1. If a specific driver implements the IviRFSigGenModulatePM Extension Group, it shall also implement the
IviRFSigGenAnalogModulationSource Extension Group.

2. If a specific driver does not support an external modulation source, it shall not support the PM External
Coupling attribute or the Configure PM External Coupling function.

IVI-4.10 IviRFSigGen Class Specification 66 IVI Foundation


8. IviRFSigGenAnalogModulationSource Extension Group

8.1 IviRFSigGenAnalogModulationSource Extension Group Overview

The source of the modulating signal is a repeated capability. One or more internal sources (LF Generators)
and/or one and more external sources can be combined. The voltage of all signals is summed before
modulating the RF Signal. This applies to the following extension groups:

? IviRFSigGenModulateAM

? IviRFSigGenModulateFM

? IviRFSigGenModulatePM

Typically, all the LFGenerators defined in the IviRFSigGenLFGenerator extension group have a corresponding
Analog Modulation Source.

8.2 IviRFSigGenAnalogModulationSource Attributes


The IviRFSigGenAnalogModulationSource extension group defines the following attributes:

? Analog Modulation Source Count

? Analog Modulation Source Name (IVI-COM only)

This section describes the behavior and requirements of this attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 67 IVI-4.10 IviRFSigGen Class Specification


8.2.1 Analog Modulation Source Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None

COM Property Name


AnalogModulation.Source.Count

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ANALOG_MODULATION_SOURCE_COUNT

Description
Specifies how many analog modulation sources are available.

IVI-4.10 IviRFSigGen Class Specification 68 IVI Foundation


8.2.2 Analog Modulation Source Name (IVI-COM Only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT AnalogModulation.Source.Name ([in] LONG Index,
[out,retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name

N/A
(Use the Get Analog Modulation Source Name function.)

Description

This property returns the Analog Modulation Source identifier that corresponds to the one-based index that the
user specifies. If the value that the user pass for the Index parameter is less than one or greater than the value of
the Analog Modulation Source Count attribute, the property returns and empty string in the Name parameter
and returns the Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value
Name A driver-allocated buffer into which the driver stores the ViChar[]
analog modulation source name.

IVI Foundation 69 IVI-4.10 IviRFSigGen Class Specification


8.3 IviRFSigGenAnalogModulationSource Functions

The IviRFSigGenAnalogModulationSource extension group defines the following functions:

? Get Analog Modulation Source Name (IVI-C only)

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 70 IVI Foundation


8.3.1 Get Analog Modulation Source Name (IVI-C only)

Description

This function returns the specific driver defined analog modulation source name that corresponds to the one-
based index that the user specifies.

COM Method Prototype

N/A
(Use AnalogModulation.Source.Name property)

C Prototype
ViStatus IviRFSigGen_GetAnalogModulationSourceName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
NameBufferSize The number of bytes in the viChar array that the user specifies for the
Name parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the Analog
Modulation Source name.
The caller may pass VI_NULL for this parameter if the NameBufferSize
parameter is 0.

Return Values

The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes
For an instrument with only one modulation source, that is the Analog Modulation Source Count attribute is
one, the driver may return an empty string in the Name parameter.

IVI Foundation 71 IVI-4.10 IviRFSigGen Class Specification


8.4 IviRFSigGenAnalogModulationSource Behavior Model
The IviRFSigGenAnalogModulationSource Extension Group follows the behavior model of the
IviRFSigGenBase capability group.

8.5 IviRFSigGenAnalogModulationSource Compliance Notes

If the driver supports this extension group it shall support the IviRFSigGenBase capabilities and at least one of
the following extension groups:

? IviRFSigGenModulateAM

? IviRFSigGenModulateFM

? IviRFSigGenModulatePM

IVI-4.10 IviRFSigGen Class Specification 72 IVI Foundation


9. IviRFSigGenModulatePulse Extension Group

9.1 IviRFSigGenModulatePulse Extension Group Overview


The IviRFSigGenModulatePulse Extension Group supports signal generators that can apply pulse modulation
to the RF output signal. The user can enable or disable pulse modulation, and specify the source and the
polarity of the modulating signal.

9.2 IviRFSigGenModulatePulse Attributes


The IviRFSigGenModulatePulse extension group defines the following attributes:

? Pulse Modulation Enabled

? Pulse Modulation Source

? Pulse Modulation External Polarity

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 73 IVI-4.10 IviRFSigGen Class Specification


9.2.1 Pulse Modulation Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Pulse Modulation Enabled

COM Property Name


PulseModulation.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_MODULATION_ENABLED

Description
Enables or disables pulse modulation of the RF output signal.

Defined Values

Name Description
True Enables pulse modulation of the RF output signal.
C VI_TRUE
COM VARIANT_TRUE
False Disables pulse modulation of the RF output signal.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI-4.10 IviRFSigGen Class Specification 74 IVI Foundation


9.2.2 Pulse Modulation Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Pulse Modulation Source

COM Property Name


PulseModulation.Source

COM Enumeration Name


IviRFSigGenPulseModulationSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_MODULATION_SOURCE

Description
Specifies the source of the signal that is used as the modulating signal.

Defined Values
Name Description
Language Identifier
Internal The internal pulse generator (IviRFSigGenPulseGenerator Extension Group) is used
for modulation.
C IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_INTERNAL
COM IviRFSigGenPulseModulationSourceInternal
External An external generator is used for modulation.
C IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_EXTERNAL
COM IviRFSigGenPulseModulationSourceExternal

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Pulse
Modulation Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Pulse ModulationSource Specific Ext Base,
IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_CLASS_EXT_BASE.

IVI Foundation 75 IVI-4.10 IviRFSigGen Class Specification


9.2.3 Pulse Modulation External Polarity

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Pulse Modulation External Polarity

COM Property Name


PulseModulation.ExternalPolarity

COM Enumeration Name


IviRFSigGenPulseModulationExternalPolarityEnum

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_MODULATION_EXTERNAL_POLARITY

Description
Specifies the polarity of the external source signal.

Defined Values
Name Description
Language Identifier
Normal The signal generator modulates the carrier signal with normal pulse polarity.
Increasing the positive pulse voltage level results in higher RF level.
C IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY
_NORMAL
COM IviRFSigGenPulseModulationExternalPolarityNormal
Inverse The signal generator modulates the carrier signal with inverted pulse polarity.
Increasing the positive pulse voltage level results in lower RF level.
C IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY
_INVERSE
COM IviRFSigGenPulseModulationExternalPolarityInverse

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument specific
interfaces, the actual values of the additional elements shall be greater than or equal to Pulse Modulation
External Polarity Specific Ext Base.

IVI-4.10 IviRFSigGen Class Specification 76 IVI Foundation


See Section Attribute Value Definitions, for the definitions of Pulse Modulation Specific Ext Base,
IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_CLASS_EXT_BASE.

IVI Foundation 77 IVI-4.10 IviRFSigGen Class Specification


9.3 IviRFSigGenModulatePulse Functions
The IviRFSigGenPulseModulation extension group defines the following functions:

? Configure Pulse Modulation Enabled (IVI-C only)

? Configure Pulse Modulation Source (IVI-C only)

? Configure Pulse Modulation External Polarity (IVI-C only)

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 78 IVI Foundation


9.3.1 Configure Pulse Modulation Enabled (IVI-C only)

Description
Configures the signal generator to apply pulse modulation to the RF output signal.

COM Method Prototype


N/A
(use the PulseModulation.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigurePulseModulationEnabled (ViSession Vi, ViBoolean
Enabled);

Parameters
Inputs Description

Vi Instrument handle
Enabled True enables pulse modulation. The driver uses this value to set the Pulse
Modulation Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 79 IVI-4.10 IviRFSigGen Class Specification


9.3.2 Configure Pulse Modulation Source (IVI-C only)

Description
Configures the source the signal generator uses for pulse modulation of the RF output signal.

COM Method Prototype


N/A
(use the PulseModulation.Source property)

C Prototype
ViStatus IviRFSigGen_ConfigurePulseModulationSource (ViSession Vi, ViConstString
Source);

Parameters
Inputs Description

Vi Instrument handle
Source Specifies the source of the signal, the signal generator uses to modulate the
output signal. The driver uses this value to set the Pulse Modulation Source
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 80 IVI Foundation


9.3.3 Configure Pulse Modulation External Polarity (IVI-C only)

Description
Specifies the polarity of the external source signal.

COM Method Prototype


N/A
(use the PulseModulation.ExternalPolarity property)

C Prototype
ViStatus IviRFSigGen_ConfigurePulseModulationExternalPolarity (ViSession Vi,
ViInt32 Polarity);

Parameters
Inputs Description

Vi Instrument handle
Polarity Specifies the polarity of the signal used as the external modulation source. The
driver uses this value to set the Pulse Modulation External Polarity attribute.
See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 81 IVI-4.10 IviRFSigGen Class Specification


9.4 IviRFSigGenModulatePulse Behavior Model
The IviRFSigGenModulatePulse Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenModulatePulse settings.

9.5 IviRFSigGenModulatePulse Compliance Notes

1. If a specific driver supports the value Internal for the Pulse Modulation Source attribute, it shall also
implement the IviRFSigGenPulseGenerator Extension Group.

2. If a specific driver does not support an external pulse modulation source, it need not support the
Configure Pulse Modulation External Polarity function and the Pulse Modulation External Polarity
attribute.

IVI-4.10 IviRFSigGen Class Specification 82 IVI Foundation


10. IviRFSigGenLFGenerator Extension Group

10.1 IviRFSigGenLFGenerator Extension Group Overview


The IviRFSigGenLFGenerator Extension Group supports the LF generator (within the RF signal generator),
that is normally used as a source for the modulators. To use the LF generator as a modulation source, the
modulation source in the ModulateAM extensions group, ModulateFM extension group or ModulatePM
extension group should be configured. The user can set the frequency and the waveform of the LF signal.

10.2 IviRFSigGenLFGenerator Attributes


The IviRFSigGenLFGenerator extension group defines the following attributes:

? Active LFGenerator

? LFGenerator Count

? LFGenerator Name (IVI-COM only)

? LFGenerator Frequency

? LFGenerator Waveform

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 83 IVI-4.10 IviRFSigGen Class Specification


10.2.1 Active LFGenerator

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Set Active LFGenerator

COM Property Name


LFGenerator.ActiveLFGenerator

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ACTIVE_LF_GENERATOR

Description
Specifies the LF generator which is currently active. The values for this arttribute correspond to the
LFGenerator repeated capability.

IVI-4.10 IviRFSigGen Class Specification 84 IVI Foundation


10.2.2 LFGenerator Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None N/A

COM Property Name


LFGenerator.Count

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LF_GENERATOR_COUNT

Description
Specifies the number of LF generator sources available for a particular instrument.

IVI Foundation 85 IVI-4.10 IviRFSigGen Class Specification


10.2.3 LFGenerator Name (IVI-COM Only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT LFGenerator.Name ([in] LONG Index,
[out,retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name

N/A
(Use the Get LFGenerator Name function.)

Description

This property returns the LFGenerator identifier that corresponds to the one-based index that the user specifies.
If the value that the user pass for the Index parameter is less than one or greater than the value of the
LFGenerator Count attribute, the property returns and empty string in the Name parameter and returns the
Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value
Name A driver-allocated buffer into which the driver stores the ViChar[]
LFGenerator name.

IVI-4.10 IviRFSigGen Class Specification 86 IVI Foundation


10.2.4 LFGenerator Frequency

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure LF Generator

COM Property Name


LFGenerator.Frequency

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LF_GENERATOR_FREQUENCY

Description
Specifies the frequency of the active LF generator. The units are Hertz.

IVI Foundation 87 IVI-4.10 IviRFSigGen Class Specification


10.2.5 LFGenerator Waveform

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure LF Generator

COM Property Name


LFGenerator.Waveform

COM Enumeration Name


IviRFSigGenLFGeneratorWaveformEnum

C Constant Name
IVIRFSIGGEN_ATTR_LF_GENERATOR_WAVEFORM

Description
Specifies the waveform of the active LF generator.

Defined Values
Name Description
Language Identifier
Sine Configures the LF generator to produce a sinusoidal waveform
C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SINE
COM IviRFSigGenLFGeneratorWaveformSine
Square Configures the LF generator to produce a square waveform
C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SQUARE
COM IviRFSigGenLFGeneratorWaveformSquare
Triangle Configures the LF generator to produce a triangle waveform
C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_TRIANGLE
COM IviRFSigGenLFGeneratorWaveformTriangle
Ramp Up Configures the LF generator to produce a rising ramp waveform
C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_RAMP_UP
COM IviRFSigGenLFGeneratorWaveformRampUp
Ramp Down Configures the LF generator to produce a falling ramp waveform
C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_RAMP_DOWN
COM IviRFSigGenLFGeneratorWaveformRampDown

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SPECIFIC_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 88 IVI Foundation


2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to
LFGenerator Waveform Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of LFGenerator Specific Ext Base,
IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_CLASS_EXT_BASE.

IVI Foundation 89 IVI-4.10 IviRFSigGen Class Specification


10.3 IviRFSigGenLFGenerator Functions
The IviRFSigGenLFGenerator extension group defines the following function:

? Get LFGenerator Name (IVI-C only)

? Set Active LFGenerator (IVI-C only)

? Configure LFGenerator

This section describes the behavior and requirements of this function.

IVI-4.10 IviRFSigGen Class Specification 90 IVI Foundation


10.3.1 Get LFGenerator Name (IVI-C only)

Description

This function returns the specific driver defined LF generator source name that corresponds to the one-based
index that the user specifies.

COM Method Prototype

N/A

(Use LFGenerator.Name property)

C Prototype
ViStatus IviRFSigGen_GetLFGeneratorName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
NameBufferSize The number of bytes in the ViChar array that the user specifies for the
Name parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the LFGenerator
name.
The caller may pass VI_NULL for this parameter if the
NameBufferSize parameter is 0.

Return Values

The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes

For an instrument with only one LF generator source, that is the LFGenerator Count attribute is one, the driver
may return an empty string in the Name parameter.

IVI Foundation 91 IVI-4.10 IviRFSigGen Class Specification


10.3.2 Set Active LFGenerator (IVI-C Only)

Description

This function selects one of the available LF generator sources, and makes it the active LFGenerator.

COM Method Prototype


N/A

C Function Prototype
ViStatus IviRFSigGen_SetActiveLFGenerator (ViSession Vi,
ViConstString ActiveLFGenerator);

Parameters
Inputs Description
Vi Instrument handle.
ActiveLFGenerator LF generator source to be selected. The driver uses this value to set the
Active LFGenerator attribute. See the attribute description for more
details.

Return Values

The IVI-3.2:Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 92 IVI Foundation


10.3.3 Configure LFGenerator

Description
Configures the LF generator output frequency and waveform.

COM Method Prototype


HRESULT LFGenerator.Configure ([in] DOUBLE Frequency,
[in] IviRFSigGenLFGeneratorWaveformEnum Waveform);

C Prototype
ViStatus IviRFSigGen_ConfigureLFGenerator (ViSession Vi,
ViReal64 Frequency,
ViInt32 Waveform);

Parameters
Inputs Description

Vi Instrument handle
Frequency Specifies the frequency of the LF generator. The driver uses this value to set
the LFGenerator Frequency attribute. See the attribute description for more
details.
Waveform Specifies the waveform of the LF generator. The driver uses this value to set
the LFGenerator Waveform attribute. See the attribute description for more
details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 93 IVI-4.10 IviRFSigGen Class Specification


10.4 IviRFSigGenLFGenerator Behavior Model
The IviRFSigGenLFGenerator Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenLFGenerator settings.

10.5 IviRFSigGenLFGenerator Compliance Notes

1. If a specific driver implements the IviRFSigGenLFGenerator Extension Group, it shall also implement the
IviRFSigGenAnalogModulationSource Extension Group.

IVI-4.10 IviRFSigGen Class Specification 94 IVI Foundation


11. IviRFSigGen LFGeneratorOutput Extension Group

11.1 IviRFSigGenLFGeneratorOutput Extension Group Overview


The IviRFSigGenLFGenerator Output Extension Group supports the output of the LF generator, if it is used as
a source for external devices. The user can set the amplitude and enable or disable the output. This extension
group requires the LFGenerator extension group.

11.2 IviRFSigGenLFGeneratorOutput Attributes

? LFGenerator Output Amplitude

? LFGenerator Output Enabled

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 95 IVI-4.10 IviRFSigGen Class Specification


11.2.1 LFGenerator Output Amplitude

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure LFGenerator Output

COM Property Name


LFGenerator.Output.Amplitude

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_AMPLITUDE

Description
Specifies the output voltage the of the LF generator. The units are Volts, peak-to-peak.

IVI-4.10 IviRFSigGen Class Specification 96 IVI Foundation


11.2.2 LFGenerator Output Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure LF Output

COM Property Name


LFGenerator.Output.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_ENABLED

Description
Enables or disables the LF generator external output.

Defined Values

Name Description
True The LF generator applies a signal to the output.
C VI_TRUE
COM VARIANT_TRUE
False The LF generator does not apply a signal to the output.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the value True.

IVI Foundation 97 IVI-4.10 IviRFSigGen Class Specification


11.3 IviRFSigGenLFGeneratorOutput Functions
The IviRFSigGenLFGeneratorOutput extension group defines the following function:

? Configure LFGenerator Output

This section describes the behavior and requirements of this function.

IVI-4.10 IviRFSigGen Class Specification 98 IVI Foundation


11.3.1 Configure LFGenerator Output

Description
Configures the attributes of the LF generator output (within the RF signal generator).

COM Method Prototype


HRESULT LFGenerator.Output.Configure ([in] DOUBLE Amplitude,
[in] VARIANT_BOOL Enabled );

C Prototype
ViStatus IviRFSigGen_ConfigureLFGeneratorOutput (ViSession Vi,
ViReal64 Amplitude,
ViBoolean Enabled);

Parameters
Inputs Description

Vi Instrument handle
Amplitude Specifies the output voltage of the LF generator output signal. The driver uses this
value to set the LFGenerator Output Amplitude attribute. See the attribute
description for more details.
Enabled Specifies whether the LF generator applies a signal to the output. The driver uses this
value to set the LFGenerator Output Enabled attribute. See the attribute description
for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 99 IVI-4.10 IviRFSigGen Class Specification


11.4 IviRFSigGenLFGeneratorOutput Behavior Model
The IviRFSigGenLFGeneratorOutput Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenLFGeneratorOutput settings.

11.5 IviRFSigGenLFGeneratorOutput Compliance Notes

1. If a specific driver implements the IviRFSigGenLFGeneratorOutput Extension Group, it shall also


implement the IviRFSigGenLFGenerator Extension Group.

IVI-4.10 IviRFSigGen Class Specification 100 IVI Foundation


12. IviRFSigGenPulseGenerator Extension Group

12.1 IviRFSigGenPulseGenerator Extension Group Overview

The IviRFSigGenPulseGenerator Extension Group supports the pulse generator within the signal generator
that is normally used as a source for the pulse modulator. The user can set the pulse period, width and delay.
The pulse can be triggered, so source and external trigger polarity can be set.

Double pulse can be set with the functions and attributes of the IviRFSigGenPulseDoubleGenerator extension
group.

The output of the pulse generator can be set with the functions and attributes of the IviRFSigGenPulseOutput
extension group.

12.2 IviRFSigGenPulseGenerator Attributes


The IviRFSigGenPulseGenerator extension group defines the following attributes:

? Pulse Internal Trigger Period

? Pulse Width

? Pulse Gating Enabled

? Pulse Trigger Source

? Pulse External Trigger Slope

? Pulse External Trigger Delay

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 101 IVI-4.10 IviRFSigGen Class Specification


12.2.1 Pulse Internal Trigger Period

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Pulse Internal Trigger

COM Property Name


PulseGenerator.InternalTriggerPeriod

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_INTERNAL_TRIGGER_PERIOD

Description
Specifies the period of the pulse generator output signal when Pulse Trigger Source is set to Internal. The units
are seconds.

IVI-4.10 IviRFSigGen Class Specification 102 IVI Foundation


12.2.2 Pulse Width

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Pulse

COM Property Name


PulseGenerator.Width

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_WIDTH

Description
Specifies the width of the output pulse. The units are seconds.

IVI Foundation 103 IVI-4.10 IviRFSigGen Class Specification


12.2.3 Pulse Gating Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Pulse

COM Property Name


PulseGenerator.GatingEnabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_GATING_ENABLED

Description
Enables or disables trigger gating.

Defined Values

Name Description
True Enables the pulse trigger gating.
C VI_TRUE
COM VARIANT_TRUE
False Disables the pulse trigger gating.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI-4.10 IviRFSigGen Class Specification 104 IVI Foundation


12.2.4 Pulse Trigger Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Pulse

COM Property Name


PulseGenerator.TriggerSource

COM Enumeration Name


IviRFSigGenPulseTriggerSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_TRIGGER_SOURCE

Description
Specifies the source of the trigger signal the pulse generator uses to generate one pulse.

Defined Values
Name Description
Language Identifier
Internal No external trigger is used. The pulse period is specified with Pulse Internal Trigger
Period.
C IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_INTERNAL
COM IviRFSigGenPulseTriggerSourceInternal
External The pulse is started with a trigger after the delay time specified with Pulse External
Trigger Delay.
C IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_EXTERNAL
COM IviRFSigGenPulseTriggerSourceExternal

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Pulse
Trigger Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Pulse Trigger Source Specific Ext Base,
IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_CLASS_EXT_BASE.

IVI Foundation 105 IVI-4.10 IviRFSigGen Class Specification


12.2.5 Pulse External Trigger Slope

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Pulse External Trigger

COM Property Name


PulseGenerator.ExternalTriggerSlope

COM Enumeration Name


IviRFSigGenPulseExternalTriggerSlopeEnum

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_SLOPE

Description
Specifies whether the event occurs on the rising or falling edge of the trigger input signal.

Defined Values
Name Description
Language Identifier
Positive Enables rising edge triggering.
C IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_POSI
TIVE
COM IviRFSigGenPulseExternalTriggerSlopePositive
Negative Enables falling edge triggering.
C IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_NEGA
TIVE
COM IviRFSigGenPulseExternalTriggerSlopeNegative

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Pulse
External Trigger Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Pulse External Trigger Specific Ext Base,
IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 106 IVI Foundation


12.2.6 Pulse External Trigger Delay

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure External Trigger

COM Property Name


PulseGenerator.ExternalTriggerDelay

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_DELAY

Description
Specifies the delay for starting the output pulse with respect to the trigger input. The units are seconds.

IVI Foundation 107 IVI-4.10 IviRFSigGen Class Specification


12.3 IviRFSigGenPulseGenerator Functions
The IviRFSigGenPulseGenerator extension group defines the following functions:

? Configure Pulse External Trigger

? Configure Pulse Internal Trigger (IVI-C only)

? Configure Pulse

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 108 IVI Foundation


12.3.1 Configure Pulse External Trigger

Description
Configures the triggering of the pulse generator within the RF signal generator. Specifies the external trigger
slope and the delay time for starting the pulse after the trigger pulse.

COM Method Prototype


HRESULT PulseGenerator.ConfigureExternalTrigger (
[in] IviRFSigGenPulseExternalTriggerSlopeEnum Slope,
[in] DOUBLE Delay);

C Prototype
ViStatus IviRFSigGen_ConfigurePulseExternalTrigger (ViSession Vi,
ViInt32 Slope,
ViReal64 Delay);

Parameters
Inputs Description

Vi Instrument handle
Slope Specifies the polarity of the trigger input to start one pulse. The driver uses this
value to set the Pulse External Trigger Slope attribute. See the attribute
description for more details.
Delay Specifies the delay for starting the output pulse with respect to the trigger input.
The driver uses this value to set the Pulse External Trigger Delay attribute. See
the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 109 IVI-4.10 IviRFSigGen Class Specification


12.3.2 Configure Pulse Internal Trigger (IVI-C only)

Description
Configures the pulse generator within the RF signal generator. Specifies the period time (repetition rate) in
case of internal trigger (free run) mode.

COM Method Prototype


N/A
(use the PulseGenerator.InternalTriggerPeriod property)

C Prototype
ViStatus IviRFSigGen_ConfigurePulseInternalTrigger (ViSession Vi,
ViReal64 Period);

Parameters
Inputs Description

Vi Instrument handle
Period Specifies the period (repetition rate) for the pulse. The driver uses this value to set
the Pulse Internal Trigger Period attribute. See the attribute description for more
details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 110 IVI Foundation


12.3.3 Configure Pulse

Description
Configures the trigger source, pulse width and gating enabled for the pulse generator.

COM Method Prototype


HRESULT PulseGenerator.Configure (
[in] IviRFSigGenPulseTriggerSourceEnum PulseTriggerSource,
[in] DOUBLE PulseWidth,
[in] VARIANT_BOOL GatingEnabled);

C Prototype
ViStatus IviRFSigGen_ConfigurePulse (ViSession Vi, ViInt32 PulseTriggerSource,
ViReal64 PulseWidth, ViBoolean GatingEnabled);

Parameters
Inputs Description

Vi Instrument handle
PulseTriggerSou Specifies the source of the signal the pulse generator uses to generate one pulse.
rce The driver uses this value to set the Pulse Trigger Source attribute. See the
attribute description for more details.
PulseWidth Specifies the width of the output pulse. The driver uses this value to set the Pulse
Width attribute. See the attribute description for more details.
GatingEnabled Enables or disables gating. The driver uses this value to set the Pulse Gating
Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 111 IVI-4.10 IviRFSigGen Class Specification


12.4 IviRFSigGenPulseGenerator Behavior Model
The IviRFSigGenPulseGenerator Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenPulseGenerator settings.

12.5 IviRFSigGenPulseGenerator Compliance Notes

1. If an instrument driver implements the IviRFSigGenPulseGenerator Extension Group, it shall also


implement the IviRFSigGenModulatePulse Extension Group.

2. If an instrument driver does not implement the value Pulse Trigger Source External for the Pulse Trigger
Source attribute, it shall not implement the Pulse External Trigger Delay attribute, the Pulse External
Trigger Slope attribute and the Configure Pulse External Trigger function.

3. If an instrument driver does not implement the value Pulse Trigger Source Internal for the Pulse Trigger
Source attribute, it shall not implement the Pulse Internal Trigger Period attribute and the Configure
Internal Trigger function.

IVI-4.10 IviRFSigGen Class Specification 112 IVI Foundation


13. IviRFSigGenPulseDoubleGenerator Extension Group

13.1 IviRFSigGenPulseDoubleGenerator Extension Group Overview

The IviRFSigGenPulseDoubleGenerator Extension Group extends the IviRFSigGenPulseGenerator Extension


Group to support double pulse generation.

13.2 IviRFSigGenPulseDoubleGenerator Attributes


The IviRFSigGenPulseDoubleGenerator extension group defines the following attributes:

? Pulse Double Enabled

? Pulse Double Delay

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 113 IVI-4.10 IviRFSigGen Class Specification


13.2.1 Pulse Double Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Pulse Double

COM Property Name


PulseGenerator.Double.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_DOUBLE_ENABLED

Description
Enables or disables double pulse mode.

Defined Values

Name Description
True The double pulse mode is enabled.
C VI_TRUE
COM VARIANT_TRUE
False The double pulse mode is disabled.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
Instrument drivers shall support the values True and False.

IVI-4.10 IviRFSigGen Class Specification 114 IVI Foundation


13.2.2 Pulse Double Delay

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Pulse Double

COM Property Name


PulseGenerator.Double.Delay

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_DOUBLE_DELAY

Description
Specifies the delay of the second pulse from the falling edge of the first pulse. The second pulse has the same
width as the first. The units are seconds.

IVI Foundation 115 IVI-4.10 IviRFSigGen Class Specification


13.3 IviRFSigGenPulseDoubleGenerator Functions
The IviRFSigGenPulseGenerator extension group defines the following function:

? Configure Pulse Double

This section describes the behavior and requirements of this function.

IVI-4.10 IviRFSigGen Class Specification 116 IVI Foundation


13.3.1 Configure Pulse Double

Description
Configures the pulse generator within the RF signal generator. Specifies double pulse state and delay.

COM Method Prototype


HRESULT PulseGenerator.Double.Configure ([in] VARIANT_BOOL Enabled,
[in] DOUBLE Delay);

C Prototype
ViStatus IviRFSigGen_ConfigurePulseDouble (ViSession Vi, ViBoolean Enabled,
ViReal64 Delay);

Parameters
Inputs Description

Vi Instrument handle
Enabled Enables or disables double pulse mode. The driver uses this value to set the Pulse
Double Enabled attribute. See the attribute description for more details.
Delay Specifies the delay of the second pulse. The driver uses this value to set the Pulse
Double Delay attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 117 IVI-4.10 IviRFSigGen Class Specification


13.4 IviRFSigGenPulseDoubleGenerator Behavior Model
The IviRFSigGenPulseDoubleGenerator Extension Group follows the behavior model of the
IviRFSigGenBase capability group. The only modification to the behavior model from the IviRFSigGenBase
capability group is the ability to configure IviRFSigGenPulseDoubleGenerator settings.

13.5 IviRFSigGenPulseDoubleGenerator Compliance Notes

1. If a specific driver implements the IviRFSigGenPulseDoubleGenerator Extension Group, it shall also


implement the IviRFSigGenPulseGenerator Extension Group.

IVI-4.10 IviRFSigGen Class Specification 118 IVI Foundation


14. IviRFSigGenPulseGeneratorOutput Extension Group

14.1 IviRFSigGenPulseGeneratorOutput Extension Group Overview


The IviRFSigGenPulseGeneratorOutput Extension Group requires the IviRFSigGenPulseGenerator extension
group. The output of the pulse generator can be enabled or disabled and its polarity set.

14.2 IviRFSigGenPulseGeneratorOutput Attributes


The IviRFSigGenPulseGeneratorOutput extension group defines the following attributes:

? Pulse Output Polarity

? Pulse Output Enabled

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 119 IVI-4.10 IviRFSigGen Class Specification


14.2.1 Pulse Output Polarity

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Pulse Output

COM Property Name


PulseGenerator.Output.Polarity

COM Enumeration Name


IviRFSigGenPulseOutputPolarityEnum

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_OUTPUT_POLARITY

Description
Specifies the polarity of the output signal.

Defined Values
Name Description
Language Identifier
Normal Specifies normal polarity.
C IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_NORMAL
COM IviRFSigGenPulseOutputPolarityNormal
Inverse Specifies inverted polarity.
C IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_INVERSE
COM IviRFSigGenPulseOutputPolarityInverse

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Pulse
Output Polarity Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Pulse Output Polarity Specific Ext Base,
IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 120 IVI Foundation


14.2.2 Pulse Output Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Pulse Output

COM Property Name


PulseGenerator.Output.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_PULSE_OUTPUT_ENABLED

Description
Enables or disables the pulse generator external output.

Defined Values

Name Description
True The pulse generator’s external output is enabled.
C VI_TRUE
COM VARIANT_TRUE
False The pulse generator’s external output is disabled.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes

Instrument drivers shall support the values True and False.

IVI Foundation 121 IVI-4.10 IviRFSigGen Class Specification


14.3 IviRFSigGenPulseGeneratorOutput Functions
The IviRFSigGenPulseGenerator extension group defines the following functions:

? Configure Pulse Output

This section describes the behavior and requirements of this function.

IVI-4.10 IviRFSigGen Class Specification 122 IVI Foundation


14.3.1 Configure Pulse Output

Description
Configures the output and polarity of the pulse generator within the RF signal generator.

COM Method Prototype


HRESULT PulseGenerator.Output.Configure(
[in] IviRFSigGenPulseOutputPolarityEnum Polarity,
[in] VARIANT_BOOL Enabled);

C Prototype
ViStatus IviRFSigGen_ConfigurePulseOutput (ViSession Vi, ViInt32 Polarity,
ViBoolean Enabled);

Parameters
Inputs Description

Vi Instrument handle
Polarity Specifies the polarity of the output signal. The driver uses this value to set the Pulse
Output Polarity attribute. See the attribute description for more details.
Enabled Enables or disables the external output of the pulse generator. The driver uses this
value to set the Pulse Output Enabled attribute. See the attribute description for
more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 123 IVI-4.10 IviRFSigGen Class Specification


14.4 IviRFSigGenPulseGeneratorOutput Behavior Mode
The IviRFSigGenPulseGeneratorOutput Extension Group follows the behavior model of the
IviRFSigGenBase capability group. The only modification to the behavior model from the IviRFSigGenBase
capability group is the ability to configure IviRFSigGenPulseGeneratorOutput settings.

14.5 IviRFSigGenPulseGeneratorOutput Compliance Notes

1. If a specific driver implements the IviRFSigGenPulseGeneratorOutput Extension Group, it shall also


implement the IviRFSigGenPulseGenerator Extension Group.

IVI-4.10 IviRFSigGen Class Specification 124 IVI Foundation


15. IviRFSigGenSweep Extension Group

15.1 IviRFSigGenSweep Overview


The IviRFSigGenSweep extension group supports signal generators with the ability to sweep (or step) the
frequency or the power of the RF output signal.

15.2 IviRFSigGenSweep Attributes


The IviRFSigGenSweep extension group defines the following attributes:

? Sweep Mode

? Sweep Trigger Source

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 125 IVI-4.10 IviRFSigGen Class Specification


15.2.1 Sweep Mode

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Sweep

COM Property Name


Sweep.Mode

COM Enumeration Name


IviRFSigGenSweepModeEnum

C Constant Name
IVIRFSIGGEN_ATTR_SWEEP_MODE

Description
Specifies the sweep mode applied to the output signal.

Defined Values
Name Description
Language Identifier
None The RF output of the signal generator is a non-swept signal (Continuous Wave).
Frequency and power level settings from the base capability group are used.
C IVIRFSIGGEN_VAL_SWEEP_MODE_NONE
COM IviRFSigGenSweepModeNone
Frequency Sweep The signal generator sweeps the RF output signal’s frequency in an analog form
(non-stepped). Refer to IviRFSigGenFrequencySweep extension group.
C IVIRFSIGGEN_VAL_SWEEP_MODE_FREQUENCY_SWEEP
COM IviRFSigGenSweepModeFrequencySweep
Power Sweep The signal generator sweeps the RF output signal’s power in an analog form (non-
stepped). Refer to IviRFSigGenPowerSweep extension group.
C IVIRFSIGGEN_VAL_SWEEP_MODE_POWER_SWEEP
COM IviRFSigGenSweepModePowerSweep
Frequency Step The signal generator sweeps the RF output signal’s frequency in steps. Refer to
IviRFSigGenFrequencyStep extension group.
C IVIRFSIGGEN_VAL_SWEEP_MODE_FREQUENCY_STEP
COM IviRFSigGenSweepModeFrequencyStep
Power Step The signal generator sweeps the RF output signal’s power level in steps. Refer to
IviRFSigGenPowerStep extension group.
C IVIRFSIGGEN_VAL_SWEEP_MODE_POWER_STEP
COM IviRFSigGenSweepModePowerStep
List The signal generator uses two lists with frequency and power level values to sweep
the RF output signal. Refer to IviRFSigGenList extension group.

IVI-4.10 IviRFSigGen Class Specification 126 IVI Foundation


C IVIRFSIGGEN_VAL_SWEEP_MODE_LIST
COM IviRFSigGenSweepModeList

Compliance Notes
1. A specific driver shall implement the defined value None and at least one of the other defined values.

2. If a specific driver implements the defined value Frequency Sweep it shall implement the
IviRFSigGenFrequencySweep Extension group.

3. If a specific driver implements the defined value Power Sweep it shall implement the
IviRFSigGenPowerSweep Extension group.

4. If a specific driver implements the defined value Frequency Step it shall implement the
IviRFSigGenFrequencyStep Extension group.

5. If a specific driver implements the defined value Power Step it shall implement the
IviRFSigGenPowerStep extension group.

6. If a specific driver implements the defined value List it shall implement the IviRFSigGenList Extension
group.

7. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_SWEEP_MODE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_SWEEP_MODE_SPECIFIC_EXT_BASE.

8. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_SWEEP_MODE_SPECIFIC_EXT_BASE.

9. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Sweep
Mode Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of AM Sweep Mode Specific Ext Base,
IVIRFSIGGEN_VAL_SWEEP_MODE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_SWEEP_MODE_CLASS_EXT_BASE.

IVI Foundation 127 IVI-4.10 IviRFSigGen Class Specification


15.2.2 Sweep Trigger Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Sweep

COM Property Name


Sweep.TriggerSource

COM Enumeration Name


IviRFSigGenSweepTriggerSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_SWEEP_TRIGGER_SOURCE

Description
Specifies the trigger used to start a sweep operation.

Defined Values
Name Description
Language Identifier
Immediate The sweep system does not wait for a trigger of any kind, so it is running
continuously.
C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_IMMEDIATE
COM IviRFSigGenSweepTriggerSourceImmediate
External The sweep is started with an external signal.
C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_EXTERNAL
COM IviRFSigGenSweepTriggerSourceExternal
Software Trigger The sweep is started with a software programmable trigger.
C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SOFTWARE
COM IviRFSigGenSweepTriggerSourceSoftware

Compliance Notes

1. If a specific driver implements the value Software Trigger, it shall also implement the
IviRFSigGenSoftwareTrigger Extension Group.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

3. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 128 IVI Foundation


4. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Sweep
Trigger Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Sweep Trigger Source Specific Ext Base,
IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_CLASS_EXT_BASE.

IVI Foundation 129 IVI-4.10 IviRFSigGen Class Specification


15.3 IviRFSigGenSweep Functions

The IviRFSigGenSweep extension group defines the following functions:

? Configure Sweep

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 130 IVI Foundation


15.3.1 Configure Sweep

Description
Configures the signal generator whether the RF output signal is a continuous wave or the frequency, the power
level or both are swept or stepped.

COM Method Prototype


HRESULT Sweep.Configure ([in] IviRFSigGenSweepModeEnum Mode,
[in] IviRFSigGenSweepTriggerSourceEnum TriggerSource);

C Prototype
ViStatus IviRFSigGen_ConfigureSweep (ViSession Vi, ViInt32 Mode,
ViInt32 TriggerSource);

Parameters
Inputs Description

Vi Instrument handle.
Mode Specifies the sweep mode of the RF signal generator. The driver uses this value to set
the Sweep Mode attribute. See the attribute description for more details.
TriggerSource Specifies the way to start the sweep or running it continuously. The driver uses this
value to set the Sweep Trigger Source attribute. See the attribute description for
more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 131 IVI-4.10 IviRFSigGen Class Specification


15.4 IviRFSigGenSweep Behavior Model

The following behavior models show the relationship between the IviRFSigGenSweep extension group and RF
Signal Generator behavior.

15.4.1 Frequency Sweep / Power Sweep

Sweep Mode: Frequency Sweep


or Power Sweep

Sweep Trigger
No
Immediate?

Yes

Wait for
Trigger
State
Trigger
Event

Sweep

Setting the Sweep Trigger attribute to Immediate will continuously generate sweeps (either frequency or power
sweeps). The duration of one sweep from start to stop is defined with Frequency Sweep Time or Power Sweep
Time. Setting the Sweep Trigger attribute to External or Software Trigger will delay the start of the next sweep
until the specified trigger event occurs.

Trigger Immediate: Trigger External / Software:

Sweep Time Sweep Time

Trigger Events

IVI-4.10 IviRFSigGen Class Specification 132 IVI Foundation


15.4.2 Frequency Step / Power Step / List

Sweep Mode: Frequency Steep


or Power Step or List

No Sweep Trigger
Immediate?
Yes
Single Step
Enabled?
No Stop / End Yes
of List?
Yes

Trigger Wait for


Event Trigger
State

Step

Setting the Sweep Trigger attribute to Immediate will continuously generate steps (frequency or power) either
from start to stop with fixed increments (steps) or from a list of arbitrary values. The duration of one step is
defined with Dwell Time. Setting the Sweep Trigger attribute to External or Software Trigger will delay the
start of the next step until the specified trigger event occurs.
Trigger Immediate: Trigger External / Software:
Dwell Time Dwell Time

Stop Stop

Start Start

Trigger Events

Single Step and Trigger External / Software:

Trigger Events

IVI Foundation 133 IVI-4.10 IviRFSigGen Class Specification


In addition the following rules apply:
1. When a call to Configure RF of the base capability group is made, the Sweep Mode attribute is set to
None, hence stopping any sweeps that may have been in progress.
2. When the Sweep Mode attribute is set to Frequency Sweep, Frequency Step or List Mode with frequency
or frequency and power list selected, setting Frequency of the base capability group will set the Sweep
Mode attribute to None. Setting the value of Power Level will control the power level of the swept signal.
3. When the Sweep Mode attribute is set to Power Sweep, Power Step or List Mode with power or frequency
and power level list selected, setting Power Level of the base capability group will set the Sweep Mode
attribute to None. Setting the value of Frequency will control the frequency of the swept signal.
4. When the Sweep Mode attribute is set to List and a frequency and power level list is selected, setting
Frequency or Power Level of the base capability group will set the Sweep Mode attribute to None.
5. When the Sweep Mode attribute is changed from any sweep mode to None, the signal generator will
generate the signal accordingly to the previously set values of Frequency and Power Level of the base
capability group.

IVI-4.10 IviRFSigGen Class Specification 134 IVI Foundation


16. IviRFSigGenFrequencySweep Extension Group

16.1 IviRFSigGenFrequencySweep Extension Group Overview


The IviRFSigGenFrequencySweep Extension Group supports signal generators that can apply a frequency
sweep to the output signal. The user may configure the sweep with start and stop, or center and span
frequencies. The sweep time is also configurable.
In order to support this extension group, a driver shall first support the IviRFSigGenSweep Extension Group.
This extension group is active when the Sweep Mode attribute is set to Frequency Sweep.

16.2 IviRFSigGenFrequencySweep Attributes


The IviRFSigGenFrequencySweep extension group defines the following attributes:

? Frequency Sweep Start

? Frequency Sweep Stop

? Frequency Sweep Time

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 135 IVI-4.10 IviRFSigGen Class Specification


16.2.1 Frequency Sweep Start

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Sweep Start Stop,
Configure Frequency Sweep Center Span

COM Property Name


Sweep.FrequencySweep.Start

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_START

Description
Specifies the start frequency of the sweep. If the stop frequency is less than the start frequency, the frequency
decreases during the sweep. The units are Hertz.

IVI-4.10 IviRFSigGen Class Specification 136 IVI Foundation


16.2.2 Frequency Sweep Stop

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Sweep Start Stop
Configure Frequency Sweep Center Span

COM Property Name


Sweep.FrequencySweep.Stop

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_STOP

Description
Specifies the stop frequency of the sweep. If the stop frequency is less than the start frequency, the frequency
decreases during the sweep. The units are Hertz.

IVI Foundation 137 IVI-4.10 IviRFSigGen Class Specification


16.2.3 Frequency Sweep Time

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Sweep Time

COM Property Name


Sweep.FrequencySweep.Time

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_TIME

Description
Specifies the duration of one sweep from start to stop frequency. The units are seconds.

IVI-4.10 IviRFSigGen Class Specification 138 IVI Foundation


16.3 IviRFSigGenFrequencySweep Functions
The IviRFSigGenFrequencySweep extension group defines the following functions:

? Configure Frequency Sweep Start Stop

? Configure Frequency Sweep Center Span

? Configure Frequency Sweep Time (IVI-C only)

This section describes the behavior and requirements of each function.

IVI Foundation 139 IVI-4.10 IviRFSigGen Class Specification


16.3.1 Configure Frequency Sweep Start Stop

Description
Configures the attributes that control the sweep frequencies of the generator's output signal. These attributes
are start and stop frequency. If the stop frequency is less than the start frequency, the frequency decreases
during the sweep.

COM Method Prototype


HRESULT Sweep.FrequencySweep.ConfigureStartStop ([in] DOUBLE Start,
[in] DOUBLE Stop);

C Prototype
ViStatus IviRFSigGen_ConfigureFrequencySweepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop);

Parameters
Inputs Description

Vi Instrument handle
Start Specifies the start frequency of the sweep. The driver uses this value to set the
Frequency Sweep Start attribute. See the attribute description for more details.
Stop Specifies the stop frequency of the sweep. The driver uses this value to set the
Frequency Sweep Stop attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 140 IVI Foundation


16.3.2 Configure Frequency Sweep Center Span

Description
Configures the attributes that control the sweep frequencies of the generator's output signal. These attributes
are center and span frequency. This function modifies the attributes as follows:
Frequency Sweep Start = Center – Span / 2
Frequency Sweep Stop = Center + Span / 2

COM Method Prototype


HRESULT Sweep.FrequencySweep.ConfigureCenterSpan ([in] DOUBLE Center,
[in] DOUBLE Span);

C Prototype
ViStatus IviRFSigGen_ConfigureFrequencySweepCenterSpan (ViSession Vi,
ViReal64 Center,
ViReal64 Span);

Parameters
Inputs Description

Vi Instrument handle
Center Specifies the center frequency of the sweep. The driver uses this value to set the
Frequency Sweep Start and Frequency Sweep Stop attribute. See the attribute
description and function description for more details.
Span Specifies the frequency span of the sweep. The driver uses this value to set
therequency Sweep Start and Frequency Sweep Stop attribute. See the attribute
description and function description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 141 IVI-4.10 IviRFSigGen Class Specification


16.3.3 Configure Frequency Sweep Time (IVI-C only)

Description
Configures the duration of one frequency sweep.

COM Method Prototype


N/A
(use the Sweep.FrequencySweep.Time property)

C Prototype
ViStatus IviRFSigGen_ConfigureFrequencySweepTime (ViSession Vi, ViReal64 Time);

Parameters
Inputs Description
Vi Instrument handle
Time Specifies the duration of the frequency sweep. The driver uses this value to set the
Frequency Sweep Time attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 142 IVI Foundation


16.4 IviRFSigGenFrequencySweep Behavior Model
The IviRFSigGenFrequencySweep Extension Group follows the behavior model of the IviRFSigGenSweep
capability group.

16.5 IviRFSigGenFrequencySweep Compliance Notes

1. If a specific driver implements the IviRFSigGenFrequencySweep Extension Group, it shall also implement
the IviRFSigGenSweep Extension Group and support the defined value Frequency Sweep for the Sweep
Mode attribute.

IVI Foundation 143 IVI-4.10 IviRFSigGen Class Specification


17. IviRFSigGenPowerSweep Extension Group

17.1 IviRFSigGenPowerSweep Extension Group Overview


The IviRFSigGenPowerSweep Extension Group supports signal generators that can apply a power sweep to the
output signal. The user may configure the sweep with start and stop power. The sweep time is also
configurable.
In order to support this extension group, a driver shall first support the IviRFSigGenSweep Extension Group.
This extension group is active when the Sweep Mode attribute is set to Power Sweep.

17.2 IviRFSigGenPowerSweep Attributes


The IviRFSigGenPowerSweep extension group defines the following attributes:

? Power Sweep Start

? Power Sweep Stop

? Power Sweep Time

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 144 IVI Foundation


17.2.1 Power Sweep Start

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Power Sweep Start Stop

COM Property Name


Sweep.PowerSweep.Start

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_SWEEP_START

Description
Specifies the start power of the sweep. If the stop power is less than the start power, the power decreases in
value during the sweep. The units are dBm.

IVI Foundation 145 IVI-4.10 IviRFSigGen Class Specification


17.2.2 Power Sweep Stop

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Power Sweep Start Stop

COM Property Name


Sweep.PowerSweep.Stop

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_SWEEP_STOP

Description
Specifies the stop power of the sweep. If the stop power is less than the start power, the power decreases in
value during the sweep. The units are dBm.

IVI-4.10 IviRFSigGen Class Specification 146 IVI Foundation


17.2.3 Power Sweep Time

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Power Sweep Time

COM Property Name


Sweep.PowerSweep.Time

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_SWEEP_TIME

Description
Specifies the duration of one sweep from start to stop power. The units are seconds.

IVI Foundation 147 IVI-4.10 IviRFSigGen Class Specification


17.3 IviRFSigGenPowerSweep Functions
The IviRFSigGenPowerSweep extension group defines the following functions:

? Configure Power Sweep Start Stop

? Configure Power Sweep Time (IVI-C only)

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 148 IVI Foundation


17.3.1 Configure Power Sweep Start Stop

Description
Configures the attributes that control the power sweep of the generator's output signal. These attributes are
start and stop power. If the stop power is less than the start power, the power decreases in value during the
sweep.

COM Method Prototype


HRESULT Sweep.PowerSweep.ConfigureStartStop ([in] DOUBLE Start,
[in] DOUBLE Stop);

C Prototype
ViStatus IviRFSigGen_ConfigurePowerSweepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop);

Parameters
Inputs Description

Vi Instrument handle
Start Specifies the start power of the sweep. The driver uses this value to set the Power
Sweep Start attribute. See the attribute description for more details.
Stop Specifies the stop power of the sweep. The driver uses this value to set the Power
Sweep Stop attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 149 IVI-4.10 IviRFSigGen Class Specification


17.3.2 Configure Power Sweep Time (IVI-C only)

Description
Configures the duration of one power sweep.

COM Method Prototype


N/A
(use the Sweep.PowerSweep.Time property)

C Prototype
ViStatus IviRFSigGen_ConfigurePowerSweepTime (ViSession Vi, ViReal64 Time);

Parameters
Inputs Description
Vi Instrument handle
Time Specifies the duration of the power sweep. The driver uses this value to set the Power
Sweep Time attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 150 IVI Foundation


17.4 IviRFSigGenPowerSweep Behavior Model
The IviRFSigGenPowerSweep Extension Group follows the behavior model of the IviRFSigGenSweep
capability group.

17.5 IviRFSigGenPowerSweep Compliance Notes

1. If a specific driver implements the IviRFSigGenPowerSweep Extension Group, it shall also implement the
IviRFSigGenSweep Extension Group and support the defined value Power Sweep for the Sweep Mode
attribute.

IVI Foundation 151 IVI-4.10 IviRFSigGen Class Specification


18. IviRFSigGenFrequencyStep Extension Group

18.1 IviRFSigGenFrequencyStep Extension Group Overview


The IviRFSigGenFrequencyStep Extension Group supports signal generators that can vary (sweep) the
frequency of the RF output signal in steps. The user can specify the start, stop and step frequency and set linear
or logarithmic spacing. Setting single step and dwell time are also included.
This extension group requires the Sweep Extension Group. Frequency stepping is enabled by setting the Sweep
Mode to Frequency Step in the IviRFSigGenSweep Extension Group.

18.2 IviRFSigGenFrequencyStep Attributes


The IviRFSigGenFrequencyStep extension group defines the following attributes:

? Frequency Step Start

? Frequency Step Stop

? Frequency Step Scaling

? Frequency Step Size

? Frequency Step Single Step Enabled

? Frequency Step Dwell

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 152 IVI Foundation


18.2.1 Frequency Step Start

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Step Start Stop

COM Property Name


Sweep.FrequencyStep.Start

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_STEP_START

Description
Specifies the start frequency of the stepped sweep. If the stop frequency is less than the start frequency, the
frequency decreases during the sweep. The units are Hertz.

IVI Foundation 153 IVI-4.10 IviRFSigGen Class Specification


18.2.2 Frequency Step Stop

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Step Start Stop

COM Property Name


Sweep.FrequencyStep.Stop

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_STEP_STOP

Description
Specifies the stop frequency of the stepped sweep. If the stop frequency is less than the start frequency, the
frequency decreases during the sweep. The units are Hertz.

IVI-4.10 IviRFSigGen Class Specification 154 IVI Foundation


18.2.3 Frequency Step Scaling

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Frequency Step Start Stop

COM Property Name


Sweep.FrequencyStep.Scaling

COM Enumeration Name


IviRFSigGenFrequencyStepScalingEnum

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SCALING

Description
Specifies the spacing of the steps.

Defined Values
Name Description
Language Identifier
Linear Enables linear scaling.
C IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_LINEAR
COM IviRFSigGenFrequencyStepScalingLinear
Logarithmic Enables logarithmic scaling.
C IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_LOGARITHMI
C
COM IviRFSigGenFrequencyStepScalingLogarithmic

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Frequency
Step Scaling Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Frequency Step Scaling Specific Ext Base,
IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_CLASS_EXT_BASE.

IVI Foundation 155 IVI-4.10 IviRFSigGen Class Specification


18.2.4 Frequency Step Size

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Step Start Stop

COM Property Name


Sweep.FrequencyStep.Size

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SIZE

Description
Specifies the step size. The units are Hertz if Frequency Step Scaling attribute is set to Linear and is unitless
(factor) if Frequency Step Scaling attribute is set to Logarithmic.

IVI-4.10 IviRFSigGen Class Specification 156 IVI Foundation


18.2.5 Frequency Step Single Step Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Frequency Step Dwell

COM Property Name


Sweep.FrequencyStep.SingleStepEnabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SINGLE_STEP_ENABLED

Description
Enables or disables single step mode.

Defined Values

Name Description
True Frequency Step Single Step is enabled. The frequency sweep will advance when the
next trigger event occurs.
C VI_TRUE
COM VARIANT_TRUE
False Frequency Step Single Step is disabled. The frequency sweep will advance
immediatly after the dwell time ends.
C VI_FALSE
COM VARIANT_FALSE

IVI Foundation 157 IVI-4.10 IviRFSigGen Class Specification


18.2.6 Frequency Step Dwell

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Frequency Step Dwell

COM Property Name


Sweep.FrequencyStep.Dwell

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_FREQUENCY_STEP_DWELL

Description
Specifies the duration of one step. The units are seconds. Dwell time starts immediately after trigger or next
step; no settling time is added. This attribute is ignored if the Frequency Step Single Step Enabled attribute is
set to True.

IVI-4.10 IviRFSigGen Class Specification 158 IVI Foundation


18.3 IviRFSigGenFrequencyStep Functions
The IviRFSigGenFrequencyStep extension group defines the following functions:

? Configure Frequency Step Start Stop

? Confiugure Frequency Step Dwell

? Reset Frequency Step

This section describes the behavior and requirements of each function.

IVI Foundation 159 IVI-4.10 IviRFSigGen Class Specification


18.3.1 Configure Frequency Step Start Stop

Description
Configures the attributes that control the step frequencies of the generator's RF output signal. These attributes
are start and stop frequency, step size and lin/log scaling. If the stop frequency is less than the start frequency,
the frequency decreases during the sweep.

COM Method Prototype


HRESULT Sweep.FrequencyStep.ConfigureStartStop ([in] DOUBLE Start,
[in] DOUBLE Stop),
[in] IviRFSigGenFrequencyStepScalingEnum Scaling,
[in] DOUBLE StepSize);

C Prototype
ViStatus IviRFSigGen_ConfigureFrequencyStepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop,
ViInt32 Scaling,
ViReal64 StepSize);

Parameters
Inputs Description

Vi Instrument handle
Start Specifies the start frequency of the step sweep. The driver uses this value to set the
Frequency Step Start attribute. See the attribute description for more details.
Stop Specifies the stop frequency of the step sweep. The driver uses this value to set the
Frequency Step Stop attribute. See the attribute description for more details.
Scaling Specifies the scaling of the step sweep. The driver uses this value to set the
Frequency Step Scaling attribute. See the attribute description for more details.
StepSize Specifies the size of one step. The driver uses this value to set the Frequency Step
Size attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 160 IVI Foundation


18.3.2 Configure Frequency Step Dwell

Description
Configures the attributes that control frequency stepping.

COM Method Prototype


HRESULT Sweep.FrequencyStep.ConfigureDwell ([in] VARIANT_BOOL SingleStepEnabled
[in] DOUBLE Dwell);

C Prototype
ViStatus IviRFSigGen_ConfigureFrequencyStepDwell (ViSession Vi,
ViBoolean SingleStepEnabled,
ViReal64 Dwell);

Parameters
Inputs Description

Vi Instrument handle
SingleStepEnabled Specifies whether the trigger initiates the next step. The driver uses this value to
set the Frequency Step Single Step Enabled attribute. See the attribute
description for more details.
Dwell Specifies the duration of one frequency step. The driver uses this value to set the
Frequency Step Dwell attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 161 IVI-4.10 IviRFSigGen Class Specification


18.3.3 Reset Frequency Step

Description
Resets the current frequency step to the frequency step start value.

COM Method Prototype


HRESULT Sweep.FrequencyStep.Reset ();

C Prototype
ViStatus IviRFSigGen_ResetFrequencyStep (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 162 IVI Foundation


18.4 IviRFSigGenFrequencyStep Behavior Model
The IviRFSigGenFrequencyStep Extension Group follows the behavior model of the IviRFSigGenSweep
capability group.

18.5 IviRFSigGenFrequencyStep Compliance Notes

1. If a specific driver implements the IviRFSigGenFrequencyStep Extension Group, it shall also implement
the IviRFSigGenSweep Extension Group and support the defined value Frequency Step for the Sweep
Mode attribute.

IVI Foundation 163 IVI-4.10 IviRFSigGen Class Specification


19. IviRFSigGenPowerStep Extension Group

19.1 IviRFSigGenPowerStep Extension Group Overview


The IviRFSigGenPowerStep Extension Group supports signal generators that can vary (sweep) the power of
the RF output signal in steps. The user can enable or disable stepping, specify the start, stop and step power.
Setting single step and dwell time are also included.
This extension group requires the Sweep Extension Group. Power stepping is enabled by setting the Sweep
Mode to Power Step in the IviRFSigGenSweep Extension Group.

19.2 IviRFSigGenPowerStep Attributes


The IviRFSigGenPowerStep extension group defines the following attributes:

? Power Step Start

? Power Step Stop

? Power Step Size

? Power Step Single Step Enabled

? Power Step Dwell

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 164 IVI Foundation


19.2.1 Power Step Start

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Power Step Start Stop

COM Property Name


Sweep.PowerStep.Start

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_STEP_START

Description
Specifies the start power of the stepped sweep. If the stop power is less than the start power, the power
decreases in value during the sweep. The units are dBm.

IVI Foundation 165 IVI-4.10 IviRFSigGen Class Specification


19.2.2 Power Step Stop

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure PowerStep Start Stop

COM Property Name


Sweep.PowerStep.Stop

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_STEP_STOP

Description
Specifies the stop power of the stepped sweep. If the stop power is less than the start power, the power
decreases in value during the sweep. The units are dBm.

IVI-4.10 IviRFSigGen Class Specification 166 IVI Foundation


19.2.3 Power Step Size

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Power Step Start Stop

COM Property Name


Sweep.PowerStep.Size

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_STEP_SIZE

Description
Specifies the step size. The units are dBm.

IVI Foundation 167 IVI-4.10 IviRFSigGen Class Specification


19.2.4 Power Step Single Step Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure Power Step Dwell

COM Property Name


Sweep.PowerStep.SingleStepEnabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_STEP_SINGLE_STEP_ENABLED

Description
Enables or disables single step mode.

Defined Values

Name Description
True Power Step Single Step is enabled. The power sweep will advance when the next
trigger event occurs.
C VI_TRUE
COM VARIANT_TRUE
False Power Step Single Step is disabled. The power sweep will advance immediately
after the dwell time ends.
C VI_FALSE
COM VARIANT_FALSE

IVI-4.10 IviRFSigGen Class Specification 168 IVI Foundation


19.2.5 Power Step Dwell

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Power Step Dwell

COM Property Name


Sweep.PowerStep.Dwell

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_POWER_STEP_DWELL

Description
Specifies the duration of one step. The units are seconds.
This attribute is ignored if Power Step Single Step Enabled is set to True.

IVI Foundation 169 IVI-4.10 IviRFSigGen Class Specification


19.3 IviRFSigGenPowerStep Functions
The IviRFSigGenPowerStep extension group defines the following functions:

? Configure Power Step Start Stop

? Confiugure Power Step Dwell

? Reset Power Step

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 170 IVI Foundation


19.3.1 Configure Power Step Start Stop

Description
Configures the attributes that control the power steps of the generator's RF output signal. These attributes are
start and stop power and step size. If the stop power is less than the start power, the power decreases in value
during the sweep.

COM Method Prototype


HRESULT Sweep.PowerStep.ConfigureStartStop ([in] DOUBLE Start,
[in] DOUBLE Stop,
[in] DOUBLE StepSize);

C Prototype
ViStatus IviRFSigGen_ConfigurePowerStepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop,
ViReal64 StepSize);

Parameters
Inputs Description

Vi Instrument handle
Start Specifies the start power of the stepping. The driver uses this value to set the
PowerStep Start attribute. See the attribute description for more details.
Stop Specifies the stop power of the stepping. The driver uses this value to set the Power
Step Stop attribute. See the attribute description for more details.
StepSize Specifies the size of one step. The driver uses this value to set the Power Step Size
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 171 IVI-4.10 IviRFSigGen Class Specification


19.3.2 Configure Power Step Dwell

Description
Configures the attributes that control power stepping.

COM Method Prototype


HRESULT Sweep.PowerStep.ConfigureDwell ([in] VARIANT_BOOL SingleStepEnabled,
[in] DOUBLE Dwell);

C Prototype
ViStatus IviRFSigGen_ConfigurePowerStepDwell (ViSession Vi,
ViBoolean SingleStepEnabled,
ViReal64 Dwell);

Parameters
Inputs Description

Vi Instrument handle
SingleStepEnabled Specifies whether the trigger initiates the next step. The driver uses this value to
set the Power Step Single Step Enabled attribute. See the attribute description for
more details.
Dwell Specifies the duration of one power step. The driver uses this value to set the
Power Step Dwell attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 172 IVI Foundation


19.3.3 Reset Power Step

Description
Resets the current power step to the power step start value.

COM Method Prototype


HRESULT Sweep.PowerStep.Reset ();

C Prototype
ViStatus IviRFSigGen_ResetPowerStep (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 173 IVI-4.10 IviRFSigGen Class Specification


19.4 IviRFSigGenPowerStep Behavior Model
The IviRFSigGenPowerStep Extension Group follows the behavior model of the IviRFSigGenSweep
capability group.

19.5 IviRFSigGenPowerStep Compliance Notes

1. If a specific driver implements the IviRFSigGenPowerStep Extension Group, it shall also implement the
IviRFSigGenSweep Extension Group and support the defined value Power Step for the Sweep Mode
attribute.

IVI-4.10 IviRFSigGen Class Specification 174 IVI Foundation


20. IviRFSigGenList Extension Group

20.1 IviRFSigGenList Extension Group Overview


The IviRFSigGenList Extension Group supports signal generators that can set the frequency and power of the
RF output signal to values given as a list of values. The user can enable or disable stepping the frequency and
power list, specify the name of the list and set its values. The active list can be selected using the list name.
Setting single step and dwell time are also included.
This extension group requires the Sweep Extension Group. List stepping is enabled by setting the Sweep Mode
to List in the IviRFSigGenSweep Extension Group.

20.2 IviRFSigGenList Attributes


The IviRFSigGenList extension group defines the following attributes:

? List Selected Name

? List Single Step Enabled

? List Dwell

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 175 IVI-4.10 IviRFSigGen Class Specification


20.2.1 List Selected Name

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select List

COM Property Name


Sweep.List.SelectedName

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LIST_SELECTED_NAME

Description
Specifies the name of the selected list to become active. The name shall be one of the lists created .

IVI-4.10 IviRFSigGen Class Specification 176 IVI Foundation


20.2.2 List Single Step Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure List Dwell

COM Property Name


Sweep.List.SingleStepEnabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LIST_SINGLE_STEP_ENABLED

Description
Enables or disables single step mode.

Defined Values

Name Description
True List Single Step is enabled. The list will advance when the next trigger event occurs.
C VI_TRUE
COM VARIANT_TRUE
False List Single Step is disabled. The list will advance immediatly after the dwell time
ends.
C VI_FALSE
COM VARIANT_FALSE

IVI Foundation 177 IVI-4.10 IviRFSigGen Class Specification


20.2.3 List Dwell

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure List Dwell

COM Property Name


Sweep.List.Dwell

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_LIST_DWELL

Description
Specifies the duration of one step. The units are seconds.
This attribute is ignored if the List Single Step Enabled attribute is set to True.

IVI-4.10 IviRFSigGen Class Specification 178 IVI Foundation


20.3 IviRFSigGenList Functions
The IviRFSigGenList extension group defines the following functions:

? Create Frequency List

? Create Power List

? Create Frequency Power List

? Select List (IVI-C only)

? Clear All Lists

? Configure List Dwell

? Reset List

This section describes the behavior and requirements of each function.

IVI Foundation 179 IVI-4.10 IviRFSigGen Class Specification


20.3.1 Create Frequency List

Description
Creates a named list of frequency values.

COM Method Prototype


HRESULT Sweep.List.CreateFrequency ([in] BSTR Name,
[in] SAFEARRAY(DOUBLE) *Frequency);

C Prototype
ViStatus IviRFSigGen_CreateFrequencyList (ViSession Vi,
ViConstString Name,
ViInt32 Length,
ViReal64 Frequency[]);

Parameters
Inputs Description

Vi Instrument handle
Name Specifies the name of the list to be created.
Length Specifies the number of values in the list array
Frequency[] Specifies the array of frequency values to become elements of the list. The array
must have at least as many elements as the value in the Length parameter. The units
are Hertz.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 180 IVI Foundation


20.3.2 Create Power List

Description
Creates a named list of power values.

COM Method Prototype


HRESULT Sweep.List.CreatePower ([in] BSTR Name,
[in] SAFEARRAY(DOUBLE) *Power);

C Prototype
ViStatus IviRFSigGen_CreatePowerList (ViSession Vi,
ViConstString Name,
ViInt32 Length,
ViReal64 Power[]);

Parameters
Inputs Description

Vi Instrument handle
Name Specifies the name of the list to be created.
Length Specifies the number of values in the list array.
Power[] Specifies the array of power values to become elements of the list. The array must
have at least as many elements as the value in the Length parameter. The units are
dBm.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 181 IVI-4.10 IviRFSigGen Class Specification


20.3.3 Create Frequency Power List

Description
Creates a named list of both frequency and power values.

COM Method Prototype


HRESULT Sweep.List.CreateFrequencyPower ([in] BSTR Name,
[in] SAFEARRAY(DOUBLE) *Frequency,
[in] SAFEARRAY(DOUBLE) *Power);

C Prototype
ViStatus IviRFSigGen_CreateFrequencyPowerList (ViSession Vi,
ViConstString Name,
ViInt32 Length,
ViReal64 Frequency[],
ViReal64 Power[]);

Parameters
Inputs Description

Vi Instrument handle
Name Specifies the name of the list to be created.
Length Specifies the number of values in the list array
Frequency[] Specifies the array of frequency values to become elements of the list. The array
must have at least as many elements as the value in the Length parameter. The units
are Hertz.
Power[] Specifies the array of power values to become elements of the list. The array must
have at least as many elements as the value in the Length parameter. The units are
dBm.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 182 IVI Foundation


20.3.4 Select List (IVI-C only)

Description
Selects one list by name to become active (out of the pool of list).

COM Method Prototype


N/A
(use the Sweep.List.Select property)

C Prototype
ViStatus IviRFSigGen_SelectList (ViSession Vi, ViConstString Name);

Parameters
Inputs Description
Vi Instrument handle
Name Specifies the name of the list to make this list active. The driver uses this value to
set the List Selected Name attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Completion Codes Description


IVIRFSIGGEN_ERROR_LIST_UNKNOWN The operation cannot be completed because the list is not
defined.

IVI Foundation 183 IVI-4.10 IviRFSigGen Class Specification


20.3.5 Clear All Lists

Description
Deletes all lists from the pool of defined lists.

COM Method Prototype


HRESULT Sweep.List.ClearAll ();

C Prototype
ViStatus IviRFSigGen_ClearAllLists (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 184 IVI Foundation


20.3.6 Configure List Dwell

Description
Configures the attributes that control list stepping.

COM Method Prototype


HRESULT Sweep.List.ConfigureDwell ([in] VARIANT_BOOL SingleStepEnabled,
[in] DOUBLE Dwell);

C Prototype
ViStatus IviRFSigGen_ConfigureListDwell (ViSession Vi,
ViBoolean SingleStepEnabled,
ViReal64 Dwell);

Parameters
Inputs Description

Vi Instrument handle
SingleStepEnabled Specifies whether the trigger initiates transitions to the next list step. The driver
uses this value to set the List Single Step Enabled attribute. See the attribute
description for more details.
Dwell Specifies the duration of one list step. The driver uses this value to set the List
Dwell attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 185 IVI-4.10 IviRFSigGen Class Specification


20.3.7 Reset List

Description
Resets the current list to the first entry value.

COM Method Prototype


HRESULT Sweep.List.Reset ();

C Prototype
ViStatus IviRFSigGen_ResetList (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 186 IVI Foundation


20.4 IviRFSigGenList Behavior Model
The IviRFSigGenList Extension Group follows the behavior model of the IviRFSigGenSweep capability
group.

20.5 IviRFSigGenList Compliance Notes

1. If a specific driver implements the IviRFSigGenList Extension Group, it shall also implement the
IviRFSigGenSweep Extension Group and support the defined value List for the Sweep Mode attribute.

IVI Foundation 187 IVI-4.10 IviRFSigGen Class Specification


21. IviRFSigGenALC Extension Group

21.1 IviRFSigGenALC Overview


For generators with configurable Automatic Level Control.

21.2 IviRFSigGenALC Attributes


The IviRFSigGenALC extension group defines the following attributes:

? ALC Source

? ALC Bandwidth

The ALC Enabled attribute is defined in the IviRFSigGen Base Capabilities Group.

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 188 IVI Foundation


21.2.1 ALC Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure ALC

COM Property Name


ALC.Source

COM Enumeration Name


IviRFSigGenALCSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_ALC_SOURCE

Description
Specifies the source of the controlling voltage for the Automatic Level Control. The RF level at the sensor
point is held constant.

Defined Values
Name Description
Language Identifier
Internal The ALC is controlled by an internal measurement source.
C IVIRFSIGGEN_VAL_ALC_SOURCE_INTERNAL
COM IviRFSigGenALCSourceInternal
External The ALC is controlled by an external voltage.
C IVIRFSIGGEN_VAL_ALC_SOURCE_EXTERNAL
COM IviRFSigGenALCSourceExternal

Compliance Notes

1. An instrument driver shall support the defined value Internal.

2. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_ALC_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_ALC_SOURCE_SPECIFIC_EXT_BASE.

3. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_ALC_SOURCE_SPECIFIC_EXT_BASE.

4. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to ALC
Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of ALC Source Specific Ext Base,
IVIRFSIGGEN_VAL_ALC_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_ALC_SOURCE_CLASS_EXT_BASE.

IVI Foundation 189 IVI-4.10 IviRFSigGen Class Specification


21.2.2 ALC Bandwidth

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A Up Configure ALC

COM Property Name


ALC.Bandwidth

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ALC_BANDWIDTH

Description
Specifies the bandwidth of the level control. Narrow bandwidth impoves noise and allows AM with
modulation frequencies beyond bandwidth frequency. The value is coerced to reflect the ability of the current
RF signal generator. The units are Hertz.

IVI-4.10 IviRFSigGen Class Specification 190 IVI Foundation


21.3 IviRFSigGenALC Functions
The IviRFSigGenALC extension group defines the following functions:

? Configure ALC

This section describes the behavior and requirements of this function.

IVI Foundation 191 IVI-4.10 IviRFSigGen Class Specification


21.3.1 Configure ALC

Description
Configures the ALC (Automatic Level Control) of the signal generator’s RF output.

COM Method Prototype


HRESULT ALC.Configure ([in] IviRFSigGenALCSourceEnum Source,
[in] DOUBLE Bandwidth);

C Prototype
ViStatus IviRFSigGen_ConfigureALC (ViSession Vi, ViInt32 Source,
ViReal64 Bandwidth);

Parameters
Inputs Description

Vi Instrument handle.
Source The driver uses this value to set the ALC Source attribute. See the attribute
description for more details.
Bandwidth The driver uses this value to set the ALC Bandwidth attribute. See the attribute
description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 192 IVI Foundation


21.4 IviRFSigGenALC Behavior Model
The IviRFSigGenALC Extension Group follows the behavior model of the IviRFSigGenBase capability group.
The only modification to the behavior model from the IviRFSigGenBase capability group is the ability to
configure IviRFSigGenALC settings.

IVI Foundation 193 IVI-4.10 IviRFSigGen Class Specification


22. IviRFSigGen ReferenceOscillator Extension Group

22.1 IviRFSigGenReferenceOscillator Overview


The IviRFSigGenReferenceOscillator extension group supports signal generators with a configurable
frequency reference.

22.2 IviRFSigGenReferenceOscillator Attributes


The IviRFSigGenReferenceOscillator extension group defines the following attributes:

? Reference Oscillator Source

? Reference Oscillator External Frequency

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 194 IVI Foundation


22.2.1 Reference Oscillator Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Reference Oscillator

COM Property Name


ReferenceOscillator.Source

COM Enumeration Name


IviRFSigGenReferenceOscillatorSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_SOURCE

Description
Specifies the reference frequency source used to generate the exact RF output frequency.

Defined Values
Name Description
Language Identifier
Internal The internal reference oscillator is used.
C IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_INTER
NAL
COM IviRFSigGenReferenceOScillatorSourceInternal
External An external reference oscillator is used.
C IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_EXTER
NAL
COM IviRFSigGenReferenceOscillatorSourceExternal

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Reference
Oscillator Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Reference Oscillator Source Specific Ext Base,
IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_CLASS_EXT_BASE.

IVI Foundation 195 IVI-4.10 IviRFSigGen Class Specification


22.2.2 Reference Oscillator External Frequency

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Reference Oscillator

COM Property Name


ReferenceOscillator.ExternalFrequency

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_EXTERNAL_FREQUENCY

Description
Specifies the frequency of the external signal, which is used as reference for internal RF frequency generation.
This value is used only if Reference Oscillator Source is set to External. The units are Hertz.

IVI-4.10 IviRFSigGen Class Specification 196 IVI Foundation


22.3 IviRFSigGenReferenceOscillator Functions
The IviRFSigGenReferenceOscillator extension group defines the following functions:

? Configure Reference Oscillator

This section describes the behavior and requirements of this function.

IVI Foundation 197 IVI-4.10 IviRFSigGen Class Specification


22.3.1 Configure Reference Oscillator

Description
Configures the signal generator’s reference oscillator.

COM Method Prototype


HRESULT ReferenceOscillator.Configure ([in]
IviRFSigGenReferenceOscillatorSourceEnum Source,
[in] DOUBLE Frequency);

C Prototype
ViStatus IviRFSigGen_ConfigureReferenceOscillator (ViSession Vi,
ViInt32 Source,
ViReal64 Frequency);

Parameters
Inputs Description

Vi Instrument handle.
Source Specifies source of reference frequency signal. The driver uses this value to set the
Reference Oscillator Source attribute. See the attribute description for more details.
Frequency Specifies the frequency of the external reference oscillator. This parameter is only
used if the Source is set to External. The driver uses this value to set the Reference
Oscillator Frequency attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 198 IVI Foundation


22.4 IviRFSigGenReferenceOscillator Behavior Model
The IviRFSigGenReferenceOscillator Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenReferenceOscillator settings.

IVI Foundation 199 IVI-4.10 IviRFSigGen Class Specification


23. IviRFSigGenSoftwareTrigger Extension Group

23.1 IviRFSigGenSoftwareTrigger Overview


The IviRFSigGenSoftwareTrigger Extension Group supports RF signal generators that can generate output
based on a software trigger signal. The user can send a software trigger to cause signal output to occur, to start
a sweep (frequency or power), or to initiate the next step (frequency and/or power).

This extension affects instrument behavior when the Trigger Source attribute is set to Software Trigger.

23.2 IviRFSigGenSoftwareTrigger Functions


The IviRFSigGenSoftwareTrigger extension defines the following functions:
? Send Software Trigger

This section describes the behavior and requirements of this function.

23.2.1 Send Software Trigger


Refer to IVI-3.3: Standard Cross Class Capabilities, Section 2 Software Triggering Capability for the
prototype and complete description of this function.

23.3 IviRFSigGenSoftwareTrigger Behavior Model


The IviRFSigGenSoftwareTrigger Extension Group follows the behavior model of the IviRFSigGenSweep
capability group. The only modification to the behavior model from the IviRFSigGenSweep capability group is
the ability to send software triggers.

23.4 IviRFSigGenSoftwareTrigger Compliance Notes

1. If a specific driver implements the IviRFSigGenSoftwareTrigger Extension Group, it shall implement at


least one of the following extension groups:
? IviRFSigGenSweep Extension Group
? IviRFSigGenArbGenerator Extension Group
? IviRFSigGenCDMABase Extension Group
? IviRFSigGenTDMABase Extension Group

2. If a specific driver implements the IviRFSigGenSoftwareTrigger Extension Group together with the
IviRFSigGenSweep Extension Group, it shall implement the value Software Trigger for the Sweep Trigger
Source attribute.

3. If a specific driver implements the IviRFSigGenSoftwareTrigger Extension Group together with the
IviRFSigGenArbGenerator Extension Group, it shall implement the value Software Trigger for the Arb
Trigger Source attribute.

4. If a specific driver implements the IviRFSigGenSoftwareTrigger Extension Group together with the
IviRFSigGenCDMABase Extension Group, it shall implement the value Software Trigger for the CDMA
Trigger Source attribute.

IVI-4.10 IviRFSigGen Class Specification 200 IVI Foundation


5. If a specific driver implements the IviRFSigGenSoftwareTrigger Extension Group together with the
IviRFSigGenTDMABase Extension Group, it shall implement the value Software Trigger for the TDMA
Trigger Source attribute.

IVI Foundation 201 IVI-4.10 IviRFSigGen Class Specification


24. IviRFSigGenModulateIQ Extension Group

24.1 IviRFSigGenModulateIQ Extension Group Overview


The IviRFSigGenModulateIQ Extension Group supports signal generators that can apply IQ (vector)
modulation to the RF output signal. The user can enable or disable IQ modulation and specify the source of the
modulating signal. A calibration is executed with an event function.

24.2 IviRFSigGenModulateIQ Attributes


The IviRFSigGenModulateIQ extension group defines the following attributes:

? IQ Enabled

? IQ Source

? IQ Nominal Voltage

? IQ Swap Enabled

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 202 IVI Foundation


24.2.1 IQ Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure IQ Enabled

COM Property Name


IQ.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_ENABLED

Description
Enables or disables IQ (vector) modulation of the output RF signal.

Defined Values

Name Description
True The RF signal generator applies IQ modulation to the output signal.
C VI_TRUE
COM VARIANT_TRUE
False The RF signal generator does not apply IQ modulation to the output signal.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI Foundation 203 IVI-4.10 IviRFSigGen Class Specification


24.2.2 IQ Nominal Voltage

Data Type Access Applies to Coercion High Level Functions


ViReal64 RO N/A None None

COM Property Name


IQ.NominalVoltage

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_NOMINAL_VOLTAGE

Description
Returns the voltage at which the instrument achieves full modulation. The value is calculated by SQRT(I2+Q2).
The units are Volts.

IVI-4.10 IviRFSigGen Class Specification 204 IVI Foundation


24.2.3 IQ Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure IQ

COM Property Name


IQ.Source

COM Enumeration Name


IviRFSigGenIQSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_IQ_SOURCE

Description
Specifies the source of the signal that the signal generator uses for IQ modulation.

Defined Values
Name Description
Language Identifier
DigitalModulatio The signal generator uses the internally generated digital modulation signal to apply
nBase IQ modulation to the output RF signal. – See chapter
IviRFSigGenDigitalModulationBase Extension Group for configuration.
C IVIRFSIGGEN_VAL_IQ_SOURCE_DIGITAL_MODULATION_BASE
COM IviRFSigGenIQSourceDigitalModulationBase
CDMABase The signal generator uses the internally generated CDMA signal to apply IQ
modulation to the output RF signal. – See chapter IviRFSigGenCDMABase
Extension Group for configuration.
C IVIRFSIGGEN_VAL_IQ_SOURCE_CDMA_BASE
COM IviRFSigGenIQSourceCDMABase
TDMABase The signal generator uses the internally generated TDMA signal to apply IQ
modulation to the output RF signal. – See chapter IviRFSigGenTDMABase
Extension Group for configuration.
C IVIRFSIGGEN_VAL_IQ_SOURCE_TDMA_BASE
COM IviRFSigGenIQSourceTDMABase
ArbGenerator The signal generator uses the internally generated Arb signal to apply IQ modulation
to the output RF signal. – See chapter IviRFSigGenArbGenerator Extension Group
for configuration.
C IVIRFSIGGEN_VAL_IQ_SOURCE_ARB_GENERATOR
COM IviRFSigGenIQSourceArbGenerator
External The signal generator uses data from an external source for IQ modulation.
C IVIRFSIGGEN_VAL_IQ_SOURCE_EXTERNAL
COM IviRFSigGenIQSourceExternal

IVI Foundation 205 IVI-4.10 IviRFSigGen Class Specification


Compliance Notes

1. If a specific driver implements the defined value DigitalModulationBase it shall implement the
IviRFSigGenDigitalModulationBase Extension group.

2. If a specific driver implements the defined value CDMABase it shall implement the
IviRFSigGenCDMABase Extension group.

3. If a specific driver implements the defined value TDMABase it shall implement the
IviRFSigGenTDMABase Extension group.

4. If a specific driver implements the defined value ArbGenerator it shall implement the
IviRFSigGenArbGenerator extension group.

5. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_IQ_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_IQ_SOURCE_SPECIFIC_EXT_BASE.

6. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_IQ_SOURCE_SPECIFIC_EXT_BASE.

7. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to IQ Source
Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of IQ Source Specific Ext Base,
IVIRFSIGGEN_VAL_IQ_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_IQ_SOURCE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 206 IVI Foundation


24.2.4 IQ Swap Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure IQ

COM Property Name


IQ.SwapEnabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_SWAP_ENABLED

Description
Enables or disables the inverse phase rotation of the IQ signal by swapping the I and Q inputs.

Defined Values

Name Description
True The RF signal generator applies non-inverse phase rotation of the IQ signal.
C VI_TRUE
COM VARIANT_TRUE
False The RF signal generator applies inverse phase rotation of the IQ signal.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the value False.

IVI Foundation 207 IVI-4.10 IviRFSigGen Class Specification


24.3 IviRFSigGenModulateIQ Functions
The IviRFSigGenModulateIQ extension group defines the following functions:

? Configure IQ Enabled (IVI-C only)

? Configure IQ

? Calibrate IQ

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 208 IVI Foundation


24.3.1 Configure IQ Enabled (IVI-C only)

Description
Configures the signal generator to apply IQ (vector) modulation to the RF output signal.

COM Method Prototype


N/A
(use the IQ.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigureIQEnabled (ViSession Vi, ViBoolean Enabled);

Parameters
Inputs Description
Vi Instrument handle
Enabled True enables IQ (vector) modulation. The driver uses this value to set the Modulate
IQ Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 209 IVI-4.10 IviRFSigGen Class Specification


24.3.2 Configure IQ

Description
Configures the attributes that control the signal generator's IQ modulation. These attributes are the modulation
source, impairement state and swap state.

COM Method Prototype


HRESULT IQ.Configure ([in] IviRFSigGenIQSourceEnum Source,
[in] VARIANT_BOOL SwapEnabled);

C Prototype
ViStatus IviRFSigGen_ConfigureIQ (ViSession Vi, ViInt32 Source,
ViBoolean SwapEnabled);

Parameters
Inputs Description

Vi Instrument handle
Source Specifies the modulation source. The driver uses this value to set the Modulate
IQ Source attribute. See the attribute description for more details.
SwapEnabled Specifies the swap state. True swaps I and Q inputs, the result is an invers phase
rotation. The driver uses this value to set the Modulate IQ Swap Enabled
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 210 IVI Foundation


24.3.3 Calibrate IQ

Description
This function calibrates the IQ modulator

COM Method Prototype


HRESULT IQ.Calibrate();

C Prototype
ViStatus IviRFSigGen_CalibrateIQ (ViSession Vi) ;

Parameters
Inputs Description
Vi Instrument handle.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 211 IVI-4.10 IviRFSigGen Class Specification


24.4 IviRFSigGenModulateIQ Behavior Model
The IviRFSigGenModulateIQ Extension Group follows the behavior model of the IviRFSigGenBase capability
group. The only modification to the behavior model from the IviRFSigGenBase capability group is the ability
to configure IviRFSigGenModulateIQ settings.

IVI-4.10 IviRFSigGen Class Specification 212 IVI Foundation


25. IviRFSigGenIQImpairment Extension Group

25.1 IviRFSigGenIQImpairment Extension Group Overview


With IviRFSigGenIQImpairment Extension Group the user can simulate or correct impairment on IQ (vector)
modulation. This group is an extension of the IviRFSigGenModulateIQ Extension Group.

25.2 IviRFSigGenIQImpairment Attributes


The IviRFSigGenIQImpairment extension group defines the following attributes:

? IQ Impairment Enabled

? IQ I-Offset

? IQ Q-Offset

? IQ Ratio

? IQ Skew

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 213 IVI-4.10 IviRFSigGen Class Specification


25.2.1 IQ Impairment Enabled

Data Type Access Applies to Coercion High Level Functions


ViBoolean R/W N/A None Configure IQ Impairment Enabled

COM Property Name


IQ.Impairment.Enabled

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_IMPAIRMENT_ENABLED

Description
Enables or disables IQ impairment.

Defined Values

Name Description
True The RF signal generator applies all IQ impairment attributes to the IQ modulation.
C VI_TRUE
COM VARIANT_TRUE
False The RF signal generator does not apply any IQ impairment attributes to the IQ
modulation.
C VI_FALSE
COM VARIANT_FALSE

Compliance Notes
1. Instrument drivers shall support the values True and False.

IVI-4.10 IviRFSigGen Class Specification 214 IVI Foundation


25.2.2 IQ I-Offset

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure IQ Impairment

COM Property Name


IQ.Impairment.IOffset

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_I_OFFSET

Description
Specifies an origin offset voltage to the I signal. The range of values allowed is –100% to +100%. The value
is expressed as percentage (%).

I Offset

IVI Foundation 215 IVI-4.10 IviRFSigGen Class Specification


25.2.3 IQ Q-Offset

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure IQ Impairment

COM Property Name


IQ.Impairment.QOffset

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_Q_OFFSET

Description
Specifies an origin offset voltage to the Q signal. The range of values allowed is –100% to +100%. The value
is expressed as percentage (%).

Q Offset

IVI-4.10 IviRFSigGen Class Specification 216 IVI Foundation


25.2.4 IQ Ratio

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure IQ Impairment

COM Property Name


IQ.Impairment.Ratio

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_RATIO

Description
Specifies the gain imbalance between the I and Q channels. For no imbalance this value is set to 0 %. The value
is expressed as percentage (%).

Q
Imbalance
-
+

- +
I

IVI Foundation 217 IVI-4.10 IviRFSigGen Class Specification


25.2.5 IQ Skew

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure IQ Impairment

COM Property Name


IQ.Impairment.Skew

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_IQ_SKEW

Description
Specifies the adjustment of the phase angle between the I and Q vectors. If this skew is zero, the phase angle is
90 degrees. The units are degrees.

Q
Skew

IVI-4.10 IviRFSigGen Class Specification 218 IVI Foundation


25.3 IviRFSigGenIQImpairment Functions
The IviRFSigGenIQImpairment extension group defines the following functions:

? Configure IQ Impairment Enabled (IVI-C only)

? Configure IQ Impairment

This section describes the behavior and requirements of each function.

IVI Foundation 219 IVI-4.10 IviRFSigGen Class Specification


25.3.1 Configure IQ Impairment Enabled (IVI-C only)

Description
Configures the IQ modulation to allow controlled impairment for test or external corrections.

COM Method Prototype


N/A
(use the IQ.Impairment.Enabled property)

C Prototype
ViStatus IviRFSigGen_ConfigureIQImpairmentEnabled (ViSession Vi,
ViBoolean Enabled);

Parameters
Inputs Description

Vi Instrument handle
Enabled True enables IQ (vector) modulation impairment. The driver uses this value to set
the IQ Impairment Enabled attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 220 IVI Foundation


25.3.2 Configure IQ Impairment

Description
Configures the attributes that simulate or correct impairment for the signal generator's IQ modulation. These
attributes are only used, if IQ Impairment Enabled attribute is set to True (see Configure IQ Impairment
Enabled function).

COM Method Prototype


HRESULT IQ.Impairment.Configure ([in] DOUBLE IOffset,
[in] DOUBLE QOffset,
[in] DOUBLE Ratio,
[in] DOUBLE Skew);

C Prototype
ViStatus IviRFSigGen_ConfigureIQImpairment (ViSession Vi,
ViReal64 IOffset,
ViReal64 QOffset,
ViReal64 Ratio,
ViReal64 Skew);

Parameters
Inputs Description

Vi Instrument handle
IOffset Specifies an offset to the I-path of IQ signals. The driver uses this value to set
the IQ I Offset attribute. See the attribute description for more details.
QOffset Specifies an offset to the Q-path of IQ signals. The driver uses this value to set
the IQ Q Offset attribute. See the attribute description for more details.
Ratio Specifies a gain imbalance to the IQ signals. The driver uses this value to set the
IQ Ratio attribute. See the attribute description for more details.
Skew Specifies an angle offset to the IQ signals. The driver uses this value to set the
IQ Skew attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 221 IVI-4.10 IviRFSigGen Class Specification


25.4 IviRFSigGenIQImpairment Behavior Model
The IviRFSigGenIQImpairment Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenIQImpairment settings.

25.5 IviRFSigGenIQImpairment Compliance Notes

1. If a specific driver implements the IviRFSigGenIQImpairment Extension Group, it shall also implement
the IviRFSigGenModulateIQ Extension Group.

IVI-4.10 IviRFSigGen Class Specification 222 IVI Foundation


26. IviRFSigGenArbGenerator Extension Group

26.1 IviRFSigGenArbGenerator Extension Group Overview


The IviRFSigGenArbGenerator Extension Group controls the internal arbitrary waveform generator. The two
outputs of the Arb generator are used with the IQ (vector) modulation to simulate digital modulation. So this
group is an extension of the IviRFSigGenModulateIQ Extension Group.

26.2 IviRFSigGenArbGenerator Attributes


The IviRFSigGenArbGenerator extension group defines the following attributes:

? Arb Selected Waveform

? Arb Clock Frequency

? Arb Filter Frequency

? Arb Max Number Waveforms

? Arb Waveform Quantum

? Arb Waveform Size Min

? Arb Waveform Size Max

? Arb Trigger Source

? Arb External Trigger Slope

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 223 IVI-4.10 IviRFSigGen Class Specification


26.2.1 Arb Selected Waveform

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select Arb Waveform

COM Property Name


DigitalModulation.Arb.SelectedWaveform

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_SELECTED_WAVEFORM

Description
Specifies the selected waveform from the pool of available waveforms.

IVI-4.10 IviRFSigGen Class Specification 224 IVI Foundation


26.2.2 Arb Clock Frequency

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A None Configure Arb

COM Property Name


DigitalModulation.Arb.ClockFrequency

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_CLOCK_FREQUENCY

Description
Specifies the sample frequency. The waveform is generated with this clock frequency. The units are Hertz.

IVI Foundation 225 IVI-4.10 IviRFSigGen Class Specification


26.2.3 Arb Filter Frequency

Data Type Access Applies to Coercion High Level Functions


ViReal64 R/W N/A UP Configure Arb

COM Property Name


DigitalModulation.Arb.FilterFrequency

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_FILTER_FREQUENCY

Description
Specifies the cut-off frequency of the low pass filter. The waveform is filtered before output with this filter for
antialiasing. The filter frequency normally is lower than the clock frequency. The units are Hertz.

IVI-4.10 IviRFSigGen Class Specification 226 IVI Foundation


26.2.4 Arb Max Number Waveforms

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None Query Arb Waveform Capabilities

COM Property Name


DigitalModulation.Arb.MaxNumberWaveforms

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_MAX_NUMBER_WAVEFORMS

Description
Specifies the max number of waveforms the instrument can hold in the memory. The number may depend on
the length of the waveform already in the pool of waveforms stored in the instrument.

IVI Foundation 227 IVI-4.10 IviRFSigGen Class Specification


26.2.5 Arb Waveform Quantum

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None Query Arb Waveform Capabilities

COM Property Name


DigitalModulation.Arb.WaveformQuantum

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_WAVEFORM_QUANTUM

Description
The waveform length (the number of samples) shall be a multiple of this quantum. If it is 1, there is no
restriction on the length - other than min and max size - for the waveform.

IVI-4.10 IviRFSigGen Class Specification 228 IVI Foundation


26.2.6 Arb Waveform Size Min

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None Query Arb Waveform Capabilities

COM Property Name


DigitalModulation.Arb.WaveformSizeMin

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MIN

Description
The waveform length (the number of samples) shall be equal or greater than min size. If it is 1, there is no
restriction on the length - other than max size and quantum - for the waveform.

IVI Foundation 229 IVI-4.10 IviRFSigGen Class Specification


26.2.7 Arb Waveform Size Max

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None Query Arb Waveform Capabilities

COM Property Name


DigitalModulation.Arb.WaveformSizeMax

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MAX

Description
The waveform length (the number of samples) shall be equal or less than max size.

IVI-4.10 IviRFSigGen Class Specification 230 IVI Foundation


26.2.8 Arb Trigger Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Arb Trigger Source

COM Property Name


DigitalModulation.Arb.TriggerSource

COM Enumeration Name


IviRFSigGenArbTriggerSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_ARB_TRIGGER_SOURCE

Description
Specifies the way to start the Arb waveform or running it continuously.

Defined Values
Name Description
Language Identifier
Immediate The Arb generator system does not wait for a trigger of any kind, so it is running
continuously.
C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_IMMEDIATE
COM IviRFSigGenArbTriggerSourceImmediate
External The sweep is started with an external signal.
C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_EXTERNAL
COM IviRFSigGenArbTriggerSourceExternal
Software Trigger The sweep is started with a software programmable trigger.
C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SOFTWARE
COM IviRFSigGenArBbtTriggerSourceSoftware

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Arb
Trigger Source Specific Ext Base.

IVI Foundation 231 IVI-4.10 IviRFSigGen Class Specification


See Section Attribute Value Definitions, for the definitions of Arb Trigger Source Specific Ext Base,
IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 232 IVI Foundation


26.2.9 Arb External Trigger Slope

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure Arb External Trigger Slope

COM Property Name


DigitalModulation.Arb.ExternalTriggerSlope

COM Enumeration Name


IviRFSigGenArbExternalTriggerSlopeEnum

C Constant Name
IVIRFSIGGEN_ATTR_ARB_EXTERNAL_TRIGGER_SLOPE

Description
Specifies whether the trigger event occurs on the rising or falling edge of the input signal.

Defined Values
Name Description
Language Identifier
Positive Enables rising edge triggering.
C IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_POSITI
VE
COM IviRFSigGenArbExternalTriggerSlopePositive
Negative Enables falling edge triggering.
C IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_NEGATI
VE
COM IviRFSigGenArbExternalTriggerSlopeNegative

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Arb
External Trigger Slope Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Arb External Trigger Slope Specific Ext Base,
IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE.

IVI Foundation 233 IVI-4.10 IviRFSigGen Class Specification


26.3 IviRFSigGenArbGenerator Functions
The IviRFSigGenArbGenerator extension group defines the following functions:

? Configure Arb

? Write Arb Waveform

? Select Arb Waveform (IVI-C only)

? Clear All Arb Waveforms

? Query Arb Waveform Capabilities

? Configure Arb Trigger Source (IVI-C only)

? Configure Arb External Trigger Slope (IVI-C only)

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 234 IVI Foundation


26.3.1 Configure Arb

Description
Configures the Arb generator. Specified is the sample frequency the waveform is generated with together with
the cut-off frequency of the low pass filter which is used for antialiasing the output waveform. The filter
frequency normally is lower than the clock frequency.

COM Method Prototype


HRESULT DigitalModulation.Arb.Configure ([in] DOUBLE ClockFrequency,
[in] DOUBLE FilterFrequency);

C Prototype
ViStatus IviRFSigGen_ConfigureArb (ViSession Vi, ViReal64 ClockFrequency,
ViReal64 FilterFrequency);

Parameters
Inputs Description

Vi Instrument handle
ClockFrequency The driver uses this value to set the Arb Clock Frequency attribute. See the
attribute description for more details.
FilterFrequency The driver uses this value to set the Arb Filter Frequency attribute. See the attribute
description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 235 IVI-4.10 IviRFSigGen Class Specification


26.3.2 Write Arb Waveform

Description
Stores the transmitted waveform in the drivers’s or instrument’s memory.

COM Method Prototype


HRESULT DigitalModulation.Arb.WriteWaveform ([in] BSTR Name,
[in] SAFEARRAY(DOUBLE) *IData,
[in] SAFEARRAY(DOUBLE) *QData,
[in] VARIANT_BOOL MoreDataPending);

C Prototype
ViStatus IviRFSigGen_WriteArbWaveform (ViSession Vi, ViConstString Name,
ViInt32 NumberOfSamples, ViReal64 IData[],
ViReal64 QData[], ViBoolean MoreDataPending);

Parameters
Inputs Description

Vi Instrument handle
NumberOfSamples The number of samples in both I and Q array. Not used in COM environment.
Name The driver uses this value to name the stored waveform.
IData The driver uses the values of this array as I part of the waveform . The voltages are
normalized to {-1, +1} to the full I range.
QData The driver uses the values of this array as Q part of the waveform . The voltages are
normalized to {-1, +1} to the full Q range.
MoreDataPending The value is set to True if more data is coming. To complete the waveform, the next
data shall have the same name. False means the waveform has no more data to
come.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 236 IVI Foundation


26.3.3 Select Arb Waveform (IVI-C only)

Description
Selects a waveform from the pool of waveforms to become active.

COM Method Prototype


N/A
(use the DigitalModulation.Arb.SelectedWaveform property)

C Prototype
ViStatus IviRFSigGen_SelectArbWaveform (ViSession Vi, ViConstString Name);

Parameters
Inputs Description
Vi Instrument handle
Name The driver uses this value to set the Arb Selected Waveform attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 237 IVI-4.10 IviRFSigGen Class Specification


26.3.4 Clear All Arb Waveforms

Description
Deletes all waveforms from the pool of waveforms currently defined.

COM Method Prototype


HRESULT DigitalModulation.Arb.ClearAllWaveforms ();

C Prototype
ViStatus IviRFSigGen_ClearAllArbWaveforms (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 238 IVI Foundation


26.3.5 Query Arb Waveform Capabilities

Description
Returns the capabilities of the Arb generator related to the waveform.

COM Method Prototype


HRESULT DigitalModulation.Arb.QueryWaveformCapabilities (
[in, out] LONG *MaxNumberWaveforms,
[in, out] LONG *WaveformQuantum,
[in, out] LONG *MinWaveformSize,
[in, out] LONG *MaxWaveformSize);

C Prototype
ViStatus IviRFSigGen_QueryArbWaveformCapabilities (ViSession Vi,
ViInt32 *MaxNumberWaveforms,
ViInt32 *WaveformQuantum,
ViInt32 *MinWaveformSize,
ViInt32 *MaxWaveformSize);

Parameters
Inputs Description
Vi Instrument handle

Outputs Description
MaxNumberWaveforms Returns the Arb Max Number Waveforms attribute. See the attribute
description for more details.
WaveformQuantum Returns the Arb Waveform Quantum attribute. See the attribute
description for more details.
MinWaveformSize Returns the Arb Min Waveform Size attribute. See the attribute
description for more details.
MaxWaveformSize Returns the Arb Max Waveform Size attribute. See the attribute
description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 239 IVI-4.10 IviRFSigGen Class Specification


26.3.6 Configure Arb Trigger Source (IVI-C only)

Description
Configures the trigger source for waveform generation. The output waveform may be generated continuously
or once based on the value of the Arb Trigger Source attribute.

COM Method Prototype


N/A
(use the DigitalModulation.Arb.TriggerSource property)

C Prototype
ViStatus IviRFSigGen_ConfigureArbTriggerSource (ViSession Vi, ViInt32 Source);

Parameters
Inputs Description

Vi Instrument handle
Source The driver uses this value to set the Arb Trigger Source attribute. See the attribute
description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 240 IVI Foundation


26.3.7 Configure Arb External Trigger Slope (IVI-C only)

Description
Configures the external trigger slope.

COM Method Prototype


N/A
(use the DigitalModulation.Arb.ExternalTriggerSlope property)

C Prototype
ViStatus IviRFSigGen_ConfigureArbExternalTriggerSlope (ViSession Vi,
ViInt32 Slope);

Parameters
Inputs Description

Vi Instrument handle
Slope The driver uses this value to set the Arb External Trigger Slope attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 241 IVI-4.10 IviRFSigGen Class Specification


26.4 IviRFSigGenArbGenerator Behavior Model
The IviRFSigGenArbGenerator Extension Group follows the behavior model of the IviRFSigGenBase
capability group. The only modification to the behavior model from the IviRFSigGenBase capability group is
the ability to configure IviRFSigGenArbGenerator settings.

26.5 IviRFSigGenArbGenerator Compliance Notes


If a specific driver implements the IviRFSigGenArbGenerator Extension Group, it shall also implement the
IviRFSigGenModulateIQ Extension Group and support the defined value ArbGenerator for the IQ Source
attribute.

1. If a specific driver does not support the value External for the Arb Trigger Source attribute, it need not
support the Arb External Trigger Slope attribute or the Configure Arb External Trigger Slope function.

IVI-4.10 IviRFSigGen Class Specification 242 IVI Foundation


27. IviRFSigGenDigitalModulationBase Extension Group

27.1 IviRFSigGenDigitalModulationBase Extension Group Overview


With IviRFSigGenDigitalModulationBase Extension Group the user can generate signals conforming to
wireless communication standards (e.g. mobile cellular standards). The generated signals do not have TDMA
framing nor CDMA channel coding.
The functionality covers basic modulation properties such as IQ constellation, symbol mapping, etc. within a
specified communication standard.

27.2 IviRFSigGenDigitalModulationBase Attributes


The IviRFSigGenDigitalModulationBaseBase Extension Group defines the following attributes:

? DigitalModulationBase Standard Name (IVI-COM only)

? DigitalModulationBase Standard Count

? DigitalModulationBase Selected Standard

? DigitalModulationBase Data Source

? DigitalModulationBase PRBS Type

? DigitalModulationBase Selected Bit Sequence

? DigitalModulationBase Clock Source

? DigitalModulationBase External Clock Type

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI Foundation 243 IVI-4.10 IviRFSigGen Class Specification


27.2.1 DigitalModulationBase Standard Name (IVI-COM only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT DigitalModulation.Base.StandardName ([in] long Index,
[out, retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name
N/A
(Use the Get DigitalModulationBase Standard Name function)

Description

This property returns the DigitalModulationBase Standard identifier that corresponds to the one-based index
that the user specifies. If the value that the user pass for the Index parameter is less than one or greater than the
value of the DigitalModulationBase Standard Count attribute, the property returns and empty string in the
Name parameter and returns the Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value

Name A driver-allocated buffer into which the driver stores the ViChar[]
DigitalModulationBase standard name.

IVI-4.10 IviRFSigGen Class Specification 244 IVI Foundation


27.2.2 DigitalModulationBase Standard Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None N/A

COM Property Name


DigitalModulation.Base.StandardCount

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_STANDARD_COUNT

Description
Specifies the number of DigitalModulationBase standards available for a particular instrument.

IVI Foundation 245 IVI-4.10 IviRFSigGen Class Specification


27.2.3 DigitalModulationBase Selected Standard

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select DigitalModulationBase Standard

COM Property Name


DigitalModulation.Base.SelectedStandard

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_SELECTED_STANDARD

Description
Specifies the actual standard used by the instrument. The coding, mapping, symbol rate or bit clock frequency,
filter together with the according filter. parameters, FSK deviation or ASK depth (in case of FSK or ASK
modulation) are set as defined in the selected standard.

IVI-4.10 IviRFSigGen Class Specification 246 IVI Foundation


27.2.4 DigitalModulationBase Data Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure DigitalModulationBase Data Source

COM Property Name


DigitalModulation.Base.DataSource

COM Enumeration Name


IviRFSigGenDigitalModulationBaseDataSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_DATA_SOURCE

Description
Specifies the source of data. The data is used to modulate the RF signal according to the standard selected with
the DigitalModulationBase Selected Standard attribute.

Defined Values
Name Description
Language Identifier
External The data from an external device connected to the instrument is used.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOUR
CE_EXTERNAL
COM IviRFSigGenDigitalModulationBaseDataSourceExterna
l
PRBS The internal PRBS (Pseudo Random Binary Sequence) generator is used as data
source.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOUR
CE_PRBS
COM IviRFSigGenDigitalModulationBaseDataSourcePRBS
Bit Sequence A constant bit sequence is used as data source and repeated continuously.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOUR
CE_BIT_SEQUENCE
COM IviRFSigGenDigitalModulationBaseDataSourceBitSequ
ence

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_CLASS_EXT_BASE and less
than IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_SPECIFIC_EXT_BASE.

IVI Foundation 247 IVI-4.10 IviRFSigGen Class Specification


2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Digital
Modulation Base Data Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Digital Modulation Base Data Source Specific
Ext Base,
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 248 IVI Foundation


27.2.5 DigitalModulationBase PRBS Type

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure DigitalModulationBase PRBS Type

COM Property Name


DigitalModulation.Base.PRBSType

COM Enumeration Name


IviRFSigGenDigitalModulationBasePRBSTypeEnum

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_PRBS_TYPE

Description
Specifies the type of the PRBS as defined in the CCITT-V.52 standard. The PRBS (Pseudo Random Binary
Sequence) is used only if DigitalModulationBase Data Source is set to PRBS.

Defined Values
Name Description
Language Identifier
PRBS9 Length of PRBS sequence is 2 9-1.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE
_PRBS9
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS9
PRBS11 Length of PRBS sequence is 2 11-1.
C IVIRFSIGGEN_VAL_ DIGITAL_MODULATION_BASE
PRBS_TYPE_PRBS11
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS11
PRBS15 Length of PRBS sequence is 2 15-1.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE
_PRBS15
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS15
PRBS16 Length of PRBS sequence is 2 16-1.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE
_PRBS16
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS16
PRBS20 Length of PRBS sequence is 2 20-1.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE
_PRBS20
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS20
PRBS21 Length of PRBS sequence is 2 211.

IVI Foundation 249 IVI-4.10 IviRFSigGen Class Specification


C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE
_PRBS21
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS21
PRBS23 Length of PRBS sequence is 2 23-1.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE
_PRBS23
COM IviRFSigGenDigitalModulationBasePRBSTypePRBS23

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_CLASS_EXT_BASE and less
than IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Digital
Modulation Base PRBS Type Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Digital Modulation Base PRBS Type Specific
Ext Base, IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 250 IVI Foundation


27.2.6 DigitalModulationBase Selected Bit Sequence

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select DigitalModulationBase Bit Sequence

COM Property Name


DigitalModulation.Base.SelectedBitSequence

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_SELECTED_BIT_SEQUENCE

Description
Specifies name of the bit sequence (stream) used as data for digital modulation. The sequence is used only if
DigitalModulationBase Data Source is set to BitSequence.

IVI Foundation 251 IVI-4.10 IviRFSigGen Class Specification


27.2.7 DigitalModulationBase Clock Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure DigitalModulationBase Clock Source

COM Property Name


DigitalModulation.Base.ClockSource

COM Enumeration Name


IviRFSigGenDigitalModulationBaseClockSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_CLOCK_SOURCE

Description
Specifies the source of the clock signal used to generate the digital modulation according to the selected
standard.

Defined Values
Name Description
Language Identifier
Internal The internal clock generator is used.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOU
RCE_INTERNAL
COM IviRFSigGenDigitalModulationBaseClockSourceIntern
al
External An connected external clock generator (bit or symbol clock frequency) is used.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOU
RCE_EXTERNAL
COM IviRFSigGenDigitalModulationBaseClockSourceExtern
al

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_CLASS_EXT_BASE and less
than IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Digital
Modulation Base Clock Source Specific Ext Base.

IVI-4.10 IviRFSigGen Class Specification 252 IVI Foundation


See Section Attribute Value Definitions, for the definitions of Digital Modulation Base Clock Source Specific
Ext Base, IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_CLASS_EXT_BASE.

IVI Foundation 253 IVI-4.10 IviRFSigGen Class Specification


27.2.8 DigitalModulationBase External Clock Type

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure DigitalModulationBase Clock Source

COM Property Name


DigitalModulation.Base.ExternalClockType

COM Enumeration Name


IviRFSigGenDigitalModulationBaseExternalClockTypeEnum

C Constant Name
IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE

Description
Specifies the type of the external clock signal used to generate the digital modulation. This value is used only if
the DigitalModulationBase Clock Source attribute is set to External.

Defined Values
Name Description
Language Identifier
Bit The external clock frequency is equal to the bit clock frequency of the digital
modulation.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_
CLOCK_TYPE_BIT
COM IviRFSigGenDigitalModulationBaseExternalClockType
Bit
Symbol The external clock frequency is equal to the symbol clock frequency of the digital
modulation.
C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_
CLOCK_TYPE_SYMBOL
COM IviRFSigGenDigitalModulationBaseExternalClockType
Symbol

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_CLASS_EXT_BASE and
less than
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 254 IVI Foundation


3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to Digital
Modulation Base External Clock Type Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of Digital Modulation Base External Clock Type
Specific Ext Base,
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_B
ASE and
IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_CLASS_EXT_BAS
E.

IVI Foundation 255 IVI-4.10 IviRFSigGen Class Specification


27.3 IviRFSigGenDigitalModulationBase Functions
The IviRFSigGenDigitalModulationBaseBase Extension Group defines the following functions:

? Get DigitalModulationBaseStandard Name (IVI-C only)

? Select DigitalModulationBase Standard (IVI-C only)

? Configure DigitalModulationBase Clock Source

? Configure DigitalModulationBase Data Source (IVI-C only)

? Configure DigitalModulationBase PRBS Type (IVI-C only)

? Write DigitalModulationBase Bit Sequence

? Select DigitalModulationBase Bit Sequence (IVI-C only)

? Clear All DigitalModulationBase Bit Sequences

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 256 IVI Foundation


27.3.1 Get DigitalModulationBase Standard Name (IVI-C only)

Description

This function returns the specific driver defined DigitalModulationBase standard name that corresponds to the
one-based index that the user specifies.

COM Method Prototype


N/A
(Use DigitalModulation.Base.StandardName property)

C Prototype
ViStatus IviRFSigGen_GetDigitalModulationBaseStandardName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
NameBufferSize The number of bytes in the ViChar array that the user specifies for the Name
parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the DigitalModulationBase
standard name.
The caller may pass VI_NULL for this parameter if the NameBufferSize parameter
is 0.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes

For an instrument with only one DigitalModulationBase standard, that is the DigitalModulationBase Standard
Count attribute is one, the driver may return an empty string in the Name parameter.

IVI Foundation 257 IVI-4.10 IviRFSigGen Class Specification


27.3.2 Select DigitalModulationBase Standard (IVI-C only)

Description
Selects the actual standard used by the instrument. The standard is selected with one of the names of the list of
names queried with the Get DigitalModulationBase Standard Names function. The coding, mapping, symbol
rate or bit clock frequency, filter together with the according filter. parameters, FSK deviation or ASK depth
(in case of FSK or ASK modulation) are set as defined in the selected standard.

COM Method Prototype


N/A
(use the DigitalModulation.Base.SelectedStandard property)

C Prototype
ViStatus IviRFSigGen_SelectDigitalModulationBaseStandard (ViSession Vi,
ViConstString Name);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to set the DigitalModulationBase Selected Standard
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 258 IVI Foundation


27.3.3 Configure DigitalModulationBase Clock Source

Description
Configures the DigitalModulationBase clock source.

COM Method Prototype


HRESULT DigitalModulation.Base.ConfigureClockSource ([in]
IviRFSigGenDigitalModulationBaseClockSourceEnum Source,
[in]
IviRFSigGenDigitalModulationBaseExternalClockTypeEnum Type);

C Prototype
ViStatus IviRFSigGen_ConfigureDigitalModulationBaseClockSource (ViSession Vi,
ViInt32 Source, ViInt32 Type);

Parameters
Inputs Description

Vi Instrument handle
Source The driver uses this value to set the DigitalModulationBase Clock Source
attribute. See the attribute description for more details.
Type Type is ignored if Source is set to Internal.
The driver uses this value to set the DigitalModulationBase External Clock Type
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 259 IVI-4.10 IviRFSigGen Class Specification


27.3.4 Configure DigitalModulationBase Data Source (IVI-C only)

Description
Configures the source of the data for the digital modulation.

COM Method Prototype


N/A
(use the DigitalModulation.Base.DataSource property)

C Prototype
ViStatus IviRFSigGen_ConfigureDigitalModulationBaseDataSource (ViSession Vi,
ViInt32 Source);

Parameters
Inputs Description

Vi Instrument handle
Source The driver uses this value to set the DigitalModulationBase Data Source attribute.
See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 260 IVI Foundation


27.3.5 Configure DigitalModulationBase PRBS Type (IVI-C only)

Description
Configures the type of the PRBS used as data for the digital modulation. The setting is used only if
DigitalModulationBase Data Source is set to PRBS.

COM Method Prototype


N/A
(use the DigitalModulation.Base.PRBSType property)

C Prototype
ViStatus IviRFSigGen_ConfigureDigitalModulationBasePRBSType (ViSession Vi, ViInt32
Type);

Parameters
Inputs Description

Vi Instrument handle
Type The driver uses this value to set the DigitalModulationBase PRBS Type attribute.
See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 261 IVI-4.10 IviRFSigGen Class Specification


27.3.6 Write DigitalModulationBase Bit Sequence

Description
Writes the bit sequence used as data for the digital modulation. The sequence is repeated continuously. The
string consists of binary values (8 bit in 1 char/byte).

COM Method Prototype


HRESULT DigitalModulation.Base.WriteBitSequence ([in] BSTR Name,
[in] LONG BitCount,
[in] SAFEARRAY(BYTE) *Sequence,
[in] VARIANT_BOOL MoreDataPending);

C Prototype
ViStatus IviRFSigGen_WriteDigitalModulationBaseBitSequence (ViSession Vi,
ViConstString Name, ViInt32 BitCount,
ViChar Sequence[],
ViBoolean MoreDataPending);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to name the stored bit sequence.
BitCount The number of bits in the sequence. One char/byte has 8 bits, but the stream of bits
doesn’t end necessarily on byte boundaries.
Sequence The driver uses this array as stream of bits. The size of the array is bitCount.
MoreDataPending The value is set to True if more data is comming. To complete the sequence, the
next data shall have the same name. False means the waveform has no more data to
come.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 262 IVI Foundation


27.3.7 Select DigitalModulationBase Bit Sequence (IVI-C only)

Description
Selects the bit sequence used as data for the digital modulation. The bit sequence is selected with one of the
names in the list of names queried with the Get DigitalModulationBase Bit Sequence Names function. The
setting is used only if the DigitalModulationBase Data Source attribute is set to BitSequence.

COM Method Prototype


N/A
(use the DigitalModulation.Base.SelectBitSequence property)

C Prototype
ViStatus IviRFSigGen_SelectDigitalModulationBaseBitSequence (ViSession Vi,
ViConstString Name);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to set the DigitalModulationBase Selected Bit Sequence
attribute. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 263 IVI-4.10 IviRFSigGen Class Specification


27.3.8 Clear All DigitalModulationBase Bit Sequences

Description
Clears (deletes) all named bit sequences.

COM Method Prototype


HRESULT DigitalModulation.Base.ClearAllBitSequences ();

C Prototype
ViStatus IviRFSigGen_ClearAllDigitalModulationBaseBitSequences (ViSession Vi);

Parameters
Inputs Description
Vi Instrument handle

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 264 IVI Foundation


27.4 IviRFSigGenDigitalModulationBase Behavior Model
The IviRFSigGenDigitalModulationBase Extension Group follows the behavior model of the
IviRFSigGenBase capability group. The only modification to the behavior model from the IviRFSigGenBase
capability group is the ability to configure IviRFSigGenDigitalModulationBase settings.

27.5 IviRFSigGenDigitalModulationBase Compliance Notes


If a specific driver implements the IviRFSigGenDigitalModulationBase Extension Group, it shall also
implement the IviRFSigGenModulateIQ Extension Group and support the defined value
DigitalModulationBase for the IQ Source attribute.

1. If a specific driver does not support the value External for the DigitalModulationBase Clock Source, it
shall not support the External Clock Type attribute.

2. If a specific driver does not support the value PRBS for the DigitalModulationBase Data Source attribute,
it shall not implement the DigitalModulationBase PRBS Type attribute and the Configure
DigitalModulationBase PRBS Type function.

3. If a specific driver does not support the value Bit Sequence for the DigitalModulationBase attribute, it
shall not implement the DigitalModulationBase Selected Bit Sequence attribute and the Write
DigitalModulationBase Bit Sequence, Select DigitalModulation Bit Sequence and Clear All
DigitalModulationBase Bit Sequences functions.

IVI Foundation 265 IVI-4.10 IviRFSigGen Class Specification


28. IviRFSigGenCDMABase Extension Group

28.1 IviRFSigGenCDMABase Extension Group Overview


With IviRFSigGenCDMABase Extension Group the user can simulate mobile (cell) phone modulation based
on Code Division Muliple Access (CDMA) standards.

28.2 IviRFSigGenCDMABase Attributes


The IviRFSigGenCDMABase extension group defines the following attributes:

? CDMA Standard Name (IVI-COM only)

? CDMA Standard Count

? CDMA Selected Standard

? CDMA Trigger Source

? CDMA External Trigger Slope

? CDMA Test Model Name (IVI-COM only)

? CDMA Test Model Count

? CDMA Selected Test Model

? CDMA Clock Source

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 266 IVI Foundation


28.2.1 CDMA Standard Name (IVI-COM only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT DigitalModulation.CDMA.StandardName ([in] long Index,
[out, retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name
N/A
(Use the Get CDMA Standard Name function

Description

This property returns the CDMA Standard identifier that corresponds to the one-based index that the user
specifies. If the value that the user pass for the Index parameter is less than one or greater than the value of the
CDMA Standard Count attribute, the property returns and empty string in the Name parameter and returns the
Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value
Name A driver-allocated buffer into which the driver stores the ViChar[]
CDMA standard name.

IVI Foundation 267 IVI-4.10 IviRFSigGen Class Specification


28.2.2 CDMA Standard Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None N/A

COM Property Name


DigitalModulation.CDMA.StandardCount

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_STANDARD_COUNT

Description
Specifies the number of CDMA standards available for a particular instrument.

IVI-4.10 IviRFSigGen Class Specification 268 IVI Foundation


28.2.3 CDMA Selected Standard

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select CDMA Standard

COM Property Name


DigitalModulation.CDMA.SelectedStandard

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_SELECTED_STANDARD

Description
Specifies the actual standard used by the instrument. The modulation type, bit clock frequency and filter
together with the according filter. parameters are set as defined in the selected standard.

IVI Foundation 269 IVI-4.10 IviRFSigGen Class Specification


28.2.4 CDMA Trigger Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure CDMA Trigger Source

COM Property Name


DigitalModulation.CDMA.TriggerSource

COM Enumeration Name


IviRFSigGenCDMATriggerSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_TRIGGER_SOURCE

Description
Specifies the source of the trigger signal that starts the channel coding generation.

Defined Values
Name Description
Language Identifier
Immediate The CDMA generator system does not wait for a trigger of any kind, so it is running
the channel codings continuously.
C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_IMMEDIATE
COM IviRFSigGenCDMATriggerSourceImmediate
External Each channel coding is started with an external signal.
C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_EXTERNAL
COM IviRFSigGenCDMATriggerSourceExternal
Software Trigger Each channel coding is started with a software programmable trigger.
C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SOFTWARE
COM IviRFSigGenCDMATriggerSourceSoftware

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to CDMA
Trigger Source Specific Ext Base.

IVI-4.10 IviRFSigGen Class Specification 270 IVI Foundation


See Section Attribute Value Definitions, for the definitions of CDMA Trigger Source Specific Ext Base,
IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_CLASS_EXT_BASE.

IVI Foundation 271 IVI-4.10 IviRFSigGen Class Specification


28.2.5 CDMA External Trigger Slope

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure CDMA External Trigger Slope

COM Property Name


DigitalModulation.CDMA.ExternalTriggerSlope

COM Enumeration Name


IviRFSigGenCDMAExternalTriggerSlopeEnum

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_EXTERNAL_TRIGGER_SLOPE

Description
Specifies whether the trigger event occurs on the rising or falling edge of the input signal.

Defined Values
Name Description
Language Identifier
Positive Enables rising edge triggering.
C IVIRFSIGGEN_VAL_CDMA_
EXTERNAL_TRIGGER_SLOPE_POSITIVE
COM IviRFSigGenCDMAExternalTriggerSlopePositive
Negative Enables falling edge triggering.
C IVIRFSIGGEN_VAL_CDMA_
EXTERNAL_TRIGGER_SLOPE_NEGATIVE
COM IviRFSigGenCDMAExternalTriggerSlopeNegative

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE.

4. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to CDMA
Trigger External Slope Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of CDMA Trigger External Slope Specific Ext
Base, IVIRFSIGGEN_VAL_CDMA_TRIGGER_EXTERNAL_SLOPE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_CDMA_TRIGGER_EXTERNAL_SLOPE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 272 IVI Foundation


28.2.6 CDMA Test Model Name (IVI-COM only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT DigitalModulation.CDMA.TestModelName ([in] long Index,
[out, retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name
N/A
(Use the Get CDMA Test Model Name function)

Description

This property returns the CDMA Test Model identifier that corresponds to the one-based index that the user
specifies. If the value that the user pass for the Index parameter is less than one or greater than the value of the
CDMA Test Model Count attribute, the property returns and empty string in the Name parameter and returns
the Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value

Name A driver-allocated buffer into which the driver stores the ViChar[]
CDMA test model name.

IVI Foundation 273 IVI-4.10 IviRFSigGen Class Specification


28.2.7 CDMA Test Model Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None N/A

COM Property Name


DigitalModulation.CDMA.TestModelCount

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_TEST_MODEL_COUNT

Description
Specifies the number of CDMA test models available for a particular instrument.

IVI-4.10 IviRFSigGen Class Specification 274 IVI Foundation


28.2.8 CDMA Selected Test Model

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select CDMA Test Model

COM Property Name


DigitalModulation.CDMA.SelectedTestModel

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_SELECTED_TEST_MODEL

Description
Specifies the actual CDMA test model used by the instrument.

IVI Foundation 275 IVI-4.10 IviRFSigGen Class Specification


28.2.9 CDMA Clock Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure CDMA Clock Source

COM Property Name


DigitalModulation.CDMA.ClockSource

COM Enumeration Name


IviRFSigGenCDMAClockSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_CDMA_CLOCK_SOURCE

Description
Specifies the source of the clock signal used to generate the digital modulation according to the selected
standard.

Defined Values
Name Description
Language Identifier
Internal The internal clock generator is used.
C IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_INTERNAL
COM IviRFSigGenCDMAClockSourceInternal
External A connected external clock generator (bit or symbol clock frequency) is used.
C IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_EXTERNAL
COM IviRFSigGenCDMAClockSourceExternal

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to CDMA
Clock Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of CDMA Clock Source Specific Ext Base,
IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 276 IVI Foundation


28.3 IviRFSigGenCDMABase Functions
The IviRFSigGenCDMABase extension group defines the following functions:

? Get CDMA Standard Name (IVI-C only)

? Select CDMA Standard (IVI-C only)

? Configure CDMA Clock Source (IVI-C only)

? Configure CDMA Trigger Source (IVI-C only)

? Configure CDMA External Trigger Slope (IVI-C only)

? Get CDMA Test Model Name (IVI-C only)

? Select CDMA Test Model (IVI-C only)

This section describes the behavior and requirements of each function.

IVI Foundation 277 IVI-4.10 IviRFSigGen Class Specification


28.3.1 Get CDMA Standard Name (IVI-C only)

Description

This function returns the specific driver defined CDMA standard name that corresponds to the one-based index
that the user specifies.

COM Method Prototype


N/A
(Use DigitalModulation.CDMA.StandardName property)

C Prototype
ViStatus IviRFSigGen_GetCDMAStandardName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
NameBufferSize The number of bytes in the ViChar array that the user specifies for the Name
parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the CDMA standard name.
The caller may pass VI_NULL for this parameter if the NameBufferSize parameter
is 0.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes

For an instrument with only one CDMA standard, that is the CDMA Standard Count attribute is one, the driver
may return an empty string in the Name parameter.

IVI-4.10 IviRFSigGen Class Specification 278 IVI Foundation


28.3.2 Select CDMA Standard (IVI-C only)

Description
Selects the actual standard used by the instrument. The standard is selected from the list of names queried with
the Get CDMA Standard Names function. The modulation type, clock frequency and filter together with the
according filter. parameters are set as defined in the selected standard.

COM Method Prototype


N/A
(use the DigitalModulation.CDMA.SelectedStandard property)

C Prototype
ViStatus IviRFSigGen_SelectCDMAStandard (ViSession Vi, ViConstString Name);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to set the CDMA Selected Standard attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 279 IVI-4.10 IviRFSigGen Class Specification


28.3.3 Configure CDMA Clock Source (IVI-C only)

Description
Configures the CDMA clock source.

COM Method Prototype


N/A
(use the DigitalModulation.CDMA.ClockSource property)

C Prototype
ViStatus IviRFSigGen_ConfigureCDMAClockSource (ViSession Vi, ViInt32 Source);

Parameters
Inputs Description
Vi Instrument handle
Source The driver uses this value to set the CDMA Clock Source attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 280 IVI Foundation


28.3.4 Configure CDMA Trigger Source (IVI-C only)

Description
Configures the CDMA trigger source for starting or synchronising the generation of the channel codings.

COM Method Prototype


N/A
(use the DigitalModulation.CDMA.TriggerSource property)

C Prototype
ViStatus IviRFSigGen_ConfigureCDMATriggerSource (ViSession Vi, ViInt32 Source);

Parameters
Inputs Description
Vi Instrument handle
Source The driver uses this value to set the CDMA Trigger Source attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 281 IVI-4.10 IviRFSigGen Class Specification


28.3.5 Configure CDMA External Trigger Slope (IVI-C only)

Description
Configures whether the trigger event occurs on the rising or falling edge of the input signal. This setting is
used only if CDMA Trigger Source is set to External.

COM Method Prototype


N/A
(use the DigitalModulation.CDMA.ExternalTriggerSlope property)

C Prototype
ViStatus IviRFSigGen_ConfigureCDMAExternalTriggerSlope (ViSession Vi,
ViInt32 Slope);

Parameters
Inputs Description

Vi Instrument handle
Slope The driver uses this value to set the CDMA External Trigger Slope attribute. See
the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 282 IVI Foundation


28.3.6 Get CDMA Test Model Name (IVI-C only)

Description

This function returns the specific driver defined CDMA test model name that corresponds to the one-based
index that the user specifies.

COM Method Prototype


N/A
(Use DigitalModulation.CDMA.TestModelName property)

C Prototype
ViStatus IviRFSigGen_GetCDMATestModelName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
BufferSize The number of bytes in the ViChar array that the user specifies for the Name
parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the CDMA test model name.
The caller may pass VI_NULL for this parameter if the NameBufferSize parameter
is 0.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes

For an instrument with only one CDMA test model, that is the CDMA Test Model Count attribute is one, the
driver may return an empty string in the Name parameter.

IVI Foundation 283 IVI-4.10 IviRFSigGen Class Specification


28.3.7 Select CDMA Test Model (IVI-C only)

Description
Selects the channel coding used for the digital modulation. The channel coding is selected with one of the
names in the list of names queried with the Get CDMA Test Model Names function.

COM Method Prototype


N/A
(use the DigitalModulation.CDMA.SelectedTestModel property)

C Prototype
ViStatus IviRFSigGen_SelectCDMATestModel (ViSession Vi, ViConstString Name);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to set the CDMA Selected Test Model attribute. See the
attribute description for more details. See the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 284 IVI Foundation


28.4 IviRFSigGenCDMABase Behavior Model
The IviRFSigGenCDMABase Extension Group follows the behavior model of the IviRFSigGenBase capability
group. The only modification to the behavior model from the IviRFSigGenBase capability group is the ability
to configure IviRFSigGenCDMABase settings.

28.5 IviRFSigGenCDMABase Compliance Notes


For a specific driver to comply with the IviRFSigGenCDMABase extension, it shall also implement the
IviRFSigGenModulateIQ Extension Group and support the defined value CDMABase for the IQ Source
attribute.

1. If a specific driver does not support the defined value External for the CDMA Trigger Source attribute, it
shall not support the CDMA External Trigger Slope attribute or the Configure CDMA External Trigger
Slope function.

IVI Foundation 285 IVI-4.10 IviRFSigGen Class Specification


29. IviRFSigGenTDMABase Extension Group

29.1 IviRFSigGenTDMABase Extension Group Overview


With IviRFSigGenTDMABase Extension Group the user can simulate mobile (cell) phone modulation based
on Time Division Multiple Access (TDMA) standards.

29.2 IviRFSigGenTDMABase Attributes


The IviRFSigGenTDMABase extension group defines the following attributes:

? TDMA Standard Name (IVI-COM only)

? TDMA Selected Standard

? TDMA Trigger Source

? TDMA External Trigger Slope

? TDMA Frame Name (IVI-COM only)

? TDMA Selected Frame

? TDMA Clock Source

? TDMA External Clock Type

This section describes the behavior and requirements of each attribute. The actual value for each attribute ID is
defined in Section 30, IviRFSigGen Attribute ID Definitions.

IVI-4.10 IviRFSigGen Class Specification 286 IVI Foundation


29.2.1 TDMA Standard Name (IVI-COM only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT DigitalModulation.TDMA.StandardName ([in] long Index,
[out, retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name
N/A
(Use the Get TDMA Standard Names function)

Description

This property returns the TDMA Standard identifier that corresponds to the one-based index that the user
specifies. If the value that the user pass for the Index parameter is less than one or greater than the value of the
TDMA Standard Count attribute, the property returns and empty string in the Name parameter and returns the
Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value

Name A driver-allocated buffer into which the driver stores the ViChar[]
TDMA standard name.

IVI Foundation 287 IVI-4.10 IviRFSigGen Class Specification


29.2.2 TDMA Standard Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None N/A

COM Property Name


DigitalModulation.TDMA.StandardCount

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_STANDARD_COUNT

Description
Specifies the number of TDMA standards available for a particular instrument.

IVI-4.10 IviRFSigGen Class Specification 288 IVI Foundation


29.2.3 TDMA Selected Standard

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select TDMA Standard

COM Property Name


DigitalModulation.TDMA.SelectedStandard

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_SELECTED_STANDARD

Description
Specifies the actual standard used by the instrumen. The coding, mapping, symbol rate or bit clock frequency,
filter together with the according filter. parameters, FSK deviation or ASK depth (in case of FSK or ASK
modulation) are set as defined in the selected standard.

IVI Foundation 289 IVI-4.10 IviRFSigGen Class Specification


29.2.4 TDMA Trigger Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure TDMA Trigger Source

COM Property Name


DigitalModulation.TDMA. TriggerSource

COM Enumeration Name


IviRFSigGenTDMATriggerSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_TRIGGER_SOURCE

Description
Specifies the source of the trigger signal that starts the frame/slot generation.

Defined Values
Name Description
Language Identifier
Immediate The TDMA generator system does not wait for a trigger of any kind, so it is running
the frames continuously.
C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_IMMEDIATE
COM IviRFSigGenTDMATriggerSourceImmediate
External Each frame is started with an external signal.
C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_EXTERNAL
COM IviRFSigGenTDMATriggerSourceExternal
Software Trigger Each frame is started with a software programmable trigger.
C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SOFTWARE
COM IviRFSigGenTDMATriggerSourceSoftware

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to TDMA
Trigger Source Specific Ext Base.

IVI-4.10 IviRFSigGen Class Specification 290 IVI Foundation


See Section Attribute Value Definitions, for the definitions of TDMA Trigger Source Specific Ext Base,
IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_CLASS_EXT_BASE.

IVI Foundation 291 IVI-4.10 IviRFSigGen Class Specification


29.2.5 TDMA External Trigger Slope

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure TDMA External Trigger Slope

COM Property Name


DigitalModulation.TDMA.ExternalTriggerSlope

COM Enumeration Name


IviRFSigGenTDMAExternalTriggerSlopeEnum

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_TRIGGER_SLOPE

Description
Specifies whether the trigger event occurs on the rising or falling edge of the input signal.

Defined Values
Name Description
Language Identifier
Positive Enables rising edge triggering.
C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_POSIT
IVE
COM IviRFSigGenTDMAExternalTriggerSlopePositive
Negative Enables falling edge triggering.
C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_NEGAT
IVE
COM IviRFSigGenTDMAExternalTriggerSlopeNegative

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE.

5. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to TDMA
External Trigger Slope Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of TDMA External Trigger Slope Specific Ext
Base, IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 292 IVI Foundation


29.2.6 TDMA Frame Name (IVI-COM only)

Data Type Access Applies to Coercion High Level Functions


ViString RO N/A None None

COM Property Name


HRESULT DigitalModulation.TDMA.FrameName ([in] long Index,
[out, retval] BSTR* Name);

COM Enumeration Name


N/A

C Constant Name
N/A
(Use the Get TDMA Frame Name function)

Description

This property returns the TDMA Frame identifier that corresponds to the one-based index that the user
specifies. If the value that the user pass for the Index parameter is less than one or greater than the value of the
TDMA Frame Count attribute, the property returns and empty string in the Name parameter and returns the
Invalid Value error.

Parameters
Inputs Description Base Type
Index A one-based index that defines which name to return. ViInt32

Output/Return Description Base Type


Value
Name A driver-allocated buffer into which the driver stores the ViChar[]
TDMA frame name.

IVI Foundation 293 IVI-4.10 IviRFSigGen Class Specification


29.2.7 TDMA Frame Count

Data Type Access Applies to Coercion High Level Functions


ViInt32 RO N/A None N/A

COM Property Name


DigitalModulation.TDMA.FrameCount

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_FRAME_COUNT

Description
Specifies the number of TDMA frames available for a particular instrument.

IVI-4.10 IviRFSigGen Class Specification 294 IVI Foundation


29.2.8 TDMA Selected Frame

Data Type Access Applies to Coercion High Level Functions


ViString R/W N/A None Select TDMA Frame

COM Property Name


DigitalModulation.TDMA.SelectedFrame

COM Enumeration Name


N/A

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_SELECTED_FRAME

Description
Specifies the actual frame used by the instrument. It is selected from the list queried with the function Get
TDMA Frame Names.

IVI Foundation 295 IVI-4.10 IviRFSigGen Class Specification


29.2.9 TDMA Clock Source

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure TDMA Clock Source

COM Property Name


DigitalModulation.TDMA.ClockSource

COM Enumeration Name


IviRFSigGenTDMAClockSourceEnum

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_CLOCK_SOURCE

Description
Specifies the source of the clock signal used to generate the digital modulation according to the selected
standard.

Defined Values
Name Description
Language Identifier
Internal The internal clock generator is used.
C IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_INTERNAL
COM IviRFSigGenTDMAClockSourceInternal
External A connected external clock generator (bit or symbol clock frequency) is used.
C IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_EXTERNAL
COM IviRFSigGenTDMAClockSourceExternal

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to TDMA
Clock Source Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of TDMA Clock Source Specific Ext Base,
IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_CLASS_EXT_BASE.

IVI-4.10 IviRFSigGen Class Specification 296 IVI Foundation


29.2.10 TDMA External Clock Type

Data Type Access Applies to Coercion High Level Functions


ViInt32 R/W N/A None Configure TDMA Clock Source

COM Property Name


DigitalModulation.TDMA.ExternalClockType

COM Enumeration Name


IviRFSigGenTDMAExternalClockTypeEnum

C Constant Name
IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_CLOCK_TYPE

Description
Specifies the type of the external clock signal used to generate the digital modulation. This value is used only if
TDMA Clock Source is set to External.

Defined Values
Name Description
Language Identifier
Bit The external clock frequency is equal to the bit clock frequency of the digital
modulation.
C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_BIT
COM IviRFSigGenTDMAExternalClockTypeBit
Symbol The external clock frequency is equal to the symbol clock frequency of the digital
modulation.
C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_SYMBOL
COM IviRFSigGenTDMAExternalClockTypeSymbol

Compliance Notes

1. If an IVI-C class driver defines additional values for this attribute, the actual values shall be greater than or
equal to IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_CLASS_EXT_BASE and less than
IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE.

2. If an IVI-C specific driver defines additional values for this attribute, the actual values shall be greater
than or equal to IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE.

3. When an IVI-COM specific driver implements this attribute with additional elements in its instrument
specific interfaces, the actual values of the additional elements shall be greater than or equal to TDMA
External Clock Type Specific Ext Base.

See Section Attribute Value Definitions, for the definitions of TDMA External Clock Type Specific Ext Base,
IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE and
IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_CLASS_EXT_BASE.

IVI Foundation 297 IVI-4.10 IviRFSigGen Class Specification


29.3 IviRFSigGenTDMABase Functions
The IviRFSigGenTDMABase extension group defines the following functions:

? Get TDMA Standard Name (IVI-C only)

? Select TDMA Standard (IVI-C only)

? Configure TDMA Clock Source

? Configure TDMA Trigger Source (IVI-C only)

? Configure TDMA External Trigger Slope (IVI-C only)

? Get TDMA Frame Name (IVI-C only)

? Select TDMA Frame (IVI-C only)

This section describes the behavior and requirements of each function.

IVI-4.10 IviRFSigGen Class Specification 298 IVI Foundation


29.3.1 Get TDMA Standard Name (IVI-C only)

Description

This function returns the specific driver defined TDMA standard name that corresponds to the one-based index
that the user specifies.

COM Method Prototype


N/A
(Use DigitalModulation.TDMA.StandardName property)

C Prototype
ViStatus IviRFSigGen_GetTDMAStandardName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
NameBufferSize The number of bytes in the ViChar array that the user specifies for the Name
parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the TDMA standard name.
The caller may pass VI_NULL for this parameter if the NameBufferSize parameter
is 0.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes

For an instrument with only one TDMA standard, that is the TDMA Standard Count attribute is one, the driver
may return an empty string in the Name parameter.

IVI Foundation 299 IVI-4.10 IviRFSigGen Class Specification


29.3.2 Select TDMA Standard (IVI-C only)

Description
Selects the actual standard used by the instrument. The standard is selected from the list of names queried with
the Get TDMA Standard Names function. The coding, mapping, symbol rate or bit clock frequency, filter
together with the according filter. parameters, FSK deviation or ASK depth (in case of FSK or ASK
modulation) are set as defined in the selected standard.

COM Method Prototype


N/A
(use the DigitalModulation.TDMA.SelectedStandard property)

C Prototype
ViStatus IviRFSigGen_SelectTDMAStandard (ViSession Vi, ViConstString Name);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to set the TDMA Selected Standard attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 300 IVI Foundation


29.3.3 Configure TDMA Clock Source

Description
Configures the TDMA clock source.

COM Method Prototype


HRESULT DigitalModulation.TDMA.ConfigureClockSource (
[in] IviRFSigGenTDMAClockSourceEnum Source,
[in] IviRFSigGenTDMAExternalClockTypeEnum Type);

C Prototype
ViStatus IviRFSigGen_ConfigureTDMAClockSource (ViSession Vi, ViInt32 Source,
ViInt32 Type);

Parameters
Inputs Description

Vi Instrument handle
Source The driver uses this value to set the TDMA Clock Source attribute. See the
attribute description for more details.
Type Type is ignored if Source is set to Internal.
The driver uses this value to set the TDMA External Clock Type attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 301 IVI-4.10 IviRFSigGen Class Specification


29.3.4 Configure TDMA Trigger Source (IVI-C only)

Description
Configures the TDMA trigger source for starting or synchronising the generation of the frames/slots.

COM Method Prototype


N/A
(use the DigitalModulation.TDMA.TriggerSource property)

C Prototype
ViStatus IviRFSigGen_ConfigureTDMATriggerSource (ViSession Vi,
ViInt32 Source);

Parameters
Inputs Description

Vi Instrument handle
Source The driver uses this value to set the TDMA Trigger Source attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI-4.10 IviRFSigGen Class Specification 302 IVI Foundation


29.3.5 Configure TDMA External Trigger Slope (IVI-C only)

Description
Configures whether the trigger event occurs on the rising or falling edge of the input signal. This setting is
used only if the TDMA Trigger Source attribute is set to External.

COM Method Prototype


N/A
(use the DigitalModulation.TDMA.ExternalTriggerSlope property)

C Prototype
ViStatus IviRFSigGen_ConfigureTDMAExternalTriggerSlope (ViSession Vi,
ViInt32 Slope);

Parameters
Inputs Description

Vi Instrument handle
Slope The driver uses this value to set the TDMA ExternalTrigger Slope attribute. See
the attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 303 IVI-4.10 IviRFSigGen Class Specification


29.3.6 Get TDMA Frame Name (IVI-C only)

Description

This function returns the specific driver defined TDMA frame name that corresponds to the one-based index
that the user specifies.

COM Method Prototype


N/A
(Use DigitalModulation.TDMA.FrameName property)

C Prototype
ViStatus IviRFSigGen_GetTDMAFrameName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

Parameters
Inputs Description
Vi Instrument handle
Index A one-based index that defines which name to return.
NameBufferSize The number of bytes in the ViChar array that the user specifies for the Name
parameter.

Outputs Description
Name A user-allocated buffer into which the driver stores the TDMA frame name.
The caller may pass VI_NULL for this parameter if the NameBufferSize parameter
is 0.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

Compliance Notes

For an instrument with only one TDMA frame, that is the TDMA Frame Count attribute is one, the driver may
return an empty string in the Name parameter.

IVI-4.10 IviRFSigGen Class Specification 304 IVI Foundation


29.3.7 Select TDMA Frame (IVI-C only)

Description
Selects the frame used for the framed digital modulation. The frame is selected from the list of names queried
with the Get TDMA Framed Names function.

COM Method Prototype


N/A
(use the DigitalModulation.TDMA.SelectedFrame property)

C Prototype
ViStatus IviRFSigGen_SelectTDMAFrame (ViSession Vi, ViConstString Name);

Parameters
Inputs Description

Vi Instrument handle
Name The driver uses this value to set the TDMA Selected Frame attribute. See the
attribute description for more details.

Return Values
The IVI-3.2: Inherent Capabilities Specification defines general status codes that this function can return.

IVI Foundation 305 IVI-4.10 IviRFSigGen Class Specification


29.4 IviRFSigGenTDMABase Behavior Model
The IviRFSigGenTDMABase Extension Group follows the behavior model of the IviRFSigGenBase capability
group. The only modification to the behavior model from the IviRFSigGenBase capability group is the ability
to configure IviRFSigGenTDMABase settings.

29.5 IviRFSigGenTDMABase Compliance Notes


For a specific driver to comply with the IviRFSigGenTDMABase extension, it shall also implement the
IviRFSigGenModulateIQ Extension Group and support the defined value TDMABase for the IQ Source
attribute.

1. If a specific driver does not support the defined value External for the TDMA Trigger Source attribute, it
shall not support the TDMA External Trigger Slope attribute, the TDMA External Clock Type attribute or
the Configure TDMA External Trigger Slope function.

IVI-4.10 IviRFSigGen Class Specification 306 IVI Foundation


30. IviRFSigGen Attribute ID Definitions
Table 30-1 defines the ID values for all IviRFSigGen class attributes.

Table 30-1 IviRFSigGen Attributes ID Values (C only)

Attribute Name ID Definition

IVIRFSIGGEN_ATTR_FREQUENCY IVI_CLASS_ATTR_BASE + 1

IVIRFSIGGEN_ATTR_POWER_LEVEL IVI_CLASS_ATTR_BASE + 2

IVIRFSIGGEN_ATTR_ALC_ENABLED IVI_CLASS_ATTR_BASE + 3

IVIRFSIGGEN_ATTR_OUTPUT_ENABLED IVI_CLASS_ATTR_BASE + 4

IVIRFSIGGEN_ATTR_AM_ENABLED IVI_CLASS_ATTR_BASE + 11

IVIRFSIGGEN_ATTR_AM_SOURCE IVI_CLASS_ATTR_BASE + 12

IVIRFSIGGEN_ATTR_AM_SCALING IVI_CLASS_ATTR_BASE + 13

IVIRFSIGGEN_ATTR_AM_EXTERNAL_COUPLING IVI_CLASS_ATTR_BASE + 14

IVIRFSIGGEN_ATTR_AM_NOMINAL_VOLTAGE IVI_CLASS_ATTR_BASE + 15

IVIRFSIGGEN_ATTR_AM_DEPTH IVI_CLASS_ATTR_BASE + 16

IVIRFSIGGEN_ATTR_FM_ENABLED IVI_CLASS_ATTR_BASE + 21

IVIRFSIGGEN_ATTR_FM_SOURCE IVI_CLASS_ATTR_BASE + 22

IVIRFSIGGEN_ATTR_FM_EXTERNAL_COUPLING IVI_CLASS_ATTR_BASE + 23

IVIRFSIGGEN_ATTR_FM_NOMINAL_VOLTAGE IVI_CLASS_ATTR_BASE + 24

IVIRFSIGGEN_ATTR_FM_DEVIATION IVI_CLASS_ATTR_BASE + 25

IVIRFSIGGEN_ATTR_PM_ENABLED IVI_CLASS_ATTR_BASE + 31

IVIRFSIGGEN_ATTR_PM_SOURCE IVI_CLASS_ATTR_BASE + 32

IVIRFSIGGEN_ATTR_PM_EXTERNAL_COUPLING IVI_CLASS_ATTR_BASE + 33

IVIRFSIGGEN_ATTR_PM_NOMINAL_VOLTAGE IVI_CLASS_ATTR_BASE + 34

IVIRFSIGGEN_ATTR_PM_DEVIATION IVI_CLASS_ATTR_BASE + 35

IVIRFSIGGEN_ATTR_ANALOG_MODULATION_SOURCE_COUNT IVI_CLASS_ATTR_BASE + 41

IVIRFSIGGEN_ATTR_PULSE_MODULATION_ENABLED IVI_CLASS_ATTR_BASE + 51

IVIRFSIGGEN_ATTR_PULSE_MODULATION_SOURCE IVI_CLASS_ATTR_BASE + 52

IVIRFSIGGEN_ATTR_PULSE_MODULATION_EXTERNAL_POLARITY IVI_CLASS_ATTR_BASE + 53

IVIRFSIGGEN_ATTR_ACTIVE_LF_GENERATOR IVI_CLASS_ATTR_BASE + 101

IVIRFSIGGEN_ATTR_LF_GENERATOR_COUNT IVI_CLASS_ATTR_BASE + 102

IVIRFSIGGEN_ATTR_LF_GENERATOR_FREQUENCY IVI_CLASS_ATTR_BASE + 103

IVIRFSIGGEN_ATTR_LF_GENERATOR_WAVEFORM IVI_CLASS_ATTR_BASE + 104

IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_AMPLITUDE IVI_CLASS_ATTR_BASE + 111

IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_ENABLED IVI_CLASS_ATTR_BASE + 112

IVIRFSIGGEN_ATTR_PULSE_INTERNAL_TRIGGER_PERIOD IVI_CLASS_ATTR_BASE + 121

IVIRFSIGGEN_ATTR_PULSE_WIDTH IVI_CLASS_ATTR_BASE + 122

IVIRFSIGGEN_ATTR_PULSE_GATING_ENABLED IVI_CLASS_ATTR_BASE + 123

IVI Foundation 307 IVI-4.10 IviRFSigGen Class Specification


Table 30-1 IviRFSigGen Attributes ID Values (C only)

Attribute Name ID Definition


IVIRFSIGGEN_ATTR_PULSE_TRIGGER_SOURCE IVI_CLASS_ATTR_BASE + 124

IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_SLOPE IVI_CLASS_ATTR_BASE + 125

IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_DELAY IVI_CLASS_ATTR_BASE + 126

IVIRFSIGGEN_ATTR_PULSE_DOUBLE_ENABLED IVI_CLASS_ATTR_BASE + 131

IVIRFSIGGEN_ATTR_PULSE_DOUBLE_DELAY IVI_CLASS_ATTR_BASE + 132

IVIRFSIGGEN_ATTR_PULSE_OUTPUT_POLARITY IVI_CLASS_ATTR_BASE + 141

IVIRFSIGGEN_ATTR_PULSE_OUTPUT_ENABLED IVI_CLASS_ATTR_BASE + 142

IVIRFSIGGEN_ATTR_SWEEP_MODE IVI_CLASS_ATTR_BASE + 201

IVIRFSIGGEN_ATTR_SWEEP_TRIGGER_SOURCE IVI_CLASS_ATTR_BASE + 202

IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_START IVI_CLASS_ATTR_BASE + 211

IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_STOP IVI_CLASS_ATTR_BASE + 212

IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_TIME IVI_CLASS_ATTR_BASE + 213

IVIRFSIGGEN_ATTR_POWER_SWEEP_START IVI_CLASS_ATTR_BASE + 221

IVIRFSIGGEN_ATTR_POWER_SWEEP_STOP IVI_CLASS_ATTR_BASE + 222

IVIRFSIGGEN_ATTR_POWER_SWEEP_TIME IVI_CLASS_ATTR_BASE + 223

IVIRFSIGGEN_ATTR_FREQUENCY_STEP_START IVI_CLASS_ATTR_BASE + 241

IVIRFSIGGEN_ATTR_FREQUENCY_STEP_STOP IVI_CLASS_ATTR_BASE + 242

IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SCALING IVI_CLASS_ATTR_BASE + 243

IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SIZE IVI_CLASS_ATTR_BASE + 244

IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SINGLE_STEP_ENABLED IVI_CLASS_ATTR_BASE + 245

IVIRFSIGGEN_ATTR_FREQUENCY_STEP_DWELL IVI_CLASS_ATTR_BASE + 246

IVIRFSIGGEN_ATTR_POWER_STEP_START IVI_CLASS_ATTR_BASE + 261

IVIRFSIGGEN_ATTR_POWER_STEP_STOP IVI_CLASS_ATTR_BASE + 262

IVIRFSIGGEN_ATTR_POWER_STEP_SIZE IVI_CLASS_ATTR_BASE + 263

IVIRFSIGGEN_ATTR_POWER_STEP_SINGLE_STEP_ENABLED IVI_CLASS_ATTR_BASE + 264

IVIRFSIGGEN_ATTR_POWER_STEP_DWELL IVI_CLASS_ATTR_BASE + 265

IVIRFSIGGEN_ATTR_LIST_SELECTED_NAME IVI_CLASS_ATTR_BASE + 281

IVIRFSIGGEN_ATTR_LIST_SINGLE_STEP_ENABLED IVI_CLASS_ATTR_BASE + 282

IVIRFSIGGEN_ATTR_LIST_DWELL IVI_CLASS_ATTR_BASE + 283

IVIRFSIGGEN_ATTR_ALC_SOURCE IVI_CLASS_ATTR_BASE + 301

IVIRFSIGGEN_ATTR_ALC_BANDWIDTH IVI_CLASS_ATTR_BASE + 302

IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_SOURCE IVI_CLASS_ATTR_BASE + 321

IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_EXTERNAL_FREQUENCY IVI_CLASS_ATTR_BASE + 322

IVIRFSIGGEN_ATTR_IQ_ENABLED IVI_CLASS_ATTR_BASE + 401

IVIRFSIGGEN_ATTR_IQ_NOMINAL_VOLTAGE IVI_CLASS_ATTR_BASE + 402

IVIRFSIGGEN_ATTR_IQ_SOURCE IVI_CLASS_ATTR_BASE + 403

IVIRFSIGGEN_ATTR_IQ_SWAP_ENABLED IVI_CLASS_ATTR_BASE + 404

IVI-4.10 IviRFSigGen Class Specification 308 IVI Foundation


Table 30-1 IviRFSigGen Attributes ID Values (C only)

Attribute Name ID Definition


IVIRFSIGGEN_ATTR_IQ_IMPAIRMENT_ENABLED IVI_CLASS_ATTR_BASE + 421

IVIRFSIGGEN_ATTR_IQ_I_OFFSET IVI_CLASS_ATTR_BASE + 422

IVIRFSIGGEN_ATTR_IQ_Q_OFFSET IVI_CLASS_ATTR_BASE + 423

IVIRFSIGGEN_ATTR_IQ_RATIO IVI_CLASS_ATTR_BASE + 424

IVIRFSIGGEN_ATTR_IQ_SKEW IVI_CLASS_ATTR_BASE + 425

IVIRFSIGGEN_ATTR_ARB_SELECTED_WAVEFORM IVI_CLASS_ATTR_BASE + 451

IVIRFSIGGEN_ATTR_ARB_CLOCK_FREQUENCY IVI_CLASS_ATTR_BASE + 452

IVIRFSIGGEN_ATTR_ARB_FILTER_FREQUENCY IVI_CLASS_ATTR_BASE + 453

IVIRFSIGGEN_ATTR_ARB_MAX_NUMBER_WAVEFORMS IVI_CLASS_ATTR_BASE + 454

IVIRFSIGGEN_ATTR_ARB_WAVEFORM_QUANTUM IVI_CLASS_ATTR_BASE + 455

IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MIN IVI_CLASS_ATTR_BASE + 456

IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MAX IVI_CLASS_ATTR_BASE + 457

IVIRFSIGGEN_ATTR_ARB_TRIGGER_SOURCE IVI_CLASS_ATTR_BASE + 458

IVIRFSIGGEN_ATTR_ARB_EXTERNAL_TRIGGER_SLOPE IVI_CLASS_ATTR_BASE + 459

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_STANDARD_COUNT IVI_CLASS_ATTR_BASE + 501

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_SELECTED_STANDA IVI_CLASS_ATTR_BASE + 502


RD

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_DATA_SOURCE IVI_CLASS_ATTR_BASE + 503

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_PRBS_TYPE IVI_CLASS_ATTR_BASE + 504

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_BIT_SEQUENCE IVI_CLASS_ATTR_BASE + 505

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_CLOCK_SOURCE IVI_CLASS_ATTR_BASE + 506

IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_ IVI_CLASS_ATTR_BASE + 507


TYPE

IVIRFSIGGEN_ATTR_CDMA_STANDARD_COUNT IVI_CLASS_ATTR_BASE + 601

IVIRFSIGGEN_ATTR_CDMA_SELECTED_STANDARD IVI_CLASS_ATTR_BASE + 602

IVIRFSIGGEN_ATTR_CDMA_TRIGGER_SOURCE IVI_CLASS_ATTR_BASE + 603

VIRFSIGGEN_ATTR_CDMA_EXTERNAL_TRIGGER_SLOPE IVI_CLASS_ATTR_BASE + 604

IVIRFSIGGEN_ATTR_CDMA_TEST_MODEL_COUNT IVI_CLASS_ATTR_BASE + 605

IVIRFSIGGEN_ATTR_CDMA_SELECTED_TEST_MODEL IVI_CLASS_ATTR_BASE + 606

IVIRFSIGGEN_ATTR_CDMA_CLOCK_SOURCE IVI_CLASS_ATTR_BASE + 607

IVIRFSIGGEN_ATTR_TDMA_STANDARD_COUNT IVI_CLASS_ATTR_BASE + 701

IVIRFSIGGEN_ATTR_TDMA_SELECTED_STANDARD IVI_CLASS_ATTR_BASE + 702

IVIRFSIGGEN_ATTR_TDMA_TRIGGER_SOURCE IVI_CLASS_ATTR_BASE + 703

IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_TRIGGER_SLOPE IVI_CLASS_ATTR_BASE + 704

IVIRFSIGGEN_ATTR_TDMA_FRAME_COUNT IVI_CLASS_ATTR_BASE + 705

IVIRFSIGGEN_ATTR_TDMA_SELECTED_FRAME IVI_CLASS_ATTR_BASE + 706

IVIRFSIGGEN_ATTR_TDMA_CLOCK_SOURCE IVI_CLASS_ATTR_BASE + 707

IVI Foundation 309 IVI-4.10 IviRFSigGen Class Specification


Table 30-1 IviRFSigGen Attributes ID Values (C only)

Attribute Name ID Definition


IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_CLOCK_TYPE IVI_CLASS_ATTR_BASE + 708

IVI-4.10 IviRFSigGen Class Specification 310 IVI Foundation


31. IviRFSigGen Attribute Value Definitions
This section specifies the actual value for each defined attribute value.

AM Scaling

Value Name Language Identifier Actual


Value

AM Scaling Linear C IVIRFSIGGEN_VAL_AM_SCALING_LINEAR 0

COM IviRFSigGenAMScalingLinear 0

AM Scaling Logarithmic C IVIRFSIGGEN_VAL_AM_SCALING_LOGARITHMIC 1

COM IviRFSigGenAMScalingLogarithmic 1

AM Scaling Class Ext Base C IVIRFSIGGEN_VAL_AM_SCALING_CLASS_EXT_BASE 500

AM Scaling Specific Ext Base C IVIRFSIGGEN_VAL_AM_SCALING_SPECIFIC_EXT_BA 1000


SE

COM 1000

AM External Coupling

Value Name Language Identifier Actual


Value

AM External Coupling AC C IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_AC 0

COM IviRFSigGenAMExternalCouplingAC 0

AM External Coupling DC C IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_DC 1

COM IviRFSigGenAMExternalCouplingDC 1

AM External Coupling Class Ext C IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_CLASS 500


Base _EXT_BASE

AM External Coupling Specific C IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_SPECI 1000


Ext Base FIC_EXT_BASE

COM 1000

FM External Coupling

Value Name Language Identifier Actual


Value

FM External Coupling AC C IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_AC 0

COM IviRFSigGenFMExternalCouplingAC 0

FM External Coupling DC C IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_DC 1

COM IviRFSigGenFMExternalCouplingDC 1

FM External Coupling Class Ext C IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_CLASS 500


Base _EXT_BASE

IVI Foundation 311 IVI-4.10 IviRFSigGen Class Specification


Value Name Language Identifier Actual
Value
FM External Coupling Specific Ext C IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_SPECI 1000
Base FIC_EXT_BASE

COM 1000

PM External Coupling

Value Name Language Identifier Actual


Value

PM External Coupling AC C IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_AC 0

COM IviRFSigGenPMExternalCouplingAC 0

PM External Coupling DC C IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_DC 1

COM IviRFSigGenPMExternalCouplingDC 1

PM External Coupling Class Ext C IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_CLASS 500


Base _EXT_BASE

PM External Coupling Specific Ext C IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_SPECI 1000


Base FIC_EXT_BASE

COM 1000

Pulse Modulation Source

Value Name Language Identifier Actual


Value

Pulse Modulation Source Internal C IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_IN 0


TERNAL

COM IviRFSigGenPulseModulationSourceInternal 0

Pulse Modulation Source External C IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_EX 1


TERNAL

COM IviRFSigGenPulseModulationSourceExternal 1

Pulse Modulation Source Class C IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_CL 500


Ext Base ASS_EXT_BASE

Pulse Modulation Source Specific C IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_SP 1000


Ext Base ECIFIC_EXT_BASE

COM 1000

Pulse Modulation External Polarity

Value Name Language Identifier Actual


Value

Pulse Modulation External C IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_ 0


Polarity Normal POLARITY_NORMAL

IVI-4.10 IviRFSigGen Class Specification 312 IVI Foundation


Value Name Language Identifier Actual
Value

COM IviRFSigGenPulseModulationExternalPolarity 0
Normal

Pulse Modulation External C IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_ 1


Polarity Inverse POLARITY_INVERSE

COM IviRFSigGenPulseModulationExternalPolarity 1
Inverse

Pulse Modulation External C IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_ 500


Polarity Class Ext Base POLARITY_CLASS_EXT_BASE

Pulse Modulation External C IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_ 1000


Polarity Specific Ext Base POLARITY_SPECIFIC_EXT_BASE

COM 1000

LFGenerator Waveform

Value Name Language Identifier Actual


Value

LFGenerator Waveform Sine C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SINE 0

COM IviRFSigGenLFGeneratorWaveformSine 0

LFGenerator Waveform Square C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SQUA 1


RE

COM IviRFSigGenLFGeneratorWaveformSquare 1

LFGenerator Waveform Triangle C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_TRAN 2


GLE

COM IviRFSigGenLFGeneratorWaveformTriangle 2

LFGenerator Waveform Ramp Up C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_RAMP 3


_UP

COM IviRFSigGenLFGeneratorWaveformRampUp 3

LFGenerator Waveform Ramp C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_RAMP 4


Down _DOWN

COM IviRFSigGenLFGeneratorWaveformRampDown 4

LFGenerator Waveform Class Ext C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_CLAS 500


Base S_EXT_BASE

LFGenerator Waveform Specific C IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SPEC 1000


Ext Base IFIC_EXT_BASE

COM 1000

Pulse Trigger Source

IVI Foundation 313 IVI-4.10 IviRFSigGen Class Specification


Value Name Language Identifier Actual
Value

Pulse Trigger Source Internal C IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_INTER 0


NAL

COM IviRFSigGenPulseTriggerSourceInternal 0

Pulse Trigger Source External C IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_EXTER 1


NAL

COM IviRFSigGenPulseTriggerSourceExternal 1

Pulse Trigger Source Class Ext C IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_CLASS 500


Base _EXT_BASE

Pulse Trigger Source Specific Ext C IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_SPECI 1000


Base FIC_EXT_BASE

COM 1000

Pulse External Trigger Slope

Value Name Language Identifier Actual


Value

Pulse External Trigger Slope C IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLO 0


Positive PE_POSITIVE

COM IviRFSigGenPulseExternalTriggerSlopePositi 0
ve

Pulse External Trigger Slope C IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLO 1


Negative PE_NEGATIVE

COM IviRFSigGenPulseExternalTriggerSlopeNegati 1
ve

Pulse External Trigger Slope Class C IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLO 500


Ext Base PE_CLASS_EXT_BASE

Pulse External Trigger Slope C IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLO 1000


Specific Ext Base PE_SPECIFIC_EXT_BASE

COM 1000

Pulse Output Polarity

Value Name Language Identifier Actual


Value

Pulse Output Polarity Normal C IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_NORM 0


AL

COM IviRFSigGenPulseOutputPolarityNormal 0

Pulse Output Polarity Inverse C IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_INVE 1


RSE

COM IviRFSigGenPulseOutputPolarityInverse 1

Pulse Output Polarity Class Ext C IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_CLAS 500


Base S_EXT_BASE

IVI-4.10 IviRFSigGen Class Specification 314 IVI Foundation


Value Name Language Identifier Actual
Value
Pulse Output Polarity Specific Ext C IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_SPEC 1000
Base IFIC_EXT_BASE

COM 1000

Sweep Mode

Value Name Language Identifier Actual


Value

Sweep Mode None C IVIRFSIGGEN_VAL_SWEEP_MODE_NONE 0

COM IviRFSigGenSweepModeNone 0

Sweep Mode Fequency Sweep C IVIRFSIGGEN_VAL_SWEEP_MODE_FREQUENCY_SWEEP 1


COM IviRFSigGenSweepModeFrequencySweep 1

Sweep Mode Power Sweep C IVIRFSIGGEN_VAL_SWEEP_MODE_POWER_SWEEP 2

COM IviRFSigGenSweepModePowerSweep 2

Sweep Mode Frequeny Step C IVIRFSIGGEN_VAL_SWEEP_MODE_FREQUENCY_STEP 3

COM IviRFSigGenSweepModeFrequencyStep 3

Sweep Mode Power Step C IVIRFSIGGEN_VAL_SWEEP_MODE_POWER_STEP 4

COM IviRFSigGenSweepModePowerStep 4

Sweep Mode List C IVIRFSIGGEN_VAL_SWEEP_MODE_LIST 5

COM IviRFSigGenSweepModeList 5

Sweep Mode Class Ext Base C IVIRFSIGGEN_VAL_SWEEP_MODE_CLASS_EXT_BASE 500

Sweep Mode Specific Ext Base C IVIRFSIGGEN_VAL_SWEEP_MODE_SPECIFIC_EXT_BA 1000


SE

COM 1000

Sweep Trigger Source

Value Name Language Identifier Actual


Value

Sweep Trigger Source Immediate C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_IMMED 0


IATE

COM IviRFSigGenSweepTriggerSourceImmediate 0

Sweep Trigger Source External C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_EXTER 1


NAL

COM IviRFSigGenSweepTriggerSourceExternal 1

Sweep Trigger Source Software C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SOFTW 2


ARE

COM IviRFSigGenSweepTriggerSourceSoftware 2

Sweep Trigger Source Class Ext C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_CLASS 500


Base _EXT_BASE

IVI Foundation 315 IVI-4.10 IviRFSigGen Class Specification


Value Name Language Identifier Actual
Value
Sweep Trigger Source Specific Ext C IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SPECI 1000
Base FIC_EXT_BASE

COM 1000

Frequency Step Scaling

Value Name Language Identifier Actual


Value

Frequency Step Scaling Linear C IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_LIN 0


EAR

COM IviRFSigGenFrequencyStepScalingLinear 0

Frequency Step Scaling C IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_LOG 1


Logarithmic ARITHMIC

COM IviRFSigGenFrequencyStepScalingLogarithmic 1

Frequency Step Scaling Class Ext C IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_CLA 500


Base SS_EXT_BASE

Frequency Step Scaling Specific C IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_SPE 1000


Ext Base CIFIC_EXT_BASE

COM 1000

ALC Source

Value Name Language Identifier Actual


Value

ALC Source Internal C IVIRFSIGGEN_VAL_ALC_SOURCE_INTERNAL 0

COM IviRFSigGenALCSourceInternal 0

ALC Source External C IVIRFSIGGEN_VAL_ALC_SOURCE_EXTERNAL 1

COM IviRFSigGenALCSourceExternal 1

ALC Source Class Ext Base C IVIRFSIGGEN_VAL_ALC_SOURCE_CLASS_EXT_BASE 500

ALC Source Specific Ext Base C IVIRFSIGGEN_VAL_ALC_SOURCE_SPECIFIC_EXT_BA 1000


SE

COM 1000

Reference Oscillator Source

Value Name Language Identifier Actual


Value

Reference Oscillator Source C IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_I 0


Internal NTERNAL

COM IviRFSigGenReferenceOscillatorSourceInternal 0

IVI-4.10 IviRFSigGen Class Specification 316 IVI Foundation


Value Name Language Identifier Actual
Value
Reference Oscillator Source C IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_E 1
External XTERNAL

COM IviRFSigGenReferenceOscillatorSourceExternal 1

Reference Oscillator Source C IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_C 500


Class Ext Base LASS_EXT_BASE

Reference Oscillator Source C IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_S 1000


Specific Ext Base PECIFIC_EXT_BASE

COM 1000

IQ Source

Value Name Language Identifier Actual


Value

IQ Source DigitalModulation Base C IVIRFSIGGEN_VAL_IQ_SOURCE_DIGITAL_MODULATI 0


ON_BASE

COM IviRFSigGenIQSourceDigitalModulationBase 0

IQ Source CDMA Base C IVIRFSIGGEN_VAL_IQ_SOURCE_CDMA_BASE 1


COM IviRFSigGenIQSourceCDMABase 1

IQ Source TDMA Base C IVIRFSIGGEN_VAL_IQ_SOURCE_TDMA_BASE 2

COM IviRFSigGenIQSourceTDMABase 2

IQ Source Arb Generator C IVIRFSIGGEN_VAL_IQ_SOURCE_ARB_GENERATOR 3

COM IviRFSigGenIQSourceArbGenerator 3

IQ Source External C IVIRFSIGGEN_VAL_IQ_SOURCE_EXTERNAL 4

COM IviRFSigGenIQSourceExternal 4

IQ Source Class Ext Base C IVIRFSIGGEN_VAL_IQ_SOURCE_CLASS_EXT_BASE 500

IQ Source Specific Ext Base C IVIRFSIGGEN_VAL_IQ_SOURCE_SPECIFIC_EXT_BAS 1000


E

COM 1000

Arb Trigger Source

Value Name Language Identifier Actual


Value

Arb Trigger Source Immediate C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_IMMEDIA 0


TE

COM IviRFSigGenArbTriggerSourceImmediate 0

Arb Trigger Source External C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_EXTERNA 1


L

COM IviRFSigGenArbTriggerSourceExternal 1

IVI Foundation 317 IVI-4.10 IviRFSigGen Class Specification


Value Name Language Identifier Actual
Value
Arb Trigger Source Software C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SOFTWAR 2
E

COM IviRFSigGenArbTriggerSourceSoftware 2

Arb Trigger Source Class Ext Base C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_CLASS_E 500


XT_BASE

Arb Trigger Source Specific Ext C IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SPECIFI 1000


Base C_EXT_BASE

COM 1000

Arb External Trigger Slope

Value Name Language Identifier Actual


Value

Arb External Trigger Slope C IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE 0


Positive _POSITIVE

COM IviRFSigGenArbExternalTriggerSlopePositive 0

Arb External Trigger Slope C IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE 1


Negative _NEGATIVE

COM IviRFSigGenArbExternalTriggerSlopeNegative 1

Arb External Trigger Slope Class C IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE 500


Ext Base _CLASS_EXT_BASE

Arb External Trigger Slope C IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE 1000


Specific Ext Base _SPECIFIC_EXT_BASE

COM 1000

Digital Modulation Base Data Source

Value Name Language Identifier Actual


Value

Digital Modulation Base Data C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DA 0


Source External TA_SOURCE_EXTERNAL

COM IviRFSigGenDigitalModulationBaseDataExtern 0
al

Digital Modulation Base Data C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DA 1


Source PRBS TA_SOURCE_PRBS

COM IviRFSigGenDigitalModulationBaseDataPRBS 1

Digital Modulation Base Data C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DA 2


Source Bit Sequence TA_SOURCE_BIT_SEQUENCE

COM IviRFSigGenDigitalModulationBaseDataBitSeq 2
uence

Digital Modulation Base Data C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DA 500


Source Class Ext Base TA_SOURCE_CLASS_EXT_BASE

IVI-4.10 IviRFSigGen Class Specification 318 IVI Foundation


Value Name Language Identifier Actual
Value
Digital Modulation Base Data C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DA 1000
Source Specific Ext Base TA_SOURCE_SPECIFIC_EXT_BASE

COM 1000

Digital Modulation Base PRBS Type

Value Name Language Identifier Actual


Value

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 0


Type PRBS9 E_PRBS_TYPE_PRBS9
COM IviRFSigGenDigitalModulationBasePRBS9 0

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_ 1


Type PRBS11 DIGITAL_MODULATION_BASE
PRBS_TYPE_PRBS11
COM IviRFSigGenDigitalModulationBasePRBS11 1

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 2


Type PRBS15 E_PRBS_TYPE_PRBS15
COM IviRFSigGenDigitalModulationBasePRBS15 2

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 3


Type PRBS16 E_PRBS_TYPE_PRBS16
COM IviRFSigGenDigitalModulationBasePRBS16 3

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 4


Type PRBS20 E_PRBS_TYPE_PRBS20
COM IviRFSigGenDigitalModulationBasePRBS20 4

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 5


Type PRBS21 E_PRBS_TYPE_PRBS21
COM IviRFSigGenDigitalModulationBasePRBS21 5

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 6


Type PRBS23 E_PRBS_TYPE_PRBS23
COM IviRFSigGenDigitalModulationBasePRBS23 6

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PR 500


Type Class Ext Base BS_TYPE_CLASS_EXT_BASE

Digital Modulation Base PRBS C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PR 1000


Type Specific Ext Base BS_TYPE_SPECIFIC_EXT_BASE

COM 1000

Digital Modulation Base Clock Source

IVI Foundation 319 IVI-4.10 IviRFSigGen Class Specification


Value Name Language Identifier Actual
Value

Digital Modulation Base Clock C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CL 0


Source Internal OCK_SOURCE_INTERNAL

COM IviRFSigGenDigitalModulationBaseClockSourc 0
eInternal

Digital Modulation Base Clock C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CL 1


Source External OCK_SOURCE_EXTERNAL

COM IviRFSigGenDigitalModulationBaseClockSourc 1
eExternal

Digital Modulation Base Clock C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CL 500


Source Class Ext Base OCK_SOURCE_CLASS_EXT_BASE

Digital Modulation Base Clock C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CL 1000


Source Specific Ext Base OCK_SOURCE_SPECIFIC_EXT_BASE

COM 1000

Digital Modulation Base External Clock Type

Value Name Language Identifier Actual


Value

Digital Modulation Base External C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 0


Clock Type Bit E_EXTERNAL_CLOCK_TYPE_BIT
COM IviRFSigGenDigitalModulationBaseExtern 0
alClockTypeBit
Digital Modulation Base External C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BAS 1
Clock Type Symbol E_EXTERNAL_CLOCK_TYPE_SYMBOL
COM IviRFSigGenDigitalModulationBaseExtern 1
alClockTypeSymbol
Digital Modulation Base External C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EX 500
Clock Type Class Ext Base TERNAL_CLOCK_TYPE_CLASS_EXT_BASE

Digital Modulation Base External C IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EX 1000


Clock Type Specific Ext Base TERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE

COM 1000

CDMA Trigger Source

Value Name Language Identifier Actual


Value

CDMA Trigger Source Immediate C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_IMMEDI 0


ATE

COM IviRFSigGenCDMATriggerSourceImmediate 0

CDMA Trigger Source External C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_EXTERN 1


AL

COM IviRFSigGenCDMATriggerSourceExternal 1

IVI-4.10 IviRFSigGen Class Specification 320 IVI Foundation


Value Name Language Identifier Actual
Value
CDMA Trigger Source Software C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SOFTWA 2
RE

COM IviRFSigGenCDMATriggerSourceSoftware 2

CDMA Trigger Source Class Ext C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_CLASS_ 500


Base EXT_BASE

CDMA Trigger Source Specific C IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SPECIF 1000


Ext Base IC_EXT_BASE

COM 1000

CDMA External Trigger Slope

Value Name Language Identifier Actual


Value

CDMA External Trigger Slope C IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOP 0


Positive E_POSITIVE

COM IviRFSigGenCDMAExternalTriggerSlopePositiv 0
e

CDMA External Trigger Slope C IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOP 1


Negative E_NEGATIVE

COM IviRFSigGenCDMAExternalTriggerSlopeNegativ 1
e

CDMA External Trigger Slope C IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOP 500


Class Ext Base E_CLASS_EXT_BASE

CDMA External Trigger Slope C IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOP 1000


Specific Ext Base E_SPECIFIC_EXT_BASE

COM 1000

CDMA Clock Source

Value Name Language Identifier Actual


Value

CDMA Clock Source Internal C IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_INTERNAL 0

COM IviRFSigGenCDMAClockSourceInternal 0

CDMA Clock Source External C IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_EXTERNAL 1

COM IviRFSigGenCDMAClockSourceExternal 1

CDMA Clock Source Class Ext C IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_CLASS_EX 500


Base T_BASE

CDMA Clock Source Specific Ext C IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_SPECIFIC 1000


Base _EXT_BASE

COM 1000

IVI Foundation 321 IVI-4.10 IviRFSigGen Class Specification


TDMA Trigger Source

Value Name Language Identifier Actual


Value

TDMA Trigger Source Immediate C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_IMMEDI 0


ATE

COM IviRFSigGenTDMATriggerSourceImmediate 0

TDMA Trigger Source External C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_EXTERN 1


AL

COM IviRFSigGenTDMATriggerSourceExternal 1

TDMA Trigger Source Software C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SOFTWA 2


RE

COM IviRFSigGenTDMATriggerSourceSoftware 2

TDMA Trigger Source Class Ext C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_CLASS_ 500


Base EXT_BASE

TDMA Trigger Source Specific C IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SPECIF 1000


Ext Base IC_EXT_BASE

COM 1000

TDMA External Trigger Slope

Value Name Language Identifier Actual


Value

TDMA External Trigger Slope C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOP 0


Positive E_POSITIVE

COM IviRFSigGenTDMAExternalTriggerSlopePositiv 0
e

TDMA External Trigger Slope C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOP 1


Negative E_NEGATIVE

COM IviRFSigGenTDMAExternalTriggerSlopeNegativ 1
e

TDMA External Trigger Slope C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOP 500


Class Ext Base E_CLASS_EXT_BASE

TDMA External Trigger Slope C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOP 1000


Specific Ext Base E_SPECIFIC_EXT_BASE

COM 1000

TDMA Clock Source

Value Name Language Identifier Actual


Value

TDMA Clock Source Internal C IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_INTERNAL 0

COM IviRFSigGenTDMAClockSourceInternal 0

IVI-4.10 IviRFSigGen Class Specification 322 IVI Foundation


Value Name Language Identifier Actual
Value
TDMA Clock Source External C IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_EXTERNAL 1

COM IviRFSigGenTDMAClockSourceExternal 1

TDMA Clock Source Class Ext C IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_CLASS_EX 500


Base T_BASE

TDMA Clock Source Specific Ext C IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_SPECIFIC 1000


Base _EXT_BASE

COM 1000

TDMA External Clock Type

Value Name Language Identifier Actual


Value

TDMA External Clock Type Bit C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_B 0


IT

COM IviRFSigGenTDMAExternalClockTypeBit 0

TDMA External Clock Type C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_S 1


Symbol YMBOL

COM IviRFSigGenTDMAExternalClockTypeSymbol 1

TDMA External Clock Type Class C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_C 500


Ext Base LASS_EXT_BASE

TDMA External Clock Type C IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_S 1000


Specific Ext Base PECIFIC_EXT_BASE

COM 1000

IVI Foundation 323 IVI-4.10 IviRFSigGen Class Specification


32. IviRFSigGen Function Parameter Value Definitions
This section specifies the actual values for each function parameter that defines values.

Wait Until Settled


Parameter: MaxTimeMilleseconds
Value Name Language Identifier Actual Value
Max Time Immediate C IVIRFSIGGEN_VAL_MAX_TIME_IMMEDIATE 0x0
COM IviRFSigGenMaxTimeImmediate 0x0
Max Time Infinite C IVIRFSIGGEN_VAL_MAX_TIME_INFINITE 0xFFFFFFFFUL
COM IviRFSigGenMaxTimeInfinite 0xFFFFFFFFUL

IVI-4.10 IviRFSigGen Class Specification 324 IVI Foundation


33. IviRFSigGen Error and Completion Code Value Definitions
Table 33-1 specifies the actual value for each status code that the IviRFSigGen class specification defines.

Table 33-1 IviRFSigGen Completion Codes

Error Name Description

Languag Identifier Value(hex)


e

Trigger Not Software The trigger source is not set to software trigger.
C IVIRFSIGGEN_ERROR_TRIGGER_NOT_SOFTWA 0xBFFA1001
RE
COM E_IVIRFSIGGEN_TRIGGER_NOT_SOFTWARE 0x80041001
Max Time Exceeded Maximum time exceeded before the operation completed.
C IVIRFSIGGEN_ERROR_MAX_TIME_EXCEEDED 0xBFFA2003
COM E_IVIRFSIGGEN_MAX_TIME_EXCEEDED 0x80042003
List Unknown The selected list is not defined.
C IVIRFSIGGEN_ERROR_LIST_UNKNOWN 0xBFFA200A
COM E_IVIRFSIGGEN_LIST_UNKNOWN 0x8004200A

Table 33-2 defines the recommended format of the message string associated with the errors. In C, these
strings are returned by the Get Error function. In COM, these strings are the description contained in the
ErrorInfo object.

Note: In the description string table entries listed below, %s is always used to represent the component name.

Table 33-2. IviRFSigGen Error Message Strings

Name Message String

Trigger Not Software “%s: Trigger source is not set to software trigger”
Max Time Exceeded “%s: Max Time Exceeded”
List Unknown “%s: List Unknown”

IVI Foundation 325 IVI-4.10 IviRFSigGen Class Specification


34. IviRFSigGen Hierarchies

34.1 IviRFSigGen COM Hierarchy

Table 34-1. IviRFSigGen COM Hierarchy

COM Interface Hierarchy Generic Name Type

SendSoftwareTrigger Send Software Trigger M


RF
Configure Configure RF M
IsSettled Is Settled M
WaitUntilSettled Wait Until Settled M
DisableAllModulation Disable All Modulation M
Frequency Frequency P
Level Power Level P
OutputEnabled Output Enabled P
AnalogModulation
Source
Name Analog Modulation Source Name P
Count Analog Modulation Source Count P
AM
Configure Configure AM M
Enabled AM Enabled P
Source AM Source P
Scaling AM Scaling P
ExternalCoupling AM External Coupling P
NominalVoltage AM Nominal Voltage P
Depth AM Depth P
FM
Configure Configure FM M
Enabled FM Enabled P
Source FM Source P
ExternalCoupling FM External Coupling P
NominalVoltage FM Nominal Voltage P
Deviation FM Deviation P

IVI-4.10 IviRFSigGen Class Specification 326 IVI Foundation


Table 34-1. IviRFSigGen COM Hierarchy

COM Interface Hierarchy Generic Name Type


PM
Configure Configure PM M
Enabled PM Enabled P
Source PM Source P
ExternalCoupling PM External Coupling P
NominalVoltage PM Nominal Voltage P
Deviation PM Deviation P
PulseModulation
Enabled Pulse Modulation Enabled P
Source Pulse Modulation Source P
ExternalPolarity Pulse Modulation External Polarity P
LFGenerator
Configure Configure LF Generator M
ActiveLFGenerator Active LFGenerator P
Name LFGenerator Name P
Count LFGenerator Count P
Frequency LFGenerator Frequency P
Waveform LFGenerator Waveform P
Output
Configure Configure LFGenerator Output M
Enabled LFGenerator Output Enabled P
Amplitude LFGenerator Output Amplitude P
PulseGenerator
Configure Configure Pulse M
ConfigureExternalTrigger Configure Pulse External Trigger M
InternalTriggerPeriod Pulse Internal Trigger Period P
Width Pulse Width P
GatingEnabled Pulse Gating Enabled P
TriggerSource Pulse Trigger Source P
ExternalTriggerSlope Pulse External Trigger Slope P
ExternalTriggerDelay Pulse External Trigger Delay P
Double
Configure Configure Pulse Double M
Enabled Pulse Double Enabled P
Delay Pulse Double Delay P

IVI Foundation 327 IVI-4.10 IviRFSigGen Class Specification


Table 34-1. IviRFSigGen COM Hierarchy

COM Interface Hierarchy Generic Name Type


Output
Configure Configure Pulse Output M
Polarity Pulse Output Polarity P
Enabled Pulse Output Enabled P
Sweep
Configure Configure Sweep M
Mode Sweep Mode P
TriggerSource Sweep Trigger Source P
FrequencySweep
ConfigureStartStop Configure Frequency Sweep Start Stop M
ConfigureCenterSpan Configure Frequency Sweep Center Span M
Start Frequency Sweep Start P
Stop Frequency Sweep Stop P
Time Frequency Sweep Time P
PowerSweep
ConfigureStartStop Configure Power Sweep Start Stop M
Start Power Sweep Start P
Stop Power Sweep Stop P
Time Power Sweep Time P
FrequencyStep
ConfigureStartStop Configure Frequency Step Start Stop M
ConfigureDwell Configure Frequency Step Dwell M
Reset Frequency Step Reset M
Start Frequency Step Start P
Stop Frequency Step Stop P
Scaling Frequency Step Scaling P
Size Frequency Step Size P
SingleStepEnabled Frequency Step Single Step Enabled P
Dwell Frequency Step Swell P
PowerStep
ConfigureStartStop Configure Power Step Start Stop M
ConfigureDwell Configure Power Step Dwell M
Reset Power Step Reset M
Start Power Step Start P
Stop Power Step Stop P
Size Power Step Size P
SingleStepEnabled Power Step Single Step Enabled P
Dwell Power Step Dwell P

IVI-4.10 IviRFSigGen Class Specification 328 IVI Foundation


Table 34-1. IviRFSigGen COM Hierarchy

COM Interface Hierarchy Generic Name Type


List
CreateFrequency Create Frequency List M
CreatePower Create Power List M
CreateFrequencyPower Create Frequency Power List M
ClearAll Clear All List M
ConfigureDwell Configure List Dwell M
Reset List Reset M
SelectedName List Selected Name P
SingleStepEnabled List Single Step Enabled P
Dwell List Dwell P
ALC
Configure Configure ALC M
Enabled ALC Enabled P
Source ALC Source P
Bandwidth ALC Bandwidth P
ReferenceOscillator
Configure Configure Reference Oscillator M
Source Reference Oscillator Source P
ExternalFrequency Reference Oscillator External Frequency P
IQ
Configure Configure IQ M
Calibrate Calibrate IQ M
Enabled IQ Enabled P
Source IQ Source P
NominalVoltage IQ Nominal Voltage P
SwapEnabled IQ Swap Enabled P
Impairment
Configure Configure IQ Impairment M
Enabled IQ Impairment Enabled P
IOffset IQ I-Offset P
QOffset IQ Q-Offset P
Ratio IQ Ratio P
Skew IQ Skew P

IVI Foundation 329 IVI-4.10 IviRFSigGen Class Specification


Table 34-1. IviRFSigGen COM Hierarchy

COM Interface Hierarchy Generic Name Type


DigitalModulation
Arb
Configure Configure Arb M
WriteWaveform Write Arb Waveform M
ClearAllWaveforms Clear All Arb Waveforms M
QueryWaveformCapabilities Query Arb Waveform Capabilities M
SelectedWaveform Arb Selected Waveform P
ClockFrequency Arb Clock Frequency P
FilterFrequency Arb Filter Frequency P
MaxNumberWaveforms Arb Max Number Waveforms P
WaveformQuantum Arb Waveform Quantum P
WaveformSizeMin Arb Waveform Size Min P
WaveformSizeMax Arb Waveform Size Max P
TriggerSource Arb Trigger Source P
ExternalTriggerSlope Arb External Trigger Slope P
Base
StandardName DigitalModulationBase Standard Name P
StandardCount DigitalModulationBase Standard Count P
ConfigureClockSource Configure DigitalModulationBase Clock M
Source
WriteBitSequence Write DigitalModulationBase Bit Sequence M
ClearAllBitSequences Clear DigitalModulationBase Bit Sequence M
SelectedStandard DigitalModulationBase Selected Standard P
DataSource DigitalModulationBase Data Source P
PRBSType DigitalModulationBase PRBS TYpe P
SelectedBitSequence DigitalModulationBase Selected Bit Sequence P
ClockSource DigitalModulationBase Clock Source P
ExternalClockType DigitalModulationBase External Clock Type P
CDMA
StandardName CDMA Standard Name P
StandardCount CDMA Standard Count P
TestModelName CDMA Test Model Name P
TestModelCount CDMA Test Model Count P
SelectedStandard CDMA Selected Standard P
TriggerSource CDMA Trigger Source P
ExternalTriggerSlope CDMA External Trigger Slope P
SelectedTestModel CDMA Selected Test Model P
ClockSource CDMA Clock Source P

IVI-4.10 IviRFSigGen Class Specification 330 IVI Foundation


Table 34-1. IviRFSigGen COM Hierarchy

COM Interface Hierarchy Generic Name Type


TDMA
StandardName TDMA Standard Name P
StandardCount TDMA Standard Count P
ConfigureClockSource Configure TDMA Clock Source M
FrameName TDMA Frame Name P
FrameCount TDMA Frame Count P
SelectedStandard TDMA Selected Standard P
TriggerSource TDMA Trigger Source P
ExternalTriggerSlope TDMA External Trigger Slope P
SelectedFrame TDMA Selected Frame P
ClockSource TDMA Clock Source P
ExternalClockType TDMA External Clock Type P

IVI Foundation 331 IVI-4.10 IviRFSigGen Class Specification


34.1.1 IviRFSigGen COM Interfaces

In addition to implementing IVI inherent capabilities interfaces, IviRFSigGen interfaces contain interface
reference properties for accessing the following IviRFSigGen interfaces:
? IIviRFSigGenRF
? IIviRFSigGenAnalogModulation
? IIviRFSigGenPulseModulation
? IIviRFSigGenLFGenerator
? IIviRFSigGenPulseGenerator
? IIviRFSigGenSweep
? IIviRFSigGenALC
? IIviRFSigGenReferenceOscillator
? IIviRFSigGenIQ
? IiviRFSigGenDigitalModulation
The IIviRFSigGenAnalogModulation interface contains interface reference properties for accessing additional
the following IviRFSigGen AnalogModulation interfaces:
? IIviRFSigGenAnalogModulationSource
? IIviRFSigGenAM
? IIviRFSigGenFM
? IIviRFSigGenPM
The IIviRFSigGenLFGenerator interface contains interface reference properties for accessing additional the
following IviRFSigGen LFGenerator interfaces:
? IIviRFSigGenLFGeneratorOutput
The IIviRFSigGenPulseGenerator interface contains interface reference properties for accessing additional the
following IviRFSigGen PulseGenerator interfaces:
? IIviRFSigGenPulseGeneratorDouble
? IIviRFSigGenPulseGeneratorOutput
The IIviRFSigGenSweep interface contains interface reference properties for accessing additional the
following IviRFSigGen Sweep interfaces:
? IIviRFSigGenFrequencySweep
? IIviRFSigGenPowerSweep
? IIviRFSigGenFrequencyStep
? IIviRFSigGenPowerStep
? IIviRFSigGenList
The IIviRFSigGenIQ interface contains interface reference properties for accessing additional the following
IviRFSigGen IQ interfaces:
? IIviRFSigGenIQImpairment
The IIviRFSigGenDigitalModulation interface contains interface reference properties for accessing additional
the following IviRFSigGen DigitalModulation interfaces:
? IIviRFSigGenArb
? IIviRFSigGenDigitalModulationBase
? IIviRFSigGenCDMA
? IIviRFSigGenTDMA

IVI-4.10 IviRFSigGen Class Specification 332 IVI Foundation


Table 34-2. IviRFSigGen Interface GUIDs lists the interfaces that this specification defines and their GUIDs.

Table 34-2. IviRFSigGen Interface GUIDs


Interface GUID
IIviRFSigGen {47ed52e2-a398-11d4-ba58-000064657374}
IIviRFSigGenRF {47ed52e3-a398-11d4-ba58-000064657374}
IIviRFSigGenALC {47ed52e4-a398-11d4-ba58-000064657374}
IIviRFSigGenReferenceOscillator {47ed52e5-a398-11d4-ba58-000064657374}
IIviRFSigGenLFGenerator {47ed52e6-a398-11d4-ba58-000064657374}
IIviRFSigGenLFGeneratorOutput {47ed52e7-a398-11d4-ba58-000064657374}
IIviRFSigGenPulseGenerator {47ed52e8-a398-11d4-ba58-000064657374}
IIviRFSigGenPulseGeneratorDouble {47ed52e9-a398-11d4-ba58-000064657374}
IIviRFSigGenPulseGeneratorOutput {47ed52ea-a398-11d4-ba58-000064657374}
IIviRFSigGenAnalogModulation {47ed52eb-a398-11d4-ba58-000064657374}
IIviRFSigGenAnalogModulationSource {47ed52ec-a398-11d4-ba58-000064657374}
IIviRFSigGenAM {47ed52ed-a398-11d4-ba58-000064657374}
IIviRFSigGenFM {47ed52ee-a398-11d4-ba58-000064657374}
IIviRFSigGenPM {47ed52ef-a398-11d4-ba58-000064657374}
IIviRFSigGenPulseModulation {47ed52f0-a398-11d4-ba58-000064657374}
IIviRFSigGenSweep {47ed52f1-a398-11d4-ba58-000064657374}
IIviRFSigGenFrequencySweep {47ed52f2-a398-11d4-ba58-000064657374}
IIviRFSigGenPowerSweep {47ed52f3-a398-11d4-ba58-000064657374}
IIviRFSigGenFrequencyStep {47ed52f4-a398-11d4-ba58-000064657374}
IIviRFSigGenPowerStep {47ed52f5-a398-11d4-ba58-000064657374}
IIviRFSigGenList {47ed52f6-a398-11d4-ba58-000064657374}
IIviRFSigGenIQ {47ed52f8-a398-11d4-ba58-000064657374}
IIviRFSigGenIQImpairment {47ed52f9-a398-11d4-ba58-000064657374}
IIviRFSigGenDigitalModulation {47ed52f7-a398-11d4-ba58-000064657374}
IIviRFSigGenArb {47ed52fa-a398-11d4-ba58-000064657374}
IIviRFSigGenDigitalModulationBase {47ed52fb-a398-11d4-ba58-000064657374}
IIviRFSigGenCDMA {47ed52fc-a398-11d4-ba58-000064657374}
IIviRFSigGenTDMA {47ed52fd-a398-11d4-ba58-000064657374}

IVI Foundation 333 IVI-4.10 IviRFSigGen Class Specification


34.1.2 Interface Reference Properties

Interface reference properties are used to navigate the IviRFSigGen COM hierarchy. This section describes the
interface reference properties that the IIviRFSigGen interfaces define.

34.1.2.1 RF

Data Type Access


IIviRFSigGenRF* RO

COM Property Name


RF

Description
Returns a pointer to the IiviRFSigGenRF interface.

34.1.2.2 AnalogModulation

Data Type Access


IIviRFSigGenAnalogModulation* RO

COM Property Name


AnalogModulation

Description
Returns a pointer to the IiviRFSigGenAnalogModulation interface.

34.1.2.3 AnalogModulationSource

Data Type Access


IIviRFSigGenAnalogModulationSource* RO

COM Property Name


AnalogModulation.Source

Description
Returns a pointer to the IiviRFSigGenAnalogModulationSource interface.

34.1.2.4 AM

Data Type Access


IIviRFSigGenAM* RO

COM Property Name


AnalogModulation.AM

IVI-4.10 IviRFSigGen Class Specification 334 IVI Foundation


Description
Returns a pointer to the IiviRFSigGenAM interface.

34.1.2.5 FM

Data Type Access


IIviRFSigGenFM* RO

COM Property Name


AnalogModulation.FM

Description
Returns a pointer to the IiviRFSigGenFM interface.

34.1.2.6 PM

Data Type Access


IIviRFSigGenPM* RO

COM Property Name


AnalogModulation.PM

Description
Returns a pointer to the IiviRFSigGenPM interface.

34.1.2.7 PulseModulation

Data Type Access


IIviRFSigGenPulseModulation* RO

COM Property Name


PulseModulation

Description
Returns a pointer to the IiviRFSigGenPulseModulation interface.

34.1.2.8 LFGenerator

Data Type Access


IIviRFSigGenLFGenerator* RO

COM Property Name


LFGenerator

Description
Returns a pointer to the IiviRFSigGenLFGenerator interface.

IVI Foundation 335 IVI-4.10 IviRFSigGen Class Specification


34.1.2.9 LFGeneratorOutput

Data Type Access


IIviRFSigGenLFGeneratorOutput* RO

COM Property Name


LFGenerator.Output

Description
Returns a pointer to the IiviRFSigGenLFGeneratorOutput interface.

34.1.2.10 PulseGenerator

Data Type Access


IIviRFSigGenPulseGenerator* RO

COM Property Name


PulseGenerator

Description
Returns a pointer to the IiviRFSigGen PulseGenerator interface.

34.1.2.11 PulseGeneratorDouble

Data Type Access


IIviRFSigGenPulseGeneratorDouble* RO

COM Property Name


PulseGenerator.Double

Description
Returns a pointer to the IiviRFSigGen PulseGeneratorDouble interface.

34.1.2.12 PulseGeneratorOutput

Data Type Access


IIviRFSigGenPulseGeneratorOutput* RO

COM Property Name


PulseGenerator.Output

Description
Returns a pointer to the IiviRFSigGen PulseGeneratorOutput interface.

34.1.2.13 Sweep

IVI-4.10 IviRFSigGen Class Specification 336 IVI Foundation


Data Type Access
IIviRFSigGenSweep* RO

COM Property Name


Sweep

Description
Returns a pointer to the IiviRFSigGen Sweep interface.

34.1.2.14 FrequencySweep

Data Type Access


IIviRFSigGenFrequencySweep* RO

COM Property Name


Sweep.FrequencySweep

Description
Returns a pointer to the IiviRFSigGen FrequencySweep interface.

34.1.2.15 PowerSweep

Data Type Access


IIviRFSigGenPowerSweep* RO

COM Property Name


Sweep.PowerSweep

Description
Returns a pointer to the IiviRFSigGen PowerSweep interface.

34.1.2.16 FrequencyStep

Data Type Access


IIviRFSigGenFrequencyStep* RO

COM Property Name


Sweep.FrequencyStep

Description
Returns a pointer to the IiviRFSigGen FrequencyStep interface.

34.1.2.17 PowerStep

IVI Foundation 337 IVI-4.10 IviRFSigGen Class Specification


Data Type Access
IIviRFSigGenPowerStep* RO

COM Property Name


Sweep.PowerStep

Description
Returns a pointer to the IiviRFSigGen PowerStep interface.

34.1.2.18 List

Data Type Access


IIviRFSigGenList* RO

COM Property Name


Sweep.List

Description
Returns a pointer to the IiviRFSigGen List interface.

34.1.2.19 ALC

Data Type Access


IIviRFSigGenALC* RO

COM Property Name


ALC

Description
Returns a pointer to the IiviRFSigGen ALC interface.

34.1.2.20 ReferenceOscillator

Data Type Access


IIviRFSigGenReferenceOscillator* RO

COM Property Name


ReferenceOscillator

Description
Returns a pointer to the IiviRFSigGen ReferenceOscillator interface.

34.1.2.21 IQ

IVI-4.10 IviRFSigGen Class Specification 338 IVI Foundation


Data Type Access
IIviRFSigGenIQ* RO

COM Property Name


IQ

Description
Returns a pointer to the IiviRFSigGen IQ interface.

34.1.2.22 IQImpairment

Data Type Access


IIviRFSigGenIQImpairment* RO

COM Property Name


IQ.Impairment

Description
Returns a pointer to the IiviRFSigGen IQImpairment interface.

34.1.2.23 DigitalModulation

Data Type Access


IIviRFSigGenDigitalModulation* RO

COM Property Name


DigitalModulation

Description
Returns a pointer to the IiviRFSigGen DigitalModulation interface.

34.1.2.24 ARB

Data Type Access


IIviRFSigGenArb* RO

COM Property Name


DigitalModulation.Arb

Description
Returns a pointer to the IiviRFSigGen ARB interface.

34.1.2.25 DigitalModulationBase

IVI Foundation 339 IVI-4.10 IviRFSigGen Class Specification


Data Type Access
IIviRFSigGenDigitalModulationBase* RO

COM Property Name


DigitalModulation.Base

Description
Returns a pointer to the IiviRFSigGen DigitalModulationBase interface.

34.1.2.26 CDMA

Data Type Access


IIviRFSigGenCDMA* RO

COM Property Name


DigitalModulation.CDMA

Description
Returns a pointer to the IiviRFSigGen CDMA interface.

34.1.2.27 TDMA

Data Type Access


IIviRFSigGenTDMA* RO

COM Property Name


DigitalModulation.TDMA

Description
Returns a pointer to the IiviRFSigGen TDMA interface.

34.1.3 IviRFSigGen COM Category


The IviRFSigGen class COM Category shall be “IviRFSigGen”, and the Category ID (CATID) shall be
{47ed5159-a398-11d4-ba58-000064657374}.

IVI-4.10 IviRFSigGen Class Specification 340 IVI Foundation


34.2 IviRFSigGen C Function Hierarchy

The IviRFSigGen class function hierarchy is shown in the following table.

Table 34-3. IviRFSigGen Function Hierarchy

Name or Class Function Name


Configuration…
RF…
Configure RF IviRFSigGen_ConfigureRF
Configure ALC Enabled IviRFSigGen_ConfigureALCEnabled
Configure Output Enabled IviRFSigGen_ConfigureOutputEnabled
AnalogModulation…
Configure AM Enabled IviRFSigGen_ConfigureAMEnabled
Configure AM External Coupling IviRFSigGen_ConfigureAMExternalCoupling
Configure AM IviRFSigGen_ConfigureAM
Configure FM Enabled IviRFSigGen_ConfigureFMEnabled
Configure FM External Coupling IviRFSigGen_ConfigureFMExternalCoupling
Configure FM IviRFSigGen_ConfigureFM
Configure PM Enabled IviRFSigGen_ConfigurePMEnabled
Configure PM External Coupling IviRFSigGen_ConfigurePMExternalCoupling
Configure PM IviRFSigGen_ConfigurePM
Get Analog Modulation Source Name IviRFSigGen_GetAnalogModulationSourceName
PulseModulation…
Configure Pulse Modulation Enabled IviRFSigGen_ConfigurePulseModulationEnabled
Configure Pulse Modulation Source IviRFSigGen_ConfigurePulseModulationSource
Configure Pulse Modulation External Polarity IviRFSigGen_ConfigurePulseModulationExternalPo
larity
LFGenerator...
Configure LFGenerator IviRFSigGen_ConfigureLFGenerator
Get LFGenerator Name IviRFSigGen_GetLFGeneratorName
Set Active LFGenerator IviRFSigGen_SetActiveLFGenerator
Configure LFGenerator Output IviRFSigGen_ConfigureLFGeneratorOutput
Pulse Generator...
Configure Pulse External Trigger IviRFSigGen_ConfigurePulseExternalTrigger
Configure Pulse Internal Trigger IviRFSigGen_ConfigurePulseInternalTrigger
Configure Pulse IviRFSigGen_ConfigurePulse
Configure Pulse Double IviRFSigGen_ConfigurePulseDouble
Configure Pulse Output IviRFSigGen_ConfigurePulseOutput

IVI Foundation 341 IVI-4.10 IviRFSigGen Class Specification


Table 34-3. IviRFSigGen Function Hierarchy

Name or Class Function Name


Sweep…
Configure Sweep IviRFSigGen_ConfigureSweep
Configure Frequency Sweep Start Stop IviRFSigGen_ConfigureFrequencySweepStartStop
Configure Frequency Sweep Center Span IviRFSigGen_ConfigureFrequencySweepCenterSpan
Configure Frequency Sweep Time IviRFSigGen_ConfigureFrequencySweepTime
Configure Power Sweep Start Stop IviRFSigGen_ConfigurePowerSweepStartStop
Configure Power Sweep Time IviRFSigGen_ConfigurePowerSweepTime
Configure Frequency Step Start Stop IviRFSigGen_ConfigureFrequencyStepStartStop
Configure Frequency Step Dwell IviRFSigGen_ConfigureFrequencyStepDwell
Reset Frequency Step IviRFSigGen_ResetFrequencyStep
Configure Power Step Start Stop IviRFSigGen_ConfigurePowerStepStartStop
Configure Power Step Dwell IviRFSigGen_ConfigurePowerStepDwell
Reset Power Step IviRFSigGen_ResetPowerStep
Create Frequency List IviRFSigGen_CreateFrequencyList
Create Power List IviRFSigGen_CreatePowerList
Create Frequency Power List IviRFSigGen_CreateFrequencyPowerList
Select List IviRFSigGen_SelectList
Clear All Lists IviRFSigGen_ClearAllLists
Configure List Dwell IviRFSigGen_ConfigureListDwell
Reset List IviRFSigGen_ResetList
ALC…
Configure ALC IviRFSigGen_ConfigureALC
ReferenceOscillator…
Configure Reference Oscillator IviRFSigGen_ConfigureReferenceOscillator
IQ...
Configure IQ Enabled IviRFSigGen_ConfigureIQEnabled
Configure IQ IviRFSigGen_ConfigureIQ
Calibrate IQ IviRFSigGen_CalibrateIQ
Configure IQ Impairment Enabled IviRFSigGen_ConfigureIQImpairmentEnabled
Configure IQ Impairment IviRFSigGen_ConfigureIQImpairment
ARB Generator...
Configure Arb IviRFSigGen_ConfigureArb
Write Arb Waveform IviRFSigGen_WriteArbWaveform
Select Arb Waveform IviRFSigGen_SelectArbWaveform
Clear All Arb Waveforms IviRFSigGen_ClearAllArbWaveforms
Query Arb Waveform Capabilities IviRFSigGen_QueryArbWaveformCapabilities
Configure Arb Trigger Source IviRFSigGen_ConfigureArbTriggerSource
Configure Arb External Trigger Slope IviRFSigGen_ConfigureArbExternalTriggerSlope

IVI-4.10 IviRFSigGen Class Specification 342 IVI Foundation


Table 34-3. IviRFSigGen Function Hierarchy

Name or Class Function Name


Digital Modulation Base...
Get DigitalModulationBase Standard Name IviRFSigGen_GetDigitalModulationBaseStandardNa
me
Select DigitalModulationBase Standard IviRFSigGen_SelectDigitalModulationBaseStandar
d
Configure DigitalModulationBase Clock IviRFSigGen_ConfigureDigitalModulationBaseCloc
Source kSource
Configure DigitalModulationBase Data IviRFSigGen_ConfigureDigitalModulationBaseData
Source Source
Configure DigitalModulationBase PRBS Type IviRFSigGen_ConfigureDigitalModulationBasePRBS
Type
Write DigitalModulationBase Bit Sequence IviRFSigGen_WriteDigitalModulationBaseBitSeque
nce
Select DigitalModulationBase Bit Sequence IviRFSigGen_SelectDigitalModulationBaseBitSequ
ence
Clear All DigitalModulationBase Bit IviRFSigGen_ClearAllDigitalModulationBaseBitSe
Sequences quences
CDMA...
Get CDMA Standard Name IviRFSigGen_GetCDMAStandardName
Select CDMA Standard IviRFSigGen_SelectCDMAStandard
Configure CDMA Clock Source IviRFSigGen_ConfigureCDMAClockSource
Configure CDMA Trigger Source IviRFSigGen_ConfigureCDMATriggerSource
Configure CDMA External Trigger Slope IviRFSigGen_ConfigureCDMAExternalTriggerSlope
Get CDMA Test Model Name IviRFSigGen_GetCDMATestModelName
Select CDMA Test Model IviRFSigGen_SelectCDMATestModel
TDMA...
Get TDMA Standard Name IviRFSigGen_GetTDMAStandardName
Select TDMA Standard IviRFSigGen_SelectTDMAStandard
Configure TDMA Clock Source IviRFSigGen_ConfigureTDMAClockSource
Configure TDMA Trigger Source IviRFSigGen_ConfigureTDMATriggerSource
Configure TDMA External Trigger Slope IviRFSigGen_ConfigureTDMAExternalTriggerSlope
Get TDMA Frame Name IviRFSigGen_GetTDMAFrameName
Select TDMA Frame IviRFSigGen_SelectTDMAFrame
Action…
Disable All Modulation IviRFSigGen_DisableAllModulation
IsSettled IviRFSigGen_IsSettled
WaitUntilSettled IviRFSigGen_WaitUntilSettled
Send Software Trigger IviRFSigGen_SendSoftwareTrigger

IVI Foundation 343 IVI-4.10 IviRFSigGen Class Specification


34.3 IviRFSigGen C Attribute Hierarchy

The IviRFSigGen C attribute hierarchy is shown in the following table.

Table 34-4. IviRFSigGen C Attributes Hierarchy

Category or Generic Attribute Name C Defined Constant


RF
Frequency IVIRFSIGGEN_ATTR_FREQUENCY

Power Level IVIRFSIGGEN_ATTR_POWER_LEVEL

ALC Enabled IVIRFSIGGEN_ATTR_ALC_ENABLED

Output Enabled IVIRFSIGGEN_ATTR_OUTPUT_ENABLED

Analog Modulation
AM
AM Enabled IVIRFSIGGEN_ATTR_AM_ENABLED

AM Source IVIRFSIGGEN_ATTR_AM_SOURCE

AM Scaling IVIRFSIGGEN_ATTR_AM_SCALING

AM External Coupling IVIRFSIGGEN_ATTR_AM_EXTERNAL_COUPLING

AM Nominal Voltage IVIRFSIGGEN_ATTR_AM_NOMINAL_VOLTAGE

AM Depth IVIRFSIGGEN_ATTR_AM_DEPTH

FM
FM Enabled IVIRFSIGGEN_ATTR_FM_ENABLED

FM Source IVIRFSIGGEN_ATTR_FM_SOURCE

FM External Coupling IVIRFSIGGEN_ATTR_FM_EXTERNAL_COUPLING

FM Nominal Voltage IVIRFSIGGEN_ATTR_FM_NOMINAL_VOLTAGE

FM Deviation IVIRFSIGGEN_ATTR_FM_DEVIATION

PM
PM Enabled IVIRFSIGGEN_ATTR_PM_ENABLED

PM Source IVIRFSIGGEN_ATTR_PM_SOURCE

PM External Coupling IVIRFSIGGEN_ATTR_PM_EXTERNAL_COUPLING

PM Nominal Voltage IVIRFSIGGEN_ATTR_PM_NOMINAL_VOLTAGE

PM Deviation IVIRFSIGGEN_ATTR_PM_DEVIATION

Source
Analog Modulation Source Count IVIRFSIGGEN_ATTR_ANALOG_MODULATION_SOURCE_COUNT

Pulse Modulation
Pulse Modulation Enabled IVIRFSIGGEN_ATTR_PULSE_MODULATION_ENABLED

Pulse Modulation Source IVIRFSIGGEN_ATTR_PULSE_MODULATION_SOURCE

Pulse Modulation External Polarity IVIRFSIGGEN_ATTR_PULSE_MODULATION_EXTERNAL_POLARITY

IVI-4.10 IviRFSigGen Class Specification 344 IVI Foundation


Table 34-4. IviRFSigGen C Attributes Hierarchy

Category or Generic Attribute Name C Defined Constant


LF Generator
Active LFGenerator IVIRFSIGGEN_ATTR_ACTIVE_LF_GENERATOR

LFGenerator Count IVIRFSIGGEN_ATTR_LF_GENERATOR_COUNT

LFGenerator Frequency IVIRFSIGGEN_ATTR_LF_GENERATOR_FREQUENCY

LFGenerator Waveform IVIRFSIGGEN_ATTR_LF_GENERATOR_WAVEFORM

LF Generator Outputs
LFGenerator Output Amplitude IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_AMPLITUDE

LFGenerator Output Enabled IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_ENABLED

Pulse Generator
Pulse Internal Trigger Period IVIRFSIGGEN_ATTR_PULSE_INTERNAL_TRIGGER_PERIOD

Pulse Width IVIRFSIGGEN_ATTR_PULSE_WIDTH

Pulse Gating Enabled IVIRFSIGGEN_ATTR_PULSE_GATING_ENABLED

Pulse Trigger Source IVIRFSIGGEN_ATTR_PULSE_TRIGGER_SOURCE

Pulse External Trigger Slope IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_SLOPE

Pulse External Trigger Delay IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_DELAY

Double Pulse Generators


Pulse Double Enabled IVIRFSIGGEN_ATTR_PULSE_DOUBLE_ENABLED

Pulse Double Delay IVIRFSIGGEN_ATTR_PULSE_DOUBLE_DELAY

Pulse Generator Output


Pulse Output Polarity IVIRFSIGGEN_ATTR_PULSE_OUTPUT_POLARITY

Pulse Output Enabled IVIRFSIGGEN_ATTR_PULSE_OUTPUT_ENABLED

Sweep
Sweep Mode IVIRFSIGGEN_ATTR_SWEEP_MODE

Sweep Trigger Source IVIRFSIGGEN_ATTR_SWEEP_TRIGGER_SOURCE

Frequency Sweep
Frequency Sweep Start IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_START

Frequency Sweep Stop IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_STOP

Frequency Sweep Time IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_TIME

Power Sweep
Power Sweep Start IVIRFSIGGEN_ATTR_POWER_SWEEP_START

Power Sweep Stop IVIRFSIGGEN_ATTR_POWER_SWEEP_STOP

Power Sweep Time IVIRFSIGGEN_ATTR_POWER_SWEEP_TIME

Frequency Step
Frequency Step Start IVIRFSIGGEN_ATTR_FREQUENCY_STEP_START

Frequency Step Stop IVIRFSIGGEN_ATTR_FREQUENCY_STEP_STOP

IVI Foundation 345 IVI-4.10 IviRFSigGen Class Specification


Table 34-4. IviRFSigGen C Attributes Hierarchy

Category or Generic Attribute Name C Defined Constant


Frequency Step Scaling IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SCALING

Frequency Step Size IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SIZE

Frequency Step Single Step Enabled IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SINGLE_STEP_ENABLED

Frequency Step Dwell IVIRFSIGGEN_ATTR_FREQUENCY_STEP_DWELL

Power Step
Power Step Start IVIRFSIGGEN_ATTR_POWER_STEP_START

Power Step Stop IVIRFSIGGEN_ATTR_POWER_STEP_STOP

Power Step Size IVIRFSIGGEN_ATTR_POWER_STEP_SIZE

Power Step Single Step Enabled IVIRFSIGGEN_ATTR_POWER_STEP_SINGLE_STEP_ENABLED

Power Step Dwell IVIRFSIGGEN_ATTR_POWER_STEP_DWELL

List
List Selected Name IVIRFSIGGEN_ATTR_LIST_SELECTED_NAME

List Single Step Enabled IVIRFSIGGEN_ATTR_LIST_SINGLE_STEP_ENABLED

List Dwell IVIRFSIGGEN_ATTR_LIST_DWELL

ALC
ALC Source IVIRFSIGGEN_ATTR_ALC_SOURCE

ALC Bandwidth IVIRFSIGGEN_ATTR_ALC_BANDWIDTH

Reference Oscillator
Reference Oscillator Source IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_SOURCE

Reference Oscillator External Frequency IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_EXTERNAL_FREQUENCY


IQ
IQ Enabled IVIRFSIGGEN_ATTR_IQ_ENABLED

IQ Nominal Voltage IVIRFSIGGEN_ATTR_IQ_NOMINAL_VOLTAGE

IQ Source IVIRFSIGGEN_ATTR_IQ_SOURCE

IQ Swap Enabled IVIRFSIGGEN_ATTR_IQ_SWAP_ENABLED

IQ Impairment
IQ Impairment Enabled IVIRFSIGGEN_ATTR_IQ_IMPAIRMENT_ENABLED

IQ I-Offset IVIRFSIGGEN_ATTR_IQ_I_OFFSET

IQ Q-Offset IVIRFSIGGEN_ATTR_IQ_Q_OFFSET

IQ Ratio IVIRFSIGGEN_ATTR_IQ_RATIO

IQ Skew IVIRFSIGGEN_ATTR_IQ_SKEW

ARB Generator
Arb Clock Frequency IVIRFSIGGEN_ATTR_ARB_CLOCK_FREQUENCY

Arb Filter Frequency IVIRFSIGGEN_ATTR_ARB_FILTER_FREQUENCY

Waveform

IVI-4.10 IviRFSigGen Class Specification 346 IVI Foundation


Table 34-4. IviRFSigGen C Attributes Hierarchy

Category or Generic Attribute Name C Defined Constant


Arb Selected Waveform IVIRFSIGGEN_ATTR_ARB_SELECTED_WAVEFORM

Arb Max Number Waveforms IVIRFSIGGEN_ATTR_ARB_MAX_NUMBER_WAVEFORMS

Arb Waveform Quantum IVIRFSIGGEN_ATTR_ARB_WAVEFORM_QUANTUM

Arb Waveform Size Min IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MIN

Arb Waveform Size Max IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MAX

Trigger
Arb Trigger Source IVIRFSIGGEN_ATTR_ARB_TRIGGER_SOURCE

Arb External Trigger Slope IVIRFSIGGEN_ATTR_ARB_EXTERNAL_TRIGGER_SLOPE

Digital Modulation
DigitalModulationBase Standard Count IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_STANDARD_COUNT

DigitalModulationBase Selected IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_SELECTED_STANDARD


Standard
DigitalModulationBase Data Source IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_DATA_SOURCE

DigitalModulationBase PRBS Type IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_PRBS_TYPE

DigitalModulationBase Bit Sequence IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_BIT_SEQUENCE

DigitalModulationBase Clock Source IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_CLOCK_SOURCE

DigitalModulationBase External Clock IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TY


Type PE

CDMA
CDMA Standard Count IVIRFSIGGEN_ATTR_CDMA_STANDARD_COUNT

CDMA Selected Standard IVIRFSIGGEN_ATTR_CDMA_SELECTED_STANDARD

CDMA Test Model Count IVIRFSIGGEN_ATTR_CDMA_TEST_MODEL_COUNT

CDMA Seleted Test Model IVIRFSIGGEN_ATTR_CDMA_SELECTED_TEST_MODEL

CDMA Clock Source IVIRFSIGGEN_ATTR_CDMA_CLOCK_SOURCE

Trigger
CDMA Trigger Source IVIRFSIGGEN_ATTR_CDMA_TRIGGER_SOURCE

CDMA External Trigger Slope IVIRFSIGGEN_ATTR_CDMA_EXTERNAL_TRIGGER_SLOPE

TDMA
TDMA Standard Count IVIRFSIGGEN_ATTR_TDMA_STANDARD_COUNT

TDMA Selected Standard IVIRFSIGGEN_ATTR_TDMA_SELECTED_STANDARD

TDMA Frame Count IVIRFSIGGEN_ATTR_TDMA_FRAME_COUNT

TDMA Seleted Frame IVIRFSIGGEN_ATTR_TDMA_SELECTED_FRAME

TDMA Clock Source IVIRFSIGGEN_ATTR_TDMA_CLOCK_SOURCE

TDMA External Clock Type IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_CLOCK_TYPE

Trigger
TDMA Trigger Source IVIRFSIGGEN_ATTR_TDMA_TRIGGER_SOURCE

IVI Foundation 347 IVI-4.10 IviRFSigGen Class Specification


Table 34-4. IviRFSigGen C Attributes Hierarchy

Category or Generic Attribute Name C Defined Constant


TDMA External Trigger Slope IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_TRIGGER_SLOPE

IVI-4.10 IviRFSigGen Class Specification 348 IVI Foundation


Appendix A Specific Driver Development Guidelines

A.1 Introduction
This section describes situations driver developers should be aware of when developing a specific instrument
driver that complies with the IviRFSigGen class.

A.2 Disabling Unused Extensions


Specific drivers are required to disable extension capability groups that an application program does not
explicitly use. The specific driver can do so by setting the attributes of an extension capability group to the
values that this section recommends. A specific driver can set these values for all extension capability groups
when the IViRFSigGen_init, IViRFSigGen_InitWithOptions, or IViRFSigGen reset functions
execute. This assumes that the extension capability groups remain disabled until the application program
explicitly uses them. For the large majority of instruments, this assumption is true.

Under certain conditions, a specific driver might have to implement a more complex approach. For some
instruments, configuring a capability group might affect instrument settings that correspond to an unused
extension capability group. If these instrument settings affect the behavior of the instrument, then this might
result in an interchangeability problem. If this can occur, the specific driver shall take appropriate action so
that the instrument settings that correspond to the unused extension capability group do not affect the behavior
of the instrument when the application program performs an operation that might be affected by those settings.

The remainder of this section recommends attribute values that effectively disable each extension capability
group.

Disabling the IviRFSigGenModulateAM Extension Group

Attribute values that effectively disable the IviRFSigGenModulateAM extension group are shown in the
following table. This functionality is also encapsulated in the Disable All Modulation function.

Table A.1. Values for Disabling the IviRFSigGenModulateAM Extension Group

Attribute Value

AM Enabled False

Disabling the IviRFSigGenModulateFM Extension Group

Attribute values that effectively disable the IviRFSigGenModulateFM extension group are shown in the
following table. This functionality is also encapsulated in the Disable All Modulation function.

Table A.2. Values for Disabling the IviRFSigGenModulateFM Extension Group

Attribute Value
FM Enabled False

Disabling the IviRFSigGenModulatePM Extension Group

Attribute values that effectively disable the IviRFSigGenModulatePM extension group are shown in the
following table. This functionality is also encapsulated in the Disable All Modulation function.

IVI Foundation 349 IVI-4.10 IviRFSigGen Class Specification


Table A.3. Values for Disabling the IviRFSigGenModulatePM Extension Group

Attribute Value
PM Enabled False

Disabling the IviRFSigGenModulatePulse Extension Group

Attribute values that effectively disable the IviRFSigGenModulatePulse extension group are shown in the
following table. This functionality is also encapsulated in the Disable All Modulation function.

Table A.4. Values for Disabling the IviRFSigGenModulatePulse Extension Group

Attribute Value
Pulse Modulation Enabled False

Disabling the IviRFSigGenLFGenerator Extension Group

The IviRFSigGenLFGenerator extension group affects the instrument behavior only when its attributes are
used. Therefore, this specification does not recommend attribute values that disable the
IviRFSigGenLFGenerator extension group.

Disabling the IviRFSigGenLFGeneratorOutput Extension Group

Attribute values that effectively disable the IviRFSigGenLFGeneratorOutput extension group are shown in the
following table.

Table A.5. Values for Disabling the IviRFSigGenLFGeneratorOutput Extension Group

Attribute Value
LFGenerator Output Enabled False

Disabling the IviRFSigGenPulseGenerator Extension Group

The IviRFSigGenPulseGenerator extension group affects the instrument behavior only when its attributes are
used. Therefore, this specification does not recommend attribute values that disable the
IviRFSigGenPulseGenerator extension group.

Disabling the IviRFSigGenPulseDoubleGenerator Extension Group

Attribute values that effectively disable the IviRFSigGenPulseDoubleGenerator extension group are shown in
the following table.

IVI-4.10 IviRFSigGen Class Specification 350 IVI Foundation


Table A.6. Values for Disabling the IviRFSigGenPulseDoubleGenerator Extension Group

Attribute Value

Pulse Double Enabled False

Disabling the IviRFSigGenPulseGeneratorOutput Extension Group

Attribute values that effectively disable the IviRFSigGenPulseGeneratorOutput extension group are shown in
the following table.

Table A.7. Values for Disabling the IviRFSigGenPulseGeneratorOutput Extension Group

Attribute Value
Pulse Output Enabled False

Disabling the IviRFSigGenSweep Extension Group

Attribute values that effectively disable the IviRFSigGenSweep extension group are shown in the following
table.

Table A.8. Values for Disabling the IviRFSigGenSweep Extension Group

Attribute Value
Sweep Mode None

Disabling the IviRFSigGenFrequencySweep Extension Group

Attribute values that effectively disable the IviRFSigGenFrequencySweep extension group are shown in the
following table.

Table A.9. Values for Disabling the IviRFSigGenFrequencySweep Extension Group

Attribute Value
Sweep Mode None

Disabling the IviRFSigGenPowerSweep Extension Group

Attribute values that effectively disable the IviRFSigGenPowerSweep extension group are shown in the
following table.

Table A.10. Values for Disabling the IviRFSigGenPowerSweep Extension Group

Attribute Value
Sweep Mode None

IVI Foundation 351 IVI-4.10 IviRFSigGen Class Specification


Disabling the IviRFSigGenFrequencyStep Extension Group

Attribute values that effectively disable the IviRFSigGenFrequencyStep extension group are shown in the
following table.

Table A.11. Values for Disabling the IviRFSigGenFrequencyStep Extension Group

Attribute Value
Sweep Mode None

Disabling the IviRFSigGenPowerStep Extension Group

Attribute values that effectively disable the IviRFSigGenPowerStep extension group are shown in the
following table.

Table A.12. Values for Disabling the IviRFSigGenPowerStep Extension Group

Attribute Value
Sweep Mode None

Disabling the IviRFSigGenList Extension Group

Attribute values that effectively disable the IviRFSigGenList extension group are shown in the following table.

Table A.13. Values for Disabling the IviRFSigGenList Extension Group

Attribute Value
Sweep Mode None

Disabling the IviRFSigGenALC Extension Group

Attribute values that effectively disable the IviRFSigGenALC extension group are shown in the following
table.

Table A.14. Values for Disabling the IviRFSigGenALC Extension Group

Attribute Value
ALC Enabled False

Disabling the IviRFSigGenReferenceOscillator Extension Group

The IviRFSigGenReferenceOscillator extension group affects the instrument behavior only when the Reference
Oscillator Source attribute is set to External. Therefore, this specification does not recommend attribute values
that disable the IviRFSigGenReferenceOscillator extension group.

Disabling the IviRFSigGenSoftwareTrigger Extension Group

IVI-4.10 IviRFSigGen Class Specification 352 IVI Foundation


The IviRFSigGenSoftwareTrigger extension group affects the instrument behavior only when the Trigger
Source attribute is set to Software Trigger. Therefore, this specification does not recommend attribute values
that disable the IviRFSigGenSoftwareTrigger extension group.

Disabling the IviRFSigGenModulateIQ Extension Group

Attribute values that effectively disable the IviRFSigGenModulateIQ extension group are shown in the
following table. This functionality is also encapsulated in the Disable All Modulation function.

Table A.15. Values for Disabling the IviRFSigGenModulateIQ Extension Group

Attribute Value
IQ Enabled False

Disabling the IviRFSigGenIQImpairment Extension Group

Attribute values that effectively disable the IviRFSigGenIQImpairment extension group are shown in the
following table.

Table A.16. Values for Disabling the IviRFSigGenModulateIQ Extension Group

Attribute Value
IQ Impairment Enabled False

Disabling the IviRFSigGenArbGenerator Extension Group

The IviRFSigGenArbGenerator extension group affects the instrument behavior only when the end user calls
any of its functions. Therefore, this specification does not recommend attribute values that disable the
IviRFSigGenArbGenerator extension group.

Disabling the IviRFSigGenDigitalModulationBase Extension Group

The IviRFSigGenDigitalModulationBase extension group affects the instrument behavior only when the end
user calls any of its functions. Therefore, this specification does not recommend attribute values that disable
the IviRFSigGenDigitalModulationBase extension group. This functionality is also encapsulated in the Disable
All Modulation function.

Disabling the IviRFSigGenCDMABase Extension Group

The IviRFSigGenCDMABase extension group affects the instrument behavior only when the end user calls any
of its functions. Therefore, this specification does not recommend attribute values that disable the
IviRFSigGenCDMABase extension group. This functionality is also encapsulated in the Disable All
Modulation function.

Disabling the IviRFSigGenTDMABase Extension Group

The IviRFSigGenTDMABase extension group affects the instrument behavior only when the end user calls any
of its functions. Therefore, this specification does not recommend attribute values that disable the
IviRFSigGenTDMABase extension group. This functionality is also encapsulated in the Disable All
Modulation function.

IVI Foundation 353 IVI-4.10 IviRFSigGen Class Specification


A.3 Query Instrument Status
Based on the value of Query Instrument Status, the specific driver may check the status of the instrument to see
if it has encountered an error.

IVI-4.10 IviRFSigGen Class Specification 354 IVI Foundation


Appendix B Interchangeability Checking Rules

B.1 Introduction
IVI drivers have a feature called interchangeability checking. Interchangeability checking returns a warning
when it encounters a situation were the application program might not produce the same behavior when the
user attempts to use a different instrument.

B.2 When to Perform Interchangeability Checking


Interchangeability checking occurs when all of the following conditions are met:
? The Interchange Check attribute is set to True
? The user calls one of the following functions.
? IsSettled
? WaitforSettled

B.3 Interchangeability Checking Rules


Interchangeability checking is performed on a capability group basis. When enabled, interchangeability
checking is always performed on the base capability group. In addition, interchangeability checking is
performed on extension capability groups for which the user has ever set any of the attributes of the group. If
the user has never set any attributes of an extension capability group, interchangeability checking is not
performed on that group.

In general interchangeability warnings are generated if the following conditions are encountered:

? An attribute that affects the behavior of the instrument is not in a state that the user specifies.

? The user sets a class driver defined attribute to an instrument-specific value.

? The user configures the value of an attribute that the class defines as read-only. In a few cases the class
drivers define read-only attributes that specific drivers might implement as read/write.

The remainder of this section defines additional rules and exceptions for each capability group.

IviRFSigGenBase Capability Group

1. If the Output Enabled attribute is set to False, all other attributes in the IviRFSigGenBase extension group
need not be in a user-specified state.

IviRFSigGenModulateAM Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenModulateAM extension group
need not be in a user-specified state.

2. If the AM Source attribute does not include the ??external modulation source??, the AM External
Coupling attribute need not be in a user specified state.

3. If the AM Enabled attribute is set to False, all other attributes in the IviRFSigGenModulateAM extension
group need not be in a user-specified state.

IVI Foundation 355 IVI-4.10 IviRFSigGen Class Specification


IviRFSigGenModulateFM Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenModulateFM extension group
need not be in a user-specified state.

2. If the FM Source attribute does not include the ??external modulation source??, the FM External
Coupling attribute need not be in a user specified state.

3. If the FM Enabled attribute is set to False, all other attributes in the IviRFSigGenModulateFM extension
group need not be in a user-specified state.

IviRFSigGenModulatePM Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenModulatePM extension group
need not be in a user-specified state.

2. If the PM Source attribute does not include the ??external modulation source??, the PM External
Coupling attribute need not be in a user specified state.

3. If the PM Enabled attribute is set to False, all other attributes in the IviRFSigGenModulatePM extension
group need not be in a user-specified state.

IviRFSigGenAnalogModulationSources Capability Group


No additional interchangeability rules or exceptions are defined for the
IviRFSigGenAnalogModulationSources capability group.

IviRFSigGenModulatePulse Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenModulatePulse extension
group need not be in a user-specified state.

2. If the Pulse Modulation Source attribute is not set to External, the Pulse Modulation External Polarity
attribute need not be in a user specified state.

3. If the Pulse Modulation Enabled attribute is set to False, all other attributes in the
IviRFSigGenModulatePulse extension group need not be in a user-specified state.

IviRFSigGenLFGenerator Capability Group

1. If the LFGenerator Output Enabled attribute is set to True


OR
If Output Enabled set to True AND one of the following sources includes an internal source
- AM Source
- FM Source
- PM Source
AND any of the following attributes are set to True
- AM Enabled
- FM Enabled
- PM Enabled
then the attributes in the IviRFSigGenLFGenerator extension group shall be in a user-specified state.

IVI-4.10 IviRFSigGen Class Specification 356 IVI Foundation


IviRFSigGenLFGeneratorOutput Capability Group

1. If the LFGenerator Output Enabled attribute is set to False, the LFGenerator Output Amplitude attribute
need not be in a user-specified state.

IviRFSigGenPulseGenerator Capability Group

1. If the Pulse Output Enabled attribute is set to True


OR
If Output Enabled set to True AND the Pulse Generator Source is set to Internal AND the Pulse
Modulation Enabled attribute is set to True, the attributes in the IviRFSigGenPulseGenerator extension
group shall be in a user-specified state.

2. If the Pulse Trigger Source attribute is not set to Internal, the Pulse Internal Trigger Period attribute and
the need not be in a user-specified state.

3. If the Pulse Trigger Source attribute is not set to External, the Pulse External Trigger Delay attribute and
the Pulse External Trigger Slope attribute need not be in a user-specified state.

IviRFSigGenPulseDoubleGenerator Capability Group

1. If the Pulse Double Enabled attribute is set to False, attributes in the IviRFSigGenPulseDoubleGenerator
extension group need not be in a user-specified state.

2. If the IviRFSigGenPulseGenerator extension group does not need to be checked for interchangeability,
then attributes in the IviRFSigGenPulseDoubleGenerator extension group need not be in a user-specified
state.

IviRFSigGenPulseGeneratorOutput Capability Group

1. If the Pulse Output Enabled attribute is set to False, all other attributes in the
IviRFSigGenPulseGeneratorOutput extension group need not be in a user-specified state.

IviRFSigGenSweep Capability Group

1. If the Sweep Mode attribute is set to None, all other attributes in the IviRFSigGenSweep extension group
need not be in a user-specified state.

2. If the Output Enabled attribute is set to False, all the attributes in the IviRFSigGenSweep extension group
need not be in a user-specified state.

IviRFSigGenFrequencySweep Capability Group

1. If the Sweep Mode attribute is not set to Frequency Sweep, attributes in the IviRFSigGenFrequencySweep
extension group need not be in a user-specified state.

2. If the IviRFSigGenSweep extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenFrequencySweep extension group need not be in a user-specified state.

IviRFSigGenPowerSweep Capability Group

1. If the Sweep Mode attribute is not set to Power Sweep, attributes in the IviRFSigGenPowerSweep
extension group need not be in a user-specified state.

IVI Foundation 357 IVI-4.10 IviRFSigGen Class Specification


2. If the IviRFSigGenSweep extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenPowerSweep extension group need not be in a user-specified state.

IviRFSigGenFrequencyStep Capability Group

1. If the Sweep Mode attribute is not set to Frequency Step, attributes in the IviRFSigGenFrequencyStep
extension group need not be in a user-specified state.

2. If the IviRFSigGenSweep extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenFrequencyStep extension group need not be in a user-specified state.

IviRFSigGenPowerStep Capability Group

1. If the Sweep Mode attribute is not set to Power Step, attributes in the IviRFSigGenPowerStep extension
group need not be in a user-specified state.

2. If the IviRFSigGenSweep extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenPowerStep extension group need not be in a user-specified state.

IviRFSigGenList Capability Group

1. If the Sweep Mode attribute is not set to List, attributes in the IviRFSigGenList extension group need not
be in a user-specified state.

2. If the IviRFSigGenSweep extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenList extension group need not be in a user-specified state.

IviRFSigGenALC Capability Group

1. If the ALC Enabled attribute is set to False, attributes in the IviRFSigGenALC extension group need not
be in a user-specified state.

2. If the Output Enabled attribute is set to False, all the attributes in the IviRFSigGenALC extension group
need not be in a user-specified state.

IviRFSigGenReferenceOscillator Capability Group

1. If the Output Enabled attribute is set to False, all the attributes in the IviRFSigGenReferenceOscillator
extension group need not be in a user-specified state.

IviRFSigGenSoftwareTrigger Capability Group


No additional interchangeability rules or exceptions are defined for the IviRFSigGenSoftwareTrigger
capability group.

IviRFSigGenModulateIQ Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenModulateIQ extension group
need not be in a user-specified state.

2. If the IQ Enabled attribute is set to False, attributes in the IviRFSigGenModulateIQ extension group need
not be in a user-specified state.

IVI-4.10 IviRFSigGen Class Specification 358 IVI Foundation


IviRFSigGenIQImpairment Capability Group

1. If the IQ Impairment Enabled attribute is set to False, attributes in the IviRFSigGenIQImpairment


extension group need not be in a user-specified state.

2. If the IviRFSigGenModulateIQ extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenIQImpairment extension group need not be in a user-specified state.

IviRFSigGenArbGenerator Capability Group

1. If the IQ Source attribute is not set to ArbGenerator, attributes in the IviRFSigGenArbGenerator extension
group need not be in a user-specified state.

2. If the Arb Trigger Source attribute is not set to External, the Arb External Trigger Slope attribute need not
be in a user-specified state.

3. If the IviRFSigGenModulateIQ extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenArbGenerator extension group need not be in a user-specified state.

IviRFSigGenDigitalModulationBase Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenDigitalModulationBase


extension group need not be in a user-specified state.

2. If the IQ Source attribute is not set to DigitalModulationBase, attributes in the


IviRFSigGenDigitalModulationBase extension group need not be in a user-specified state.

3. If the DigitalModulationBase Clock Source attribute is not set to External, the External Clock Type
attribute need not be in a user-specified state.

4. If the DigitalModulationBase Data Source attribute is not set to PRBS, the DigitalModulationBase PRBS
Type attribute need not be in a user-specified state.

5. If the DigitalModulationBase Data Source attribute is not set to Bit Sequence, the DigitalModulationBase
Selected Bit Sequence attribute need not be in a user-specified state.

6. If the IviRFSigGenModulateIQ extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenDigitalModulationBase extension group need not be in a user-specified state.

IviRFSigGenCDMABase Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenCDMABase extension group
need not be in a user-specified state.

2. If the IQ Source attribute is not set to CDMABase, attributes in the IviRFSigGenCDMABase extension
group need not be in a user-specified state.

3. If the CDMA Clock Source is not set to External, the CDMA External Trigger Slope attribute need not be
in a user-specified state.

4. If the IviRFSigGenModulateIQ extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenCDMABase extension group need not be in a user-specified state.

IVI Foundation 359 IVI-4.10 IviRFSigGen Class Specification


IviRFSigGenTDMABase Capability Group

1. If the Output Enabled attribute is set to False, attributes in the IviRFSigGenTDMABase extension group
need not be in a user-specified state.

2. If the IQ Source attribute is not set to TDMABase, attributes in the IviRFSigGenTDMABase extension
group need not be in a user-specified state.

3. If the TDMA Clock Source is not set to External, the TDMA External Trigger Slope attribute need not be
in a user-specified state.

4. If the IviRFSigGenModulateIQ extension group does not need to be checked for interchangeability, then
attributes in the IviRFSigGenTDMABase extension group need not be in a user-specified state.

IVI-4.10 IviRFSigGen Class Specification 360 IVI Foundation


Appendix C ANSI C Include File
The C source code below provides an example of how a class driver C interface might be defined. It provides
definitions only for attributes, functions, values, and status codes that this specification defines. It does not
represent a complete interface for an IviRFSigGen compliant driver. To aid in the creation of an IviRFSigGen-
compliant specific driver, replace IVIRFSIGGEN with the actual driver prefix using uppercase characters and
replace IviRFSigGen with consistent case sensitivity.

/******************************************************************************
* I V I - R F S I G G E N
*
* Title: IviRFSigGen include file
* Purpose: IviRFSigGen Class declarations for Base and Extended Capabilities.
*
*
******************************************************************************/

#ifndef IVIRFSIGGEN_HEADER
#define IVIRFSIGGEN_HEADER

#if defined(__cplusplus) || defined(__cpluplus__)


extern "C" {
#endif

/******************************************************************************
*---------------------- IviRFSigGen Class Attribute Defines -----------------*
******************************************************************************/

/*- IviRFSigGenBase Capability Group Attributes -*/


#define IVIRFSIGGEN_ATTR_FREQUENCY (IVI_CLASS_ATTR_BASE + 1)
#define IVIRFSIGGEN_ATTR_POWER_LEVEL (IVI_CLASS_ATTR_BASE + 2)
#define IVIRFSIGGEN_ATTR_ALC_ENABLED (IVI_CLASS_ATTR_BASE + 3)
#define IVIRFSIGGEN_ATTR_OUTPUT_ENABLED (IVI_CLASS_ATTR_BASE + 4)

/*- IviRFSigGenModulateAM Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_AM_ENABLED (IVI_CLASS_ATTR_BASE + 11)
#define IVIRFSIGGEN_ATTR_AM_SOURCE (IVI_CLASS_ATTR_BASE + 12)
#define IVIRFSIGGEN_ATTR_AM_SCALING (IVI_CLASS_ATTR_BASE + 13)
#define IVIRFSIGGEN_ATTR_AM_EXTERNAL_COUPLING (IVI_CLASS_ATTR_BASE + 14)
#define IVIRFSIGGEN_ATTR_AM_NOMINAL_VOLTAGE (IVI_CLASS_ATTR_BASE + 15)
#define IVIRFSIGGEN_ATTR_AM_DEPTH (IVI_CLASS_ATTR_BASE + 16)

/*- IviRFSigGenModulateFM Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_FM_ENABLED (IVI_CLASS_ATTR_BASE + 21)
#define IVIRFSIGGEN_ATTR_FM_SOURCE (IVI_CLASS_ATTR_BASE + 22)
#define IVIRFSIGGEN_ATTR_FM_EXTERNAL_COUPLING (IVI_CLASS_ATTR_BASE + 23)
#define IVIRFSIGGEN_ATTR_FM_NOMINAL_VOLTAGE (IVI_CLASS_ATTR_BASE + 24)
#define IVIRFSIGGEN_ATTR_FM_DEVIATION (IVI_CLASS_ATTR_BASE + 25)

/*- IviRFSigGenModulatePM Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_PM_ENABLED (IVI_CLASS_ATTR_BASE + 31)
#define IVIRFSIGGEN_ATTR_PM_SOURCE (IVI_CLASS_ATTR_BASE + 32)
#define IVIRFSIGGEN_ATTR_PM_EXTERNAL_COUPLING (IVI_CLASS_ATTR_BASE + 33)
#define IVIRFSIGGEN_ATTR_PM_NOMINAL_VOLTAGE (IVI_CLASS_ATTR_BASE + 34)
#define IVIRFSIGGEN_ATTR_PM_DEVIATION (IVI_CLASS_ATTR_BASE + 35)

/*- IviRFSigGenAnalogModulationSource Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_ANALOG_MODULATION_SOURCE_COUNT (IVI_CLASS_ATTR_BASE + 41)

/*- IviRFSigGenModulatePulse Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_PULSE_MODULATION_ENABLED (IVI_CLASS_ATTR_BASE + 51)
#define IVIRFSIGGEN_ATTR_PULSE_MODULATION_SOURCE (IVI_CLASS_ATTR_BASE + 52)
#define IVIRFSIGGEN_ATTR_PULSE_MODULATION_EXTERNAL_POLARITY (IVI_CLASS_ATTR_BASE + 53)

/*- IVIRFSigGenLFGenerator Extension Group Attributes -*/

IVI Foundation 361 IVI-4.10 IviRFSigGen Class Specification


#define IVIRFSIGGEN_ATTR_ACTIVE_LF_GENERATOR (IVI_CLASS_ATTR_BASE + 101)
#define IVIRFSIGGEN_ATTR_LF_GENERATOR_COUNT (IVI_CLASS_ATTR_BASE + 102)
#define IVIRFSIGGEN_ATTR_LF_GENERATOR_FREQUENCY (IVI_CLASS_ATTR_BASE + 103)
#define IVIRFSIGGEN_ATTR_LF_GENERATOR_WAVEFORM (IVI_CLASS_ATTR_BASE + 104)

/*- IVIRFSigGenLFGeneratorOutput Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_AMPLITUDE (IVI_CLASS_ATTR_BASE + 111)
#define IVIRFSIGGEN_ATTR_LF_GENERATOR_OUTPUT_ENABLED (IVI_CLASS_ATTR_BASE + 112)

/*- IVIRFSigGenPulseGenerator Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_PULSE_INTERNAL_TRIGGER_PERIOD (IVI_CLASS_ATTR_BASE + 121)
#define IVIRFSIGGEN_ATTR_PULSE_WIDTH (IVI_CLASS_ATTR_BASE + 122)
#define IVIRFSIGGEN_ATTR_PULSE_GATING_ENABLED (IVI_CLASS_ATTR_BASE + 123)
#define IVIRFSIGGEN_ATTR_PULSE_TRIGGER_SOURCE (IVI_CLASS_ATTR_BASE + 124)
#define IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_SLOPE (IVI_CLASS_ATTR_BASE + 125)
#define IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_DELAY (IVI_CLASS_ATTR_BASE + 126)

/*- IviRFSigGenPulseDoubleGenerator Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_PULSE_DOUBLE_ENABLED (IVI_CLASS_ATTR_BASE + 131)
#define IVIRFSIGGEN_ATTR_PULSE_DOUBLE_DELAY (IVI_CLASS_ATTR_BASE + 132)

/*- IviRFSigGenPulseGeneratorOutput Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_PULSE_OUTPUT_POLARITY (IVI_CLASS_ATTR_BASE + 141)
#define IVIRFSIGGEN_ATTR_PULSE_OUTPUT_ENABLED (IVI_CLASS_ATTR_BASE + 142)

/*- IviRFSigGenSweep Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_SWEEP_MODE (IVI_CLASS_ATTR_BASE + 201)
#define IVIRFSIGGEN_ATTR_SWEEP_TRIGGER_SOURCE (IVI_CLASS_ATTR_BASE + 202)

/*- IVIRFSigGenFrequencySweep Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_START (IVI_CLASS_ATTR_BASE + 211)
#define IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_STOP (IVI_CLASS_ATTR_BASE + 212)
#define IVIRFSIGGEN_ATTR_FREQUENCY_SWEEP_TIME (IVI_CLASS_ATTR_BASE + 213)

/*- IVIRFSigGenPowerSweep Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_POWER_SWEEP_START (IVI_CLASS_ATTR_BASE + 221)
#define IVIRFSIGGEN_ATTR_POWER_SWEEP_STOP (IVI_CLASS_ATTR_BASE + 222)
#define IVIRFSIGGEN_ATTR_POWER_SWEEP_TIME (IVI_CLASS_ATTR_BASE + 223)

/*- IVIRFSigGenFrequencyStep Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_FREQUENCY_STEP_START (IVI_CLASS_ATTR_BASE + 241)
#define IVIRFSIGGEN_ATTR_FREQUENCY_STEP_STOP (IVI_CLASS_ATTR_BASE + 242)
#define IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SCALING (IVI_CLASS_ATTR_BASE + 243)
#define IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SIZE (IVI_CLASS_ATTR_BASE + 244)
#define IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SINGLE_STEP_ENABLED (IVI_CLASS_ATTR_BASE + 245)
#define IVIRFSIGGEN_ATTR_FREQUENCY_STEP_DWELL (IVI_CLASS_ATTR_BASE + 246)

/*- IVIRFSigGenPowerStep Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_POWER_STEP_START (IVI_CLASS_ATTR_BASE + 261)
#define IVIRFSIGGEN_ATTR_POWER_STEP_STOP (IVI_CLASS_ATTR_BASE + 262)
#define IVIRFSIGGEN_ATTR_POWER_STEP_SIZE (IVI_CLASS_ATTR_BASE + 263)
#define IVIRFSIGGEN_ATTR_POWER_STEP_SINGLE_STEP_ENABLED (IVI_CLASS_ATTR_BASE + 264)
#define IVIRFSIGGEN_ATTR_POWER_STEP_DWELL (IVI_CLASS_ATTR_BASE + 265)

/*- IVIRFSigGenList Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_LIST_SELECTED_NAME (IVI_CLASS_ATTR_BASE + 281)
#define IVIRFSIGGEN_ATTR_LIST_SINGLE_STEP_ENABLED (IVI_CLASS_ATTR_BASE + 282)
#define IVIRFSIGGEN_ATTR_LIST_DWELL (IVI_CLASS_ATTR_BASE + 283)

/*- IVIRFSigGenALC Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_ALC_SOURCE (IVI_CLASS_ATTR_BASE + 301)
#define IVIRFSIGGEN_ATTR_ALC_BANDWIDTH (IVI_CLASS_ATTR_BASE + 302)

/*- IVIRFSigGenReferenceOscillator Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_SOURCE (IVI_CLASS_ATTR_BASE + 321)
#define IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_EXTERNAL_FREQUENCY (IVI_CLASS_ATTR_BASE + 322)

/*- IviRFSigGenModulateIQ Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_IQ_ENABLED (IVI_CLASS_ATTR_BASE + 401)

IVI-4.10 IviRFSigGen Class Specification 362 IVI Foundation


#define IVIRFSIGGEN_ATTR_IQ_NOMINAL_VOLTAGE (IVI_CLASS_ATTR_BASE + 402)
#define IVIRFSIGGEN_ATTR_IQ_SOURCE (IVI_CLASS_ATTR_BASE + 403)
#define IVIRFSIGGEN_ATTR_IQ_SWAP_ENABLED (IVI_CLASS_ATTR_BASE + 404)

/*- IviRFSigGenIQImpairment Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_IQ_IMPAIRMENT_ENABLED (IVI_CLASS_ATTR_BASE + 421)
#define IVIRFSIGGEN_ATTR_IQ_I_OFFSET (IVI_CLASS_ATTR_BASE + 422)
#define IVIRFSIGGEN_ATTR_IQ_Q_OFFSET (IVI_CLASS_ATTR_BASE + 423)
#define IVIRFSIGGEN_ATTR_IQ_RATIO (IVI_CLASS_ATTR_BASE + 424)
#define IVIRFSIGGEN_ATTR_IQ_SKEW (IVI_CLASS_ATTR_BASE + 425)

/*- IviRFSigGenARBGenerator Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_ARB_SELECTED_WAVEFORM (IVI_CLASS_ATTR_BASE + 451)
#define IVIRFSIGGEN_ATTR_ARB_CLOCK_FREQUENCY (IVI_CLASS_ATTR_BASE + 452)
#define IVIRFSIGGEN_ATTR_ARB_FILTER_FREQUENCY (IVI_CLASS_ATTR_BASE + 453)
#define IVIRFSIGGEN_ATTR_ARB_MAX_NUMBER_WAVEFORMS (IVI_CLASS_ATTR_BASE + 454)
#define IVIRFSIGGEN_ATTR_ARB_WAVEFORM_QUANTUM (IVI_CLASS_ATTR_BASE + 455)
#define IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MIN (IVI_CLASS_ATTR_BASE + 456)
#define IVIRFSIGGEN_ATTR_ARB_WAVEFORM_SIZE_MAX (IVI_CLASS_ATTR_BASE + 457)
#define IVIRFSIGGEN_ATTR_ARB_TRIGGER_SOURCE (IVI_CLASS_ATTR_BASE + 458)
#define IVIRFSIGGEN_ATTR_ARB_EXTERNAL_TRIGGER_SLOPE (IVI_CLASS_ATTR_BASE + 459)

/*- IviRFSigGenDMBaseModulation Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_STANDARD_COUNT (IVI_CLASS_ATTR_BASE + 501)
#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_SELECTED_STANDARD (IVI_CLASS_ATTR_BASE + 502)
#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_DATA_SOURCE (IVI_CLASS_ATTR_BASE + 503)
#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_PRBS_TYPE (IVI_CLASS_ATTR_BASE + 504)
#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_BIT_SEQUENCE (IVI_CLASS_ATTR_BASE + 505)
#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_CLOCK_SOURCE (IVI_CLASS_ATTR_BASE + 506)
#define IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE (IVI_CLASS_ATTR_BASE + 507)

/*- IviRFSigGenCDMABaseFunctionality Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_CDMA_STANDARD_COUNT (IVI_CLASS_ATTR_BASE + 601)
#define IVIRFSIGGEN_ATTR_CDMA_SELECTED_STANDARD (IVI_CLASS_ATTR_BASE + 602)
#define IVIRFSIGGEN_ATTR_CDMA_TRIGGER_SOURCE (IVI_CLASS_ATTR_BASE + 603)
#define IVIRFSIGGEN_ATTR_CDMA_EXTERNAL_TRIGGER_SLOPE (IVI_CLASS_ATTR_BASE + 604)
#define IVIRFSIGGEN_ATTR_CDMA_TEST_MODEL_COUNT (IVI_CLASS_ATTR_BASE + 605)
#define IVIRFSIGGEN_ATTR_CDMA_SELECTED_TEST_MODEL (IVI_CLASS_ATTR_BASE + 606)
#define IVIRFSIGGEN_ATTR_CDMA_CLOCK_SOURCE (IVI_CLASS_ATTR_BASE + 607)

/*- IviRFSigGenTDMABaseFunctionality Extension Group Attributes -*/


#define IVIRFSIGGEN_ATTR_TDMA_STANDARD_COUNT (IVI_CLASS_ATTR_BASE + 701)
#define IVIRFSIGGEN_ATTR_TDMA_SELECTED_STANDARD (IVI_CLASS_ATTR_BASE + 702)
#define IVIRFSIGGEN_ATTR_TDMA_TRIGGER_SOURCE (IVI_CLASS_ATTR_BASE + 703)
#define IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_TRIGGER_SLOPE (IVI_CLASS_ATTR_BASE + 704)
#define IVIRFSIGGEN_ATTR_TDMA_FRAME_COUNT (IVI_CLASS_ATTR_BASE + 705)
#define IVIRFSIGGEN_ATTR_TDMA_SELECTED_FRAME (IVI_CLASS_ATTR_BASE + 706)
#define IVIRFSIGGEN_ATTR_TDMA_CLOCK_SOURCE (IVI_CLASS_ATTR_BASE + 707)
#define IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_CLOCK_TYPE (IVI_CLASS_ATTR_BASE + 708)

/******************************************************************************
*------------------- IviRFSigGen Class Attribute Value Defines --------------*
******************************************************************************/

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_AM_SCALING -*/


#define IVIRFSIGGEN_VAL_AM_SCALING_LINEAR (0)
#define IVIRFSIGGEN_VAL_AM_SCALING_LOGARITHMIC (1)

#define IVIRFSIGGEN_VAL_AM_SCALING_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_AM_SCALING_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_AM_EXTERNAL_COUPLING -*/


#define IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_AC (0)
#define IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_DC (1)

#define IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_AM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_FM_EXTERNAL_COUPLING -*/

IVI Foundation 363 IVI-4.10 IviRFSigGen Class Specification


#define IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_AC (0)
#define IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_DC (1)

#define IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_FM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_PM_EXTERNAL_COUPLING -*/


#define IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_AC (0)
#define IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_DC (1)

#define IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_PM_EXTERNAL_COUPLING_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_PULSE_MODULATION_SOURCE -*/


#define IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_EXTERNAL (1)

#define IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_PULSE_MODULATION_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_PULSE_MODULATION_EXTERNAL_POLARITY -*/


#define IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_NORMAL (0)
#define IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_INVERSE (1)

#define IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_PULSE_MODULATION_EXTERNAL_POLARITY_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_LF_GENERATOR_WAVEFORM -*/


#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SINE (0)
#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SQUARE (1)
#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_TRIANGLE (2)
#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_RAMP_UP (3)
#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_RAMP_DOWN (4)

#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_PULSE_TRIGGER_SOURCE -*/


#define IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_EXTERNAL (1)

#define IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_PULSE_TRIGGER_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_PULSE_EXTERNAL_TRIGGER_SLOPE -*/


#define IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_POSITIVE (0)
#define IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_NEGATIVE (1)

#define IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_PULSE_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_PULSE_OUTPUT_POLARITY -*/


#define IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_NORMAL (0)
#define IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_INVERSE (1)

#define IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_PULSE_OUTPUT_POLARITY_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_SWEEP_MODE -*/


#define IVIRFSIGGEN_VAL_SWEEP_MODE_NONE (0)
#define IVIRFSIGGEN_VAL_SWEEP_MODE_FREQUENCY_SWEEP (1)
#define IVIRFSIGGEN_VAL_SWEEP_MODE_POWER_SWEEP (2)
#define IVIRFSIGGEN_VAL_SWEEP_MODE_FREQUENCY_STEP (3)
#define IVIRFSIGGEN_VAL_SWEEP_MODE_POWER_STEP (4)
#define IVIRFSIGGEN_VAL_SWEEP_MODE_LIST (5)

#define IVIRFSIGGEN_VAL_SWEEP_MODE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_SWEEP_MODE_SPECIFIC_EXT_BASE (1000)

IVI-4.10 IviRFSigGen Class Specification 364 IVI Foundation


/*- Defined values for attribute IVIRFSIGGEN_ATTR_SWEEP_TRIGGER_SOURCE -*/
#define IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_IMMEDIATE (0)
#define IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_EXTERNAL (1)
#define IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SOFTWARE (2)

#define IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_SWEEP_TRIGGER_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_FREQUENCY_STEP_SCALING -*/


#define IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_LINEAR (0)
#define IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_LOGARITHMIC (1)

#define IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_FREQUENCY_STEP_SCALING_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_ALC_SOURCE -*/


#define IVIRFSIGGEN_VAL_ALC_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_ALC_SOURCE_EXTERNAL (1)

#define IVIRFSIGGEN_VAL_ALC_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_ALC_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_REFERENCE_OSCILLATOR_SOURCE -*/


#define IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_EXTERNAL (1)

#define IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_REFERENCE_OSCILLATOR_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined values for attribute IVIRFSIGGEN_ATTR_IQ_SOURCE -*/


#define IVIRFSIGGEN_VAL_IQ_SOURCE_DIGITAL_MODULATION_BASE (0)
#define IVIRFSIGGEN_VAL_IQ_SOURCE_CDMA_BASE (1)
#define IVIRFSIGGEN_VAL_IQ_SOURCE_TDMA_BASE (2)
#define IVIRFSIGGEN_VAL_IQ_SOURCE_ARB_GENERATOR (3)
#define IVIRFSIGGEN_VAL_IQ_SOURCE_EXTERNAL (4)

#define IVIRFSIGGEN_VAL_IQ_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_IQ_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_ARB_TRIGGER_SOURCE -*/


#define IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_IMMEDIATE (0)
#define IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_EXTERNAL (1)
#define IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SOFTWARE (2)

#define IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_ARB_TRIGGER_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_ARB_EXTERNAL_TRIGGER_SLOPE -*/


#define IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_POSITIVE (0)
#define IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_NEGATIVE (1)

#define IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_ARB_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_DATA_SOURCE -*/


#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_EXTERNAL (0)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_PRBS (1)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_BIT_SEQUENCE (2)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_CLASS_EXT_BASE (500)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_DATA_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_PRBS_TYPE -*/


#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_PRBS9 (0)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE PRBS_TYPE_PRBS11 (1)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_PRBS15 (2)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_PRBS16 (3)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_PRBS20 (4)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_PRBS21 (5)

IVI Foundation 365 IVI-4.10 IviRFSigGen Class Specification


#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_PRBS23 (6)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_CLASS_EXT_BASE (500)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_PRBS_TYPE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_CLOCK_SOURCE -*/


#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_EXTERNAL (1)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_CLASS_EXT_BASE (500)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE -


*/
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_BIT (0)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_SYMBOL (1)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_CLASS_EXT_BASE (500)
#define IVIRFSIGGEN_VAL_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_CDMA_TRIGGER_SOURCE -*/


#define IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_IMMEDIATE (0)
#define IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_EXTERNAL (1)
#define IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SOFTWARE (2)

#define IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_CDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_CDMA_TRIGGER_EXTERNAL_SLOPE -*/


#define IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_POSITIVE (0)
#define IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_NEGATIVE (1)

#define IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_CDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_CDMA_CLOCK_SOURCE -*/


#define IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_EXTERNAL (1)

#define IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_CDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_TDMA_TRIGGER_SOURCE -*/


#define IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_IMMEDIATE (0)
#define IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_EXTERNAL (1)
#define IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SOFTWARE (2)

#define IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_TDMA_TRIGGER_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_TDMA_TRIGGER_EXTERNAL_SLOPE -*/


#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_POSITIVE (0)
#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_NEGATIVE (1)

#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_TRIGGER_SLOPE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_TDMA_CLOCK_SOURCE -*/


#define IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_INTERNAL (0)
#define IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_EXTERNAL (1)

#define IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_TDMA_CLOCK_SOURCE_SPECIFIC_EXT_BASE (1000)

/*- Defined valued for attribute IVIRFSIGGEN_ATTR_TDMA_EXTERNAL_CLOCK_TYPE -*/


#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_BIT (0)
#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_SYMBOL (1)

#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_CLASS_EXT_BASE (500)


#define IVIRFSIGGEN_VAL_TDMA_EXTERNAL_CLOCK_TYPE_SPECIFIC_EXT_BASE (1000)

/******************************************************************************

IVI-4.10 IviRFSigGen Class Specification 366 IVI Foundation


*----------- IviRFSigGen Class Instrument Driver Function Declarations ------*
******************************************************************************/

/*- IviRFSigGenBase Capability Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureRF (ViSession Vi,
ViReal64 Frequency,
ViReal64 PowerLevel);

ViStatus _VI_FUNC IviRFSigGen_ConfigureALCEnabled (ViSession Vi,


ViBoolean ALCEnabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigureOutputEnabled (ViSession Vi,


ViBoolean OutputEnabled);

ViStatus _VI_FUNC IviRFSigGen_DisableAllModulation (ViSession Vi);

ViStatus _VI_FUNC IviRFSigGen_IsSettled (ViSession Vi,


ViBoolean * Done);

ViStatus _VI_FUNC IviRFSigGen_WaitUntilSettled (ViSession Vi,


ViInt32 MaxTimeMilliseconds);

/*- IviRFSigGenModulateAM Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureAMEnabled (ViSession Vi,
ViBoolean Enabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigureAMExternalCoupling (ViSession Vi,


ViInt32 Coupling);

ViStatus _VI_FUNC IviRFSigGen_ConfigureAM (ViSession Vi,


ViConstString Source,
ViInt32 Scaling,
ViReal64 Depth);

/*- IviRFSigGenModulateFM Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureFMEnabled (ViSession Vi,
ViBoolean Enabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigureFMExternalCoupling (ViSession Vi,


ViInt32 Coupling);

ViStatus _VI_FUNC IviRFSigGen_ConfigureFM (ViSession Vi,


ViConstString Source,
ViReal64 Deviation);

/*- IviRFSigGenModulatePM Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePMEnabled (ViSession Vi,
ViBoolean Enabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePMExternalCoupling (ViSession Vi,


ViInt32 Coupling);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePM (ViSession Vi,


ViConstString Source,
ViReal64 Deviation);

/*- IviRFSigGenModulationSource Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_GetAnalogModulationSourceName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

/*- IviRFSigGenModulatePulse Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseModulationEnabled (ViSession Vi,
ViBoolean Enabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseModulationSource (ViSession Vi,


ViConstString Source);

IVI Foundation 367 IVI-4.10 IviRFSigGen Class Specification


ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseModulationExternalPolarity (ViSession Vi,
ViInt32 Polarity);

/*- IviRFSigGenLFGenerator Extension Group -*/


ViStatus _VIFUNC IviRFSigGen_GetLFGeneratorName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

ViStatus _VIFUNC IviRFSigGen_SetActiveLFGenerator (ViSession Vi,


ViConstString ActiveLFGenerator);

ViStatus _VI_FUNC IviRFSigGen_ConfigureLFGenerator (ViSession Vi,


ViReal64 LFGeneratorFrequency,
ViInt32 LFGeneratorWaveform);

/*- IviRFSigGenLFGeneratorOutput Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureLFGeneratorOutput (ViSession Vi,
ViReal64 Amplitude,
ViBoolean Enabled);

/*- IviRFSigGenPulseGenerator Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseExternalTrigger (ViSession Vi,
ViInt32 Slope,
ViReal64 Delay);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseInternalTrigger (ViSession Vi,


ViReal64 Period);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePulse (ViSession Vi,


ViInt32 PulseTriggerSource,
ViReal64 PulseWidth,
ViBoolean GatingEnabled);

/*- IviRFSigGenPulseDoubleGenerator Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseDouble (ViSession Vi,
ViBoolean Enabled,
ViReal64 Delay)

/*- IviRFSigGenPulseGeneratorOutput Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePulseOutput (ViSession Vi,
ViInt32 Polarity,
ViBoolean Enabled)

/*- IviRFSigGenSweep Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureSweep (ViSession Vi,
ViInt32 Mode,
ViInt32 TriggerSource);

/*- IviRFSigGenFrequencySweep Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureFrequencySweepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop);

ViStatus _VI_FUNC IviRFSigGen_ConfigureFrequencySweepCenterSpan (ViSession Vi,


ViReal64 Center,
ViReal64 Span);

ViStatus _VI_FUNC IviRFSigGen_ConfigureFrequencySweepTime (ViSession Vi,


ViReal64 Time);

/*- IviRFSigGenPowerSweep Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePowerSweepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePowerSweepTime (ViSession Vi,


ViReal64 Time);

IVI-4.10 IviRFSigGen Class Specification 368 IVI Foundation


/*- IviRFSigGenFrequencyStep Extension Group -*/
ViStatus _VI_FUNC IviRFSigGen_ConfigureFrequencyStepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop,
ViInt32 Scaling,
ViReal64 StepSize);

ViStatus _VI_FUNC IviRFSigGen_ConfigureFrequencyStepDwell (ViSession Vi,


ViBoolean SingleStepEnabled,
ViReal64 Dwell);

ViStatus _VI_FUNC IviRFSigGen_ResetFrequencyStep (ViSession Vi);

/*- IviRFSigGenPowerStep Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigurePowerStepStartStop (ViSession Vi,
ViReal64 Start,
ViReal64 Stop,
ViReal64 StepSize);

ViStatus _VI_FUNC IviRFSigGen_ConfigurePowerStepDwell (ViSession Vi,


ViBoolean SingleStepEnabled,
ViReal64 Dwell);

ViStatus _VI_FUNC IviRFSigGen_ResetPowerStep (ViSession Vi);

/*- IviRFSigGenList Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_CreateFrequencyList (ViSession Vi,
ViConstString Name,
ViInt32 Length,
ViReal64 Frequency[]);

ViStatus _VI_FUNC IviRFSigGen_CreatePowerList (ViSession Vi,


ViConstString Name,
ViInt32 Length,
ViReal64 Power[]);

ViStatus _VI_FUNC IviRFSigGen_CreateFrequencyPowerList (ViSession Vi,


ViConstString Name,
ViInt32 Length,
ViReal64 Frequency[],
ViReal64 Power[]);

ViStatus _VI_FUNC IviRFSigGen_SelectList (ViSession Vi,


ViConstString Name);

ViStatus _VI_FUNC IviRFSigGen_ClearAllLists (ViSession Vi);

ViStatus _VI_FUNC IviRFSigGen_ConfigureListDwell (ViSession Vi,


ViBoolean SingleStepEnabled,
ViReal64 Dwell);

ViStatus _VI_FUNC IviRFSigGen_ResetList (ViSession Vi);

/*- IviRFSigGenALC Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureALC (ViSession Vi,
ViInt32 Source,
ViReal64 Bandwidth);

/*- IviRFSigGenReferenceOscillator Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureReferenceOscillator (ViSession Vi,
ViInt32 Source,
ViReal64 Frequency);

/*- IviRFSigGenSoftwareTrigger Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_SendSoftwareTrigger (ViSession Vi);

/*- IviRFSigGenModulateIQ Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureIQEnabled (ViSession Vi,

IVI Foundation 369 IVI-4.10 IviRFSigGen Class Specification


ViBoolean Enabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigureIQ (ViSession Vi,


ViInt32 Source,
ViBoolean SwapEnabled);

ViStatus _VI_FUNC IviRFSigGen_CalibrateIQ (ViSession Vi);

/*- IviRFSigGenIQImpairment Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureIQImpairmentEnabled (ViSession Vi,
ViBoolean Enabled);

ViStatus _VI_FUNC IviRFSigGen_ConfigureIQImpairment (ViSession Vi,


ViReal64 IOffset,
ViReal64 QOffset,
ViReal64 Ratio,
ViReal64 Skew);

/*- IviRFSigGenArbGenerator Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_ConfigureArb (ViSession Vi,
ViReal64 ClockFrequency,
ViReal64 FilterFrequency);

ViStatus _VI_FUNC IviRFSigGen_WriteArbWaveform (ViSession Vi,


ViConstString Name,
ViInt32 NumberOfSamples,
ViReal64 IData[],
ViReal64 QData[],
ViBoolean MoreDataPending);

ViStatus _VI_FUNC IviRFSigGen_SelectArbWaveform (ViSession Vi,


ViConstString Name);

ViStatus _VI_FUNC IviRFSigGen_ClearAllArbWaveforms (ViSession Vi);

ViStatus _VI_FUNC IviRFSigGen_QueryArbWaveformCapabilities (ViSession Vi,


ViInt32 *MaxNumberWaveforms,
ViInt32 *WaveformQuantum,
ViInt32 *MinWaveformSize,
ViInt32 *MaxWaveformSize);

ViStatus _VI_FUNC IviRFSigGen_ConfigureArbTriggerSource (ViSession Vi,


ViInt32 Source);

ViStatus _VI_FUNC IviRFSigGen_ConfigureArbTriggerExternalSlope (ViSession Vi,


ViInt32 Slope);

/*- IviRFSigGenDigitalModulationBase Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_GetDigitalModulationBaseStandardName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

ViStatus _VI_FUNC IviRFSigGen_SelectDigitalModulationBaseStandard (ViSession Vi,


ViConstString Name);

ViStatus _VI_FUNC IviRFSigGen_ConfigureDigitalModulationBaseClockSource (ViSession Vi,


ViInt32 Source,
ViInt32 Type);

ViStatus _VI_FUNC IviRFSigGen_ConfigureDigitalModulationBaseDataSource (ViSession Vi,


ViInt32 Source);

ViStatus _VI_FUNC IviRFSigGen_ConfigureDigitalModulationBasePRBSType (ViSession Vi,


ViInt32 Type);

ViStatus _VI_FUNC IviRFSigGen_WriteDigitalModulationBaseBitSequence (ViSession Vi,


ViConstString Name,
ViInt32 BitCount,

IVI-4.10 IviRFSigGen Class Specification 370 IVI Foundation


ViChar Sequence[],
ViBoolean MoreDataPending);

ViStatus _VI_FUNC IviRFSigGen_SelectDigitalModulationBaseBitSequence (ViSession Vi,


ViConstString Name);

ViStatus _VI_FUNC IviRFSigGen_ClearAllDigitalModulationBaseBitSequences (ViSession Vi);

/*- IviRFSigGenCDMABaseFunctionality Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_GetCDMAStandardName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

ViStatus _VI_FUNC IviRFSigGen_SelectCDMAStandard (ViSession Vi,


ViConstString Name);

ViStatus _VI_FUNC IviRFSigGen_ConfigureCDMAClockSource (ViSession Vi,


ViInt32 Source);

ViStatus _VI_FUNC IviRFSigGen_ConfigureCDMATriggerSource (ViSession Vi,


ViInt32 Source);

ViStatus _VI_FUNC IviRFSigGen_ConfigureCDMAExternalTriggerSlope (ViSession Vi,


ViInt32 Slope);

ViStatus _VI_FUNC IviRFSigGen_GetCDMATestModelName (ViSession Vi,


ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

ViStatus _VI_FUNC IviRFSigGen_SelectCDMATestModel (ViSession Vi,


ViConstString Name);

/*- IviRFSigGenTDMABaseFunctionality Extension Group -*/


ViStatus _VI_FUNC IviRFSigGen_GetTDMAStandardName (ViSession Vi,
ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

ViStatus _VI_FUNC IviRFSigGen_SelectTDMAStandard (ViSession Vi,


ViConstString Name);

ViStatus _VI_FUNC IviRFSigGen_ConfigureTDMAClockSource (ViSession Vi,


ViInt32 Source,
ViInt32 Type);

ViStatus _VI_FUNC IviRFSigGen_ConfigureTDMAFrameTriggerSource (ViSession Vi,


ViInt32 Source);

ViStatus _VI_FUNC IviRFSigGen_ConfigureTDMAExternalTriggerSlope (ViSession Vi,


ViInt32 Slope);

ViStatus _VI_FUNC IviRFSigGen_GetTDMAFrameName (ViSession Vi,


ViInt32 Index,
ViInt32 NameBufferSize,
ViChar Name[]);

ViStatus _VI_FUNC IviRFSigGen_SelectTDMAFrame (ViSession Vi,


ViConstString Name);

/******************************************************************************
*----------------- IviRFSigGen Class Error And Completion Codes -------------*
******************************************************************************/
#define IVIRFSIGGEN_ERROR_TRIGGER_NOT_SOFTWARE (IVI_SHARED_COMPONENT_ERROR_BASE + 1)
#define IVIRFSIGGEN_ERROR_MAX_TIME_EXCEEDED (IVI_CLASS_ERROR_BASE + 3)
#define IVIRFSIGGEN_ERROR_LIST_UNKNOWN (IVI_CLASS_ERROR_BASE + 10)
/******************************************************************************
*----------------------------- End Include File -----------------------------*

IVI Foundation 371 IVI-4.10 IviRFSigGen Class Specification


******************************************************************************/
#if defined(__cplusplus) || defined(c__plusplus)
}
#endif
#endif /* IVIRFSIGGEN_HEADER */

IVI-4.10 IviRFSigGen Class Specification 372 IVI Foundation


Appendix D COM IDL File
To ease the development of a compliant IVI-COM driver for the IviRFSigGen class, the IVI Foundation
publishes IDL (Interface Description Language) files that consolidate all the method and property definitions
listed in this specification. Notice that the interface IIviRFSigGen derives from IiviDriver, It is described in
IVI-3.2: Inherent Capabilities Specification.

These files along with these definitions compiled into type libraries are available from the IVI Foundation web
site at http://www.ivifoundation.org/.

D.1 IviRFSigGenTypeLib.idl
#if !defined(IVI_RFSIGGEN_TYPELIB_IDL_INCLUDED_)
#define IVI_RFSIGGEN_TYPELIB_IDL_INCLUDED_
/*****************************************************************************
*
* (C) COPYRIGHT INTERCHANGEABLE VIRTUAL INSTRUMENTS FOUNDATION, 2001,2002
* All rights reserved.
*
*
* FILENAME : IviDriverTypeLib.idl
*
* STATUS : APPROVED.
* COMPILER : MSVC++ 6.0, sp4 C++ compiler
* CONTENT : IVI RFSigGen Standard IDL
* type library definition
*
*****************************************************************************/

import "oaidl.idl";
import "ocidl.idl";

[
uuid(47ed5127-a398-11d4-ba58-000064657374),
version(1.0),
helpstring("IviRFSigGen 1.0 Type Library"),
helpfile("IviRFSigGen.chm")
]
library IviRFSigGenLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");

#include "IviRfSigGen.idl"
};

#endif // !defined(IVI_RFSIGGEN_TYPELIB_IDL_INCLUDED_)

D.2 IviRFSigGen.idl
#if !defined(IVI_RFSIGGEN_IDL_INCLUDED_)
#define IVI_RFSIGGEN_IDL_INCLUDED_
/*****************************************************************************
*
* (C) COPYRIGHT INTERCHANGEABLE VIRTUAL INSTRUMENTS FOUNDATION, 2001,2002
* All rights reserved.
*
*
* FILENAME: IviRFSigGen.idl
*

IVI Foundation 373 IVI-4.10 IviRFSigGen Class Specification


* STATUS: APPROVED.
* COMPILER: MSVC++ 6.0 MIDL compiler
* CONTENT: IVI RFSigGen Standard IDL
*
*****************************************************************************/

#include <winerror.h>
import "oaidl.idl";
import "ocidl.idl";

#ifdef IVI_USE_IMPORT
import"..\IviDriverTypeLib\IviDriver.idl";
#else
importlib ("..\TypeLibraries\IviDriverTypeLib.dll");
#endif

//-----------------------------------------------------------------------------
// Preprocessor Macros
//-----------------------------------------------------------------------------

#define HELP_RFSIGGEN(x) helpstring(HS_RFSIGGEN_ ## x ## ), helpcontext(HC_RFSIGGEN_ ## x ## )

//-----------------------------------------------------------------------------
// Provides for Localization
//-----------------------------------------------------------------------------

#include "IviRFSigGenEnglish.idl"

//-----------------------------------------------------------------------------
// Interface Declarations
//-----------------------------------------------------------------------------

interface IIviRFSigGen;
interface IIviRFSigGenRF;
interface IIviRFSigGenALC;
interface IIviRFSigGenReferenceOscillator;
interface IIviRFSigGenLFGenerator;
interface IIviRFSigGenLFGeneratorOutput;
interface IIviRFSigGenPulseGenerator;
interface IIviRFSigGenPulseGeneratorDouble;
interface IIviRFSigGenPulseGeneratorOutput;
interface IIviRFSigGenAnalogModulation;
interface IIviRFSigGenAnalogModulationSource;
interface IIviRFSigGenAM;
interface IIviRFSigGenFM;
interface IIviRFSigGenPM;
interface IIviRFSigGenPulseModulation;
interface IIviRFSigGenSweep;
interface IIviRFSigGenFrequencySweep;
interface IIviRFSigGenPowerSweep;
interface IIviRFSigGenFrequencyStep;
interface IIviRFSigGenPowerStep;
interface IIviRFSigGenList;
interface IIviRFSigGenDigitalModulation;
interface IIviRFSigGenIQ;
interface IIviRFSigGenIQImpairment;
interface IIviRFSigGenArb;
interface IIviRFSigGenDigitalModulationBase;
interface IIviRFSigGenTDMA;
interface IIviRFSigGenCDMA;

#define UUID_IIVI_RFSIGGEN 47ed52e2-a398-11d4-ba58-000064657374


#define UUID_IIVI_RFSIGGEN_RF 47ed52e3-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_ALC 47ed52e4-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_REFERENCE_OSCILLATOR 47ed52e5-a398-11d4-ba58-000064657374

IVI-4.10 IviRFSigGen Class Specification 374 IVI Foundation


#define UUID_IIVI_RFSIGGEN_LFGENERATOR 47ed52e6-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_LFGENERATOR_OUTPUT 47ed52e7-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_PULSE_GENERATOR 47ed52e8-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_PULSE_GENERATOR_DOUBLE 47ed52e9-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_PULSE_GENERATOR_OUTPUT 47ed52ea-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_ANALOG_MODULATION 47ed52eb-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_ANALOG_MODULATION_SOURCE 47ed52ec-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_AM 47ed52ed-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_FM 47ed52ee-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_PM 47ed52ef-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_PULSE_MODULATION 47ed52f0-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_SWEEP 47ed52f1-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_FREQUENCY_SWEEP 47ed52f2-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_POWER_SWEEP 47ed52f3-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_FREQUENCY_STEP 47ed52f4-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_POWER_STEP 47ed52f5-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_LIST 47ed52f6-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_DIGITAL_MODULATION 47ed52f7-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_IQ 47ed52f8-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_IQ_IMPAIRMENT 47ed52f9-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_ARB 47ed52fa-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_DIGITAL_MODULATION_BASE 47ed52fb-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_CDMA 47ed52fc-a398-11d4-ba58-000064657374
#define UUID_IIVI_RFSIGGEN_TDMA 47ed52fd-a398-11d4-ba58-000064657374

//-------------------------------------------------------------------------
// TYPEDEF ENUMS
//-------------------------------------------------------------------------

[
HELP_RFSIGGEN(HRESULTS)
]
typedef enum IviRFSigGenErrorCodesEnum
{
E_IVIRFSIGGEN_TRIGGER_NOT_SOFTWARE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x1001),
E_IVIRFSIGGEN_MAX_TIME_EXCEEDED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x2003),
E_IVIRFSIGGEN_LIST_UNKNOWN = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x200A),
} IviRFSigGenErrorCodesEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenMaxTimeMillisecondsEnum
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(MAX_TIME_MILLISECONDS_ENUM)
]
typedef enum IviRFSigGenMaxTimeMillisecondsEnum
{
IviRFSigGenMaxTimeMillisecondsInfinite = 0xFFFFFFFFUL,
IviRFSigGenMaxTimeMillisecondsImmediate = 0
} IviRFSigGenMaxTimeMillisecondsEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenSweepMode
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(SWEEP_MODE_ENUM)
]
typedef enum IviRFSigGenSweepModeEnum
{
IviRFSigGenSweepModeNone = 0,
IviRFSigGenSweepModeFrequencySweep = 1,

IVI Foundation 375 IVI-4.10 IviRFSigGen Class Specification


IviRFSigGenSweepModePowerSweep = 2,
IviRFSigGenSweepModeFrequencyStep = 3,
IviRFSigGenSweepModePowerStep = 4,
IviRFSigGenSweepModeList = 5,
} IviRFSigGenSweepModeEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenALCSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(ALC_SOURCE_ENUM)
]
typedef enum IviRFSigGenALCSourceEnum
{
IviRFSigGenALCSourceInternal = 0,
IviRFSigGenALCSourceExternal = 1,
} IviRFSigGenALCSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenReferenceOscillatorSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(REFERENCE_OSCILLATOR_SOURCE_ENUM)
]
typedef enum IviRFSigGenReferenceOscillatorSourceEnum
{
IviRFSigGenReferenceOscillatorSourceInternal = 0,
IviRFSigGenReferenceOscillatorSourceExternal = 1,
} IviRFSigGenReferenceOscillatorSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenLFGeneratorWaveform
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(LFGENERATOR_WAVEFORM_ENUM)
]
typedef enum IviRFSigGenLFGeneratorWaveformEnum
{
IviRFSigGenLFGeneratorWaveformSine = 0,
IviRFSigGenLFGeneratorWaveformSquare = 1,
IviRFSigGenLFGeneratorWaveformTriangle = 2,
IviRFSigGenLFGeneratorWaveformRampUp = 3,
IviRFSigGenLFGeneratorWaveformRampDown = 4,
} IviRFSigGenLFGeneratorWaveformEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenAMScaling
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(AM_SCALING_ENUM)
]
typedef enum IviRFSigGenAMScalingEnum
{

IVI-4.10 IviRFSigGen Class Specification 376 IVI Foundation


IviRFSigGenAMScalingLinear = 0,
IviRFSigGenAMScalingLogarithmic = 1,
} IviRFSigGenAMScalingEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenAMExternalCoupling
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(AM_EXTERNAL_COUPLING_ENUM)
]
typedef enum IviRFSigGenAMExternalCouplingEnum
{
IviRFSigGenAMExternalCouplingAC = 0,
IviRFSigGenAMExternalCouplingDC = 1,
} IviRFSigGenAMExternalCouplingEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenFMExternalCoupling
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(FM_EXTERNAL_COUPLING_ENUM)
]
typedef enum IviRFSigGenFMExternalCouplingEnum
{
IviRFSigGenFMExternalCouplingAC = 0,
IviRFSigGenFMExternalCouplingDC = 1,
} IviRFSigGenFMExternalCouplingEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenPMExternalCoupling
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(PM_EXTERNAL_COUPLING_ENUM)
]
typedef enum IviRFSigGenPMExternalCouplingEnum
{
IviRFSigGenPMExternalCouplingAC = 0,
IviRFSigGenPMExternalCouplingDC = 1,
} IviRFSigGenPMExternalCouplingEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenPulseExternalTriggerSlope
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(PULSE_EXTERNAL_TRIGGER_SLOPE_ENUM)
]
typedef enum IviRFSigGenPulseExternalTriggerSlopeEnum
{
IviRFSigGenPulseExternalTriggerSlopePositive = 0,
IviRFSigGenPulseExternalTriggerSlopeNegative = 1,
} IviRFSigGenPulseExternalTriggerSlopeEnum;

IVI Foundation 377 IVI-4.10 IviRFSigGen Class Specification


//-----------------------------------------------------------------------------
// enum: IviRFSigGenPulseTriggerSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(PULSE_TRIGGER_SOURCE_ENUM)
]
typedef enum IviRFSigGenPulseTriggerSourceEnum
{
IviRFSigGenPulseTriggerSourceInternal = 0,
IviRFSigGenPulseTriggerSourceExternal = 1,
} IviRFSigGenPulseTriggerSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenPulseModulationExternalPolarity
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(PULSE_EXTERNAL_POLARITY_ENUM)
]
typedef enum IviRFSigGenPulseModulationExternalPolarityEnum
{
IviRFSigGenPulseModulationExternalPolarityNormal = 0,
IviRFSigGenPulseModulationExternalPolarityInverse = 1,
} IviRFSigGenPulseModulationExternalPolarityEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenPulseModulationSourceEnum
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(PULSE_MODULATION_SOURCE_ENUM)
]
typedef enum IviRFSigGenPulseModulationSourceEnum
{
IviRFSigGenPulseModulationSourceInternal = 0,
IviRFSigGenPulseModulationSourceExternal = 1,
} IviRFSigGenPulseModulationSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenPulseOutputPolarity
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(PULSE_OUTPUT_POLARITY_ENUM)
]
typedef enum IviRFSigGenPulseOutputPolarityEnum
{
IviRFSigGenPulseOutputPolarityNormal = 0,
IviRFSigGenPulseOutputPolarityInverse = 1,
} IviRFSigGenPulseOutputPolarityEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenSweepTriggerSource
//-----------------------------------------------------------------------------

IVI-4.10 IviRFSigGen Class Specification 378 IVI Foundation


public,
v1_enum,
HELP_RFSIGGEN(SWEEP_TRIGGER_SOURCE_ENUM)
]
typedef enum IviRFSigGenSweepTriggerSourceEnum
{
IviRFSigGenSweepTriggerSourceImmediate = 0,
IviRFSigGenSweepTriggerSourceExternal = 1,
IviRFSigGenSweepTriggerSourceSoftware = 2,
} IviRFSigGenSweepTriggerSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenFrequencyStepScaling
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(FREQUENCY_STEP_SCALING_ENUM)
]
typedef enum IviRFSigGenFrequencyStepScalingEnum
{
IviRFSigGenFrequencyStepScalingLinear = 0,
IviRFSigGenFrequencyStepScalingLogarithmic = 1,
} IviRFSigGenFrequencyStepScalingEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenIQSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(IQ_SOURCE_ENUM)
]
typedef enum IviRFSigGenIQSourceEnum
{
IviRFSigGenIQSourceDigitalModulationBase = 0,
IviRFSigGenIQSourceCDMABase = 1,
IviRFSigGenIQSourceTDMABase = 2,
IviRFSigGenIQSourceArbGenerator = 3,
IviRFSigGenIQSourceExternal = 4,
} IviRFSigGenIQSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenArbTriggerSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(ARB_TRIGGER_SOURCE_ENUM)
]
typedef enum IviRFSigGenArbTriggerSourceEnum
{
IviRFSigGenArbTriggerSourceImmediate = 0,
IviRFSigGenArbTriggerSourceExternal = 1,
IviRFSigGenArbTriggerSourceSoftware = 2,
} IviRFSigGenArbTriggerSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenArbExternalTriggerSlope
//-----------------------------------------------------------------------------

IVI Foundation 379 IVI-4.10 IviRFSigGen Class Specification


public,
v1_enum,
HELP_RFSIGGEN(ARB_EXTERNAL_TRIGGER_SLOPE_ENUM)
]
typedef enum IviRFSigGenArbExternalTriggerSlopeEnum
{
IviRFSigGenArbExternalTriggerSlopePositive = 0,
IviRFSigGenArbExternalTriggerSlopeNegative = 1,
} IviRFSigGenArbExternalTriggerSlopeEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenDigitalModulationBaseDataSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_DATA_SOURCE_ENUM)
]
typedef enum IviRFSigGenDigitalModulationBaseDataSourceEnum
{
IviRFSigGenDigitalModulationBaseDataSourceExternal = 0,
IviRFSigGenDigitalModulationBaseDataSourcePRBS = 1,
IviRFSigGenDigitalModulationBaseDataSourceBitSequence = 2,
} IviRFSigGenDigitalModulationBaseDataSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenDigitalModulationBasePRBSType
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_PRBS_TYPE)
]
typedef enum IviRFSigGenDigitalModulationBasePRBSTypeEnum
{
IviRFSigGenDigitalModulationBasePRBSTypePRBS9 = 0,
IviRFSigGenDigitalModulationBasePRBSTypePRBS11 = 1,
IviRFSigGenDigitalModulationBasePRBSTypePRBS15 = 2,
IviRFSigGenDigitalModulationBasePRBSTypePRBS16 = 3,
IviRFSigGenDigitalModulationBasePRBSTypePRBS20 = 4,
IviRFSigGenDigitalModulationBasePRBSTypePRBS21 = 5,
IviRFSigGenDigitalModulationBasePRBSTypePRBS23 = 6,
} IviRFSigGenDigitalModulationBasePRBSTypeEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenDigitalModulationBaseClockSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_CLOCK_SOURCE_ENUM)
]
typedef enum IviRFSigGenDigitalModulationBaseClockSourceEnum
{
IviRFSigGenDigitalModulationBaseClockSourceInternal = 0,
IviRFSigGenDigitalModulationBaseClockSourceExternal = 1,
} IviRFSigGenDigitalModulationBaseClockSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenDigitalModulationBaseClockType
//-----------------------------------------------------------------------------

IVI-4.10 IviRFSigGen Class Specification 380 IVI Foundation


[
public,
v1_enum,
HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_ENUM)
]
typedef enum IviRFSigGenDigitalModulationBaseExternalClockTypeEnum
{
IviRFSigGenDigitalModulationBaseExternalClockTypeBit = 0,
IviRFSigGenDigitalModulationBaseExternalClockTypeSymbol = 1,
} IviRFSigGenDigitalModulationBaseExternalClockTypeEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenCDMATriggerSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(CDMA_TRIGGER_SOURCE_ENUM)
]
typedef enum IviRFSigGenCDMATriggerSourceEnum
{
IviRFSigGenCDMATriggerSourceImmediate = 0,
IviRFSigGenCDMATriggerSourceExternal = 1,
IviRFSigGenCDMATriggerSourceSoftware = 2,
} IviRFSigGenCDMATriggerSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenCDMAExternalTriggerSlope
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(CDMA_EXTERNAL_TRIGGER_SLOPE_ENUM)
]
typedef enum IviRFSigGenCDMAExternalTriggerSlopeEnum
{
IviRFSigGenCDMAExternalTriggerSlopePositive = 0,
IviRFSigGenCDMAExternalTriggerSlopeNegative = 1,
} IviRFSigGenCDMAExternalTriggerSlopeEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenCDMAClockSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(CDMA_CLOCK_SOURCE_ENUM)
]
typedef enum IviRFSigGenCDMAClockSourceEnum
{
IviRFSigGenCDMAClockSourceInternal = 0,
IviRFSigGenCDMAClockSourceExternal = 1,
} IviRFSigGenCDMAClockSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenTDMATriggerSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(TDMA_TRIGGER_SOURCE_ENUM)

IVI Foundation 381 IVI-4.10 IviRFSigGen Class Specification


]
typedef enum IviRFSigGenTDMATriggerSourceEnum
{
IviRFSigGenTDMATriggerSourceImmediate = 0,
IviRFSigGenTDMATriggerSourceExternal = 1,
IviRFSigGenTDMATriggerSourceSoftware = 2,
} IviRFSigGenTDMATriggerSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenTDMAExternalTriggerSlope
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(TDMA_EXTERNAL_TRIGGER_SLOPE_ENUM)
]
typedef enum IviRFSigGenTDMAExternalTriggerSlopeEnum
{
IviRFSigGenTDMAExternalTriggerSlopePositive = 0,
IviRFSigGenTDMAExternalTriggerSlopeNegative = 1,
} IviRFSigGenTDMAExternalTriggerSlopeEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenTDMAClockSource
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(TDMA_CLOCK_SOURCE_ENUM)
]
typedef enum IviRFSigGenTDMAClockSourceEnum
{
IviRFSigGenTDMAClockSourceInternal = 0,
IviRFSigGenTDMAClockSourceExternal = 1,
} IviRFSigGenTDMAClockSourceEnum;

//-----------------------------------------------------------------------------
// enum: IviRFSigGenTDMAExternalClockType
//-----------------------------------------------------------------------------

[
public,
v1_enum,
HELP_RFSIGGEN(TDMA_EXTERNAL_CLOCK_TYPE_ENUM)
]
typedef enum IviRFSigGenTDMAExternalClockTypeEnum
{
IviRFSigGenTDMAExternalClockTypeBit = 0,
IviRFSigGenTDMAExternalClockTypeSymbol = 1,
} IviRFSigGenTDMAExternalClockTypeEnum;

//-----------------------------------------------------------------------------
// IVI RfSigGen Driver Root Level Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN),
HELP_RFSIGGEN(I_IVI_RFSIGGEN),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGen : IIviDriver

IVI-4.10 IviRFSigGen Class Specification 382 IVI Foundation


{
//----------------------------------------- RF Interface Reference
[ propget, HELP_RFSIGGEN(RF) ]
HRESULT RF ([out, retval] IIviRFSigGenRF **pVal);

//----------------------------------------- ALC Interface Reference


[ propget, HELP_RFSIGGEN(ALC) ]
HRESULT ALC ([out, retval] IIviRFSigGenALC **pVal);

//----------------------------------------- LFGenerator Interface Reference


[ propget, HELP_RFSIGGEN(LFGENERATOR) ]
HRESULT LFGenerator ([out, retval] IIviRFSigGenLFGenerator **pVal);

//----------------------------------------- PulseGenerator Interface Reference


[ propget, HELP_RFSIGGEN(PULSE_GENERATOR) ]
HRESULT PulseGenerator ([out, retval] IIviRFSigGenPulseGenerator **pVal);

//----------------------------------------- Sweep Interface Reference


[ propget, HELP_RFSIGGEN(SWEEP) ]
HRESULT Sweep ([out, retval] IIviRFSigGenSweep **pVal);

//----------------------------------------- ReferenceOscillator Interface Reference


[ propget, HELP_RFSIGGEN(REFERENCE_OSCILLATOR) ]
HRESULT ReferenceOscillator ([out, retval] IIviRFSigGenReferenceOscillator **pVal);

//----------------------------------------- AnalogModulation Interface Reference


[ propget, HELP_RFSIGGEN(ANALOG_MODULATION) ]
HRESULT AnalogModulation ([out, retval] IIviRFSigGenAnalogModulation **pVal);

//----------------------------------------- PulseModulation Interface Reference


[ propget, HELP_RFSIGGEN(PULSE_MODULATION) ]
HRESULT PulseModulation ([out, retval] IIviRFSigGenPulseModulation **pVal);

//----------------------------------------- DigitalModulation Interface Reference


[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION) ]
HRESULT DigitalModulation ([out, retval] IIviRFSigGenDigitalModulation **pVal);

//----------------------------------------- IQ Interface Reference


[ propget, HELP_RFSIGGEN(IQ) ]
HRESULT IQ ([out, retval] IIviRFSigGenIQ **pVal);

//----------------------------------------- SendSoftwareTrigger()
[ HELP_RFSIGGEN(SEND_SOFTWARE_TRIGGER) ]
HRESULT SendSoftwareTrigger();

};

//-----------------------------------------------------------------------------
// RF Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_RF),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_RF),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenRF : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(RF_CONFIGURE) ]
HRESULT Configure(
[in] DOUBLE Frequency,
[in] DOUBLE PowerLevel);

//----------------------------------------- Frequency
[ propput, HELP_RFSIGGEN(FREQUENCY) ]

IVI Foundation 383 IVI-4.10 IviRFSigGen Class Specification


HRESULT Frequency([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY) ]
HRESULT Frequency([out, retval] DOUBLE *pVal);

//----------------------------------------- Level
[ propput, HELP_RFSIGGEN(LEVEL) ]
HRESULT Level([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(LEVEL) ]
HRESULT Level([out, retval] DOUBLE *pVal);

//----------------------------------------- OutputEnabled
[ propput, HELP_RFSIGGEN(OUTPUT_ENABLED) ]
HRESULT OutputEnabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(OUTPUT_ENABLED) ]
HRESULT OutputEnabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- IsSettled()
[ HELP_RFSIGGEN(IS_SETTLED) ]
HRESULT IsSettled(
[out, retval] VARIANT_BOOL *Done);

//----------------------------------------- WaitUntilSettled()
[ HELP_RFSIGGEN(WAIT_UNTIL_SETTLED) ]
HRESULT WaitUntilSettled(
[in] LONG MaxTimeMilliseconds);

//----------------------------------------- DisableAllModulation()
[ HELP_RFSIGGEN(DISABLE_ALL_MODULATION) ]
HRESULT DisableAllModulation();

};

//-----------------------------------------------------------------------------
// ALC Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_ALC),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_ALC),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenALC : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(ALC_CONFIGURE) ]
HRESULT Configure(
[in] IviRFSigGenALCSourceEnum Source,
[in] DOUBLE Bandwidth);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(ALC_SOURCE) ]
HRESULT Source([in] IviRFSigGenALCSourceEnum newVal);

[ propget, HELP_RFSIGGEN(ALC_SOURCE) ]
HRESULT Source([out, retval] IviRFSigGenALCSourceEnum *pVal);

//----------------------------------------- Bandwidth
[ propput, HELP_RFSIGGEN(ALC_BANDWIDTH) ]
HRESULT Bandwidth([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(ALC_BANDWIDTH) ]
HRESULT Bandwidth([out, retval] DOUBLE *pVal);

IVI-4.10 IviRFSigGen Class Specification 384 IVI Foundation


//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(ALC_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(ALC_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

};

//-----------------------------------------------------------------------------
// LFGenerator Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_LFGENERATOR),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_LFGENERATOR),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenLFGenerator : IUnknown
{
//----------------------------------------- LFGeneratorOutput Interface Reference
[ propget, HELP_RFSIGGEN(LFGENERATOR_OUTPUT) ]
HRESULT Output ([out, retval] IIviRFSigGenLFGeneratorOutput **pVal);

//----------------------------------------- Configure()
[ HELP_RFSIGGEN(LFGENERATOR_CONFIGURE) ]
HRESULT Configure(
[in] DOUBLE Frequency,
[in] IviRFSigGenLFGeneratorWaveformEnum Waveform);

//----------------------------------------- Frequency
[ propput, HELP_RFSIGGEN(LFGENERATOR_FREQUENCY) ]
HRESULT Frequency([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(LFGENERATOR_FREQUENCY) ]
HRESULT Frequency([out, retval] DOUBLE *pVal);

//----------------------------------------- Waveform
[ propput, HELP_RFSIGGEN(LFGENERATOR_WAVEFORM) ]
HRESULT Waveform([in] IviRFSigGenLFGeneratorWaveformEnum newVal);

[ propget, HELP_RFSIGGEN(LFGENERATOR_WAVEFORM) ]
HRESULT Waveform([out, retval] IviRFSigGenLFGeneratorWaveformEnum *pVal);

//----------------------------------------- ActiveGenerator
[ propget, HELP_RFSIGGEN(ACTIVE_LFGENERATOR) ]
HRESULT ActiveLFGenerator([out, retval] BSTR *pVal);

[ propput, HELP_RFSIGGEN(ACTIVE_LFGENERATOR) ]
HRESULT ActiveLFGenerator([in] BSTR newVal);

//----------------------------------------- Count
[ propget, HELP_RFSIGGEN(LFGENERATOR_COUNT) ]
HRESULT Count ([out, retval] LONG *pVal);

//----------------------------------------- Name
[ propget, HELP_RFSIGGEN(LFGENERATOR_NAME) ]
HRESULT Name ([in] LONG Index, [out, retval] BSTR *pVal);

};

//-----------------------------------------------------------------------------
// LFGeneratorOutput Interface
//-----------------------------------------------------------------------------

IVI Foundation 385 IVI-4.10 IviRFSigGen Class Specification


[
object,
uuid(UUID_IIVI_RFSIGGEN_LFGENERATOR_OUTPUT),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_LFGENERATOR_OUTPUT),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenLFGeneratorOutput : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(LFGENERATOR_OUTPUT_CONFIGURE) ]
HRESULT Configure(
[in] DOUBLE Amplitude,
[in] VARIANT_BOOL Enabled);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(LFGENERATOR_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(LFGENERATOR_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Amplitude
[ propput, HELP_RFSIGGEN(LFGENERATOR_AMPLITUDE) ]
HRESULT Amplitude([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(LFGENERATOR_AMPLITUDE) ]
HRESULT Amplitude([out, retval] DOUBLE *pVal);

};

//-----------------------------------------------------------------------------
// PulseGenerator Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_PULSE_GENERATOR),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_PULSE_GENERATOR),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenPulseGenerator : IUnknown
{
//----------------------------------------- PulseGeneratorDouble Interface Reference
[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_DOUBLE) ]
HRESULT Double ([out, retval] IIviRFSigGenPulseGeneratorDouble **pVal);

//----------------------------------------- PulseGeneratorOutput Interface Reference


[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_OUTPUT) ]
HRESULT Output ([out, retval] IIviRFSigGenPulseGeneratorOutput **pVal);

//----------------------------------------- Configure()
[ HELP_RFSIGGEN(PULSE_GENERATOR_CONFIGURE) ]
HRESULT Configure(
[in] IviRFSigGenPulseTriggerSourceEnum PulseTriggerSource,
[in] DOUBLE PulseWidth,
[in] VARIANT_BOOL GatingEnabled);

//----------------------------------------- ConfigureExternalTrigger()
[ HELP_RFSIGGEN(PULSE_GENERATOR_CONFIGURE_EXTERNAL_TRIGGER) ]
HRESULT ConfigureExternalTrigger(
[in] IviRFSigGenPulseExternalTriggerSlopeEnum Slope,
[in] DOUBLE Delay);

//----------------------------------------- TriggerInternalPeriod
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_INTERNAL_TRIGGER_PERIOD) ]
HRESULT InternalTriggerPeriod([in] DOUBLE newVal);

IVI-4.10 IviRFSigGen Class Specification 386 IVI Foundation


[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_INTERNAL_TRIGGER_PERIOD) ]
HRESULT InternalTriggerPeriod([out, retval] DOUBLE *pVal);

//----------------------------------------- Width
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_WIDTH) ]
HRESULT Width([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_WIDTH) ]
HRESULT Width([out, retval] DOUBLE *pVal);

//----------------------------------------- GatingEnabled
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_GATING_ENABLED) ]
HRESULT GatingEnabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_GATING_ENABLED) ]
HRESULT GatingEnabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- TriggerSource
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_TRIGGER_SOURCE) ]
HRESULT TriggerSource([in] IviRFSigGenPulseTriggerSourceEnum newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_TRIGGER_SOURCE) ]
HRESULT TriggerSource([out, retval] IviRFSigGenPulseTriggerSourceEnum *pVal);

//----------------------------------------- ExternalTriggerSlope
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_EXTERNAL_TRIGGER_SLOPE) ]
HRESULT ExternalTriggerSlope([in] IviRFSigGenPulseExternalTriggerSlopeEnum newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_EXTERNAL_TRIGGER_SLOPE) ]
HRESULT ExternalTriggerSlope([out, retval] IviRFSigGenPulseExternalTriggerSlopeEnum *pVal);

//----------------------------------------- ExternalTriggerDelay
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_EXTERNAL_TRIGGER_DELAY) ]
HRESULT ExternalTriggerDelay([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_EXTERNAL_TRIGGER_DELAY) ]
HRESULT ExternalTriggerDelay([out, retval] DOUBLE *pVal);

};

//-----------------------------------------------------------------------------
// PulseGeneratorDouble Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_PULSE_GENERATOR_DOUBLE),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_PULSE_GENERATOR_DOUBLE),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenPulseGeneratorDouble : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(PULSE_GENERATOR_DOUBLE_CONFIGURE) ]
HRESULT Configure(
[in] VARIANT_BOOL Enabled,
[in] DOUBLE Delay);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_DOUBLE_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_DOUBLE_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Delay

IVI Foundation 387 IVI-4.10 IviRFSigGen Class Specification


[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_DOUBLE_DELAY) ]
HRESULT Delay([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_DOUBLE_DELAY) ]
HRESULT Delay([out, retval] DOUBLE *pVal);

};

//-----------------------------------------------------------------------------
// PulseGeneratorOutput Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_PULSE_GENERATOR_OUTPUT),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_PULSE_GENERATOR_OUTPUT),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenPulseGeneratorOutput : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(PULSE_GENERATOR_OUTPUT_CONFIGURE) ]
HRESULT Configure(
[in] IviRFSigGenPulseOutputPolarityEnum Polarity,
[in] VARIANT_BOOL Enabled);

//----------------------------------------- Polarity
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_OUTPUT_POLARITY) ]
HRESULT Polarity([in] IviRFSigGenPulseOutputPolarityEnum newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_OUTPUT_POLARITY) ]
HRESULT Polarity([out, retval] IviRFSigGenPulseOutputPolarityEnum *pVal);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(PULSE_GENERATOR_OUTPUT_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(PULSE_GENERATOR_OUTPUT_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

};

//-----------------------------------------------------------------------------
// AnalogModulation Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_ANALOG_MODULATION),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_ANALOG_MODULATION),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenAnalogModulation : IUnknown
{
//----------------------------------------- AM Interface Reference
[ propget, HELP_RFSIGGEN(AM) ]
HRESULT AM ([out, retval] IIviRFSigGenAM **pVal);

//----------------------------------------- FM Interface Reference


[ propget, HELP_RFSIGGEN(FM) ]
HRESULT FM ([out, retval] IIviRFSigGenFM **pVal);

//----------------------------------------- PM Interface Reference


[ propget, HELP_RFSIGGEN(PM) ]
HRESULT PM ([out, retval] IIviRFSigGenPM **pVal);

IVI-4.10 IviRFSigGen Class Specification 388 IVI Foundation


//----------------------------------------- Source Interface Reference
[ propget, HELP_RFSIGGEN(ANALOG_MODULATION_SOURCE) ]
HRESULT Source ([out, retval] IIviRFSigGenAnalogModulationSource **pVal);

};

//-----------------------------------------------------------------------------
// AnalogModulationSource Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_ANALOG_MODULATION_SOURCE),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_ANALOG_MODULATION_SOURCE),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenAnalogModulationSource : IUnknown
{
//----------------------------------------- Count
[ propget, HELP_RFSIGGEN(ANALOG_MODULATION_SOURCE_COUNT) ]
HRESULT Count ([out, retval] LONG *pVal);

//----------------------------------------- Name
[ propget, HELP_RFSIGGEN(ANALOG_MODULATION_SOURCE_NAME) ]
HRESULT Name ([in] LONG Index, [out, retval] BSTR *pVal);

};

//-----------------------------------------------------------------------------
// AM Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_AM),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_AM),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenAM : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(AM_CONFIGURE) ]
HRESULT Configure(
[in] BSTR Source,
[in] IviRFSigGenAMScalingEnum Scaling,
[in] DOUBLE Depth);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(AM_SOURCE) ]
HRESULT Source([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(AM_SOURCE) ]
HRESULT Source([out, retval] BSTR *pVal);

//----------------------------------------- Scaling
[ propput, HELP_RFSIGGEN(AM_SCALING) ]
HRESULT Scaling([in] IviRFSigGenAMScalingEnum newVal);

[ propget, HELP_RFSIGGEN(AM_SCALING) ]
HRESULT Scaling([out, retval] IviRFSigGenAMScalingEnum *pVal);

//----------------------------------------- Depth
[ propput, HELP_RFSIGGEN(AM_DEPTH) ]
HRESULT Depth([in] DOUBLE newVal);

IVI Foundation 389 IVI-4.10 IviRFSigGen Class Specification


[ propget, HELP_RFSIGGEN(AM_DEPTH) ]
HRESULT Depth([out, retval] DOUBLE *pVal);

//----------------------------------------- NominalVoltage
[ propget, HELP_RFSIGGEN(AM_NOMINAL_VOLTAGE) ]
HRESULT NominalVoltage([out, retval] DOUBLE *pVal);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(AM_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(AM_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- ExternalCoupling
[ propput, HELP_RFSIGGEN(AM_EXTERNAL_COUPLING) ]
HRESULT ExternalCoupling([in] IviRFSigGenAMExternalCouplingEnum newVal);

[ propget, HELP_RFSIGGEN(AM_EXTERNAL_COUPLING) ]
HRESULT ExternalCoupling([out, retval] IviRFSigGenAMExternalCouplingEnum *pVal);

};

//-----------------------------------------------------------------------------
// FM Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_FM),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_FM),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenFM : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(FM_CONFIGURE) ]
HRESULT Configure(
[in] BSTR Source,
[in] DOUBLE Deviation);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(FM_SOURCE) ]
HRESULT Source([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(FM_SOURCE) ]
HRESULT Source([out, retval] BSTR *pVal);

//----------------------------------------- Deviation
[ propput, HELP_RFSIGGEN(FM_DEVIATION) ]
HRESULT Deviation([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FM_DEVIATION) ]
HRESULT Deviation([out, retval] DOUBLE *pVal);

//----------------------------------------- NominalVoltage
[ propget, HELP_RFSIGGEN(FM_NOMINAL_VOLTAGE) ]
HRESULT NominalVoltage([out, retval] DOUBLE *pVal);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(FM_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(FM_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- ExternalCoupling
[ propput, HELP_RFSIGGEN(FM_EXTERNAL_COUPLING) ]

IVI-4.10 IviRFSigGen Class Specification 390 IVI Foundation


HRESULT ExternalCoupling([in] IviRFSigGenFMExternalCouplingEnum newVal);

[ propget, HELP_RFSIGGEN(FM_EXTERNAL_COUPLING) ]
HRESULT ExternalCoupling([out, retval] IviRFSigGenFMExternalCouplingEnum *pVal);

};

//-----------------------------------------------------------------------------
// PM Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_PM),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_PM),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenPM : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(PM_CONFIGURE) ]
HRESULT Configure(
[in] BSTR Source,
[in] DOUBLE Deviation);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(PM_SOURCE) ]
HRESULT Source([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(PM_SOURCE) ]
HRESULT Source([out, retval] BSTR *pVal);

//----------------------------------------- Deviation
[ propput, HELP_RFSIGGEN(PM_DEVIATION) ]
HRESULT Deviation([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(PM_DEVIATION) ]
HRESULT Deviation([out, retval] DOUBLE *pVal);

//----------------------------------------- NominalVoltage
[ propget, HELP_RFSIGGEN(PM_NOMINAL_VOLTAGE) ]
HRESULT NominalVoltage([out, retval] DOUBLE *pVal);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(PM_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(PM_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- ExternalCoupling
[ propput, HELP_RFSIGGEN(PM_EXTERNAL_COUPLING) ]
HRESULT ExternalCoupling([in] IviRFSigGenPMExternalCouplingEnum newVal);

[ propget, HELP_RFSIGGEN(PM_EXTERNAL_COUPLING) ]
HRESULT ExternalCoupling([out, retval] IviRFSigGenPMExternalCouplingEnum *pVal);

};

//-----------------------------------------------------------------------------
// PulseModulation Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_PULSE_MODULATION),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_PULSE_MODULATION),
oleautomation,

IVI Foundation 391 IVI-4.10 IviRFSigGen Class Specification


pointer_default(unique)
]
interface IIviRFSigGenPulseModulation : IUnknown
{
//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(PULSE_MODULATION_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(PULSE_MODULATION_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(PULSE_MODULATION_SOURCE) ]
HRESULT Source([in] IviRFSigGenPulseModulationSourceEnum newVal);

[ propget, HELP_RFSIGGEN(PULSE_MODULATION_SOURCE) ]
HRESULT Source([out, retval] IviRFSigGenPulseModulationSourceEnum *pVal);

//----------------------------------------- ExternalPolarity
[ propput, HELP_RFSIGGEN(PULSE_MODULATION_EXTERNAL_POLARITY) ]
HRESULT ExternalPolarity([in] IviRFSigGenPulseModulationExternalPolarityEnum newVal);

[ propget, HELP_RFSIGGEN(PULSE_MODULATION_EXTERNAL_POLARITY) ]
HRESULT ExternalPolarity([out, retval] IviRFSigGenPulseModulationExternalPolarityEnum
*pVal);

};

//-----------------------------------------------------------------------------
// ReferenceOscillator Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_REFERENCE_OSCILLATOR),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_REFERENCE_OSCILLATOR),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenReferenceOscillator : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(REFERENCE_OSCILLATOR_CONFIGURE) ]
HRESULT Configure(
[in] IviRFSigGenReferenceOscillatorSourceEnum Source,
[in] DOUBLE Frequency);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(REFERENCE_OSCILLATOR_SOURCE) ]
HRESULT Source([in] IviRFSigGenReferenceOscillatorSourceEnum newVal);

[ propget, HELP_RFSIGGEN(REFERENCE_OSCILLATOR_SOURCE) ]
HRESULT Source([out, retval] IviRFSigGenReferenceOscillatorSourceEnum *pVal);

//----------------------------------------- ExternalFrequency
[ propput, HELP_RFSIGGEN(REFERENCE_OSCILLATOR_FREQUENCY) ]
HRESULT ExternalFrequency([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(REFERENCE_OSCILLATOR_FREQUENCY) ]
HRESULT ExternalFrequency([out, retval] DOUBLE *pVal);

};

//-----------------------------------------------------------------------------
// Sweep Interface
//-----------------------------------------------------------------------------

IVI-4.10 IviRFSigGen Class Specification 392 IVI Foundation


object,
uuid(UUID_IIVI_RFSIGGEN_SWEEP),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_SWEEP),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenSweep : IUnknown
{
//----------------------------------------- FrequencySweep Interface Reference
[ propget, HELP_RFSIGGEN(FREQUENCY_SWEEP) ]
HRESULT FrequencySweep ([out, retval] IIviRFSigGenFrequencySweep **pVal);

//----------------------------------------- PowerSweep Interface Reference


[ propget, HELP_RFSIGGEN(POWER_SWEEP) ]
HRESULT PowerSweep ([out, retval] IIviRFSigGenPowerSweep **pVal);

//----------------------------------------- FrequencyStep Interface Reference


[ propget, HELP_RFSIGGEN(FREQUENCY_STEP) ]
HRESULT FrequencyStep ([out, retval] IIviRFSigGenFrequencyStep **pVal);

//----------------------------------------- PowerStep Interface Reference


[ propget, HELP_RFSIGGEN(POWER_STEP) ]
HRESULT PowerStep ([out, retval] IIviRFSigGenPowerStep **pVal);

//----------------------------------------- List Interface Reference


[ propget, HELP_RFSIGGEN(LIST) ]
HRESULT List ([out, retval] IIviRFSigGenList **pVal);

//----------------------------------------- Configure()
[ HELP_RFSIGGEN(SWEEP_CONFIGURE) ]
HRESULT Configure(
[in] IviRFSigGenSweepModeEnum Mode,
[in] IviRFSigGenSweepTriggerSourceEnum TriggerSource);

//----------------------------------------- Mode
[ propput, HELP_RFSIGGEN(SWEEP_MODE) ]
HRESULT Mode([in] IviRFSigGenSweepModeEnum newVal);

[ propget, HELP_RFSIGGEN(SWEEP_MODE) ]
HRESULT Mode([out, retval] IviRFSigGenSweepModeEnum *pVal);

//----------------------------------------- TriggerSource
[ propput, HELP_RFSIGGEN(SWEEP_TRIGGER_SOURCE) ]
HRESULT TriggerSource([in] IviRFSigGenSweepTriggerSourceEnum newVal);

[ propget, HELP_RFSIGGEN(SWEEP_TRIGGER_SOURCE) ]
HRESULT TriggerSource([out, retval] IviRFSigGenSweepTriggerSourceEnum *pVal);

};

//-----------------------------------------------------------------------------
// FrequencySweep Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_FREQUENCY_SWEEP),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_FREQUENCY_SWEEP),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenFrequencySweep : IUnknown
{
//----------------------------------------- ConfigureCenterSpan()
[ HELP_RFSIGGEN(FREQUENCY_SWEEP_CONFIGURE_CENTER_SPAN) ]
HRESULT ConfigureCenterSpan(
[in] DOUBLE Center,
[in] DOUBLE Span);

IVI Foundation 393 IVI-4.10 IviRFSigGen Class Specification


//----------------------------------------- ConfigureStartStop()
[ HELP_RFSIGGEN(FREQUENCY_SWEEP_CONFIGURE_START_STOP) ]
HRESULT ConfigureStartStop(
[in] DOUBLE Start,
[in] DOUBLE Stop);

//----------------------------------------- Start
[ propput, HELP_RFSIGGEN(FREQUENCY_SWEEP_START) ]
HRESULT Start([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_SWEEP_START) ]
HRESULT Start([out, retval] DOUBLE *pVal);

//----------------------------------------- Stop
[ propput, HELP_RFSIGGEN(FREQUENCY_SWEEP_STOP) ]
HRESULT Stop([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_SWEEP_STOP) ]
HRESULT Stop([out, retval] DOUBLE *pVal);

//----------------------------------------- Time
[ propput, HELP_RFSIGGEN(FREQUENCY_SWEEP_TIME) ]
HRESULT Time([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_SWEEP_TIME) ]
HRESULT Time([out, retval] DOUBLE *pVal);

};

//-----------------------------------------------------------------------------
// PowerSweep Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_POWER_SWEEP),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_POWER_SWEEP),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenPowerSweep : IUnknown
{
//----------------------------------------- ConfigureStartStop()
[ HELP_RFSIGGEN(POWER_SWEEP_CONFIGURE_START_STOP) ]
HRESULT ConfigureStartStop(
[in] DOUBLE Start,
[in] DOUBLE Stop);

//----------------------------------------- Start
[ propput, HELP_RFSIGGEN(POWER_SWEEP_START) ]
HRESULT Start([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_SWEEP_START) ]
HRESULT Start([out, retval] DOUBLE *pVal);

//----------------------------------------- Stop
[ propput, HELP_RFSIGGEN(POWER_SWEEP_STOP) ]
HRESULT Stop([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_SWEEP_STOP) ]
HRESULT Stop([out, retval] DOUBLE *pVal);

//----------------------------------------- Time
[ propput, HELP_RFSIGGEN(POWER_SWEEP_TIME) ]
HRESULT Time([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_SWEEP_TIME) ]
HRESULT Time([out, retval] DOUBLE *pVal);

IVI-4.10 IviRFSigGen Class Specification 394 IVI Foundation


};

//-----------------------------------------------------------------------------
// FrequencyStep Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_FREQUENCY_STEP),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_FREQUENCY_STEP),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenFrequencyStep : IUnknown
{
//----------------------------------------- ConfigureStartStop()
[ HELP_RFSIGGEN(FREQUENCY_STEP_CONFIGURE_START_STOP) ]
HRESULT ConfigureStartStop(
[in] DOUBLE Start,
[in] DOUBLE Stop,
[in] IviRFSigGenFrequencyStepScalingEnum Scaling,
[in] DOUBLE StepSize);

//----------------------------------------- Start
[ propput, HELP_RFSIGGEN(FREQUENCY_STEP_START) ]
HRESULT Start([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_STEP_START) ]
HRESULT Start([out, retval] DOUBLE *pVal);

//----------------------------------------- Stop
[ propput, HELP_RFSIGGEN(FREQUENCY_STEP_STOP) ]
HRESULT Stop([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_STEP_STOP) ]
HRESULT Stop([out, retval] DOUBLE *pVal);

//----------------------------------------- Scaling
[ propput, HELP_RFSIGGEN(FREQUENCY_STEP_SCALING) ]
HRESULT Scaling([in] IviRFSigGenFrequencyStepScalingEnum newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_STEP_SCALING) ]
HRESULT Scaling([out, retval] IviRFSigGenFrequencyStepScalingEnum *pVal);

//----------------------------------------- Size
[ propput, HELP_RFSIGGEN(FREQUENCY_STEP_SIZE) ]
HRESULT Size([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_STEP_SIZE) ]
HRESULT Size([out, retval] DOUBLE *pVal);

//----------------------------------------- ConfigureDwell()
[ HELP_RFSIGGEN(FREQUENCY_STEP_CONFIGURE_DWELL) ]
HRESULT ConfigureDwell(
[in] VARIANT_BOOL SingleStepEnabled,
[in] DOUBLE Dwell);

//----------------------------------------- SingleStepEnabled
[ propput, HELP_RFSIGGEN(FREQUENCY_STEP_SINGLE_STEP_ENABLED) ]
HRESULT SingleStepEnabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_STEP_SINGLE_STEP_ENABLED) ]
HRESULT SingleStepEnabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Dwell
[ propput, HELP_RFSIGGEN(FREQUENCY_STEP_DWELL) ]
HRESULT Dwell([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(FREQUENCY_STEP_DWELL) ]

IVI Foundation 395 IVI-4.10 IviRFSigGen Class Specification


HRESULT Dwell([out, retval] DOUBLE *pVal);

//----------------------------------------- Reset()
[ HELP_RFSIGGEN(FREQUENCY_STEP_RESET) ]
HRESULT Reset();

};

//-----------------------------------------------------------------------------
// PowerStep Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_POWER_STEP),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_POWER_STEP),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenPowerStep : IUnknown
{
//----------------------------------------- ConfigureStartStop()
[ HELP_RFSIGGEN(POWER_STEP_CONFIGURE_START_STOP) ]
HRESULT ConfigureStartStop(
[in] DOUBLE Start,
[in] DOUBLE Stop,
[in] DOUBLE StepSize);

//----------------------------------------- Start
[ propput, HELP_RFSIGGEN(POWER_STEP_START) ]
HRESULT Start([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_STEP_START) ]
HRESULT Start([out, retval] DOUBLE *pVal);

//----------------------------------------- Stop
[ propput, HELP_RFSIGGEN(POWER_STEP_STOP) ]
HRESULT Stop([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_STEP_STOP) ]
HRESULT Stop([out, retval] DOUBLE *pVal);

//----------------------------------------- Size
[ propput, HELP_RFSIGGEN(POWER_STEP_SIZE) ]
HRESULT Size([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_STEP_SIZE) ]
HRESULT Size([out, retval] DOUBLE *pVal);

//----------------------------------------- ConfigureDwell()
[ HELP_RFSIGGEN(POWER_STEP_CONFIGURE_DWELL) ]
HRESULT ConfigureDwell(
[in] VARIANT_BOOL SingleStepEnabled,
[in] DOUBLE Dwell);

//----------------------------------------- SingleStepEnabled
[ propput, HELP_RFSIGGEN(POWER_STEP_SINGLE_STEP_ENABLED) ]
HRESULT SingleStepEnabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(POWER_STEP_SINGLE_STEP_ENABLED) ]
HRESULT SingleStepEnabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Dwell
[ propput, HELP_RFSIGGEN(POWER_STEP_DWELL) ]
HRESULT Dwell([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(POWER_STEP_DWELL) ]
HRESULT Dwell([out, retval] DOUBLE *pVal);

IVI-4.10 IviRFSigGen Class Specification 396 IVI Foundation


//----------------------------------------- Reset()
[ HELP_RFSIGGEN(POWER_STEP_RESET) ]
HRESULT Reset();

};

//-----------------------------------------------------------------------------
// List Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_LIST),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_LIST),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenList : IUnknown
{
//----------------------------------------- ConfigureDwell()
[ HELP_RFSIGGEN(LIST_CONFIGURE_DWELL) ]
HRESULT ConfigureDwell(
[in] VARIANT_BOOL SingleStepEnabled,
[in] DOUBLE Dwell);

//----------------------------------------- SingleStepEnabled
[ propput, HELP_RFSIGGEN(LIST_SINGLE_STEP_ENABLED) ]
HRESULT SingleStepEnabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(LIST_SINGLE_STEP_ENABLED) ]
HRESULT SingleStepEnabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Dwell
[ propput, HELP_RFSIGGEN(LIST_DWELL) ]
HRESULT Dwell([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(LIST_DWELL) ]
HRESULT Dwell([out, retval] DOUBLE *pVal);

//----------------------------------------- SelectedName
[ propget, HELP_RFSIGGEN(LIST_SELECTED_NAME) ]
HRESULT SelectedName([out, retval] BSTR *pVal);

[ propput, HELP_RFSIGGEN(LIST_SELECTED_NAME) ]
HRESULT SelectedName([in] BSTR newVal);

//----------------------------------------- ClearAll()
[ HELP_RFSIGGEN(LIST_CLEAR_ALL) ]
HRESULT ClearAll();

//----------------------------------------- CreateFrequency()
[ HELP_RFSIGGEN(CREATE_FREQUENCY_LIST) ]
HRESULT CreateFrequency(
[in] BSTR Name,
[in] SAFEARRAY (DOUBLE) *Frequency);

//----------------------------------------- CreatePower()
[ HELP_RFSIGGEN(CREATE_POWER_LIST) ]
HRESULT CreatePower(
[in] BSTR Name,
[in] SAFEARRAY (DOUBLE) *Power);

//----------------------------------------- CreateFrequencyPower()
[ HELP_RFSIGGEN(CREATE_FREQUENCY_POWER_LIST) ]
HRESULT CreateFrequencyPower(
[in] BSTR Name,
[in] SAFEARRAY (DOUBLE) *Frequency,
[in] SAFEARRAY (DOUBLE) *Power);

IVI Foundation 397 IVI-4.10 IviRFSigGen Class Specification


//----------------------------------------- Reset()
[ HELP_RFSIGGEN(LIST_RESET) ]
HRESULT Reset();

};

//-----------------------------------------------------------------------------
// IQ Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_IQ),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_IQ),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenIQ : IUnknown
{
//----------------------------------------- IQImpairment Interface Reference
[ propget, HELP_RFSIGGEN(IQ_IMPAIRMENT) ]
HRESULT Impairment ([out, retval] IIviRFSigGenIQImpairment **pVal);

//----------------------------------------- Configure()
[ HELP_RFSIGGEN(IQ_CONFIGURE) ]
HRESULT Configure(
[in] IviRFSigGenIQSourceEnum Source,
[in] VARIANT_BOOL SwapEnabled);

//----------------------------------------- Source
[ propput, HELP_RFSIGGEN(IQ_SOURCE) ]
HRESULT Source([in] IviRFSigGenIQSourceEnum newVal);

[ propget, HELP_RFSIGGEN(IQ_SOURCE) ]
HRESULT Source([out, retval] IviRFSigGenIQSourceEnum *pVal);

//----------------------------------------- SwapEnabled
[ propput, HELP_RFSIGGEN(IQ_SWAP_ENABLED) ]
HRESULT SwapEnabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(IQ_SWAP_ENABLED) ]
HRESULT SwapEnabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- NominalVoltage
[ propget, HELP_RFSIGGEN(IQ_NOMINAL_VOLTAGE) ]
HRESULT NominalVoltage([out, retval] DOUBLE *pVal);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(IQ_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(IQ_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- Calibrate()
[ HELP_RFSIGGEN(IQ_CALIBRATE) ]
HRESULT Calibrate();

};

//-----------------------------------------------------------------------------
// IQImpairment Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_IQ_IMPAIRMENT),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_IQ_IMPAIRMENT),
oleautomation,

IVI-4.10 IviRFSigGen Class Specification 398 IVI Foundation


pointer_default(unique)
]
interface IIviRFSigGenIQImpairment : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(IQ_IMPAIRMENT_CONFIGURE) ]
HRESULT Configure(
[in] DOUBLE IOffset,
[in] DOUBLE QOffset,
[in] DOUBLE Ratio,
[in] DOUBLE Skew);

//----------------------------------------- Enabled
[ propput, HELP_RFSIGGEN(IQ_IMPAIRMENT_ENABLED) ]
HRESULT Enabled([in] VARIANT_BOOL newVal);

[ propget, HELP_RFSIGGEN(IQ_IMPAIRMENT_ENABLED) ]
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);

//----------------------------------------- IOffset
[ propput, HELP_RFSIGGEN(IQ_IMPAIRMENT_I_OFFSET) ]
HRESULT IOffset([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(IQ_IMPAIRMENT_I_OFFSET) ]
HRESULT IOffset([out, retval] DOUBLE *pVal);

//----------------------------------------- QOffset
[ propput, HELP_RFSIGGEN(IQ_IMPAIRMENT_Q_OFFSET) ]
HRESULT QOffset([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(IQ_IMPAIRMENT_Q_OFFSET) ]
HRESULT QOffset([out, retval] DOUBLE *pVal);

//----------------------------------------- Ratio
[ propput, HELP_RFSIGGEN(IQ_IMPAIRMENT_RATIO) ]
HRESULT Ratio([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(IQ_IMPAIRMENT_RATIO) ]
HRESULT Ratio([out, retval] DOUBLE *pVal);

//----------------------------------------- Skew
[ propput, HELP_RFSIGGEN(IQ_IMPAIRMENT_SKEW) ]
HRESULT Skew([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(IQ_IMPAIRMENT_SKEW) ]
HRESULT Skew([out, retval] DOUBLE *pVal);

};

//-----------------------------------------------------------------------------
// DigitalModulation Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_DIGITAL_MODULATION),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_DIGITAL_MODULATION),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenDigitalModulation : IUnknown
{
//----------------------------------------- Arb Interface Reference
[ propget, HELP_RFSIGGEN(ARB) ]
HRESULT Arb ([out, retval] IIviRFSigGenArb **pVal);

//----------------------------------------- DigitalModulationBase Interface Reference


[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE) ]

IVI Foundation 399 IVI-4.10 IviRFSigGen Class Specification


HRESULT Base ([out, retval] IIviRFSigGenDigitalModulationBase **pVal);

//----------------------------------------- TDMA Interface Reference


[ propget, HELP_RFSIGGEN(TDMA) ]
HRESULT TDMA ([out, retval] IIviRFSigGenTDMA **pVal);

//----------------------------------------- CDMA Interface Reference


[ propget, HELP_RFSIGGEN(CDMA) ]
HRESULT CDMA ([out, retval] IIviRFSigGenCDMA **pVal);

};

//-----------------------------------------------------------------------------
// Arb Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_ARB),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_ARB),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenArb : IUnknown
{
//----------------------------------------- Configure()
[ HELP_RFSIGGEN(ARB_CONFIGURE) ]
HRESULT Configure(
[in] DOUBLE ClockFrequency,
[in] DOUBLE FilterFrequency);

//----------------------------------------- WriteWaveform()
[ HELP_RFSIGGEN(ARB_WRITE_WAVEFORM) ]
HRESULT WriteWaveform(
[in] BSTR Name,
[in] SAFEARRAY (DOUBLE) *IData,
[in] SAFEARRAY (DOUBLE) *QData,
[in] VARIANT_BOOL MoreDataPending);

//----------------------------------------- ClearAllWaveforms()
[ HELP_RFSIGGEN(ARB_CLEAR_ALL_WAVEFORMS) ]
HRESULT ClearAllWaveforms();

//----------------------------------------- QueryWaveformCapabilities()
[ HELP_RFSIGGEN(ARB_QUERY_WAVEFORM_CAPABILITIES) ]
HRESULT QueryWaveformCapabilities(
[in, out] LONG *MaxNumberWaveforms,
[in, out] LONG *WaveformQuantum,
[in, out] LONG *MinWaveformSize,
[in, out] LONG *MaxWaveformSize);

//----------------------------------------- SelectedWaveform
[ propput, HELP_RFSIGGEN(ARB_SELECTED_WAVEFORM) ]
HRESULT SelectedWaveform([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(ARB_SELECTED_WAVEFORM) ]
HRESULT SelectedWaveform([out, retval] BSTR *pVal);

//----------------------------------------- ClockFrequency
[ propput, HELP_RFSIGGEN(ARB_CLOCK_FREQUENCY) ]
HRESULT ClockFrequency([in] DOUBLE newVal);

[ propget, HELP_RFSIGGEN(ARB_CLOCK_FREQUENCY) ]
HRESULT ClockFrequency([out, retval] DOUBLE *pVal);

//----------------------------------------- FilterFrequency
[ propput, HELP_RFSIGGEN(ARB_FILTER_FREQUENCY) ]
HRESULT FilterFrequency([in] DOUBLE newVal);

IVI-4.10 IviRFSigGen Class Specification 400 IVI Foundation


[ propget, HELP_RFSIGGEN(ARB_FILTER_FREQUENCY) ]
HRESULT FilterFrequency([out, retval] DOUBLE *pVal);

//----------------------------------------- MaxNumberWaveforms
[ propget, HELP_RFSIGGEN(ARB_MAX_NUMBER_WAVEFORMS) ]
HRESULT MaxNumberWaveforms([out, retval] LONG *pVal);

//----------------------------------------- WaveformQuantum
[ propget, HELP_RFSIGGEN(ARB_WAVEFORM_QUANTUM) ]
HRESULT WaveformQuantum([out, retval] LONG *pVal);

//----------------------------------------- WaveformSizeMin
[ propget, HELP_RFSIGGEN(ARB_WAVEFORM_SIZE_MIN) ]
HRESULT WaveformSizeMin([out, retval] LONG *pVal);

//----------------------------------------- WaveformSizeMax
[ propget, HELP_RFSIGGEN(ARB_WAVEFORM_SIZE_MAX) ]
HRESULT WaveformSizeMax([out, retval] LONG *pVal);

//----------------------------------------- TriggerSource
[ propput, HELP_RFSIGGEN(ARB_TRIGGER_SOURCE) ]
HRESULT TriggerSource([in] IviRFSigGenArbTriggerSourceEnum newVal);

[ propget, HELP_RFSIGGEN(ARB_TRIGGER_SOURCE) ]
HRESULT TriggerSource([out, retval] IviRFSigGenArbTriggerSourceEnum *pVal);

//----------------------------------------- ExternalTriggerSlope
[ propput, HELP_RFSIGGEN(ARB_TRIGGER_EXTERNAL_SLOPE) ]
HRESULT ExternalTriggerSlope([in] IviRFSigGenArbExternalTriggerSlopeEnum newVal);

[ propget, HELP_RFSIGGEN(ARB_TRIGGER_EXTERNAL_SLOPE) ]
HRESULT ExternalTriggerSlope([out, retval] IviRFSigGenArbExternalTriggerSlopeEnum *pVal);

};

//-----------------------------------------------------------------------------
// DigitalModulationBase Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_DIGITAL_MODULATION_BASE),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_DIGITAL_MODULATION_BASE),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenDigitalModulationBase : IUnknown
{
//----------------------------------------- ConfigureClockSource()
[ HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_CONFIGURE_CLOCK_SOURCE) ]
HRESULT ConfigureClockSource(
[in] IviRFSigGenDigitalModulationBaseClockSourceEnum Source,
[in] IviRFSigGenDigitalModulationBaseExternalClockTypeEnum Type);

//----------------------------------------- WriteBitSequence()
[ HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_WRITE_BIT_SEQUENCE) ]
HRESULT WriteBitSequence(
[in] BSTR Name,
[in] LONG BitCount,
[in] SAFEARRAY (BYTE) *Sequence,
[in] VARIANT_BOOL MoreDataPending);

//----------------------------------------- ClearAllBitSequences()
[ HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_CLEAR_ALL_BIT_SEQUENCES) ]
HRESULT ClearAllBitSequences();

//----------------------------------------- StandardName
[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_STANDARD_NAME) ]

IVI Foundation 401 IVI-4.10 IviRFSigGen Class Specification


HRESULT StandardName([in] LONG Index, [out, retval] BSTR *pVal);

//----------------------------------------- StandardCount
[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_STANDARD_COUNT) ]
HRESULT StandardCount([out, retval] LONG *pVal);

//----------------------------------------- SelectedStandard
[ propput, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_SELECTED_STANDARD) ]
HRESULT SelectedStandard([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_SELECTED_STANDARD) ]
HRESULT SelectedStandard([out, retval] BSTR *pVal);

//----------------------------------------- DataSource
[ propput, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_DATA_SOURCE) ]
HRESULT DataSource([in] IviRFSigGenDigitalModulationBaseDataSourceEnum newVal);

[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_DATA_SOURCE) ]
HRESULT DataSource([out, retval] IviRFSigGenDigitalModulationBaseDataSourceEnum *pVal);

//----------------------------------------- PRBSType
[ propput, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_PRBS_TYPE) ]
HRESULT PRBSType([in] IviRFSigGenDigitalModulationBasePRBSTypeEnum newVal);

[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_PRBS_TYPE) ]
HRESULT PRBSType([out, retval] IviRFSigGenDigitalModulationBasePRBSTypeEnum *pVal);

//----------------------------------------- SelectedBitSequence
[ propput, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_SELECTED_BIT_SEQUENCE) ]
HRESULT SelectedBitSequence([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_SELECTED_BIT_SEQUENCE) ]
HRESULT SelectedBitSequence([out, retval] BSTR *pVal);

//----------------------------------------- ClockSource
[ propput, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_CLOCK_SOURCE) ]
HRESULT ClockSource([in] IviRFSigGenDigitalModulationBaseClockSourceEnum newVal);

[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_CLOCK_SOURCE) ]
HRESULT ClockSource([out, retval] IviRFSigGenDigitalModulationBaseClockSourceEnum *pVal);

//----------------------------------------- ExternalClockType
[ propput, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE) ]
HRESULT ExternalClockType([in] IviRFSigGenDigitalModulationBaseExternalClockTypeEnum
newVal);

[ propget, HELP_RFSIGGEN(DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE) ]
HRESULT ExternalClockType([out, retval]
IviRFSigGenDigitalModulationBaseExternalClockTypeEnum *pVal);

};

//-----------------------------------------------------------------------------
// CDMA Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_CDMA),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_CDMA),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenCDMA : IUnknown
{
//----------------------------------------- StandardName
[ propget, HELP_RFSIGGEN(CDMA_STANDARD_NAME) ]
HRESULT StandardName([in] LONG Index, [out, retval] BSTR *pVal);

IVI-4.10 IviRFSigGen Class Specification 402 IVI Foundation


//----------------------------------------- StandardCount
[ propget, HELP_RFSIGGEN(CDMA_STANDARD_COUNT) ]
HRESULT StandardCount([out, retval] LONG *pVal);

//----------------------------------------- SelectedStandard
[ propput, HELP_RFSIGGEN(CDMA_SELECTED_STANDARD) ]
HRESULT SelectedStandard([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(CDMA_SELECTED_STANDARD) ]
HRESULT SelectedStandard([out, retval] BSTR *pVal);

//----------------------------------------- TestModelName
[ propget, HELP_RFSIGGEN(CDMA_TEST_MODEL_NAME) ]
HRESULT TestModelName([in] LONG Index, [out, retval] BSTR *pVal);

//----------------------------------------- TestModelCount
[ propget, HELP_RFSIGGEN(CDMA_TEST_MODEL_COUNT) ]
HRESULT TestModelCount([out, retval] LONG *pVal);

//----------------------------------------- SelectedTestModel
[ propput, HELP_RFSIGGEN(CDMA_SELECTED_TEST_MODEL) ]
HRESULT SelectedTestModel([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(CDMA_SELECTED_TEST_MODEL) ]
HRESULT SelectedTestModel([out, retval] BSTR *pVal);

//----------------------------------------- TriggerSource
[ propput, HELP_RFSIGGEN(CDMA_TRIGGER_SOURCE) ]
HRESULT TriggerSource([in] IviRFSigGenCDMATriggerSourceEnum newVal);

[ propget, HELP_RFSIGGEN(CDMA_TRIGGER_SOURCE) ]
HRESULT TriggerSource([out, retval] IviRFSigGenCDMATriggerSourceEnum *pVal);

//----------------------------------------- ExternalTriggerSlope
[ propput, HELP_RFSIGGEN(CDMA_EXTERNAL_TRIGGER_SLOPE) ]
HRESULT ExternalTriggerSlope([in] IviRFSigGenCDMAExternalTriggerSlopeEnum newVal);

[ propget, HELP_RFSIGGEN(CDMA_EXTERNAL_TRIGGER_SLOPE) ]
HRESULT ExternalTriggerSlope([out, retval] IviRFSigGenCDMAExternalTriggerSlopeEnum *pVal);

//----------------------------------------- ClockSource
[ propput, HELP_RFSIGGEN(CDMA_CLOCK_SOURCE) ]
HRESULT ClockSource([in] IviRFSigGenCDMAClockSourceEnum newVal);

[ propget, HELP_RFSIGGEN(CDMA_CLOCK_SOURCE) ]
HRESULT ClockSource([out, retval] IviRFSigGenCDMAClockSourceEnum *pVal);

};

//-----------------------------------------------------------------------------
// TDMA Interface
//-----------------------------------------------------------------------------

[
object,
uuid(UUID_IIVI_RFSIGGEN_TDMA),
HELP_RFSIGGEN(I_IVI_RFSIGGEN_TDMA),
oleautomation,
pointer_default(unique)
]
interface IIviRFSigGenTDMA : IUnknown
{
//----------------------------------------- ConfigureClockSource()
[ HELP_RFSIGGEN(TDMA_CONFIGURE_CLOCK_SOURCE) ]
HRESULT ConfigureClockSource(
[in] IviRFSigGenTDMAClockSourceEnum Source,
[in] IviRFSigGenTDMAExternalClockTypeEnum Type);

IVI Foundation 403 IVI-4.10 IviRFSigGen Class Specification


//----------------------------------------- StandardName
[ propget, HELP_RFSIGGEN(TDMA_STANDARD_NAME) ]
HRESULT StandardName([in] LONG Index, [out, retval] BSTR *pVal);

//----------------------------------------- StandardCount
[ propget, HELP_RFSIGGEN(TDMA_STANDARD_COUNT) ]
HRESULT StandardCount([out, retval] LONG *pVal);

//----------------------------------------- SelectedStandard
[ propput, HELP_RFSIGGEN(TDMA_SELECTED_STANDARD) ]
HRESULT SelectedStandard([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(TDMA_SELECTED_STANDARD) ]
HRESULT SelectedStandard([out, retval] BSTR *pVal);

//----------------------------------------- FrameName
[ propget, HELP_RFSIGGEN(TDMA_FRAME_NAME) ]
HRESULT FrameName([in] LONG Index, [out, retval] BSTR *pVal);

//----------------------------------------- FrameCount
[ propget, HELP_RFSIGGEN(TDMA_FRAME_COUNT) ]
HRESULT FrameCount([out, retval] LONG *pVal);

//----------------------------------------- SelectedFrame
[ propput, HELP_RFSIGGEN(TDMA_SELECTED_FRAME) ]
HRESULT SelectedFrame([in] BSTR newVal);

[ propget, HELP_RFSIGGEN(TDMA_SELECTED_FRAME) ]
HRESULT SelectedFrame([out, retval] BSTR *pVal);

//----------------------------------------- TriggerSource
[ propput, HELP_RFSIGGEN(TDMA_TRIGGER_SOURCE) ]
HRESULT TriggerSource([in] IviRFSigGenTDMATriggerSourceEnum newVal);

[ propget, HELP_RFSIGGEN(TDMA_TRIGGER_SOURCE) ]
HRESULT TriggerSource([out, retval] IviRFSigGenTDMATriggerSourceEnum *pVal);

//----------------------------------------- ExternalTriggerSlope
[ propput, HELP_RFSIGGEN(TDMA_EXTERNAL_TRIGGER_SLOPE) ]
HRESULT ExternalTriggerSlope([in] IviRFSigGenTDMAExternalTriggerSlopeEnum newVal);

[ propget, HELP_RFSIGGEN(TDMA_EXTERNAL_TRIGGER_SLOPE) ]
HRESULT ExternalTriggerSlope([out, retval] IviRFSigGenTDMAExternalTriggerSlopeEnum *pVal);

//----------------------------------------- ClockSource
[ propput, HELP_RFSIGGEN(TDMA_CLOCK_SOURCE) ]
HRESULT ClockSource([in] IviRFSigGenTDMAClockSourceEnum newVal);

[ propget, HELP_RFSIGGEN(TDMA_CLOCK_SOURCE) ]
HRESULT ClockSource([out, retval] IviRFSigGenTDMAClockSourceEnum *pVal);

//----------------------------------------- ExternalClockType
[ propput, HELP_RFSIGGEN(TDMA_EXTERNAL_CLOCK_TYPE) ]
HRESULT ExternalClockType([in] IviRFSigGenTDMAExternalClockTypeEnum newVal);

[ propget, HELP_RFSIGGEN(TDMA_EXTERNAL_CLOCK_TYPE) ]
HRESULT ExternalClockType([out, retval] IviRFSigGenTDMAExternalClockTypeEnum *pVal);

};

#endif // !defined(IVI_RFSIGGEN_IDL_INCLUDED_)

D.3 IviRFSigGenEnglish.idl
#if !defined(IVI_RFSIGGEN_IDL_ENGLISH_INCLUDED_)
#define IVI_RFSIGGEN_IDL_ENGLISH_INCLUDED_

IVI-4.10 IviRFSigGen Class Specification 404 IVI Foundation


/*****************************************************************************
*
* (C) COPYRIGHT INTERCHANGEABLE VIRTUAL INSTRUMENTS FOUNDATION, 2001,2002
* All rights reserved.
*
*
* FILENAME: IviRFSigGen.idl
*
* STATUS: APPROVED.
* COMPILER: MSVC++ 6.0 MIDL compiler
* CONTENT: IVI RfSigGen Standard IDL
* help context IDs and help strings
*
*****************************************************************************/

#define HC_RFSIGGEN_BASE 1300

//-------------------------------------------------------------------------
// TYPEDEF ENUMS
//-------------------------------------------------------------------------

#define HC_RFSIGGEN_HRESULTS HC_RFSIGGEN_BASE + 0

#define HC_RFSIGGEN_MAX_TIME_MILLISECONDS_ENUM HC_RFSIGGEN_BASE + 1


#define HC_RFSIGGEN_ALC_SOURCE_ENUM HC_RFSIGGEN_BASE + 2
#define HC_RFSIGGEN_REFERENCE_OSCILLATOR_SOURCE_ENUM HC_RFSIGGEN_BASE + 3
#define HC_RFSIGGEN_LFGENERATOR_WAVEFORM_ENUM HC_RFSIGGEN_BASE + 4
#define HC_RFSIGGEN_PULSE_EXTERNAL_POLARITY_ENUM HC_RFSIGGEN_BASE + 5
#define HC_RFSIGGEN_PULSE_OUTPUT_POLARITY_ENUM HC_RFSIGGEN_BASE + 6
#define HC_RFSIGGEN_PULSE_MODULATION_SOURCE_ENUM HC_RFSIGGEN_BASE + 7
#define HC_RFSIGGEN_PULSE_TRIGGER_SOURCE_ENUM HC_RFSIGGEN_BASE + 8
#define HC_RFSIGGEN_PULSE_EXTERNAL_TRIGGER_SLOPE_ENUM HC_RFSIGGEN_BASE + 9
#define HC_RFSIGGEN_SWEEP_MODE_ENUM HC_RFSIGGEN_BASE + 10
#define HC_RFSIGGEN_SWEEP_TRIGGER_SOURCE_ENUM HC_RFSIGGEN_BASE + 11
#define HC_RFSIGGEN_FREQUENCY_STEP_SCALING_ENUM HC_RFSIGGEN_BASE + 12
#define HC_RFSIGGEN_AM_SCALING_ENUM HC_RFSIGGEN_BASE + 13
#define HC_RFSIGGEN_AM_EXTERNAL_COUPLING_ENUM HC_RFSIGGEN_BASE + 14
#define HC_RFSIGGEN_FM_EXTERNAL_COUPLING_ENUM HC_RFSIGGEN_BASE + 15
#define HC_RFSIGGEN_PM_EXTERNAL_COUPLING_ENUM HC_RFSIGGEN_BASE + 16
#define HC_RFSIGGEN_IQ_SOURCE_ENUM HC_RFSIGGEN_BASE + 17
#define HC_RFSIGGEN_ARB_TRIGGER_SOURCE_ENUM HC_RFSIGGEN_BASE + 18
#define HC_RFSIGGEN_ARB_EXTERNAL_TRIGGER_SLOPE_ENUM HC_RFSIGGEN_BASE + 19
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_DATA_SOURCE_ENUM HC_RFSIGGEN_BASE + 20
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_PRBS_TYPE_ENUM HC_RFSIGGEN_BASE + 21
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_ENUM HC_RFSIGGEN_BASE + 22
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_ENUM HC_RFSIGGEN_BASE + 23
#define HC_RFSIGGEN_CDMA_TRIGGER_SOURCE_ENUM HC_RFSIGGEN_BASE + 24
#define HC_RFSIGGEN_CDMA_EXTERNAL_TRIGGER_SLOPE_ENUM HC_RFSIGGEN_BASE + 25
#define HC_RFSIGGEN_CDMA_CLOCK_SOURCE_ENUM HC_RFSIGGEN_BASE + 26
#define HC_RFSIGGEN_TDMA_TRIGGER_SOURCE_ENUM HC_RFSIGGEN_BASE + 27
#define HC_RFSIGGEN_TDMA_EXTERNAL_TRIGGER_SLOPE_ENUM HC_RFSIGGEN_BASE + 28
#define HC_RFSIGGEN_TDMA_CLOCK_SOURCE_ENUM HC_RFSIGGEN_BASE + 29
#define HC_RFSIGGEN_TDMA_EXTERNAL_CLOCK_TYPE_ENUM HC_RFSIGGEN_BASE + 30

//-----------------------------------------------------------------------------
// IVI RFSigGen Driver Root Level Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN HC_RFSIGGEN_BASE + 31

#define HC_RFSIGGEN_RF HC_RFSIGGEN_BASE + 32


#define HC_RFSIGGEN_ALC HC_RFSIGGEN_BASE + 33
#define HC_RFSIGGEN_LFGENERATOR HC_RFSIGGEN_BASE + 34
#define HC_RFSIGGEN_PULSE_GENERATOR HC_RFSIGGEN_BASE + 35
#define HC_RFSIGGEN_SWEEP HC_RFSIGGEN_BASE + 36
#define HC_RFSIGGEN_REFERENCE_OSCILLATOR HC_RFSIGGEN_BASE + 37
#define HC_RFSIGGEN_ANALOG_MODULATION HC_RFSIGGEN_BASE + 38

IVI Foundation 405 IVI-4.10 IviRFSigGen Class Specification


#define HC_RFSIGGEN_PULSE_MODULATION HC_RFSIGGEN_BASE + 39
#define HC_RFSIGGEN_DIGITAL_MODULATION HC_RFSIGGEN_BASE + 40
#define HC_RFSIGGEN_SEND_SOFTWARE_TRIGGER HC_RFSIGGEN_BASE + 41

//-----------------------------------------------------------------------------
// RF Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_RF HC_RFSIGGEN_BASE + 42

#define HC_RFSIGGEN_RF_CONFIGURE HC_RFSIGGEN_BASE + 43


#define HC_RFSIGGEN_FREQUENCY HC_RFSIGGEN_BASE + 44
#define HC_RFSIGGEN_LEVEL HC_RFSIGGEN_BASE + 45
#define HC_RFSIGGEN_OUTPUT_ENABLED HC_RFSIGGEN_BASE + 46
#define HC_RFSIGGEN_IS_SETTLED HC_RFSIGGEN_BASE + 47
#define HC_RFSIGGEN_WAIT_UNTIL_SETTLED HC_RFSIGGEN_BASE + 48
#define HC_RFSIGGEN_DISABLE_ALL_MODULATION HC_RFSIGGEN_BASE + 49

//-----------------------------------------------------------------------------
// ALC Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_ALC HC_RFSIGGEN_BASE + 50

#define HC_RFSIGGEN_ALC_CONFIGURE HC_RFSIGGEN_BASE + 51


#define HC_RFSIGGEN_ALC_SOURCE HC_RFSIGGEN_BASE + 52
#define HC_RFSIGGEN_ALC_BANDWIDTH HC_RFSIGGEN_BASE + 53
#define HC_RFSIGGEN_ALC_ENABLED HC_RFSIGGEN_BASE + 54

//-----------------------------------------------------------------------------
// LFGenerator Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_LFGENERATOR HC_RFSIGGEN_BASE + 55

#define HC_RFSIGGEN_LFGENERATOR_OUTPUT HC_RFSIGGEN_BASE + 56


#define HC_RFSIGGEN_LFGENERATOR_CONFIGURE HC_RFSIGGEN_BASE + 57
#define HC_RFSIGGEN_LFGENERATOR_FREQUENCY HC_RFSIGGEN_BASE + 58
#define HC_RFSIGGEN_LFGENERATOR_WAVEFORM HC_RFSIGGEN_BASE + 59
#define HC_RFSIGGEN_ACTIVE_LFGENERATOR HC_RFSIGGEN_BASE + 60
#define HC_RFSIGGEN_LFGENERATOR_COUNT HC_RFSIGGEN_BASE + 61
#define HC_RFSIGGEN_LFGENERATOR_NAME HC_RFSIGGEN_BASE + 62

//-----------------------------------------------------------------------------
// LFGeneratorOutput Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_LFGENERATOR_OUTPUT HC_RFSIGGEN_BASE + 63

#define HC_RFSIGGEN_LFGENERATOR_OUTPUT_CONFIGURE HC_RFSIGGEN_BASE + 64


#define HC_RFSIGGEN_LFGENERATOR_ENABLED HC_RFSIGGEN_BASE + 65
#define HC_RFSIGGEN_LFGENERATOR_AMPLITUDE HC_RFSIGGEN_BASE + 66

//-----------------------------------------------------------------------------
// PulseGenerator Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_GENERATOR HC_RFSIGGEN_BASE + 67

#define HC_RFSIGGEN_PULSE_GENERATOR_DOUBLE HC_RFSIGGEN_BASE + 68


#define HC_RFSIGGEN_PULSE_GENERATOR_OUTPUT HC_RFSIGGEN_BASE + 69
#define HC_RFSIGGEN_PULSE_GENERATOR_CONFIGURE HC_RFSIGGEN_BASE + 70
#define HC_RFSIGGEN_PULSE_GENERATOR_CONFIGURE_EXTERNAL_TRIGGER HC_RFSIGGEN_BASE + 71
#define HC_RFSIGGEN_PULSE_GENERATOR_INTERNAL_TRIGGER_PERIOD HC_RFSIGGEN_BASE + 72
#define HC_RFSIGGEN_PULSE_GENERATOR_WIDTH HC_RFSIGGEN_BASE + 73
#define HC_RFSIGGEN_PULSE_GENERATOR_GATING_ENABLED HC_RFSIGGEN_BASE + 74
#define HC_RFSIGGEN_PULSE_GENERATOR_TRIGGER_SOURCE HC_RFSIGGEN_BASE + 75
#define HC_RFSIGGEN_PULSE_GENERATOR_EXTERNAL_TRIGGER_SLOPE HC_RFSIGGEN_BASE + 76
#define HC_RFSIGGEN_PULSE_GENERATOR_EXTERNAL_TRIGGER_DELAY HC_RFSIGGEN_BASE + 77

IVI-4.10 IviRFSigGen Class Specification 406 IVI Foundation


//-----------------------------------------------------------------------------
// PulseGeneratorDouble Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_GENERATOR_DOUBLE HC_RFSIGGEN_BASE + 78

#define HC_RFSIGGEN_PULSE_GENERATOR_DOUBLE_CONFIGURE HC_RFSIGGEN_BASE + 79


#define HC_RFSIGGEN_PULSE_GENERATOR_DOUBLE_ENABLED HC_RFSIGGEN_BASE + 80
#define HC_RFSIGGEN_PULSE_GENERATOR_DOUBLE_DELAY HC_RFSIGGEN_BASE + 81

//-----------------------------------------------------------------------------
// PulseGeneratorOutput Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_GENERATOR_OUTPUT HC_RFSIGGEN_BASE + 82

#define HC_RFSIGGEN_PULSE_GENERATOR_OUTPUT_CONFIGURE HC_RFSIGGEN_BASE + 83


#define HC_RFSIGGEN_PULSE_GENERATOR_OUTPUT_ENABLED HC_RFSIGGEN_BASE + 84
#define HC_RFSIGGEN_PULSE_GENERATOR_OUTPUT_POLARITY HC_RFSIGGEN_BASE + 85

//-----------------------------------------------------------------------------
// AnalogModulation Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_ANALOG_MODULATION HC_RFSIGGEN_BASE + 86

#define HC_RFSIGGEN_AM HC_RFSIGGEN_BASE + 87


#define HC_RFSIGGEN_FM HC_RFSIGGEN_BASE + 88
#define HC_RFSIGGEN_PM HC_RFSIGGEN_BASE + 89
#define HC_RFSIGGEN_ANALOG_MODULATION_SOURCE HC_RFSIGGEN_BASE + 90

//-----------------------------------------------------------------------------
// AnalogModulationSource Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_ANALOG_MODULATION_SOURCE HC_RFSIGGEN_BASE + 91

#define HC_RFSIGGEN_ANALOG_MODULATION_SOURCE_COUNT HC_RFSIGGEN_BASE + 92


#define HC_RFSIGGEN_ANALOG_MODULATION_SOURCE_NAME HC_RFSIGGEN_BASE + 93

//-----------------------------------------------------------------------------
// AM Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_AM HC_RFSIGGEN_BASE + 94

#define HC_RFSIGGEN_AM_CONFIGURE HC_RFSIGGEN_BASE + 95


#define HC_RFSIGGEN_AM_SOURCE HC_RFSIGGEN_BASE + 96
#define HC_RFSIGGEN_AM_SCALING HC_RFSIGGEN_BASE + 97
#define HC_RFSIGGEN_AM_DEPTH HC_RFSIGGEN_BASE + 98
#define HC_RFSIGGEN_AM_NOMINAL_VOLTAGE HC_RFSIGGEN_BASE + 99
#define HC_RFSIGGEN_AM_ENABLED HC_RFSIGGEN_BASE + 100
#define HC_RFSIGGEN_AM_EXTERNAL_COUPLING HC_RFSIGGEN_BASE + 101

//-----------------------------------------------------------------------------
// FM Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_FM HC_RFSIGGEN_BASE + 102

#define HC_RFSIGGEN_FM_CONFIGURE HC_RFSIGGEN_BASE + 103


#define HC_RFSIGGEN_FM_SOURCE HC_RFSIGGEN_BASE + 104
#define HC_RFSIGGEN_FM_DEVIATION HC_RFSIGGEN_BASE + 105
#define HC_RFSIGGEN_FM_NOMINAL_VOLTAGE HC_RFSIGGEN_BASE + 106
#define HC_RFSIGGEN_FM_ENABLED HC_RFSIGGEN_BASE + 107
#define HC_RFSIGGEN_FM_EXTERNAL_COUPLING HC_RFSIGGEN_BASE + 108

//-----------------------------------------------------------------------------

IVI Foundation 407 IVI-4.10 IviRFSigGen Class Specification


// PM Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_PM HC_RFSIGGEN_BASE + 109

#define HC_RFSIGGEN_PM_CONFIGURE HC_RFSIGGEN_BASE + 110


#define HC_RFSIGGEN_PM_SOURCE HC_RFSIGGEN_BASE + 111
#define HC_RFSIGGEN_PM_DEVIATION HC_RFSIGGEN_BASE + 112
#define HC_RFSIGGEN_PM_NOMINAL_VOLTAGE HC_RFSIGGEN_BASE + 113
#define HC_RFSIGGEN_PM_ENABLED HC_RFSIGGEN_BASE + 114
#define HC_RFSIGGEN_PM_EXTERNAL_COUPLING HC_RFSIGGEN_BASE + 115

//-----------------------------------------------------------------------------
// PulseModulation Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_MODULATION HC_RFSIGGEN_BASE + 116

#define HC_RFSIGGEN_PULSE_MODULATION_ENABLED HC_RFSIGGEN_BASE + 117


#define HC_RFSIGGEN_PULSE_MODULATION_SOURCE HC_RFSIGGEN_BASE + 118
#define HC_RFSIGGEN_PULSE_MODULATION_EXTERNAL_POLARITY HC_RFSIGGEN_BASE + 119

//-----------------------------------------------------------------------------
// ReferenceOscillator Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_REFERENCE_OSCILLATOR HC_RFSIGGEN_BASE + 120

#define HC_RFSIGGEN_REFERENCE_OSCILLATOR_CONFIGURE HC_RFSIGGEN_BASE + 121


#define HC_RFSIGGEN_REFERENCE_OSCILLATOR_SOURCE HC_RFSIGGEN_BASE + 122
#define HC_RFSIGGEN_REFERENCE_OSCILLATOR_FREQUENCY HC_RFSIGGEN_BASE + 123

//-----------------------------------------------------------------------------
// Sweep Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_SWEEP HC_RFSIGGEN_BASE + 124

#define HC_RFSIGGEN_FREQUENCY_SWEEP HC_RFSIGGEN_BASE + 125


#define HC_RFSIGGEN_POWER_STEP HC_RFSIGGEN_BASE + 126
#define HC_RFSIGGEN_FREQUENCY_STEP HC_RFSIGGEN_BASE + 127
#define HC_RFSIGGEN_POWER_SWEEP HC_RFSIGGEN_BASE + 128
#define HC_RFSIGGEN_LIST HC_RFSIGGEN_BASE + 129
#define HC_RFSIGGEN_SWEEP_CONFIGURE HC_RFSIGGEN_BASE + 130
#define HC_RFSIGGEN_SWEEP_MODE HC_RFSIGGEN_BASE + 131
#define HC_RFSIGGEN_SWEEP_TRIGGER_SOURCE HC_RFSIGGEN_BASE + 132

//-----------------------------------------------------------------------------
// FrequencySweep Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_FREQUENCY_SWEEP HC_RFSIGGEN_BASE + 133

#define HC_RFSIGGEN_FREQUENCY_SWEEP_CONFIGURE_CENTER_SPAN HC_RFSIGGEN_BASE + 134


#define HC_RFSIGGEN_FREQUENCY_SWEEP_CONFIGURE_START_STOP HC_RFSIGGEN_BASE + 135
#define HC_RFSIGGEN_FREQUENCY_SWEEP_START HC_RFSIGGEN_BASE + 136
#define HC_RFSIGGEN_FREQUENCY_SWEEP_STOP HC_RFSIGGEN_BASE + 137
#define HC_RFSIGGEN_FREQUENCY_SWEEP_TIME HC_RFSIGGEN_BASE + 138

//-----------------------------------------------------------------------------
// PowerSweep Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_POWER_SWEEP HC_RFSIGGEN_BASE + 139

#define HC_RFSIGGEN_POWER_SWEEP_CONFIGURE_START_STOP HC_RFSIGGEN_BASE + 140


#define HC_RFSIGGEN_POWER_SWEEP_START HC_RFSIGGEN_BASE + 141
#define HC_RFSIGGEN_POWER_SWEEP_STOP HC_RFSIGGEN_BASE + 142
#define HC_RFSIGGEN_POWER_SWEEP_TIME HC_RFSIGGEN_BASE + 143

IVI-4.10 IviRFSigGen Class Specification 408 IVI Foundation


//-----------------------------------------------------------------------------
// FrequencyStep Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_FREQUENCY_STEP HC_RFSIGGEN_BASE + 144

#define HC_RFSIGGEN_FREQUENCY_STEP_CONFIGURE_START_STOP HC_RFSIGGEN_BASE + 145


#define HC_RFSIGGEN_FREQUENCY_STEP_RESET HC_RFSIGGEN_BASE + 146
#define HC_RFSIGGEN_FREQUENCY_STEP_START HC_RFSIGGEN_BASE + 147
#define HC_RFSIGGEN_FREQUENCY_STEP_STOP HC_RFSIGGEN_BASE + 148
#define HC_RFSIGGEN_FREQUENCY_STEP_SCALING HC_RFSIGGEN_BASE + 149
#define HC_RFSIGGEN_FREQUENCY_STEP_SIZE HC_RFSIGGEN_BASE + 150
#define HC_RFSIGGEN_FREQUENCY_STEP_CONFIGURE_DWELL HC_RFSIGGEN_BASE + 151
#define HC_RFSIGGEN_FREQUENCY_STEP_SINGLE_STEP_ENABLED HC_RFSIGGEN_BASE + 152
#define HC_RFSIGGEN_FREQUENCY_STEP_DWELL HC_RFSIGGEN_BASE + 153

//-----------------------------------------------------------------------------
// PowerStep Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_POWER_STEP HC_RFSIGGEN_BASE + 154

#define HC_RFSIGGEN_POWER_STEP_CONFIGURE_START_STOP HC_RFSIGGEN_BASE + 155


#define HC_RFSIGGEN_POWER_STEP_RESET HC_RFSIGGEN_BASE + 156
#define HC_RFSIGGEN_POWER_STEP_START HC_RFSIGGEN_BASE + 157
#define HC_RFSIGGEN_POWER_STEP_STOP HC_RFSIGGEN_BASE + 158
#define HC_RFSIGGEN_POWER_STEP_SIZE HC_RFSIGGEN_BASE + 159
#define HC_RFSIGGEN_POWER_STEP_CONFIGURE_DWELL HC_RFSIGGEN_BASE + 160
#define HC_RFSIGGEN_POWER_STEP_SINGLE_STEP_ENABLED HC_RFSIGGEN_BASE + 161
#define HC_RFSIGGEN_POWER_STEP_DWELL HC_RFSIGGEN_BASE + 162

//-----------------------------------------------------------------------------
// List Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_LIST HC_RFSIGGEN_BASE + 163

#define HC_RFSIGGEN_LIST_CONFIGURE_DWELL HC_RFSIGGEN_BASE + 164


#define HC_RFSIGGEN_LIST_RESET HC_RFSIGGEN_BASE + 165
#define HC_RFSIGGEN_LIST_SINGLE_STEP_ENABLED HC_RFSIGGEN_BASE + 166
#define HC_RFSIGGEN_LIST_DWELL HC_RFSIGGEN_BASE + 167
#define HC_RFSIGGEN_LIST_SELECTED_NAME HC_RFSIGGEN_BASE + 168
#define HC_RFSIGGEN_LIST_CLEAR_ALL HC_RFSIGGEN_BASE + 169
#define HC_RFSIGGEN_CREATE_FREQUENCY_LIST HC_RFSIGGEN_BASE + 170
#define HC_RFSIGGEN_CREATE_POWER_LIST HC_RFSIGGEN_BASE + 171
#define HC_RFSIGGEN_CREATE_FREQUENCY_POWER_LIST HC_RFSIGGEN_BASE + 172

//-----------------------------------------------------------------------------
// IQ Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_IQ HC_RFSIGGEN_BASE + 173

#define HC_RFSIGGEN_IQ_IMPAIRMENT HC_RFSIGGEN_BASE + 174


#define HC_RFSIGGEN_IQ_CONFIGURE HC_RFSIGGEN_BASE + 175
#define HC_RFSIGGEN_IQ_SOURCE HC_RFSIGGEN_BASE + 176
#define HC_RFSIGGEN_IQ_SWAP_ENABLED HC_RFSIGGEN_BASE + 177
#define HC_RFSIGGEN_IQ_NOMINAL_VOLTAGE HC_RFSIGGEN_BASE + 178
#define HC_RFSIGGEN_IQ_ENABLED HC_RFSIGGEN_BASE + 179
#define HC_RFSIGGEN_IQ_CALIBRATE HC_RFSIGGEN_BASE + 180

//-----------------------------------------------------------------------------
// IQ Impairment Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_IQ_IMPAIRMENT HC_RFSIGGEN_BASE + 181

#define HC_RFSIGGEN_IQ_IMPAIRMENT_CONFIGURE HC_RFSIGGEN_BASE + 182

IVI Foundation 409 IVI-4.10 IviRFSigGen Class Specification


#define HC_RFSIGGEN_IQ_IMPAIRMENT_ENABLED HC_RFSIGGEN_BASE + 183
#define HC_RFSIGGEN_IQ_IMPAIRMENT_I_OFFSET HC_RFSIGGEN_BASE + 184
#define HC_RFSIGGEN_IQ_IMPAIRMENT_Q_OFFSET HC_RFSIGGEN_BASE + 185
#define HC_RFSIGGEN_IQ_IMPAIRMENT_RATIO HC_RFSIGGEN_BASE + 186
#define HC_RFSIGGEN_IQ_IMPAIRMENT_SKEW HC_RFSIGGEN_BASE + 187

//-----------------------------------------------------------------------------
// DigitalModulation Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_DIGITAL_MODULATION HC_RFSIGGEN_BASE + 188

#define HC_RFSIGGEN_IQ HC_RFSIGGEN_BASE + 189


#define HC_RFSIGGEN_ARB HC_RFSIGGEN_BASE + 190
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE HC_RFSIGGEN_BASE + 191
#define HC_RFSIGGEN_TDMA HC_RFSIGGEN_BASE + 192
#define HC_RFSIGGEN_CDMA HC_RFSIGGEN_BASE + 193

//-----------------------------------------------------------------------------
// Arb Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_ARB HC_RFSIGGEN_BASE + 194

#define HC_RFSIGGEN_ARB_CONFIGURE HC_RFSIGGEN_BASE + 195


#define HC_RFSIGGEN_ARB_WRITE_WAVEFORM HC_RFSIGGEN_BASE + 196
#define HC_RFSIGGEN_ARB_CLEAR_ALL_WAVEFORMS HC_RFSIGGEN_BASE + 197
#define HC_RFSIGGEN_ARB_QUERY_WAVEFORM_CAPABILITIES HC_RFSIGGEN_BASE + 198
#define HC_RFSIGGEN_ARB_SELECTED_WAVEFORM HC_RFSIGGEN_BASE + 199
#define HC_RFSIGGEN_ARB_CLOCK_FREQUENCY HC_RFSIGGEN_BASE + 200
#define HC_RFSIGGEN_ARB_FILTER_FREQUENCY HC_RFSIGGEN_BASE + 201
#define HC_RFSIGGEN_ARB_MAX_NUMBER_WAVEFORMS HC_RFSIGGEN_BASE + 202
#define HC_RFSIGGEN_ARB_WAVEFORM_QUANTUM HC_RFSIGGEN_BASE + 203
#define HC_RFSIGGEN_ARB_WAVEFORM_SIZE_MIN HC_RFSIGGEN_BASE + 204
#define HC_RFSIGGEN_ARB_WAVEFORM_SIZE_MAX HC_RFSIGGEN_BASE + 205
#define HC_RFSIGGEN_ARB_TRIGGER_SOURCE HC_RFSIGGEN_BASE + 206
#define HC_RFSIGGEN_ARB_TRIGGER_EXTERNAL_SLOPE HC_RFSIGGEN_BASE + 207

//-----------------------------------------------------------------------------
// DigitalModulationBase Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_DIGITAL_MODULATION_BASE HC_RFSIGGEN_BASE + 208

#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_CONFIGURE_CLOCK_SOURCE HC_RFSIGGEN_BASE + 209


#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_WRITE_BIT_SEQUENCE HC_RFSIGGEN_BASE + 210
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_CLEAR_ALL_BIT_SEQUENCES HC_RFSIGGEN_BASE + 211
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_STANDARD_NAME HC_RFSIGGEN_BASE + 212
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_STANDARD_COUNT HC_RFSIGGEN_BASE + 213
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_SELECTED_STANDARD HC_RFSIGGEN_BASE + 214
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_DATA_SOURCE HC_RFSIGGEN_BASE + 215
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_PRBS_TYPE HC_RFSIGGEN_BASE + 216
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_SELECTED_BIT_SEQUENCE HC_RFSIGGEN_BASE + 217
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_CLOCK_SOURCE HC_RFSIGGEN_BASE + 218
#define HC_RFSIGGEN_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE HC_RFSIGGEN_BASE + 219

//-----------------------------------------------------------------------------
// CDMA Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_CDMA HC_RFSIGGEN_BASE + 220

#define HC_RFSIGGEN_CDMA_STANDARD_NAME HC_RFSIGGEN_BASE + 221


#define HC_RFSIGGEN_CDMA_STANDARD_COUNT HC_RFSIGGEN_BASE + 222
#define HC_RFSIGGEN_CDMA_SELECTED_STANDARD HC_RFSIGGEN_BASE + 223
#define HC_RFSIGGEN_CDMA_TRIGGER_SOURCE HC_RFSIGGEN_BASE + 224
#define HC_RFSIGGEN_CDMA_EXTERNAL_TRIGGER_SLOPE HC_RFSIGGEN_BASE + 225
#define HC_RFSIGGEN_CDMA_TEST_MODEL_NAME HC_RFSIGGEN_BASE + 226
#define HC_RFSIGGEN_CDMA_TEST_MODEL_COUNT HC_RFSIGGEN_BASE + 227

IVI-4.10 IviRFSigGen Class Specification 410 IVI Foundation


#define HC_RFSIGGEN_CDMA_SELECTED_TEST_MODEL HC_RFSIGGEN_BASE + 228
#define HC_RFSIGGEN_CDMA_CLOCK_SOURCE HC_RFSIGGEN_BASE + 229

//-----------------------------------------------------------------------------
// TDMA Interface
//-----------------------------------------------------------------------------

#define HC_RFSIGGEN_I_IVI_RFSIGGEN_TDMA HC_RFSIGGEN_BASE + 230

#define HC_RFSIGGEN_TDMA_CONFIGURE_CLOCK_SOURCE HC_RFSIGGEN_BASE + 231


#define HC_RFSIGGEN_TDMA_STANDARD_NAME HC_RFSIGGEN_BASE + 232
#define HC_RFSIGGEN_TDMA_STANDARD_COUNT HC_RFSIGGEN_BASE + 233
#define HC_RFSIGGEN_TDMA_SELECTED_STANDARD HC_RFSIGGEN_BASE + 234
#define HC_RFSIGGEN_TDMA_TRIGGER_SOURCE HC_RFSIGGEN_BASE + 235
#define HC_RFSIGGEN_TDMA_EXTERNAL_TRIGGER_SLOPE HC_RFSIGGEN_BASE + 236
#define HC_RFSIGGEN_TDMA_FRAME_NAME HC_RFSIGGEN_BASE + 237
#define HC_RFSIGGEN_TDMA_FRAME_COUNT HC_RFSIGGEN_BASE + 238
#define HC_RFSIGGEN_TDMA_SELECTED_FRAME HC_RFSIGGEN_BASE + 239
#define HC_RFSIGGEN_TDMA_CLOCK_SOURCE HC_RFSIGGEN_BASE + 240
#define HC_RFSIGGEN_TDMA_EXTERNAL_CLOCK_TYPE HC_RFSIGGEN_BASE + 241

//-----------------------------------------------------------------------------
// Help Strings
//-----------------------------------------------------------------------------

//-------------------------------------------------------------------------
// TYPEDEF ENUMS
//-------------------------------------------------------------------------

#define HS_RFSIGGEN_HRESULTS \
"IVI RFSigGen class defined HRESULTS"
#define HS_RFSIGGEN_MAX_TIME_MILLISECONDS_ENUM \
"IVI RFSigGen class defined values for MaxTimeMilliseconds."
#define HS_RFSIGGEN_ALC_SOURCE_ENUM \
"Values for the ALC source."
#define HS_RFSIGGEN_REFERENCE_OSCILLATOR_SOURCE_ENUM \
"Values for the reference oscillator source."
#define HS_RFSIGGEN_LFGENERATOR_WAVEFORM_ENUM \
"Values for the LFGenerator waveform."
#define HS_RFSIGGEN_PULSE_EXTERNAL_POLARITY_ENUM \
"Values for the pulse modulation external polarity."
#define HS_RFSIGGEN_PULSE_OUTPUT_POLARITY_ENUM \
"Values for the pulse output polarity."
#define HS_RFSIGGEN_PULSE_MODULATION_SOURCE_ENUM \
"Values for the pulse modulation source."
#define HS_RFSIGGEN_PULSE_TRIGGER_SOURCE_ENUM \
"Values for the pulse generator trigger source."
#define HS_RFSIGGEN_PULSE_EXTERNAL_TRIGGER_SLOPE_ENUM \
"Values for the pulse generator external trigger slope."
#define HS_RFSIGGEN_SWEEP_MODE_ENUM \
"Values for the sweep mode."
#define HS_RFSIGGEN_SWEEP_TRIGGER_SOURCE_ENUM \
"Values for the sweep trigger source."
#define HS_RFSIGGEN_FREQUENCY_STEP_SCALING_ENUM \
"Values for the frequency step scaling mode."
#define HS_RFSIGGEN_AM_SCALING_ENUM \
"Values for the AM scaling mode."
#define HS_RFSIGGEN_AM_EXTERNAL_COUPLING_ENUM \
"Values for the AM external coupling."
#define HS_RFSIGGEN_FM_EXTERNAL_COUPLING_ENUM \
"Values for the FM external coupling."
#define HS_RFSIGGEN_PM_EXTERNAL_COUPLING_ENUM \
"Values for the PM external coupling."
#define HS_RFSIGGEN_IQ_SOURCE_ENUM \
"Values for the IQ modulation source."
#define HS_RFSIGGEN_ARB_TRIGGER_SOURCE_ENUM \
"Values for the Arb generator trigger source."
#define HS_RFSIGGEN_ARB_EXTERNAL_TRIGGER_SLOPE_ENUM \
"Values for the Arb generator external trigger slope."

IVI Foundation 411 IVI-4.10 IviRFSigGen Class Specification


#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_DATA_SOURCE_ENUM \
"Values for digital modulation base data source."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_PRBS_TYPE_ENUM \
"Values for digital base modulation PRBS type."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_CLOCK_SOURCE_ENUM \
"Values for the digital modulation base clock source."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE_ENUM \
"Values for digital base modulation clock type."
#define HS_RFSIGGEN_CDMA_TRIGGER_SOURCE_ENUM \
"Values for the CDMA trigger source."
#define HS_RFSIGGEN_CDMA_EXTERNAL_TRIGGER_SLOPE_ENUM \
"Values for the CDMA external trigger slope."
#define HS_RFSIGGEN_CDMA_CLOCK_SOURCE_ENUM \
"Values for the CDMA clock source."
#define HS_RFSIGGEN_TDMA_TRIGGER_SOURCE_ENUM \
"Values for the TDMA trigger source."
#define HS_RFSIGGEN_TDMA_EXTERNAL_TRIGGER_SLOPE_ENUM \
"Values for the TDMA external trigger slope."
#define HS_RFSIGGEN_TDMA_CLOCK_SOURCE_ENUM \
"Values for the TDMA clock source."
#define HS_RFSIGGEN_TDMA_EXTERNAL_CLOCK_TYPE_ENUM \
"Values for TDMA clock type."

//-----------------------------------------------------------------------------
// IVI RFSigGen Driver Root Level Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN \
"IVI RFSigGen class-compliant root interface"

#define HS_RFSIGGEN_RF \
"Pointer to the class-compliant IIviRFSigGenRF interface"
#define HS_RFSIGGEN_ALC \
"Pointer to the class-compliant IIviRFSigGenALC interface"
#define HS_RFSIGGEN_LFGENERATOR \
"Pointer to the class-compliant IIviRFSigGenLFGenerator interface"
#define HS_RFSIGGEN_PULSE_GENERATOR \
"Pointer to the class-compliant IIviRFSigGenPulseGenerator interface"
#define HS_RFSIGGEN_SWEEP \
"Pointer to the class-compliant IIviRFSigGenSweep interface"
#define HS_RFSIGGEN_REFERENCE_OSCILLATOR \
"Pointer to the class-compliant IIviRFSigGenReferenceOscillator interface"
#define HS_RFSIGGEN_ANALOG_MODULATION \
"Pointer to the class-compliant IIviRFSigGenAnalogModulation interface"
#define HS_RFSIGGEN_PULSE_MODULATION \
"Pointer to the class-compliant IIviRFSigGenPulseModulation interface"
#define HS_RFSIGGEN_DIGITAL_MODULATION \
"Pointer to the class-compliant IIviRFSigGenDigitalModulation interface"
#define HS_RFSIGGEN_IQ \
"Pointer to the class-compliant IIviRFSigGenIQ interface"
#define HS_RFSIGGEN_SEND_SOFTWARE_TRIGGER \
"Sends a software trigger, which will cause the signal generator to \
start signal generation."

//-----------------------------------------------------------------------------
// RF Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_RF \
"IVI RFSigGen class-compliant RF interface"

#define HS_RFSIGGEN_RF_CONFIGURE \
"This function configures the frequency and the power level of the RF output \
signal."
#define HS_RFSIGGEN_FREQUENCY \
"Specifies the frequency of the generated RF output signal."
#define HS_RFSIGGEN_LEVEL \
"Specifies the amplitude (power/level) of the RF output signal."
#define HS_RFSIGGEN_OUTPUT_ENABLED \

IVI-4.10 IviRFSigGen Class Specification 412 IVI Foundation


"Enables or disables the RF output signal."
#define HS_RFSIGGEN_IS_SETTLED \
"This function queries the state of the RF output signal."
#define HS_RFSIGGEN_WAIT_UNTIL_SETTLED \
"This function returns if the state of the RF output signal has settled."
#define HS_RFSIGGEN_DISABLE_ALL_MODULATION \
"This function disables all currently enabled modulations."

//-----------------------------------------------------------------------------
// ALC Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_ALC \
"IVI RFSigGen class-compliant Automatic Level Control (ALC) interface"

#define HS_RFSIGGEN_ALC_CONFIGURE \
"This function configures the ALC (Automatic Level Control) of the signal \
generator's RF output."
#define HS_RFSIGGEN_ALC_SOURCE \
"Specifies the ALC (Automatic Level Control) source."
#define HS_RFSIGGEN_ALC_BANDWIDTH \
"Specifies the ALC (Automatic Level Control) bandwidth."
#define HS_RFSIGGEN_ALC_ENABLED \
"Enables or disables the Automatic Level Control (ALC)."

//-----------------------------------------------------------------------------
// LFGenerator Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_LFGENERATOR \
"IVI RFSigGen class-compliant LF generator interface"

#define HS_RFSIGGEN_LFGENERATOR_OUTPUT \
"Pointer to the class-compliant IIviRFSigGenLFGeneratorOutput interface"
#define HS_RFSIGGEN_LFGENERATOR_CONFIGURE \
"This function configures the LF generator output frequency and waveform."
#define HS_RFSIGGEN_LFGENERATOR_FREQUENCY \
"Specifies the frequency of the active LF generator."
#define HS_RFSIGGEN_LFGENERATOR_WAVEFORM \
"Specifies the waveform of the active LF generator."
#define HS_RFSIGGEN_ACTIVE_LFGENERATOR \
"Selects the generator that is used as the modulating signal or for LF output."
#define HS_RFSIGGEN_LFGENERATOR_COUNT \
"Returns the number of LF generators."
#define HS_RFSIGGEN_LFGENERATOR_NAME \
"Returns the LF generator name for a given index."

//-----------------------------------------------------------------------------
// LFGeneratorOutput Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_LFGENERATOR_OUTPUT \
"IVI RFSigGen class-compliant LF generator output interface"

#define HS_RFSIGGEN_LFGENERATOR_OUTPUT_CONFIGURE \
"This function configures the attributes of the LF generator output (within the \
RF signal generator)."
#define HS_RFSIGGEN_LFGENERATOR_ENABLED \
"Enables or disables the external LF generator output."
#define HS_RFSIGGEN_LFGENERATOR_AMPLITUDE \
"Specifies the output voltage of the LF generator."

//-----------------------------------------------------------------------------
// PulseGenerator Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_GENERATOR \
"IVI RFSigGen class-compliant pulse generator interface"

IVI Foundation 413 IVI-4.10 IviRFSigGen Class Specification


#define HS_RFSIGGEN_PULSE_GENERATOR_DOUBLE \
"Pointer to the class-compliant IIviRFSigGenPulseGeneratorDouble interface"
#define HS_RFSIGGEN_PULSE_GENERATOR_OUTPUT \
"Pointer to the class-compliant IIviRFSigGenPulseGeneratorOutput interface"
#define HS_RFSIGGEN_PULSE_GENERATOR_CONFIGURE \
"This function configures the pulse generator within the RF signal generator."
#define HS_RFSIGGEN_PULSE_GENERATOR_CONFIGURE_EXTERNAL_TRIGGER \
"This function configures the external trigger for the pulse generator."
#define HS_RFSIGGEN_PULSE_GENERATOR_INTERNAL_TRIGGER_PERIOD \
"Specifies the period of the pulse generator's output signal."
#define HS_RFSIGGEN_PULSE_GENERATOR_WIDTH \
"Specifies the width of the output pulse."
#define HS_RFSIGGEN_PULSE_GENERATOR_GATING_ENABLED \
"Enables or disables trigger gating."
#define HS_RFSIGGEN_PULSE_GENERATOR_TRIGGER_SOURCE \
"Specifies the source of the signal the pulse generator uses to generate one \
pulse."
#define HS_RFSIGGEN_PULSE_GENERATOR_EXTERNAL_TRIGGER_SLOPE \
"Specifies whether the event occurs on the rising or falling edge of \
the trigger input signal."
#define HS_RFSIGGEN_PULSE_GENERATOR_EXTERNAL_TRIGGER_DELAY \
"Specifies the delay for starting the output signal with respect to the trigger input."
//-----------------------------------------------------------------------------
// PulseGeneratorDouble Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_GENERATOR_DOUBLE \
"IVI RFSigGen class-compliant pulse double generator interface"

#define HS_RFSIGGEN_PULSE_GENERATOR_DOUBLE_CONFIGURE \
"This function configures the double pulse state and delay."
#define HS_RFSIGGEN_PULSE_GENERATOR_DOUBLE_ENABLED \
"Turns double pulse mode on/off."
#define HS_RFSIGGEN_PULSE_GENERATOR_DOUBLE_DELAY \
"Specifies the delay of the second pulse."

//-----------------------------------------------------------------------------
// PulseGeneratorOutput Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_GENERATOR_OUTPUT \
"IVI RFSigGen class-compliant pulse generator output interface"

#define HS_RFSIGGEN_PULSE_GENERATOR_OUTPUT_CONFIGURE \
"This function configures the output and polarity of the pulse generator."
#define HS_RFSIGGEN_PULSE_GENERATOR_OUTPUT_ENABLED \
"Enables or disables the pulse generator external output."
#define HS_RFSIGGEN_PULSE_GENERATOR_OUTPUT_POLARITY \
"Specifies the polarity of the output signal."

//-----------------------------------------------------------------------------
// AnalogModulation Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_ANALOG_MODULATION \
"IVI RFSigGen class-compliant analog modulation interface"

#define HS_RFSIGGEN_AM \
"Pointer to the class-compliant IIviRFSigGenAM interface"
#define HS_RFSIGGEN_FM \
"Pointer to the class-compliant IIviRFSigGenFM interface"
#define HS_RFSIGGEN_PM \
"Pointer to the class-compliant IIviRFSigGenPM interface"
#define HS_RFSIGGEN_ANALOG_MODULATION_SOURCE \
"Pointer to the class-compliant IIviRFSigGenAnalogModulationSource interface"

//-----------------------------------------------------------------------------
// AnalogModulationSource Interface
//-----------------------------------------------------------------------------

IVI-4.10 IviRFSigGen Class Specification 414 IVI Foundation


#define HS_RFSIGGEN_I_IVI_RFSIGGEN_ANALOG_MODULATION_SOURCE \
"IVI RFSigGen class-compliant modulation source interface"

#define HS_RFSIGGEN_ANALOG_MODULATION_SOURCE_COUNT \
"Specifies how many modulation sources are available."
#define HS_RFSIGGEN_ANALOG_MODULATION_SOURCE_NAME \
"Returns the name of a particular modulation source."

//-----------------------------------------------------------------------------
// AM Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_AM \
"IVI RFSigGen class-compliant analog modulation interface"

#define HS_RFSIGGEN_AM_CONFIGURE \
"This function configures the attributes that control the signal generator's \
amplitude modulation."
#define HS_RFSIGGEN_AM_SOURCE \
"Specifies the source of the signal that is used as the modulating signal."
#define HS_RFSIGGEN_AM_SCALING \
"Specifies linear or logarithmic attenuation for amplitude modulation."
#define HS_RFSIGGEN_AM_DEPTH \
"Specifies the extent of modulation the signal generator applies to the RF-signal."
#define HS_RFSIGGEN_AM_NOMINAL_VOLTAGE \
"Returns the voltage at which the instrument achieves the amount of modulation \
specified by the AM Depth attribute."
#define HS_RFSIGGEN_AM_ENABLED \
"Specifies whether the signal generator enables or disables amplitude modulation of \
the RF output signal."
#define HS_RFSIGGEN_AM_EXTERNAL_COUPLING \
"Specifies the coupling of the external source of the modulating signal."

//-----------------------------------------------------------------------------
// FM Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_FM \
"IVI RFSigGen class-compliant frequency modulation interface"

#define HS_RFSIGGEN_FM_CONFIGURE \
"This function configures the attributes that control the signal generator's \
frequency modulation."
#define HS_RFSIGGEN_FM_SOURCE \
"Specifies the source of the signal that is used as the modulating signal."
#define HS_RFSIGGEN_FM_DEVIATION \
"Specifies the extent of modulation (peak frequency deviation) the signal generator \
applies to the RF-signal."
#define HS_RFSIGGEN_FM_NOMINAL_VOLTAGE \
"Returns the voltage at which the instrument achieves the amount of modulation \
specified by the FM Deviation attribute."
#define HS_RFSIGGEN_FM_ENABLED \
"Specifies whether the signal generator enables or disables frequency modulation of \
the RF output signal."
#define HS_RFSIGGEN_FM_EXTERNAL_COUPLING \
"Specifies the coupling of the external source of the modulating signal."

//-----------------------------------------------------------------------------
// PM Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_PM \
"IVI RFSigGen class-compliant phase modulation interface"

#define HS_RFSIGGEN_PM_CONFIGURE \
"This function configures the attributes that control the signal generator's \
phase modulation."
#define HS_RFSIGGEN_PM_SOURCE \

IVI Foundation 415 IVI-4.10 IviRFSigGen Class Specification


"Specifies the source of the signal that is used as the modulating signal."
#define HS_RFSIGGEN_PM_DEVIATION \
"Specifies the extent of modulation (peak phase deviation) the signal generator \
applies to the RF-signal."
#define HS_RFSIGGEN_PM_NOMINAL_VOLTAGE \
"Returns the voltage at which the instrument achieves the amount of modulation \
specified by the PM Deviation attribute."
#define HS_RFSIGGEN_PM_ENABLED \
"Specifies whether the signal generator enables or disables phase modulation of \
the RF output signal."
#define HS_RFSIGGEN_PM_EXTERNAL_COUPLING \
"Specifies the coupling of the external source of the modulating signal."

//-----------------------------------------------------------------------------
// PulseModulation Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_PULSE_MODULATION \
"IVI RFSigGen class-compliant pulse modulation interface"

#define HS_RFSIGGEN_PULSE_MODULATION_ENABLED \
"Enables or disables pulse modulation of the RF output signal."
#define HS_RFSIGGEN_PULSE_MODULATION_SOURCE \
"Specifies the source of the signal that is used as the modulating signal."
#define HS_RFSIGGEN_PULSE_MODULATION_EXTERNAL_POLARITY \
"Specifies the polarity of the external source signal."

//-----------------------------------------------------------------------------
// ReferenceOscillator Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_REFERENCE_OSCILLATOR \
"IVI RFSigGen class-compliant reference oscillator interface"

#define HS_RFSIGGEN_REFERENCE_OSCILLATOR_CONFIGURE \
"This function configures the signal generator's reference oscillator."
#define HS_RFSIGGEN_REFERENCE_OSCILLATOR_SOURCE \
"Specifies the reference oscillator source."
#define HS_RFSIGGEN_REFERENCE_OSCILLATOR_FREQUENCY \
"Specifies the frequency of the external signal, which is used as reference \
for internal RF frequency generation."

//-----------------------------------------------------------------------------
// Sweep Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_SWEEP \
"IVI RFSigGen class-compliant sweep interface"

#define HS_RFSIGGEN_FREQUENCY_SWEEP \
"Pointer to the class-compliant IIviRFSigGenFrequencySweep interface"
#define HS_RFSIGGEN_POWER_SWEEP \
"Pointer to the class-compliant IIviRFSigGenPowerSweep interface"
#define HS_RFSIGGEN_FREQUENCY_STEP \
"Pointer to the class-compliant IIviRFSigGenFrequencyStep interface"
#define HS_RFSIGGEN_POWER_STEP \
"Pointer to the class-compliant IIviRFSigGenPowerStep interface"
#define HS_RFSIGGEN_LIST \
"Pointer to the class-compliant IIviRFSigGenList interface"
#define HS_RFSIGGEN_SWEEP_CONFIGURE \
"This function configures the signal generator whether the RF output signal is a \
continuous wave or the frequency, the power level or both are swept or stepped."
#define HS_RFSIGGEN_SWEEP_MODE \
"Specifies whether the RF output signal is a continuous wave or the frequency, \
the power level or both are swept or stepped."
#define HS_RFSIGGEN_SWEEP_TRIGGER_SOURCE \
"Specifies the way to start the sweep or run the sweep continuously."

//-----------------------------------------------------------------------------

IVI-4.10 IviRFSigGen Class Specification 416 IVI Foundation


// FrequencySweep Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_FREQUENCY_SWEEP \
"IVI RFSigGen class-compliant frequency sweep interface"

#define HS_RFSIGGEN_FREQUENCY_SWEEP_CONFIGURE_CENTER_SPAN \
"This function configures the center frequency and the frequency span for the sweep."
#define HS_RFSIGGEN_FREQUENCY_SWEEP_CONFIGURE_START_STOP \
"This function configures the start and the stop frequency for the sweep."
#define HS_RFSIGGEN_FREQUENCY_SWEEP_START \
"Specifies the start frequency of the sweep."
#define HS_RFSIGGEN_FREQUENCY_SWEEP_STOP \
"Specifies the stop frequency of the sweep."
#define HS_RFSIGGEN_FREQUENCY_SWEEP_TIME \
"Specifies the duration of one sweep from start to stop frequency."

//-----------------------------------------------------------------------------
// PowerSweep Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_POWER_SWEEP \
"IVI RFSigGen class-compliant power sweep interface"

#define HS_RFSIGGEN_POWER_SWEEP_CONFIGURE_START_STOP \
"This function configures the start and the stop power for the sweep."
#define HS_RFSIGGEN_POWER_SWEEP_START \
"Specifies the start power of the sweep."
#define HS_RFSIGGEN_POWER_SWEEP_STOP \
"Specifies the stop power of the sweep."
#define HS_RFSIGGEN_POWER_SWEEP_TIME \
"Specifies the duration of one sweep from start to stop power."

//-----------------------------------------------------------------------------
// FrequencyStep Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_FREQUENCY_STEP \
"IVI RFSigGen class-compliant frequency step interface"

#define HS_RFSIGGEN_FREQUENCY_STEP_CONFIGURE_START_STOP \
"This function configures the attributes that control the step frequencies \
of the generator's RF output signal."
#define HS_RFSIGGEN_FREQUENCY_STEP_RESET \
"This function resets the stepping if single step is enabled."
#define HS_RFSIGGEN_FREQUENCY_STEP_START \
"Specifies the start frequency of the stepped sweep."
#define HS_RFSIGGEN_FREQUENCY_STEP_STOP \
"Specifies the stop frequency of the stepped sweep."
#define HS_RFSIGGEN_FREQUENCY_STEP_SCALING \
"Specifies the spacing of the steps."
#define HS_RFSIGGEN_FREQUENCY_STEP_SIZE \
"Specifies the step size."
#define HS_RFSIGGEN_FREQUENCY_STEP_CONFIGURE_DWELL \
"This function configures the attributes that control the stepping."
#define HS_RFSIGGEN_FREQUENCY_STEP_SINGLE_STEP_ENABLED \
"Turns single step on/off."
#define HS_RFSIGGEN_FREQUENCY_STEP_DWELL \
"Specifies the duration of one step."

//-----------------------------------------------------------------------------
// PowerStep Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_POWER_STEP \
"IVI RFSigGen class-compliant power step interface"

#define HS_RFSIGGEN_POWER_STEP_CONFIGURE_START_STOP \
"This function configures the attributes that control the power steps \

IVI Foundation 417 IVI-4.10 IviRFSigGen Class Specification


of the generator's RF output signal."
#define HS_RFSIGGEN_POWER_STEP_RESET \
"This function resets the stepping if single step is enabled."
#define HS_RFSIGGEN_POWER_STEP_START \
"Specifies the start power of the stepped sweep."
#define HS_RFSIGGEN_POWER_STEP_STOP \
"Specifies the stop power of the stepped sweep."
#define HS_RFSIGGEN_POWER_STEP_SIZE \
"Specifies the step size."
#define HS_RFSIGGEN_POWER_STEP_CONFIGURE_DWELL \
"This function configures the attributes that control the stepping."
#define HS_RFSIGGEN_POWER_STEP_SINGLE_STEP_ENABLED \
"Turns single step on/off."
#define HS_RFSIGGEN_POWER_STEP_DWELL \
"Specifies the duration of one step."

//-----------------------------------------------------------------------------
// List Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_LIST \
"IVI RFSigGen class-compliant sweep list interface"

#define HS_RFSIGGEN_LIST_CONFIGURE_DWELL \
"This function configures the attributes that control the stepping."
#define HS_RFSIGGEN_LIST_RESET \
"This function resets the stepping if single step is enabled."
#define HS_RFSIGGEN_LIST_SINGLE_STEP_ENABLED \
"Turns single step on/off."
#define HS_RFSIGGEN_LIST_DWELL \
"Specifies the duration of one step."
#define HS_RFSIGGEN_LIST_SELECTED_NAME \
"Specifies the name of the selected list to become active."
#define HS_RFSIGGEN_LIST_CLEAR_ALL \
"This function deletes all lists from the pool of lists."
#define HS_RFSIGGEN_CREATE_FREQUENCY_LIST \
"This function creates a named list of frequency values."
#define HS_RFSIGGEN_CREATE_POWER_LIST \
"This function creates a named list of power values."
#define HS_RFSIGGEN_CREATE_FREQUENCY_POWER_LIST \
"This function creates a named list of frequency and power value pairs."

//-----------------------------------------------------------------------------
// IQ Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_IQ \
"IVI RFSigGen class-compliant IQ modulation interface"

#define HS_RFSIGGEN_IQ_IMPAIRMENT \
"Pointer to the class-compliant IIviRFSigGenIQImpairment interface"
#define HS_RFSIGGEN_IQ_CONFIGURE \
"This function configures the attributes that control the signal generator's \
IQ modulation."
#define HS_RFSIGGEN_IQ_SOURCE \
"Specifies the source of the signal that the signal generator uses for IQ \
modulation."
#define HS_RFSIGGEN_IQ_SWAP_ENABLED \
"Enables or disables the inverse phase rotation of the IQ signal by swapping the \
I and Q inputs."
#define HS_RFSIGGEN_IQ_NOMINAL_VOLTAGE \
"Returns the voltage at which the instrument achieves full modulation."
#define HS_RFSIGGEN_IQ_ENABLED \
"Enables or disables IQ (vector) modulation of the RF output signal."
#define HS_RFSIGGEN_IQ_CALIBRATE \
"This function performs a calibration of the IQ modulator."

//-----------------------------------------------------------------------------
// IQImpairment Interface

IVI-4.10 IviRFSigGen Class Specification 418 IVI Foundation


//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_IQ_IMPAIRMENT \
"IVI RFSigGen class-compliant IQ modulation impairment interface"

#define HS_RFSIGGEN_IQ_IMPAIRMENT_CONFIGURE \
"This function configures the attributes that simulate or correct impairment \
for the signal generator's IQ (vector) modulation."
#define HS_RFSIGGEN_IQ_IMPAIRMENT_ENABLED \
"Enables or disables impairment attributes."
#define HS_RFSIGGEN_IQ_IMPAIRMENT_I_OFFSET \
"Specifies an origin offset voltage to the I signal."
#define HS_RFSIGGEN_IQ_IMPAIRMENT_Q_OFFSET \
"Specifies an origin offset voltage to the Q signal."
#define HS_RFSIGGEN_IQ_IMPAIRMENT_RATIO \
"Specifies the gain imbalance between the I and Q channels."
#define HS_RFSIGGEN_IQ_IMPAIRMENT_SKEW \
"Specifies the adjustment of the phase angle between the I and Q vectors."

//-----------------------------------------------------------------------------
// DigitalModulation Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_DIGITAL_MODULATION \
"IVI RFSigGen class-compliant digital modulation interface"

#define HS_RFSIGGEN_ARB \
"Pointer to the class-compliant IIviRFSigGenArb interface"
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE \
"Pointer to the class-compliant IIviRFSigGenDigitalModulationBase interface"
#define HS_RFSIGGEN_TDMA \
"Pointer to the class-compliant IIviRFSigGenTDMA interface"
#define HS_RFSIGGEN_CDMA \
"Pointer to the class-compliant IIviRFSigGenCDMA interface"

//-----------------------------------------------------------------------------
// Arb Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_ARB \
"IVI RFSigGen class-compliant ARB generator interface"

#define HS_RFSIGGEN_ARB_CONFIGURE \
"This function configures the ARB generator."
#define HS_RFSIGGEN_ARB_WRITE_WAVEFORM \
"This function stores the waveform in the driver's or instrument's memory."
#define HS_RFSIGGEN_ARB_CLEAR_ALL_WAVEFORMS \
"This function deletes all waveforms from the pool of waveforms."
#define HS_RFSIGGEN_ARB_QUERY_WAVEFORM_CAPABILITIES \
"This function returns the capabilities of the ARB generator."
#define HS_RFSIGGEN_ARB_SELECTED_WAVEFORM \
"Specifies the selected waveform from the pool of available waveforms."
#define HS_RFSIGGEN_ARB_CLOCK_FREQUENCY \
"Specifies the sample frequency."
#define HS_RFSIGGEN_ARB_FILTER_FREQUENCY \
"Specifies the cut off frequency of the low pass filter."
#define HS_RFSIGGEN_ARB_MAX_NUMBER_WAVEFORMS \
"Specifies the maximum number of waveforms the instrument can hold in memory."
#define HS_RFSIGGEN_ARB_WAVEFORM_QUANTUM \
"The waveform length must be a multiple of this quantum."
#define HS_RFSIGGEN_ARB_WAVEFORM_SIZE_MIN \
"The waveform length must be equal or greater than min size."
#define HS_RFSIGGEN_ARB_WAVEFORM_SIZE_MAX \
"The waveform length must be equal or less than max size."
#define HS_RFSIGGEN_ARB_TRIGGER_SOURCE \
"Specifies the trigger source for the ARB waveform."
#define HS_RFSIGGEN_ARB_TRIGGER_EXTERNAL_SLOPE \
"Specifies whether the trigger event occurs on the rising or falling edge of \
the input signal."

IVI Foundation 419 IVI-4.10 IviRFSigGen Class Specification


//-----------------------------------------------------------------------------
// DigitalModulationBase Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_DIGITAL_MODULATION_BASE \
"IVI RFSigGen class-compliant digital modulation base interface"

#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_CONFIGURE_CLOCK_SOURCE \
"This function configures the clock source."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_WRITE_BIT_SEQUENCE \
"This function writes the bit sequence used as data for the digital \
base modulation."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_CLEAR_ALL_BIT_SEQUENCES \
"This function deletes all named bit sequences."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_STANDARD_NAME \
"Returns the standard name for the given index. (??)"
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_STANDARD_COUNT \
"Returns the count of available standards for digital base modulation."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_SELECTED_STANDARD \
"Specifies the actual standard used by the instrument."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_DATA_SOURCE \
"Specifies the source of data for digital base modulation."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_PRBS_TYPE \
"Specifies the type of PRBS for digital base modulation."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_SELECTED_BIT_SEQUENCE \
"Specifies name of bit sequence used as data for digital modulation."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_CLOCK_SOURCE \
"Specifies the source of the clock signal used to generate the digital modulation \
according to the selected standard."
#define HS_RFSIGGEN_DIGITAL_MODULATION_BASE_EXTERNAL_CLOCK_TYPE \
"Specifies the type of the external clock signal used to generate the digital \
modulation."

//-----------------------------------------------------------------------------
// CDMA Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_CDMA \
"IVI RFSigGen class-compliant CDMA base interface"

#define HS_RFSIGGEN_CDMA_STANDARD_NAME \
"Returns the standard name for the given index."
#define HS_RFSIGGEN_CDMA_STANDARD_COUNT \
"Returns the count of available standards for CDMA modulation."
#define HS_RFSIGGEN_CDMA_SELECTED_STANDARD \
"Specifies the actual standard used by the instrument."
#define HS_RFSIGGEN_CDMA_TRIGGER_SOURCE \
"Specifies the trigger source for starting the signal generation."
#define HS_RFSIGGEN_CDMA_EXTERNAL_TRIGGER_SLOPE \
"Specifies whether the trigger event occurs on the rising or falling edge of \
the input signal."
#define HS_RFSIGGEN_CDMA_TEST_MODEL_NAME \
"Returns the selected test model name. (??)"
#define HS_RFSIGGEN_CDMA_TEST_MODEL_COUNT \
"Returns the count of available test models."
#define HS_RFSIGGEN_CDMA_SELECTED_TEST_MODEL \
"Specifies the actual test model used by the instrument."
#define HS_RFSIGGEN_CDMA_CLOCK_SOURCE \
"Specifies the source of the clock signal used to generate the digital modulation."

//-----------------------------------------------------------------------------
// TDMA Interface
//-----------------------------------------------------------------------------

#define HS_RFSIGGEN_I_IVI_RFSIGGEN_TDMA \
"IVI RFSigGen class-compliant TDMA base interface"

#define HS_RFSIGGEN_TDMA_CONFIGURE_CLOCK_SOURCE \

IVI-4.10 IviRFSigGen Class Specification 420 IVI Foundation


"This function configures the clock source."
#define HS_RFSIGGEN_TDMA_STANDARD_NAME \
"Returns the standard name for the given index."
#define HS_RFSIGGEN_TDMA_STANDARD_COUNT \
"Returns the count of available standards for TDMA modulation."
#define HS_RFSIGGEN_TDMA_SELECTED_STANDARD \
"Specifies the actual standard used by the instrument."
#define HS_RFSIGGEN_TDMA_TRIGGER_SOURCE \
"Specifies the source of the trigger signal starting the generation of the \
frame/slot."
#define HS_RFSIGGEN_TDMA_EXTERNAL_TRIGGER_SLOPE \
"Specifies whether the trigger event occurs on the rising or falling edge of \
the input signal."
#define HS_RFSIGGEN_TDMA_FRAME_NAME \
"Returns the frame name for the given index (??)."
#define HS_RFSIGGEN_TDMA_FRAME_COUNT \
"Returns the count of available frame names."
#define HS_RFSIGGEN_TDMA_SELECTED_FRAME \
"Specifies the actual frame/slot used by the instrument."
#define HS_RFSIGGEN_TDMA_CLOCK_SOURCE \
"Specifies the source of the clock signal used to generate the digital modulation \
according to the selected standard."
#define HS_RFSIGGEN_TDMA_EXTERNAL_CLOCK_TYPE \
"Specifies the type of the external clock signal used to generate the digital \
modulation."

#endif // !defined(IVI_RFSIGGEN_IDL_ENGLISH_INCLUDED_)

IVI Foundation 421 IVI-4.10 IviRFSigGen Class Specification

Das könnte Ihnen auch gefallen