feat: add some more op-amp stuff

This commit is contained in:
max_richter 2022-04-05 11:27:35 +02:00
parent 18977810b3
commit 08ace2ed3d
12 changed files with 1004 additions and 91 deletions

View 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$

View File

@ -16,12 +16,19 @@ $$
&X_2 = \text{Input V2 (Inverting Input)}\\
\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
Op Amps functions in different regions, just like diodes, and transistors.
![[op-amp-regions.png|400]]
# Regions
**Linear Region**
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
**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$.
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
$ 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
```
**Closed Loop**
When we connect the output of the OpAmp to either $V_+$ or $V_-$ the OpAmp is in the "closed loop configuration".
What is the closed loop gain of this circuit?
# Bandwidth Limitations
$$
\begin{flalign}
&V_- = V_+ = V_s&\\\
&V_- \text{is the output of a voltage divider}\\
\end{flalign}
$$
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.
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})$
t
If we solve that equation for $\frac{V_O}{V_s}$ we get the following formula:
![[op-amp-bandwidth.png|400]]
$\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
$ 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
```
If we want to find out the bandwidth of an op-amp, we can check the datasheet. The *LM741 OpAmp* for example:
# Inverting Amplifier
![[lm741-datasheet-bandwidth.png]]
```circuitjs
$ 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
```
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:
$$
\begin{flalign}
&\frac{V_o}{V_S} = -\frac{R_F}{R_I}&\\\
\end{flalign}
$$
# Difference Amplifier
$GBP = A_V * f_c$
```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
```
Where $A_V$ is the voltage gain, and $f_c$ is the cutoff frequency.
$\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]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

View 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": {}
}
```
%%

Binary file not shown.

View File

@ -145,3 +145,15 @@ $Z = \sqrt{R^2 + (X_L - X_C)^2}$
# Current through a transistor
$\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}$