|
14 | 14 | from ._block import Block |
15 | 15 | from ..utils.register import Register |
16 | 16 | from ..utils.deprecation import deprecated |
| 17 | +from ..utils.mutable import mutable |
17 | 18 | from ..events.schedule import Schedule, ScheduleList |
18 | 19 | from .._constants import TOLERANCE |
19 | 20 |
|
@@ -169,6 +170,7 @@ def update(self, t): |
169 | 170 |
|
170 | 171 | # SPECIAL CONTINUOUS SOURCE BLOCKS ====================================================== |
171 | 172 |
|
| 173 | +@mutable |
172 | 174 | class TriangleWaveSource(Source): |
173 | 175 | """Source block that generates an analog triangle wave |
174 | 176 | |
@@ -214,6 +216,7 @@ def _triangle_wave(self, t, f): |
214 | 216 | return 2 * abs(t*f - np.floor(t*f + 0.5)) - 1 |
215 | 217 |
|
216 | 218 |
|
| 219 | +@mutable |
217 | 220 | class SinusoidalSource(Source): |
218 | 221 | """Source block that generates a sinusoid wave |
219 | 222 | |
@@ -289,6 +292,7 @@ def _gaussian(self, t, f_max): |
289 | 292 | return np.exp(-(t/tau)**2) |
290 | 293 |
|
291 | 294 |
|
| 295 | +@mutable |
292 | 296 | class SinusoidalPhaseNoiseSource(Block): |
293 | 297 | """Sinusoidal source with cumulative and white phase noise. |
294 | 298 | |
@@ -703,6 +707,7 @@ class ChirpSource(ChirpPhaseNoiseSource): |
703 | 707 |
|
704 | 708 | # SPECIAL DISCRETE SOURCE BLOCKS ======================================================== |
705 | 709 |
|
| 710 | +@mutable |
706 | 711 | class PulseSource(Block): |
707 | 712 | """Generates a periodic pulse waveform with defined rise and fall times. |
708 | 713 |
|
@@ -909,6 +914,7 @@ class Pulse(PulseSource): |
909 | 914 | pass |
910 | 915 |
|
911 | 916 |
|
| 917 | +@mutable |
912 | 918 | class ClockSource(Block): |
913 | 919 | """Discrete time clock source block. |
914 | 920 | |
@@ -970,6 +976,7 @@ class Clock(ClockSource): |
970 | 976 |
|
971 | 977 |
|
972 | 978 |
|
| 979 | +@mutable |
973 | 980 | class SquareWaveSource(Block): |
974 | 981 | """Discrete time square wave source. |
975 | 982 | |
|
0 commit comments