-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
1 lines (1 loc) · 18.6 KB
/
index.html
1
<!DOCTYPE html> <html> <head> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='syRF is a RF CAD to help you design RF amplifiers and oscillators.' name="description"/> <meta content='width=device-width, initial-scale=1, user-scalable=no' name='viewport'> <meta property="og:image:width" content="872"/> <meta property="og:image:height" content="436"/> <link href='http://fonts.googleapis.com/css?family=Roboto:400,500,700|Roboto+Mono' rel='stylesheet' type='text/css'> <title>syRF</title> </head> <body> <header> <h1>syRF</h1> <p class="intro"> <strong>syRF</strong> is a cross-platform CAD tool for designing RF and microwave circuits. <br> <br> <br> <br> It has been specifically written for solving RF related problems during the course 'RF Electronics' at the University of Pisa<sup>*</sup></a>, yet it can still represent a useful tool for a wider audience. </p> <sub><sup>*</sup><i>Since it automatically pre-fills the Y and S parameters of the 2N4957 and MRF571/2 transistors, used as reference during the course.</i></font></sub> <br><br> <!-- <div class="dropdown" style="margin-top: 1rem;"> <a href="#" class="button button--download"> Download for Mac </a> </div> --> <!-- <br> --> <div class="dropdown" style="margin-top: 1rem;"> <a href="https://youtu.be/yJPomOStffk" target="_blank" class="button button--download"> Watch Demo </a> </div> <br> <div class="dropdown" style="margin-top: 1rem;"> <a href="https://github.com/urbanij/syRF" class="button button--download"> View on GitHub (Python) </a> </div> <div class="dropdown" style="margin-top: 1rem;"> <a href="https://github.com/urbanij/syRF-cpp" class="button button--download"> View on GitHub (C++) </a> </div> <!-- <p style="margin: 1rem 0 3rem;">For continued use <a class="paddle_button" href="">Purchase License at $29</a></p> --> <br> <br> <img src="doc/screenshots/y1.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> </header> <article> <div id="Y-parameters"></div> <h2><a name="Links" href="#Y-parameters">Y parameters</a></h2> <!-- <h2>Y parameters</h2> --> <p>— Either manually insert the Y parameters or just type the Q point of the 2N4957 pnp transistor and let the software compute them for you.</p> <p>— Open the Y parameters plots with Matplotlib and read the precise values hovering them with the cursor.</p> <p>— Compute calculations such as βA and v<sub>out</sub>/v<sub>s</sub> and many more instantaneously, right after the data upon which they depend is filled.</p> <p>— Provide, when the system is unconditionally stable, the optimum source and load impedances and print the maximum gains achievable.</p> <img src="doc/screenshots/y2.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <img src="doc/screenshots/y3.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <div id="S-parameters"></div> <h2><a name="Links" href="#S-parameters">S parameters</a></h2> <!-- <h2>S parameters</h2> --> <p>— Either manually insert the S parameters or just type the Q point of the MRF571 or MRF572 transistors and let the software compute them for you.</p> <p>— If provided on the datasheet, also fills noise parameters such as NF<sub>MIN</sub>, Γ<sub>S,ON</sub>, R<sub>n</sub>.</p> <p>— Compute calculations such as G<sub>A</sub>, G<sub>P</sub>, G<sub>T</sub> instantaneously.</p> <p>— Provide, when the system is unconditionally stable, the optimum source and load impedances and instantly show the maximum gains achievable.</p> <p>— Visualize the Smith Plot in a tidy and clean fashion.</p> <p>— Automatically compute, when possible, the intersection between the equi-G<sub>A</sub> and the equi-NF circumferences.</p> <img src="doc/screenshots/s1.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <img src="doc/screenshots/s2.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <div id="Matching-networks"></div> <h2><a name="Links" href="#Matching-networks">Matching networks</a></h2> <!-- <h2>Matching networks</h2> --> <div id="Lumped-parameters"></div> <h3><a name="Links" href="#Lumped-parameters">Lumped parameters</a></h3> <!-- <h3>Lumped parameters</h3> --> <p>— <i>Open Notebook <a href="https://urbanij.github.io/projects/matching_networks" target="_blank">here</a> </i></p> <p>— Determine some matching parameters both using lumped elements (L-section) and microstrip matching.</p> <p>— Retrieve data from the respective plots (which can be visualized using Matplotlib) and compute the actual length of the microstrip right away.</p> <img src="doc/screenshots/lm1.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <div id="Distributed-parameters"></div> <h3><a name="Links" href="#Distributed-parameters">Distributed parameters</a></h3> <!-- <h3>Distributed parameters</h3> --> <img src="doc/screenshots/mm1.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <img src="doc/screenshots/mm2.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <div id="λ/4-impedance-transformer"></div> <h3><a name="Links" href="#λ/4-impedance-transformer">λ/4 impedance transformer</a></h3> <h3><!-- λ/4 impedance transformer --></h3> <img src="doc/screenshots/lambda4.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <div id="Stubs"></div> <h3><a name="Links" href="#Stubs">Stubs</a></h3> <!-- <h3>Stubs</h3> --> <img src="doc/screenshots/stub.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <div id="Smith-chart"></div> <h2><a name="Links" href="#Smith-chart">Smith Chart</a></h2> <!-- <h2>Smith Chart</h2> --> <p>— Insert values to be shown on the Smith Chart either as impedances referred to Z<sub>0</sub> or as Γ.</p> <p>— Visualize the corrisponding λ value on the Smith Chart λ scale of the points. </p> <!-- demo linking inter-page --> <!-- <a href="#go_middle">Go Middle</a> <div id="go_middle">Hello There</div> --> <img src="doc/screenshots/sc1.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <img src="doc/screenshots/sc2.png" style="vertical-align: middle; width: 46rem;" onclick="window.open(this.src)"> <!-- <h2>Contributors</h2> <div class="grid"> <div class="cell"> </div> <div class="cell"> <a href="https://urbanij.github.io/" target="_blank"><img class="avatar" src="https://urbanij.github.io/photos/me.jpg"></a><br> <h3><a href="https://urbanij.github.io/" target="_blank">Francesco Urbani</a></h3> <p style="color: #999;"></p> <p></p> </div> <div class="cell"> </div> <div class="cell"> </div> <div class="cell"> <img class="avatar" src="https://www.dropbox.com/s/amqbhzgycce17ml/user.png?raw=1"> <br> <h3> You? </h3> <p style="color: #999;"></p> <p>(<a href="https://github.com/urbanij/syRF/fork">Pull requests</a> are encouraged)</p> </div> <div class="cell"> </div> --> </div> </article> <footer> <br> <a class="copyright" href="https://urbanij.github.io/" target="_blank"> © 2018 — 2020 Francesco Urbani </a> </footer> <style> /*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } body { margin: 0; } article, aside, details, /* 1 */ figcaption, figure, footer, header, main, /* 2 */ menu, nav, section, summary { /* 1 */ display: block; } /** * Add the correct display in IE 9-. */ audio, canvas, progress, video { display: inline-block; } /** * Add the correct display in iOS 4-7. */ audio:not([controls]) { display: none; height: 0; } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Add the correct display in IE 10-. * 1. Add the correct display in IE. */ template, /* 1 */ [hidden] { display: none; } /* Links ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * Remove the outline on focused links when they are also active or hovered * in all browsers (opinionated). */ a:active, a:hover { outline-width: 0; } /* Text-level semantics ========================================================================== */ /** * 1. Remove the bottom border in Firefox 39-. * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Prevent the duplicate application of `bolder` by the next rule in Safari 6. */ b, strong { font-weight: inherit; } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * Add the correct font style in Android 4.3-. */ dfn { font-style: italic; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /** * Add the correct background and color in IE 9-. */ mark { background-color: #ff0; color: #000; } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10-. */ img { border-style: none; } /** * Hide the overflow in IE. */ svg:not(:root) { overflow: hidden; } /* Grouping content ========================================================================== */ /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, pre, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct margin in IE 8. */ figure { margin: 1em 40px; } /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /* Forms ========================================================================== */ /** * Change font properties to `inherit` in all browsers (opinionated). */ button, input, select, textarea { font: inherit; } /** * Restore the font weight unset by the previous rule. */ optgroup { font-weight: bold; } /** * Show the overflow in IE. * 1. Show the overflow in Edge. * 2. Show the overflow in Edge, Firefox, and IE. */ button, input, /* 1 */ select { /* 2 */ overflow: visible; } /** * Remove the margin in Safari. * 1. Remove the margin in Firefox and Safari. */ button, input, select, textarea { /* 1 */ margin: 0; } /** * Remove the inheritence of text transform in Edge, Firefox, and IE. * 1. Remove the inheritence of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Change the cursor in all browsers (opinionated). */ button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; } /** * Restore the default cursor to disabled elements unset by the previous rule. */ [disabled] { cursor: default; } /** * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` * controls in Android 4. * 2. Correct the inability to style clickable types in iOS. */ button, html [type="button"], /* 1 */ [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; } /** * Change the border, margin, and padding in all browsers (opinionated). */ fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Remove the default vertical scrollbar in IE. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10-. * 2. Remove the padding in IE 10-. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * Correct the odd appearance of search inputs in Chrome and Safari. */ [type="search"] { -webkit-appearance: textfield; } /** * Remove the inner padding and cancel buttons in Chrome on OS X and * Safari on OS X. */ [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } :root { background: hsl(0, 0%, 100%); /* inspired by Apple */ /* old: background: hsl(0, 0%, 97%); */ color: #333; font-family: 'Roboto', sans-serif; font-size: 20px; height: 100%; letter-spacing: .1px; text-align: center; } a { color: inherit; text-decoration: none; background: hsl(0, 0%, 92%); } body { font-size: .85em; /* inspired by Apple */ line-height: 1.6em; /* inspired by Apple */ height: 100%; width: 100%; } code { background: #eee; border-radius: 3px; border: 1px solid #ddd; color: #555; font-family: "Roboto Mono", monospace; font-size: .8em; line-height: 0; padding: .2em .4em; white-space: nowrap; } h1, h2, h3, h4 { line-height: 1.6em; /* same as body */ } h1 { font-size: 4em; margin-top: 5rem; margin-bottom: 3rem; } h2 { text-align:center; font-size: 2em; margin-top: 7rem; margin-bottom: 1rem; } h1 + h2 { margin-top: -2rem; margin-bottom: 2rem; } h3 { text-align:center; font-size: 1.1em; font-weight: 500; line-height: 1.6em; margin-top: 1rem; margin-bottom: 0; } h4 { font-size: 1em; font-weight: 500; margin-top: 0; margin-bottom: 0; } input { background: #333; border: none; color: #fff; border-radius: .3rem; padding: 1rem; /* same as button */ outline: none; } input::placeholder { color: #bbb; } kbd { background: #fff; border: 1px solid #999; border-bottom: 2px solid #999; border-radius: 3px; font-family: inherit; font-size: .8em; line-height: 0; padding: .1em .4em .05em; text-transform: capitalize; white-space: nowrap; } p { margin: 0; } ul { list-style: none; margin: 0; padding: 0; } /* article ------------------------------ */ article { margin: 0 auto; text-align: left; width: 30rem; } article > img { border-radius: .3rem; margin: 1rem -8rem; width: 46rem; } article > p { margin: 1rem 0; } article > p img { width: 100%; } article > p a { font-weight: bold; } article > pre { background: #f7f7f7; border: 1px solid #eee; border-radius: .3rem; box-sizing: border-box; margin: 2rem 0; padding: 2rem 2.5rem; overflow: scroll; } article > pre > code { background: none; border: none; white-space: pre-wrap; } article > ul { list-style: square; margin: 1rem 0; padding: 0 2rem; } /* footer ------------------------------ */ footer { margin: 11rem auto 3rem; width: 46rem; } footer a { font-weight: normal; color: #555; text-decoration: none; } .nav { display: flex; margin: 0 -1rem; } .nav-list { margin: 0 1rem; width: 100%; } .nav-item { text-transform: lowercase; } /* header ------------------------------ */ .breadcrumb { position: fixed; margin: 1rem 1.5rem; text-align: left; top: 0; } /* grid ------------------------------ */ .grid { display: flex; flex-wrap: wrap; margin: 2rem -9rem; width: 48rem; list-style: none; padding: 0; } .grid .cell { margin: 1rem; text-align: center; width: 14rem; } /* other ------------------------------ */ .intro { width: 30rem; font-size: 1.25em; line-height: 1.6em; margin: -2rem auto 1rem; } .button { background: #333; border: none; border-radius: .3rem; color: #fff; display: inline-block; font-weight: normal; padding: 1rem 2rem; text-decoration: none; } .button-section { margin: 2rem 0; } .button-section .button { margin-bottom: 1rem; } .button-section p a { text-decoration: none; } .copyright { background: #333; color: #fff; display: inline-block; margin-top: 3rem; padding: 0 5px; } /* slides ------------------------------ */ .slides { margin: 2rem -8rem; } .slides img { cursor: pointer; vertical-align: middle; width: 46rem; } .slides :not(.active) { display: none; } .tabs { margin-top: 1rem; } .tabs .active { border-bottom: 2px solid; padding-bottom: .5rem; } @media only screen and (max-width: 999px) { :root { font-size: 19px; } } @media only screen and (max-width: 949px) { :root { font-size: 18px; } } @media only screen and (max-width: 899px) { :root { font-size: 17px; } } @media only screen and (max-width: 849px) { :root { font-size: 16px; } } @media only screen and (max-width: 799px) { :root { font-size: 15px; } } @media only screen and (max-width: 749px) { :root { font-size: 14px; } } @media only screen and (max-width: 699px) { :root { font-size: 13px; } } @media only screen and (max-width: 649px) { :root { font-size: 12px; } } @media only screen and (max-width: 599px) { :root { font-size: 11px; } } @media only screen and (max-width: 549px) { :root { font-size: 10px; } } @media only screen and (max-width: 499px) { :root { font-size: 9px; } } @media only screen and (max-width: 449px) { :root { font-size: 8px; } } ul{ width:5em } li{ display:inline; list-style-type:none; } .placeholder { background: url('laptop/laptop.png') center no-repeat; background-size: auto 100%; padding: 0 3rem; } .placeholder__image { max-width: 60rem; vertical-align: bottom; width: 100%; } .screenshot { left: 3.7%; position: absolute; right: 3.7%; top: 6.95%; } .screenshot__image { width: 100%; max-width: 55.466666667rem; vertical-align: bottom; } .dropdown { position: relative; display: inline-block; } .menu { align-items: center; background: rgba(50, 50, 50,.95); border-radius: .3rem; color: #fff; text-align: left; position: absolute; z-index: 100; display: flex; flex-direction: column; margin-top: .2rem; padding: .5rem 0; width: 100%; } .menu a { background: none; padding: .25rem; } .feature img { border-radius: .3rem; margin: .45rem 0; user-select: none; vertical-align: middle; width: 100%; } .video { cursor: pointer; position: relative; } .video--paused::after { background: url('play.png') no-repeat center; background-size: 4.5rem; content: ''; display: block; height: 100%; margin: auto; position: absolute; top: 0; width: 100%; } .avatar { border-radius: 50%; vertical-align: middle; width: 7rem; } </style> </body> </html>