Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
adc-testing
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
misc
adc-testing
Commits
2397b7d5
Commit
2397b7d5
authored
Sep 01, 2011
by
Federico Asara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implementation of a two-tone waveform.
parent
4ba4dbe9
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
0 deletions
+61
-0
TTWaveform.py
PAGE/TTWaveform.py
+61
-0
No files found.
PAGE/TTWaveform.py
0 → 100644
View file @
2397b7d5
import
Waveform
from
Utilities
import
*
from
numpy
import
*
import
Pyro4
import
Pyro4.util
import
sys
import
commands
class
TTWaveform
(
Waveform
.
Waveform
):
def
get
(
self
,
what
):
return
self
.
__getattribute__
(
what
)
def
set
(
self
,
what
,
how
):
self
.
__setattr__
(
what
,
how
)
_parameters
=
{
'frequency'
:[
'Frequency (1)'
,
'Frequency of the first sinewave, in HZ'
,
float
(
5e6
),
float
],
'ratio'
:[
'Ratio'
,
'Ratio between the frequency of the second sinewave and the one'
,
6.
/
5.
,
float
],
'amplitude'
:[
'Amplitude'
,
'Amplitude of each sinewave, in Vpp'
,
1.
,
float
],
'dc'
:[
'DC Compoment'
,
'DC component of the whole waveform, in Vpp'
,
0.
,
float
]}
def
__init__
(
self
,
*
args
,
**
kwargs
):
Waveform
.
Waveform
.
__init__
(
self
,
*
args
,
**
kwargs
)
def
generate
(
self
,
sampleRate
,
samples
,
nbits
,
fsr
):
f1
,
f2
=
self
.
frequency
,
self
.
frequency
*
self
.
ratio
A
=
self
.
amplitude
C
=
self
.
dc
t
=
arange
(
samples
,
dtype
=
float
)
/
sampleRate
s
=
A
*
sin
(
2
*
pi
*
f1
*
t
)
+
A
*
sin
(
2
*
pi
*
f2
*
t
)
+
C
lsb
=
fsr
/
(
2
**
nbits
)
return
(
s
/
lsb
)
.
astype
(
int
)
def
scale
(
self
,
factor
):
"""Multiply the frequency by factor"""
self
.
frequency
*=
factor
return
self
name
=
'Two Tones Waveform'
target
=
TTWaveform
def
launch
():
g
=
target
()
hn
=
commands
.
getoutput
(
'hostname'
)
daemon
=
Pyro4
.
Daemon
(
host
=
hn
)
myUri
=
daemon
.
register
(
g
)
ns
=
Pyro4
.
locateNS
()
ns
.
register
(
"TTSine"
,
myUri
)
daemon
.
requestLoop
()
if
__name__
==
'__main__'
:
launch
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment