feat: add some more op-amp stuff
194
Areas/electricity/active-components/op-amp-circuits.md
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
|
||||||
|
# Non-Inverting Amplifier
|
||||||
|
|
||||||
|
```circuitjs
|
||||||
|
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
||||||
|
a 192 240 304 240 9 15 -15 1000000 4.9999000019999595 5 100000
|
||||||
|
r 192 320 192 400 0 1000
|
||||||
|
r 304 320 192 320 0 1000
|
||||||
|
w 192 320 192 256 0
|
||||||
|
w 304 240 304 320 0
|
||||||
|
O 304 240 368 240 1 0
|
||||||
|
g 192 400 192 432 0 0
|
||||||
|
v 96 352 96 224 0 0 40 5 0 0 0.5
|
||||||
|
w 96 224 192 224 2
|
||||||
|
g 96 352 96 432 0 0
|
||||||
|
b 144 288 289 401 0
|
||||||
|
x 264 386 278 389 4 24 β
|
||||||
|
x 240 345 252 348 4 12 Rf
|
||||||
|
x 160 363 176 366 4 12 Rg
|
||||||
|
```
|
||||||
|
|
||||||
|
What is the closed loop gain of this circuit?
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{flalign}
|
||||||
|
&V_- = V_+ = V_s&\\\
|
||||||
|
&V_- \text{is the output of a voltage divider}\\
|
||||||
|
\end{flalign}
|
||||||
|
$$
|
||||||
|
|
||||||
|
Because $V_-$ is equal to $V_+$ and
|
||||||
|
|
||||||
|
$V_- = V_s = V_o (\frac{R_g}{R_G+R_F})$
|
||||||
|
|
||||||
|
If we solve that equation for $\frac{V_O}{V_s}$ we get the following formula:
|
||||||
|
|
||||||
|
## Formula
|
||||||
|
|
||||||
|
$\displaystyle Gain =\frac{V_o}{V_s} = 1+\frac{R_F}{R_G}$
|
||||||
|
|
||||||
|
# Buffer (Voltage-Follow)
|
||||||
|
|
||||||
|
This circuit is useful, because the output always replicates the voltage at the input. For example if you connect the output of a voltage divider you can drive a load wth $V_o$ and the impedance in the Load will not change the $V_o$
|
||||||
|
|
||||||
|
```circuitjs
|
||||||
|
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
||||||
|
a 192 240 304 240 9 15 -15 1000000 4.999950000499995 5 100000
|
||||||
|
w 192 320 192 256 0
|
||||||
|
w 304 240 304 320 0
|
||||||
|
O 304 240 368 240 1 0
|
||||||
|
v 96 304 96 224 0 0 40 5 0 0 0.5
|
||||||
|
w 96 224 192 224 2
|
||||||
|
g 96 304 96 352 0 0
|
||||||
|
w 192 320 304 320 0
|
||||||
|
```
|
||||||
|
|
||||||
|
# Inverting Amplifier
|
||||||
|
|
||||||
|
When the output of the op-amp is connected to its own inverting input, and the non-inverting input is connected to ground then it is in a closed loop inverting configuration.
|
||||||
|
|
||||||
|
Because the op-amp tries make sure that the voltage of both its inputs pins are the same, it will try to create a voltage which cancels out the voltage on the inverting input. This means if the input is $5V$ then the output voltage is $-5V$.
|
||||||
|
|
||||||
|
Another way to think about this is, that we know that the op-amp inputs do not consume current. So all the current goes through $Ri$ and $Rf$ that means that they both have the same exact current flowing through them. Through ohms law we can then figure out the voltage drops across them.
|
||||||
|
|
||||||
|
```circuitjs
|
||||||
|
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
||||||
|
v 64 304 64 192 0 0 40 5 0 0 0.5
|
||||||
|
r 176 192 112 192 0 1000
|
||||||
|
w 176 224 176 272 0
|
||||||
|
g 176 272 176 320 0 0
|
||||||
|
g 64 304 64 320 0 0
|
||||||
|
r 176 128 288 128 0 1000
|
||||||
|
w 288 128 288 208 0
|
||||||
|
w 176 192 176 128 0
|
||||||
|
g 288 272 288 320 0 0
|
||||||
|
p 288 208 288 272 1 0 0
|
||||||
|
x 230 94 242 97 4 12 Rf
|
||||||
|
x 129 166 141 169 4 12 Ri
|
||||||
|
a 176 208 288 208 8 15 -15 1000000 0.00004999900001999959 0 100000
|
||||||
|
w 112 192 64 192 2
|
||||||
|
```
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{flalign}
|
||||||
|
&A_V = -\frac{R_F}{R_I}&\\\
|
||||||
|
\end{flalign}
|
||||||
|
$$
|
||||||
|
# Single Ended Inverting Amplifier
|
||||||
|
|
||||||
|
When we connect $V_-$ of the op-amp to ground, the output signal can't go below $0V$ this means that if the input signal goes below $0V$ it is cut of to fix this problem, we need to raise the signal by half of the $V_+$ voltage so that it does not get cut off.
|
||||||
|
|
||||||
|
```desmos-graph
|
||||||
|
y=\sin(x*5)|5>x>0|y>0
|
||||||
|
y = \sin(x*5)|x<0
|
||||||
|
y=\sin(x*5)+1|5<x
|
||||||
|
```
|
||||||
|
|
||||||
|
To do that we create a voltage divider which takes half of the $V_+$ voltage and routes it to the non-inverting input of the op-amp.
|
||||||
|
|
||||||
|
```circuitjs
|
||||||
|
$ 1 0.000005 6.450009306485578 50 5 50 5e-11
|
||||||
|
O 352 224 432 224 0 0
|
||||||
|
w 352 160 352 224 0
|
||||||
|
r 224 160 352 160 0 3000
|
||||||
|
w 224 208 224 160 0
|
||||||
|
r 160 160 224 160 0 1000
|
||||||
|
g 224 320 224 352 0 0
|
||||||
|
r 224 240 224 320 0 1000
|
||||||
|
r 80 240 224 240 0 1000
|
||||||
|
R 64 160 16 160 0 1 40 2 0 0 0.5
|
||||||
|
R 80 240 16 240 0 0 40 15 0 0 0.5
|
||||||
|
a 224 224 352 224 8 15 0 1000000 7.499985233224565 7.5 100000
|
||||||
|
c 112 160 160 160 0 0.00001 -6.787036831414538 0.001
|
||||||
|
s 64 160 112 160 0 0 false
|
||||||
|
o 0 16 0 12294 13.0746715037385 0.0001 0 1 output
|
||||||
|
o 8 16 0 12294 2 0.0001 0 2 8 3 source
|
||||||
|
```
|
||||||
|
|
||||||
|
# Difference Amplifier
|
||||||
|
|
||||||
|
|
||||||
|
```circuitjs
|
||||||
|
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
||||||
|
R 144 192 96 192 0 0 40 5 0 0 0.5
|
||||||
|
R 144 224 96 224 0 0 40 4 0 0 0.5
|
||||||
|
r 144 192 224 192 0 1000
|
||||||
|
r 144 224 224 224 0 1000
|
||||||
|
a 224 208 352 208 8 15 -15 1000000 2.000009999800004 2 100000
|
||||||
|
r 224 128 352 128 0 1000
|
||||||
|
w 352 128 352 208 0
|
||||||
|
w 224 192 224 128 0
|
||||||
|
w 352 208 400 208 0
|
||||||
|
p 400 208 400 320 1 0 0
|
||||||
|
g 400 320 400 352 0 0
|
||||||
|
r 224 224 224 320 0 1000
|
||||||
|
g 224 320 224 352 0 0
|
||||||
|
x 176 171 192 174 4 12 R1
|
||||||
|
x 176 244 192 247 4 12 R1
|
||||||
|
x 199 279 215 282 4 12 R2
|
||||||
|
x 279 148 295 151 4 12 R2
|
||||||
|
```
|
||||||
|
|
||||||
|
$\displaystyle V_O = \frac{R2}{R1}(V_2-V_1)$
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Calculate Non-Inverting Amplifier Bandwidth
|
||||||
|
|
||||||
|
Let's calculate the bandwidth for the following non-inverting op-amp with a $GBP$ of $1Mhz$.
|
||||||
|
|
||||||
|
![[op-amb-bandwidth-example.jpg]]
|
||||||
|
The formula for calculating the gain of a non-inverting op-amp is:
|
||||||
|
![[#Non-Inverting Amplifier#Formula]]
|
||||||
|
|
||||||
|
Now with the numbers in the graph, that:
|
||||||
|
|
||||||
|
$$
|
||||||
|
A_V = 1+\frac{99*10^3}{10^3} = 100
|
||||||
|
$$
|
||||||
|
|
||||||
|
So now we now the gain of our circuit, but we did not check if it is even in the bandwidth, so lets to that now:
|
||||||
|
|
||||||
|
![[formulas#Gain Bandwidth Product]]
|
||||||
|
|
||||||
|
$\displaystyle f_c = \frac{1*10^6}{100} = 10*10^3 = 10kHz$
|
||||||
|
|
||||||
|
That means that over $10kHz$ the gain of our op-amp is not at 100 anymore.
|
||||||
|
|
||||||
|
We can then lower the gain of a single op-amp to increase its bandwidth like so:
|
||||||
|
![[op-amp-bandwidth-example-2.jpg|400]]
|
||||||
|
Where our new gain is now:
|
||||||
|
|
||||||
|
$A_V = 1+\frac{9*10^3}{10^3} = 10$
|
||||||
|
|
||||||
|
So our new bandwidth is:
|
||||||
|
|
||||||
|
$f_c = \frac{GBP}{A_V} = \frac{10^6}{10} = 100kHz$
|
||||||
|
|
||||||
|
That means the gain of 10 will persist even for our signal of $50kHz$.
|
||||||
|
|
||||||
|
To achieve our old gain of 100 we can connect multiple of those amplifiers in series.
|
||||||
|
|
||||||
|
To calculate the total bandwidth of all the op-amps we can use a formula which is very similar to the one of multiple low-pass filters.
|
||||||
|
|
||||||
|
![[formulas#Bandwidth of Multiple OpAmps]]
|
||||||
|
|
||||||
|
|
||||||
|
Lets calculate the gain for two of our op-amp configurations in series:
|
||||||
|
|
||||||
|
$A_V = 100kHz \sqrt{2^\frac{1}{2} - 1} \approx 64.35kHz$
|
||||||
|
|
||||||
|
For three op-amps the formula is (dont know where the 215.44$kHz$ come from...)
|
||||||
|
|
||||||
|
$A_V = 215.44kHz\sqrt{2^\frac{1}{3}-1} \approx 109.84kHz$
|
@ -16,12 +16,19 @@ $$
|
|||||||
&X_2 = \text{Input V2 (Inverting Input)}\\
|
&X_2 = \text{Input V2 (Inverting Input)}\\
|
||||||
\end{flalign}
|
\end{flalign}
|
||||||
$$
|
$$
|
||||||
|
# Rules
|
||||||
|
|
||||||
|
**1. No Current flows in or out of the outputs**
|
||||||
|
**2. The op-amp tries to keep the input voltages the same**
|
||||||
|
The second rule only applies when the op-amp is in closed loop configuration
|
||||||
|
|
||||||
# Regions
|
# Regions
|
||||||
Op Amps functions in different regions, just like diodes, and transistors.
|
Op Amps functions in different regions, just like diodes, and transistors.
|
||||||
|
|
||||||
![[op-amp-regions.png|400]]
|
![[op-amp-regions.png|400]]
|
||||||
|
|
||||||
|
# Regions
|
||||||
|
|
||||||
**Linear Region**
|
**Linear Region**
|
||||||
This is how the Op-Amp normally functions.
|
This is how the Op-Amp normally functions.
|
||||||
|
|
||||||
@ -30,7 +37,7 @@ When the output of the op-amp would be higher than $+V_{CC}$ or lower than $-V_{
|
|||||||
|
|
||||||
In real life OpAmps have $A_V$ values as high as $10^8$ or $10^9$ due to this even very small input voltages would quickly leave the linear region. That is why we need
|
In real life OpAmps have $A_V$ values as high as $10^8$ or $10^9$ due to this even very small input voltages would quickly leave the linear region. That is why we need
|
||||||
|
|
||||||
**Negative Feedback**
|
# Negative Feedback
|
||||||
To use negative feedback we connect the output of the OpAmp to one of its inputs. This connection is modified by a *feedback factor* ($\beta$) which can be in the range $0 \le \beta \le 1$.
|
To use negative feedback we connect the output of the OpAmp to one of its inputs. This connection is modified by a *feedback factor* ($\beta$) which can be in the range $0 \le \beta \le 1$.
|
||||||
|
|
||||||
Due to this feedback the new formula for the output $V_O$ is now:
|
Due to this feedback the new formula for the output $V_O$ is now:
|
||||||
@ -47,107 +54,40 @@ $$
|
|||||||
$$
|
$$
|
||||||
|
|
||||||
|
|
||||||
|
# Configurations
|
||||||
|
|
||||||
# Non-Inverting Amplifier
|
**Open Loop**
|
||||||
|
When the output of the Op Amp is not connected to any of its inputs, it is in the so called "open loop configurations"
|
||||||
|
|
||||||
```circuitjs
|
**Closed Loop**
|
||||||
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
When we connect the output of the OpAmp to either $V_+$ or $V_-$ the OpAmp is in the "closed loop configuration".
|
||||||
a 192 240 304 240 9 15 -15 1000000 4.9999000019999595 5 100000
|
|
||||||
r 192 320 192 400 0 1000
|
|
||||||
r 304 320 192 320 0 1000
|
|
||||||
w 192 320 192 256 0
|
|
||||||
w 304 240 304 320 0
|
|
||||||
O 304 240 368 240 1 0
|
|
||||||
g 192 400 192 432 0 0
|
|
||||||
v 96 352 96 224 0 0 40 5 0 0 0.5
|
|
||||||
w 96 224 192 224 2
|
|
||||||
g 96 352 96 432 0 0
|
|
||||||
b 144 288 289 401 0
|
|
||||||
x 264 386 278 389 4 24 β
|
|
||||||
x 240 345 252 348 4 12 Rf
|
|
||||||
x 160 363 176 366 4 12 Rg
|
|
||||||
```
|
|
||||||
|
|
||||||
What is the closed loop gain of this circuit?
|
# Bandwidth Limitations
|
||||||
|
|
||||||
$$
|
Real op-amps behave differently depending on the input signals frequency. Usually the internal open-loop gain gets lower as the input frequency gets higher like this.
|
||||||
\begin{flalign}
|
|
||||||
&V_- = V_+ = V_s&\\\
|
|
||||||
&V_- \text{is the output of a voltage divider}\\
|
|
||||||
\end{flalign}
|
|
||||||
$$
|
|
||||||
|
|
||||||
Because $V_-$ is equal to $V_+$ and
|
The op-amps bandwidth is the frequency range in which the voltage gain is above 70.7% ($3dB$) of its maximum output. The point at which it is below that gain, is called the **breakpoint**.
|
||||||
|
|
||||||
$V_- = V_s = V_o (\frac{R_g}{R_G+R_F})$
|
![[op-amp-bandwidth.png|400]]
|
||||||
t
|
|
||||||
If we solve that equation for $\frac{V_O}{V_s}$ we get the following formula:
|
|
||||||
|
|
||||||
$\displaystyle Gain =\frac{V_o}{V_s} = 1+\frac{R_F}{R_G}$
|
|
||||||
|
|
||||||
# Buffer (Voltage-Follow)
|
This is also one of the reason we use op-amps in closed loop configuration. Because it allows is to trade maximum gain for a larger bandwidth.
|
||||||
|
|
||||||
This circuit is usefull, because the output always replicates the voltage at the input. For example if you connect the output of a voltage divider you can drive a load wth $V_o$ and the impedance in the Load will not change the $V_o$
|
![[op-amp-bandwidth-closed-loop.png|400]]
|
||||||
|
|
||||||
```circuitjs
|
If we want to find out the bandwidth of an op-amp, we can check the datasheet. The *LM741 OpAmp* for example:
|
||||||
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
|
||||||
a 192 240 304 240 9 15 -15 1000000 4.999950000499995 5 100000
|
|
||||||
w 192 320 192 256 0
|
|
||||||
w 304 240 304 320 0
|
|
||||||
O 304 240 368 240 1 0
|
|
||||||
v 96 304 96 224 0 0 40 5 0 0 0.5
|
|
||||||
w 96 224 192 224 2
|
|
||||||
g 96 304 96 352 0 0
|
|
||||||
w 192 320 304 320 0
|
|
||||||
```
|
|
||||||
|
|
||||||
# Inverting Amplifier
|
![[lm741-datasheet-bandwidth.png]]
|
||||||
|
|
||||||
```circuitjs
|
The thing is that this frequency only applies when the op-amp has a gain of 1, this frequency point is also called **unity gain**. It is called the **Gain Bandwidth Product**, which is calculated as follows:
|
||||||
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
|
||||||
v 48 304 48 192 0 0 40 5 0 0 0.5
|
|
||||||
r 176 192 96 192 0 1000
|
|
||||||
w 176 224 176 304 0
|
|
||||||
g 176 304 176 352 0 0
|
|
||||||
g 48 304 48 352 0 0
|
|
||||||
r 176 112 336 112 0 1000
|
|
||||||
w 336 112 336 208 0
|
|
||||||
w 176 192 176 112 0
|
|
||||||
w 336 208 416 208 0
|
|
||||||
g 416 320 416 352 0 0
|
|
||||||
p 416 208 416 320 1 0 0
|
|
||||||
x 249 86 261 89 4 12 Rf
|
|
||||||
x 129 166 141 169 4 12 Ri
|
|
||||||
a 176 208 336 208 8 15 -15 1000000 0.00004999900001999959 0 100000
|
|
||||||
w 96 192 48 192 2
|
|
||||||
```
|
|
||||||
|
|
||||||
$$
|
$GBP = A_V * f_c$
|
||||||
\begin{flalign}
|
|
||||||
&\frac{V_o}{V_S} = -\frac{R_F}{R_I}&\\\
|
|
||||||
\end{flalign}
|
|
||||||
$$
|
|
||||||
# Difference Amplifier
|
|
||||||
|
|
||||||
```circuitjs
|
Where $A_V$ is the voltage gain, and $f_c$ is the cutoff frequency.
|
||||||
$ 64 0.000005 1.0312258501325766 50 5 50 5e-11
|
|
||||||
R 144 192 96 192 0 0 40 5 0 0 0.5
|
|
||||||
R 144 224 96 224 0 0 40 4 0 0 0.5
|
|
||||||
r 144 192 224 192 0 1000
|
|
||||||
r 144 224 224 224 0 1000
|
|
||||||
a 224 208 352 208 8 15 -15 1000000 2.000009999800004 2 100000
|
|
||||||
r 224 128 352 128 0 1000
|
|
||||||
w 352 128 352 208 0
|
|
||||||
w 224 192 224 128 0
|
|
||||||
w 352 208 400 208 0
|
|
||||||
p 400 208 400 320 1 0 0
|
|
||||||
g 400 320 400 352 0 0
|
|
||||||
r 224 224 224 320 0 1000
|
|
||||||
g 224 320 224 352 0 0
|
|
||||||
x 176 171 192 174 4 12 R1
|
|
||||||
x 176 244 192 247 4 12 R1
|
|
||||||
x 199 279 215 282 4 12 R2
|
|
||||||
x 279 148 295 151 4 12 R2
|
|
||||||
```
|
|
||||||
|
|
||||||
$\displaystyle V_O = \frac{R2}{R1}(V_2-V_1)$
|
With this equation we can also solve for $f_c$ like so:
|
||||||
|
|
||||||
|
$\displaystyle f_c = \frac{GBP}{A_V}$
|
||||||
|
|
||||||
|
|
||||||
|
![[lm741.pdf]]
|
BIN
Areas/electricity/assets/Pasted image 20220405102309.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
Areas/electricity/assets/Pasted image 20220405104718.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
Areas/electricity/assets/lm741-datasheet-bandwidth.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
Areas/electricity/assets/op-amb-bandwidth-example.jpg
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
Areas/electricity/assets/op-amp-bandwidth-closed-loop.png
Normal file
After Width: | Height: | Size: 290 KiB |
BIN
Areas/electricity/assets/op-amp-bandwidth-example-2.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Areas/electricity/assets/op-amp-bandwidth.png
Normal file
After Width: | Height: | Size: 230 KiB |
767
Areas/electricity/assets/yjs-architecture.excalidraw.md
Normal file
@ -0,0 +1,767 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
excalidraw-plugin: parsed
|
||||||
|
tags: [excalidraw]
|
||||||
|
|
||||||
|
---
|
||||||
|
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
|
||||||
|
|
||||||
|
|
||||||
|
# Text Elements
|
||||||
|
Server ^WkbqBiLT
|
||||||
|
|
||||||
|
Client ^ZHPBLTHz
|
||||||
|
|
||||||
|
adapter ^onSLaWJU
|
||||||
|
|
||||||
|
adapter ^4E2JLjbz
|
||||||
|
|
||||||
|
signal-server ^H1H62P9W
|
||||||
|
|
||||||
|
WebRTC/WebSocket Provider Singletons ^EmE2WToq
|
||||||
|
|
||||||
|
WebRTC/WebSocket Provider Singletons ^WzmDhRB1
|
||||||
|
|
||||||
|
%%
|
||||||
|
# Drawing
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "excalidraw",
|
||||||
|
"version": 2,
|
||||||
|
"source": "https://excalidraw.com",
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"type": "line",
|
||||||
|
"version": 32,
|
||||||
|
"versionNonce": 487780829,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "B1RMc4yJ-BDM4Ol-qhDK2",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -203.21481323242188,
|
||||||
|
"y": 1.2777862548828125,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 446.34393310546875,
|
||||||
|
"height": 0,
|
||||||
|
"seed": 768879731,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909262956,
|
||||||
|
"link": null,
|
||||||
|
"startBinding": null,
|
||||||
|
"endBinding": null,
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": null,
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
446.34393310546875,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 75,
|
||||||
|
"versionNonce": 1034561587,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "WkbqBiLT",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -203.12564086914062,
|
||||||
|
"y": -29.331588745117188,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 64,
|
||||||
|
"height": 25,
|
||||||
|
"seed": 657679987,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909268338,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "Server",
|
||||||
|
"rawText": "Server",
|
||||||
|
"baseline": 18,
|
||||||
|
"textAlign": "left",
|
||||||
|
"verticalAlign": "top",
|
||||||
|
"containerId": null,
|
||||||
|
"originalText": "Server"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 122,
|
||||||
|
"versionNonce": 1251183069,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "ZHPBLTHz",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -205.04751586914062,
|
||||||
|
"y": 10.119491577148438,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 56,
|
||||||
|
"height": 25,
|
||||||
|
"seed": 1737615485,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909275789,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "Client",
|
||||||
|
"rawText": "Client",
|
||||||
|
"baseline": 18,
|
||||||
|
"textAlign": "left",
|
||||||
|
"verticalAlign": "top",
|
||||||
|
"containerId": null,
|
||||||
|
"originalText": "Client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ellipse",
|
||||||
|
"version": 250,
|
||||||
|
"versionNonce": 1700692605,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "ncEegcveBMwLd3SR11qYQ",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -88.36892700195312,
|
||||||
|
"y": -138.80564880371094,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 128,
|
||||||
|
"height": 84,
|
||||||
|
"seed": 111167037,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"id": "onSLaWJU"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "F2uyACxqpv8b0sRB4rAKX",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "s5_qS-wgmHTCWVMygi4dn",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "YRgsZ5sie5bWYaWqUpAMB",
|
||||||
|
"type": "arrow"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated": 1648909389391,
|
||||||
|
"link": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 168,
|
||||||
|
"versionNonce": 404269107,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "onSLaWJU",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -83.36892700195312,
|
||||||
|
"y": -109.30564880371094,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 118,
|
||||||
|
"height": 25,
|
||||||
|
"seed": 1122586323,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393031,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "adapter",
|
||||||
|
"rawText": "adapter",
|
||||||
|
"baseline": 17,
|
||||||
|
"textAlign": "center",
|
||||||
|
"verticalAlign": "middle",
|
||||||
|
"containerId": "ncEegcveBMwLd3SR11qYQ",
|
||||||
|
"originalText": "adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ellipse",
|
||||||
|
"version": 237,
|
||||||
|
"versionNonce": 1633291645,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -83.57376098632812,
|
||||||
|
"y": 64.44017028808594,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 128,
|
||||||
|
"height": 84,
|
||||||
|
"seed": 1788340659,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [
|
||||||
|
{
|
||||||
|
"id": "4E2JLjbz",
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "F2uyACxqpv8b0sRB4rAKX",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fnHgEPQGUYjAZQw3QH8uV",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "OhJaFbWOgueHOQ8IbYf0T",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "s5_qS-wgmHTCWVMygi4dn",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "aAgK_fMn5O7i3R-R_aPej",
|
||||||
|
"type": "arrow"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated": 1648909397692,
|
||||||
|
"link": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 152,
|
||||||
|
"versionNonce": 2077803005,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "4E2JLjbz",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -78.57376098632812,
|
||||||
|
"y": 93.94017028808594,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 118,
|
||||||
|
"height": 25,
|
||||||
|
"seed": 444268285,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393037,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "adapter",
|
||||||
|
"rawText": "adapter",
|
||||||
|
"baseline": 17,
|
||||||
|
"textAlign": "center",
|
||||||
|
"verticalAlign": "middle",
|
||||||
|
"containerId": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"originalText": "adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ellipse",
|
||||||
|
"version": 280,
|
||||||
|
"versionNonce": 361002611,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "kNr2rkWGRr6NnY3FuKHa1",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": 100.27340698242188,
|
||||||
|
"y": -135.8394317626953,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 76,
|
||||||
|
"height": 84,
|
||||||
|
"seed": 1289228701,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [
|
||||||
|
{
|
||||||
|
"id": "H1H62P9W",
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fnHgEPQGUYjAZQw3QH8uV",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "OhJaFbWOgueHOQ8IbYf0T",
|
||||||
|
"type": "arrow"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated": 1648909333696,
|
||||||
|
"link": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 213,
|
||||||
|
"versionNonce": 855928723,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "H1H62P9W",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": 105.27340698242188,
|
||||||
|
"y": -118.33943176269531,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 66,
|
||||||
|
"height": 49,
|
||||||
|
"seed": 429990579,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393042,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "signal-\nserver",
|
||||||
|
"rawText": "signal-server",
|
||||||
|
"baseline": 42,
|
||||||
|
"textAlign": "center",
|
||||||
|
"verticalAlign": "middle",
|
||||||
|
"containerId": "kNr2rkWGRr6NnY3FuKHa1",
|
||||||
|
"originalText": "signal-server"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "arrow",
|
||||||
|
"version": 269,
|
||||||
|
"versionNonce": 165358035,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "F2uyACxqpv8b0sRB4rAKX",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -29.264643885066555,
|
||||||
|
"y": 47.955788408580375,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 1.4345041594637138,
|
||||||
|
"height": 87.47173178483985,
|
||||||
|
"seed": 1128467763,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393033,
|
||||||
|
"link": null,
|
||||||
|
"startBinding": {
|
||||||
|
"elementId": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"gap": 16.908466522690496,
|
||||||
|
"focus": -0.1663971794434631
|
||||||
|
},
|
||||||
|
"endBinding": {
|
||||||
|
"elementId": "ncEegcveBMwLd3SR11qYQ",
|
||||||
|
"gap": 15.344292795874608,
|
||||||
|
"focus": 0.039399010088612886
|
||||||
|
},
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": "arrow",
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.4345041594637138,
|
||||||
|
-87.47173178483985
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "arrow",
|
||||||
|
"version": 173,
|
||||||
|
"versionNonce": 650738269,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "fnHgEPQGUYjAZQw3QH8uV",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": 0.8269116773278711,
|
||||||
|
"y": 57.046853813144814,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 105.93604935725264,
|
||||||
|
"height": 114.41385084011695,
|
||||||
|
"seed": 810782739,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393039,
|
||||||
|
"link": null,
|
||||||
|
"startBinding": {
|
||||||
|
"elementId": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"gap": 9.418223644733324,
|
||||||
|
"focus": -0.338272990078119
|
||||||
|
},
|
||||||
|
"endBinding": {
|
||||||
|
"elementId": "kNr2rkWGRr6NnY3FuKHa1",
|
||||||
|
"gap": 8.03202591987909,
|
||||||
|
"focus": -0.041556009002134034
|
||||||
|
},
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": "arrow",
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
105.93604935725264,
|
||||||
|
-114.41385084011695
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "arrow",
|
||||||
|
"version": 181,
|
||||||
|
"versionNonce": 935601853,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "OhJaFbWOgueHOQ8IbYf0T",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": 133.94922735259325,
|
||||||
|
"y": -40.68297085745398,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 106.36925106337083,
|
||||||
|
"height": 109.84227380162322,
|
||||||
|
"seed": 622746611,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393040,
|
||||||
|
"link": null,
|
||||||
|
"startBinding": {
|
||||||
|
"elementId": "kNr2rkWGRr6NnY3FuKHa1",
|
||||||
|
"gap": 11.361607065441326,
|
||||||
|
"focus": -0.8471111474670205
|
||||||
|
},
|
||||||
|
"endBinding": {
|
||||||
|
"elementId": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"gap": 7.561781835624188,
|
||||||
|
"focus": 0.14574181899473912
|
||||||
|
},
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": "arrow",
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-106.36925106337083,
|
||||||
|
109.84227380162322
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "arrow",
|
||||||
|
"version": 288,
|
||||||
|
"versionNonce": 1080391347,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "s5_qS-wgmHTCWVMygi4dn",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -12.089441338577496,
|
||||||
|
"y": -45.874571196482826,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 1.483259143951459,
|
||||||
|
"height": 95.35174468642936,
|
||||||
|
"seed": 986354259,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393035,
|
||||||
|
"link": null,
|
||||||
|
"startBinding": {
|
||||||
|
"elementId": "ncEegcveBMwLd3SR11qYQ",
|
||||||
|
"gap": 9.653999542511265,
|
||||||
|
"focus": -0.20423541386144933
|
||||||
|
},
|
||||||
|
"endBinding": {
|
||||||
|
"elementId": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"gap": 15.1275256621743,
|
||||||
|
"focus": 0.0799171421969123
|
||||||
|
},
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": "arrow",
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-1.483259143951459,
|
||||||
|
95.35174468642936
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 72,
|
||||||
|
"versionNonce": 1254304477,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "EmE2WToq",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -197.91647338867188,
|
||||||
|
"y": -281.5548858642578,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 386,
|
||||||
|
"height": 25,
|
||||||
|
"seed": 1422562013,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [
|
||||||
|
{
|
||||||
|
"id": "YRgsZ5sie5bWYaWqUpAMB",
|
||||||
|
"type": "arrow"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated": 1648909389392,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "WebRTC/WebSocket Provider Singletons",
|
||||||
|
"rawText": "WebRTC/WebSocket Provider Singletons",
|
||||||
|
"baseline": 18,
|
||||||
|
"textAlign": "left",
|
||||||
|
"verticalAlign": "top",
|
||||||
|
"containerId": null,
|
||||||
|
"originalText": "WebRTC/WebSocket Provider Singletons"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "arrow",
|
||||||
|
"version": 39,
|
||||||
|
"versionNonce": 847639581,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "YRgsZ5sie5bWYaWqUpAMB",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -29.481130932521708,
|
||||||
|
"y": -156.22275972522377,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 2.047506664943583,
|
||||||
|
"height": 85.82580900036217,
|
||||||
|
"seed": 1508419517,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"boundElements": [],
|
||||||
|
"updated": 1648909393030,
|
||||||
|
"link": null,
|
||||||
|
"startBinding": {
|
||||||
|
"elementId": "ncEegcveBMwLd3SR11qYQ",
|
||||||
|
"gap": 17.534249658462436,
|
||||||
|
"focus": -0.10201391255902159
|
||||||
|
},
|
||||||
|
"endBinding": {
|
||||||
|
"elementId": "EmE2WToq",
|
||||||
|
"gap": 14.506317138671875,
|
||||||
|
"focus": 0.11315611262704293
|
||||||
|
},
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": "arrow",
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2.047506664943583,
|
||||||
|
-85.82580900036217
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"version": 158,
|
||||||
|
"versionNonce": 1872112189,
|
||||||
|
"isDeleted": false,
|
||||||
|
"id": "WzmDhRB1",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"angle": 0,
|
||||||
|
"x": -187.02542114257812,
|
||||||
|
"y": 266.5276336669922,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"width": 386,
|
||||||
|
"height": 25,
|
||||||
|
"seed": 1094522643,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "sharp",
|
||||||
|
"boundElements": [
|
||||||
|
{
|
||||||
|
"id": "YRgsZ5sie5bWYaWqUpAMB",
|
||||||
|
"type": "arrow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "aAgK_fMn5O7i3R-R_aPej",
|
||||||
|
"type": "arrow"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated": 1648909402120,
|
||||||
|
"link": null,
|
||||||
|
"fontSize": 20,
|
||||||
|
"fontFamily": 1,
|
||||||
|
"text": "WebRTC/WebSocket Provider Singletons",
|
||||||
|
"rawText": "WebRTC/WebSocket Provider Singletons",
|
||||||
|
"baseline": 18,
|
||||||
|
"textAlign": "left",
|
||||||
|
"verticalAlign": "top",
|
||||||
|
"containerId": null,
|
||||||
|
"originalText": "WebRTC/WebSocket Provider Singletons"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "aAgK_fMn5O7i3R-R_aPej",
|
||||||
|
"type": "arrow",
|
||||||
|
"x": -23.349230732021784,
|
||||||
|
"y": 152.45120762995597,
|
||||||
|
"width": 1.8979000327098632,
|
||||||
|
"height": 103.87128687687996,
|
||||||
|
"angle": 0,
|
||||||
|
"strokeColor": "#000000",
|
||||||
|
"backgroundColor": "transparent",
|
||||||
|
"fillStyle": "hachure",
|
||||||
|
"strokeWidth": 1,
|
||||||
|
"strokeStyle": "solid",
|
||||||
|
"roughness": 1,
|
||||||
|
"opacity": 100,
|
||||||
|
"groupIds": [],
|
||||||
|
"strokeSharpness": "round",
|
||||||
|
"seed": 671677,
|
||||||
|
"version": 133,
|
||||||
|
"versionNonce": 1194318493,
|
||||||
|
"isDeleted": false,
|
||||||
|
"boundElements": null,
|
||||||
|
"updated": 1648909402123,
|
||||||
|
"link": null,
|
||||||
|
"points": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.8979000327098632,
|
||||||
|
103.87128687687996
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"lastCommittedPoint": null,
|
||||||
|
"startBinding": {
|
||||||
|
"elementId": "JKUxjb3-f104Cl7oxLCE6",
|
||||||
|
"focus": 0.0748602540311268,
|
||||||
|
"gap": 4.081948266723494
|
||||||
|
},
|
||||||
|
"endBinding": {
|
||||||
|
"elementId": "WzmDhRB1",
|
||||||
|
"focus": -0.13978819758028055,
|
||||||
|
"gap": 10.20513916015625
|
||||||
|
},
|
||||||
|
"startArrowhead": null,
|
||||||
|
"endArrowhead": "arrow"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"appState": {
|
||||||
|
"theme": "light",
|
||||||
|
"viewBackgroundColor": "#ffffff",
|
||||||
|
"currentItemStrokeColor": "#000000",
|
||||||
|
"currentItemBackgroundColor": "transparent",
|
||||||
|
"currentItemFillStyle": "hachure",
|
||||||
|
"currentItemStrokeWidth": 1,
|
||||||
|
"currentItemStrokeStyle": "solid",
|
||||||
|
"currentItemRoughness": 1,
|
||||||
|
"currentItemOpacity": 100,
|
||||||
|
"currentItemFontFamily": 1,
|
||||||
|
"currentItemFontSize": 20,
|
||||||
|
"currentItemTextAlign": "left",
|
||||||
|
"currentItemStrokeSharpness": "sharp",
|
||||||
|
"currentItemStartArrowhead": null,
|
||||||
|
"currentItemEndArrowhead": "arrow",
|
||||||
|
"currentItemLinearStrokeSharpness": "round",
|
||||||
|
"gridSize": null,
|
||||||
|
"colorPalette": {}
|
||||||
|
},
|
||||||
|
"files": {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
%%
|
BIN
Areas/electricity/datasheets/lm741.pdf
Normal file
@ -145,3 +145,15 @@ $Z = \sqrt{R^2 + (X_L - X_C)^2}$
|
|||||||
# Current through a transistor
|
# Current through a transistor
|
||||||
|
|
||||||
$\displaystyle I_{EQ} = \frac{V_{BB}-{V_{BE}}}{\frac{R_B}{(\beta+1)}+R_E}$
|
$\displaystyle I_{EQ} = \frac{V_{BB}-{V_{BE}}}{\frac{R_B}{(\beta+1)}+R_E}$
|
||||||
|
|
||||||
|
# Gain Bandwidth Product
|
||||||
|
$GBP = A_V * f_c$
|
||||||
|
$\displaystyle f_c = \frac{GBP}{A_V}$
|
||||||
|
|
||||||
|
|
||||||
|
# Bandwidth of Multiple OpAmps
|
||||||
|
|
||||||
|
Where $n$ = number of stages
|
||||||
|
and $BW$ = Bandwidth of single op-amp
|
||||||
|
|
||||||
|
$BW_E = BW\sqrt{2^\frac{1}{n}-1}$
|