An arbitrary waveform generator with advanced command control
Abstract
An arbitrary waveform generator includes at least one analog output, a digital-to-analog converter connected to the analog output and a waveform source connected to the digital analog converter. The waveform source includes a waveform memory, a signal player and a signal processor. The waveform generator is controlled by a sequencer having an instruction memory for instructions and an instruction interpreter adapted to sequentially execute the instructions. A command table unit, in addition to the sequencer, is connected to the waveform source and includes a command table memory holding a plurality of commands. The commands include a waveform identifier for a waveform to be played and a parameter identifier describing how to modify the waveform in the signal processor. The sequencer can trigger the command table unit to execute a command therein, thereby playing the waveform with the parameter as identified by the command.
Claims
exact text as granted — not AI-modified1 . An arbitrary waveform generator comprising
at least one analog output, a digital-to-analog converter connected to the analog output, a waveform source connected to said digital-to-analog converter, and a sequencer adapted to control the waveform generator, wherein said sequencer comprises an instruction memory for instructions and an instruction interpreter adapted to sequentially execute said instructions,
wherein said waveform generator further comprises a command table unit in addition to the sequencer, and wherein said command table unit is connected to the waveform source and comprises a command table memory holding a plurality of commands identifiable with command addresses, with at least some of said commands comprising a waveform identifier descriptive of a waveform to be played and/or a parameter identifier descriptive of a parameter for modifying said waveform,
wherein said sequenceris adapted to execute table execution instructions, with each table execution instruction specifying at least one command address, wherein, upon execution of such a table execution instruction, the command table unit is triggered to cause the waveform source to play the waveform with the parameter as identified by the command at the specified command address.
2 . The arbitrary waveform generator of claim 1 , wherein said waveform source comprises;
a waveform memory holding a plurality of waveforms, wherein a desired waveform in the waveform memory is selectable by the waveform identifier of the commands, and a signal processor structured to modify the desired waveform, wherein said signal processor is at least partially controllable by the parameter identifier of the commands.
3 . The arbitrary waveform generator of claim 2 , further comprising a waveform player generating a time series of values from the selected waveform.
4 . The arbitrary waveform generator of claim 3 , further comprising a parameter buffer for buffering the parameter identifier, wherein said waveform player is adapted to trigger the parameter buffer to forward the parameter identifier of a given command to the signal processor in synchronization to starting playing a waveform identified by the waveform of the given command.
5 . The arbitrary waveform generator of claim 2 ,wherein said signal processor comprises a scaler adapted to scale the selected waveform with a scaling factor, and wherein said parameter identifier is descriptive of said scaling factor and/or a change in said scaling factor.
6 . The arbitrary waveform generator of claim 2 , wherein said signal processor comprises a mixer for mixing the waveform of the waveform player with a carrier signal, and wherein said parameter identifier is descriptive of a phase and/or frequency of the carrier signal.
7 . The arbitrary waveform generator of claim 2 , wherein said signal processor comprises a delay unit generating a delay in the signal of the waveform player, wherein said parameter identifier is descriptive of a delay time to be applied by the delay unit.
8 . The arbitrary waveform generator of claim 2 , wherein said signal processor comprises a filter filtering the selected waveform, wherein said parameter identifier is descriptive of at least one parameter of said filter.
9 . The arbitrary waveform generator of claim 2 , wherein said signal processor comprises an interpolator for interpolating the selected waveform, wherein said parameter identifier is descriptive of at least one parameter of said interpolator.
10 . The arbitrary waveform generator of claim 1 ,wherein said command table unit comprises a write port for modifying the commands in said command table memory.
11 . The arbitrary waveform generator of claim 10 , wherein said sequencer is connected to said write port and adapted to interpret table change instructions for writing commands into said command table memory.
12 . The arbitrary waveform generator of claim 10 , further comprising an input interface for external signals, wherein said input interface is connected to said write port for writing commands into said command table memory without using the sequencer.
13 . The arbitrary waveform generator of claim 1 , further comprising an input interface for applying a multibit data word to said arbitrary waveform generator, wherein the sequencer is adapted to interpret at least one of said table execution instructions as an instruction to use the data word for generating the command address.
14 . The arbitrary waveform generator of claim 1 , wherein at least some of said commands comprise a condition specifier, wherein said command table unit is adapted to check for a given condition specified by the condition specifier and to execute said command only if the given condition is met.
15 . The arbitrary waveform generator of claim 1 , further comprising at least one counter, wherein at least one of said commands comprises a counter operation identifier, wherein said command table unit is adapted to access a value of said counter as a function of said counter operation identifier.
16 . A method for operating the arbitrary waveform generator of claim 1 , further comprising:
interpreting, in said sequencer, a table execution instruction, identifying, using said table execution instruction, a command in the command table memory to be executed, choosing a waveform to be played using the waveform identifier in the command to be executed, and playing the waveform to be played and modifying it using the parameter identifier of the command to be executed.
17 . Use of the arbitrary waveform generator of claim 1 for sending signals to a quantum processor.
18 . The arbitrary waveform generator of claim 8 , wherein said filter is adapted to at least one of:
apply a kernel to the selected waveform by a convolution, wherein said parameter identifier is descriptive of said kernel, apply a window function to the selected waveform, wherein said parameter identifier is descriptive of at least one window parameter of said window function, and add, for each sample value of the selected waveform, a zero value or a value of opposite sign to the sample value.
19 . The arbitrary waveform generator of claim 8 , wherein said filter is a clipping filter limiting an amplitude of the selected waveform, wherein said parameter identifier is descriptive of a maximum amplitude to be passed by the clipping filter.
20 . The arbitrary waveform generator of claim 8 , wherein said filter has at least one memory cell that changes its value during a filtering operation, wherein said parameter identifier is descriptive of resetting said memory cell to a predefined value.
21 . The arbitrary waveform generator of claim 14 , further comprising an input interface for external signals, wherein said given condition depends on a signal at said input interface.
22 . The arbitrary waveform generator of claim 15 , wherein said command table unit is adapted to execute, as a function of said counter operation identifier, at least one of:
setting said counter to a specified value, increasing or decreasing said counter, and querying a value of said counter and executing a command only if the value fulfills a given condition.Join the waitlist — get patent alerts
Track US2023280780A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.