AUBRAUX
 

 

Exim

Ensemble

Quantum

JitLab

PCScope

Modules:

SigGen

SoundImp

SoundExp

Plot

Meas

Stats

FileImp

TextImp

TextExp

Filter

FFT

DspWnd

Visa

Arithmetic

Plugins:

CodeEditor

SchEditor

Wizards:

JitLab

Help:

Getting Started

Examples:

PC Oscilloscope

Signal Generator

Amp. Modulation

Freq. Modulation

Phase Modulation

AM, FM & PM

PAM

PWM

Text Imp. & Exp.

 

Amplitude, Frequency and Phase Modulation


You can use SigGen modules to generate a modulating signal, AM, FM, PM, and use the Plot module to display them. The following example generates four sine waves, uses one to modulate the other three and plots them.


You can also use other modules to process the generated data. For example, you can save the data in binary or text format and also perform various measurements.


Open the Modulation-All.dsp project in DspSee to see this example in action. Click to download DspSee dsp software.


Below is a description of the Modulation-All.dsp project file. Feel free to change it to try different things.

modulation am fm pm

//Modulation-All.dsp
//Copyright www.aubraux.com
//DspSee sample file. Shows generation of amplitude, frequency & phase modulations with SigGen module.
//Requires SigGen and Plot modules.

//AM Signal Generator
load sgam="SigGen"//Loads the SigGen module. This module can generate waveforms of different shapes.
sgam.type="sine"//Sets signal type as sine
sgam.freq=10.01M//Sets frequency to 10.01 MHz
sgam.pk2pk=2//Sets peak-peak voltage to 2V
sgam.offset=0//Sets DC offset voltage to 0V
sgam.am.on=1//Enables amplitude modulation
sgam.am.gain=1//Sets the AM port gain
sgam.gui.more=1//Shows more advanced settings
sgam.gui.wnd="sg"//Sets the gui window name
sgam.gui.title="SigGen Setup"//Sets the gui window title
sgam.gui.move(500,0)//Moves the window to (x=500, y=0)
 
//FM Signal Generator
load sgfm="SigGen"//Loads the SigGen module. This module can generate waveforms of different shapes.
sgfm.type="sine"//Sets signal type as sine
sgfm.freq=10.01M//Sets frequency to 10.01 MHz
sgfm.pk2pk=2//Sets peak-peak voltage to 2V
sgfm.offset=0//Sets DC offset voltage to 0V
sgfm.fm.on=1//Enables frequency modulation
sgfm.fm.gain=5M//Sets the FM port gain
sgfm.gui.more=1//Shows more advanced settings
sgfm.gui.wnd="sg"//Sets the gui window name
sgfm.gui.title="SigGen Setup"//Sets the gui window title
sgfm.gui.move(500,0)//Moves the window to (x=500, y=0)
 
//PM Signal Generator
load sgpm="SigGen"//Loads the SigGen module. This module can generate waveforms of different shapes.
sgpm.type="sine"//Sets signal type as sine
sgpm.freq=10.01M//Sets frequency to 10.01 MHz
sgpm.pk2pk=2//Sets peak-peak voltage to 2V
sgpm.offset=0//Sets DC offset voltage to 0V
sgpm.pm.on=1//Enables phase modulation
sgpm.pm.gain=10//Sets the PM port gain
sgpm.gui.more=1//Shows more advanced settings
sgpm.gui.wnd="sg"//Sets the gui window name
sgpm.gui.title="SigGen Setup"//Sets the gui window title
sgpm.gui.move(500,0)//Moves the window to (x=500, y=0)
 
//Modulating Signal Generator
load wm="SigGen"//Loads the SigGen module. This module can generate waveforms of different shapes.
wm.type="sine"//Sets signal type as sine
wm.freq=999K//Sets frequency to 999 KHz
wm.samplerate=100M//Sets sample rate to 100 MSPS
wm.pk2pk=2//Sets peak-peak voltage to 2V
wm.offset=0//Sets DC offset voltage to 0V
wm.reclen=1000//Sets record length to 1000
link sgam.am=wm.out//Links sgam synth's AM input port to mod synth's output port
link sgfm.fm=wm.out//Links sgfm synth's FM input port to mod synth's output port
link sgpm.pm=wm.out//Links sgpm synth's PM input port to mod synth's output port
wm.gui.wnd="sg"//Sets the gui window name
wm.gui.title="SigGen Setup"//Sets the gui window title
wm.gui.move(500,0)//Moves the window to (x=500, y=0)
 
//Plot
load p1="Plot"//Loads the Plot module. This module can display input data in various formats.
p1.plot.title="Plot Window"//Sets the title of the plot window to "Plot Window"
p1.setup.title="Plot Setup"//Sets the title of the plot setup window to "Plot Setup"
link p1.src.ch1=wm.out//Links the mod signal output to Plot input
link p1.src.ch2=sgam.out//Links the sgam output to Plot input
link p1.src.ch3=sgfm.out//Links the sgfm output to Plot input
link p1.src.ch4=sgpm.out//Links the sgpm output to Plot input
p1.ch1.label="Mod Input"//Sets the Plot ch1 label
p1.ch2.label="AM Output"//Sets the Plot ch2 label
p1.ch3.label="FM Output"//Sets the Plot ch2 label
p1.ch4.label="PM Output"//Sets the Plot ch2 label
p1.ch1.vposition=2//Sets ch1 vertical position to 0
p1.ch2.vposition=0//Sets ch2 vertical position to 0
p1.ch3.vposition=-2//Sets ch3 vertical position to 0
p1.ch4.vposition=-4//Sets ch4 vertical position to 0
p1.ch1.vscale.auto=0//Sets ch1 vertical scale auto to OFF
p1.ch2.vscale.auto=0//Sets ch2 vertical scale auto to OFF
p1.ch3.vscale.auto=0//Sets ch3 vertical scale auto to OFF
p1.ch4.vscale.auto=0//Sets ch4 vertical scale auto to OFF
p1.ch1.vscale=1//Sets ch1 vertical scale to 1V/div
p1.ch2.vscale=2//Sets ch2 vertical scale to 2V/div
p1.ch3.vscale=1//Sets ch3 vertical scale to 1V/div
p1.ch4.vscale=1//Sets ch4 vertical scale to 1V/div
p1.setup.move(280,0)//Moves the plot setup gui to (x=280, y=0)
p1.plot.move(0,220)//Moves the plot window to (x=0, y=220)
p1.plot.size(1000,420)//Resizes the plot window to (width=1000, height=420)
 
©Aubraux

All Rights
Reserved