commit 8d86ce77eb74d4d55fcb5515385e70cbe34c77b2 Author: Peter Tanner Date: Tue Oct 29 04:59:21 2024 +0800 v1-rc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..83384af --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +copyrighted_images \ No newline at end of file diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..ff2e60d --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,4 @@ +{ + "MD013": false, + "no-duplicate-heading": false +} \ No newline at end of file diff --git a/COPYING.txt b/COPYING.txt new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/COPYING.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.html b/README.html new file mode 100644 index 0000000..f419568 --- /dev/null +++ b/README.html @@ -0,0 +1,2300 @@ + + + + + Idiot's guide to ELEC4402 communication systems + + + + + + + + + + + + + +

Idiot's guide to ELEC4402 communication systems

+

License and information

+

Notes are open-source and licensed under the GNU GPL-3.0. You must include the full-text of the license and follow its terms when using these notes or any diagrams in derivative works (but not when printing as notes)

+

Copyright (C) 2024 Peter Tanner

+
+GPL copyright information +Copyright (C) 2024 Peter Tanner +

This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

+

This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

+

You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

+
+

Access a web-copy of the notes for printing

+

I accept pull requests or suggestions but the content must not be copyrighted under a non-GPL compatible license.

+

Fourier transform identities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time FunctionFourier Transform
rect(tT)Π(tT)\text{rect}\left(\frac{t}{T}\right)\quad\Pi\left(\frac{t}{T}\right)Tsinc(fT)T \, \text{sinc}(fT)
sinc(2Wt)\text{sinc}(2Wt)12Wrect(f2W)12WΠ(f2W)\frac{1}{2W}\text{rect}\left(\frac{f}{2W}\right)\quad\frac{1}{2W}\Pi\left(\frac{f}{2W}\right)
exp(at)u(t),a>0\exp(-at)u(t), \, a>01a+j2πf\frac{1}{a + j2\pi f}
exp(at),a>0\exp(-a\lvert t \rvert), \, a>02aa2+(2πf)2\frac{2a}{a^2 + (2\pi f)^2}
exp(πt2)\exp(-\pi t^2)exp(πf2)\exp(-\pi f^2)
{1tT,t<T0,tT\begin{cases} 1 - \frac{\lvert t \rvert}{T}, & \lvert t \rvert < T \\ 0, & \lvert t \rvert \geq T \end{cases}Tsinc2(fT)T \, \text{sinc}^2(fT)
δ(t)\delta(t)11
11δ(f)\delta(f)
δ(tt0)\delta(t - t_0)exp(j2πft0)\exp(-j2\pi f t_0)
g(ta)g(t-a)exp(j2πfa)G(f)shift property\exp(-j2\pi fa)G(f)\quad\text{shift property}
g(bt)g(bt)G(f/b)bscaling property\frac{G(f/b)}{|b|}\quad\text{scaling property}
g(bta)g(bt-a)1bexp(j2πa(f/b))G(f/b)shift & scale\frac{1}{|b|}\exp(-j2\pi a(f/b))\cdot G(f/b)\quad\text{shift \& scale}
ddtg(t)\frac{d}{dt}g(t)j2πfG(f)differentiation propertyj2\pi fG(f)\quad\text{differentiation property}
G(t)G(t)g(f)duality propertyg(-f)\quad\text{duality property}
g(t)h(t)g(t)h(t)G(f)H(f)G(f)*H(f)
g(t)h(t)g(t)*h(t)G(f)H(f)G(f)H(f)
exp(j2πfct)\exp(j2\pi f_c t)δ(ffc)\delta(f - f_c)
cos(2πfct)\cos(2\pi f_c t)12[δ(ffc)+δ(f+fc)]\frac{1}{2}[\delta(f - f_c) + \delta(f + f_c)]
sin(2πfct)\sin(2\pi f_c t)12j[δ(ffc)δ(f+fc)]\frac{1}{2j} [\delta(f - f_c) - \delta(f + f_c)]
sgn(t)\text{sgn}(t)1jπf\frac{1}{j\pi f}
1πt\frac{1}{\pi t}jsgn(f)-j \, \text{sgn}(f)
u(t)u(t)12δ(f)+1j2πf\frac{1}{2} \delta(f) + \frac{1}{j2\pi f}
n=δ(tnT0)\sum_{n=-\infty}^{\infty} \delta(t - nT_0)1T0n=δ(fnT0)=f0n=δ(fnf0)\frac{1}{T_0} \sum_{n=-\infty}^{\infty} \delta\left(f - \frac{n}{T_0}\right)=f_0 \sum_{n=-\infty}^{\infty} \delta\left(f - n f_0\right)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function NameFormula
Unit Step Functionu(t)={1,t>012,t=00,t<0u(t) = \begin{cases} 1, & t > 0 \\ \frac{1}{2}, & t = 0 \\ 0, & t < 0 \end{cases}
Signum Functionsgn(t)={+1,t>00,t=01,t<0\text{sgn}(t) = \begin{cases} +1, & t > 0 \\ 0, & t = 0 \\ -1, & t < 0 \end{cases}
sinc Functionsinc(2Wt)=sin(2πWt)2πWt\text{sinc}(2Wt) = \frac{\sin(2\pi W t)}{2\pi W t}
Rectangular Functionrect(t)=Π(t)={1,0.5<t<0.50,t>0.5\text{rect}(t) = \Pi(t) = \begin{cases} 1, & -0.5 < t < 0.5 \\ 0, & \lvert t \rvert > 0.5 \end{cases}
Convolutiong(t)h(t)=(gh)(t)=g(τ)h(tτ)dτg(t)*h(t)=(g*h)(t)=\int_\infty^\infty g(\tau)h(t-\tau)d\tau
+

Fourier transform of continuous time periodic signal

+

Required for some questions on sampling:

+ +

Transform a continuous time-periodic signal xp(t)=n=x(tnTs)x_p(t)=\sum_{n=-\infty}^\infty x(t-nT_s) with period TsT_s:

+

Xp(f)=n=Cnδ(fnfs)fs=1TsX_p(f)=\sum_{n=-\infty}^\infty C_n\delta(f-nf_s)\quad f_s=\frac{1}{T_s} +

+

Calculate CnC_n coefficient as follows from xp(t)x_p(t):

+ +

Cn=1TsTsxp(t)exp(j2πfst)dt=1TsX(nfs)(TODO: Check)x(tnTs) is contained in the interval Ts\begin{align*} + % C_n&=X_p(nf_s)\\ + C_n&=\frac{1}{T_s} \int_{T_s} x_p(t)\exp(-j2\pi f_s t)dt\\ + &=\frac{1}{T_s} X(nf_s)\quad\color{red}\text{(TODO: Check)}\quad\color{white}\text{$x(t-nT_s)$ is contained in the interval $T_s$} +\end{align*} +

+

rect\text{rect} function

+

rect

+

Bessel function

+

nZJn2(β)=1Jn(β)=(1)nJn(β)\begin{align*} + \sum_{n\in\Z}{J_n}^2(\beta)&=1\\ + J_n(\beta)&=(-1)^nJ_{-n}(\beta) +\end{align*} +

+

White noise

+

RW(τ)=N02δ(τ)=kT2δ(τ)=σ2δ(τ)Gw(f)=N02N0=kTGy(f)=H(f)2Gw(f)Gy(f)=G(f)Gw(f)\begin{align*} +R_W(\tau)&=\frac{N_0}{2}\delta(\tau)=\frac{kT}{2}\delta(\tau)=\sigma^2\delta(\tau)\\ +G_w(f)&=\frac{N_0}{2}\\ +N_0&=kT\\ +G_y(f)&=|H(f)|^2G_w(f)\\ +G_y(f)&=G(f)G_w(f)\\ +\end{align*} +

+

WSS

+

μX(t)=μX ConstantRXX(t1,t2)=RX(t1t2)=RX(τ)E[X(t1)X(t2)]=E[X(t)X(t+τ)]\begin{align*} + \mu_X(t) &= \mu_X\text{ Constant}\\ + R_{XX}(t_1,t_2)&=R_X(t_1-t_2)=R_X(\tau)\\ + E[X(t_1)X(t_2)]&=E[X(t)X(t+\tau)] +\end{align*} +

+

Ergodicity

+

X(t)T=12TTTx(t)dtX(t+τ)X(t)T=12TTTx(t+τ)x(t)dtE[X(t)T]=12TTTx(t)dt=12TTTmXdt=mX\begin{align*} + \braket{X(t)}_T&=\frac{1}{2T}\int_{-T}^{T}x(t)dt\\ + \braket{X(t+\tau)X(t)}_T&=\frac{1}{2T}\int_{-T}^{T}x(t+\tau)x(t)dt\\ + E[\braket{X(t)}_T]&=\frac{1}{2T}\int_{-T}^{T}x(t)dt=\frac{1}{2T}\int_{-T}^{T}m_Xdt=m_X\\ +\end{align*} +

+ + + + + + + + + + + + + + + + + + + + +
TypeNormalMean square sense
ergodic in mean

limTX(t)T=mX(t)=mX\lim_{T\to\infty}\braket{X(t)}_T=m_X(t)=m_X

+

limTVAR[X(t)T]=0\lim_{T\to\infty}\text{VAR}[\braket{X(t)}_T]=0

+
ergodic in autocorrelation function

limTX(t+τ)X(t)T=RX(τ)\lim_{T\to\infty}\braket{X(t+\tau)X(t)}_T=R_X(\tau)

+

limTVAR[X(t+τ)X(t)T]=0\lim_{T\to\infty}\text{VAR}[\braket{X(t+\tau)X(t)}_T]=0

+
+

A WSS random process needs to be both ergodic in mean and autocorrelation to be considered an ergodic process

+

Other identities

+

f(gh)=(fg)hConvolution associativea(fg)=(af)gConvolution associativex=(f(xa)δ(ωxb))=f(ωab)\begin{align*} + f*(g*h) &=(f*g)*h\quad\text{Convolution associative}\\ + a(f*g) &= (af)*g \quad\text{Convolution associative}\\ + \sum_{x=-\infty}^\infty(f(x a)\delta(\omega-x b))&=f\left(\frac{\omega a}{b}\right) +\end{align*} +

+

Other trig

+

cos2θ=2cos2θ1cos2θ+12=cos2θejαejα=2jsin(α)ejα+ejα=2cos(α)cos(A)=cos(A)sin(A)=sin(A)sin(A+π/2)=cos(A)sin(Aπ/2)=cos(A)cos(Aπ/2)=sin(A)cos(A+π/2)=sin(A)xRsinc(Ax)=1A\begin{align*} + \cos2\theta=2 \cos^2 \theta-1&\Leftrightarrow\frac{\cos2\theta+1}{2}=\cos^2\theta\\ + e^{-j\alpha}-e^{j\alpha}&=-2j \sin(\alpha)\\ + e^{-j\alpha}+e^{j\alpha}&=2 \cos(\alpha)\\ + \cos(-A)&=\cos(A)\\ + \sin(-A)&=-\sin(A)\\ + \sin(A+\pi/2)&=\cos(A)\\ + \sin(A-\pi/2)&=-\cos(A)\\ + \cos(A-\pi/2)&=\sin(A)\\ + \cos(A+\pi/2)&=-\sin(A)\\ + \int_{x\in\R}\text{sinc}(A x) &= \frac{1}{|A|}\\ +\end{align*} +

+

cos(A+B)=cos(A)cos(B)sin(A)sin(B)sin(A+B)=sin(A)cos(B)+cos(A)sin(B)cos(A)cos(B)=12(cos(AB)+cos(A+B))cos(A)sin(B)=12(sin(A+B)sin(AB))sin(A)sin(B)=12(cos(AB)cos(A+B))\begin{align*} + \cos(A+B) &= \cos (A) \cos (B)-\sin (A) \sin (B) \\ + \sin(A+B) &= \sin (A) \cos (B)+\cos (A) \sin (B) \\ + \cos(A)\cos(B) &= \frac{1}{2} (\cos (A-B)+\cos (A+B)) \\ + \cos(A)\sin(B) &= \frac{1}{2} (\sin (A+B)-\sin (A-B)) \\ + \sin(A)\sin(B) &= \frac{1}{2} (\cos (A-B)-\cos (A+B)) \\ +\end{align*} +

+

cos(A)+cos(B)=2cos(A2B2)cos(A2+B2)cos(A)cos(B)=2sin(A2B2)sin(A2+B2)sin(A)+sin(B)=2sin(A2+B2)cos(A2B2)sin(A)sin(B)=2sin(A2B2)cos(A2+B2)cos(A)+sin(B)=2sin(A2B2π4)sin(A2+B2+π4)cos(A)sin(B)=2sin(A2+B2π4)sin(A2B2+π4)\begin{align*} + \cos(A)+\cos(B) &= 2 \cos \left(\frac{A}{2}-\frac{B}{2}\right) \cos \left(\frac{A}{2}+\frac{B}{2}\right) \\ + \cos(A)-\cos(B) &= -2 \sin \left(\frac{A}{2}-\frac{B}{2}\right) \sin \left(\frac{A}{2}+\frac{B}{2}\right) \\ + \sin(A)+\sin(B) &= 2 \sin \left(\frac{A}{2}+\frac{B}{2}\right) \cos \left(\frac{A}{2}-\frac{B}{2}\right) \\ + \sin(A)-\sin(B) &= 2 \sin \left(\frac{A}{2}-\frac{B}{2}\right) \cos \left(\frac{A}{2}+\frac{B}{2}\right) \\ + \cos(A)+\sin(B)&= -2 \sin \left(\frac{A}{2}-\frac{B}{2}-\frac{\pi }{4}\right) \sin \left(\frac{A}{2}+\frac{B}{2}+\frac{\pi }{4}\right) \\ + \cos(A)-\sin(B)&= -2 \sin \left(\frac{A}{2}+\frac{B}{2}-\frac{\pi }{4}\right) \sin \left(\frac{A}{2}-\frac{B}{2}+\frac{\pi }{4}\right) \\ +\end{align*} +

+

IQ/Complex envelope

+

Def. g~(t)=gI(t)+jgQ(t)\tilde{g}(t)=g_I(t)+jg_Q(t) as the complex envelope. Best to convert to ejθe^{j\theta} form.

+

Convert complex envelope representation to time-domain representation of signal

+

g(t)=gI(t)cos(2πfct)gQ(t)sin(2πfct)=Re[g~(t)exp(j2πfct)]=A(t)cos(2πfct+ϕ(t))A(t)=g(t)=gI2(t)+gQ2(t)Amplitudeϕ(t)PhasegI(t)=A(t)cos(ϕ(t))In-phase componentgQ(t)=A(t)sin(ϕ(t))Quadrature-phase component\begin{align*} +g(t)&=g_I(t)\cos(2\pi f_c t)-g_Q(t)\sin(2\pi f_c t)\\ +&=\text{Re}[\tilde{g}(t)\exp{(j2\pi f_c t)}]\\ +&=A(t)\cos(2\pi f_c t+\phi(t))\\ +A(t)&=|g(t)|=\sqrt{g_I^2(t)+g_Q^2(t)}\quad\text{Amplitude}\\ +\phi(t)&\quad\text{Phase}\\ +g_I(t)&=A(t)\cos(\phi(t))\quad\text{In-phase component}\\ +g_Q(t)&=A(t)\sin(\phi(t))\quad\text{Quadrature-phase component}\\ +\end{align*} +

+

For transfer function

+

h(t)=hI(t)cos(2πfct)hQ(t)sin(2πfct)=2Re[h~(t)exp(j2πfct)]h~(t)=hI(t)/2+jhQ(t)/2=A(t)/2exp(jϕ(t))\begin{align*} +h(t)&=h_I(t)\cos(2\pi f_c t)-h_Q(t)\sin(2\pi f_c t)\\ +&=2\text{Re}[\tilde{h}(t)\exp{(j2\pi f_c t)}]\\ +\Rightarrow\tilde{h}(t)&=h_I(t)/2+jh_Q(t)/2=A(t)/2\exp{(j\phi(t))} +\end{align*} +

+

AM

+

CAM

+

ma=mintkam(t)Acka is the amplitude sensitivity (volt1), ma is the modulation index.ma=AmaxAminAmax+Amin (Symmetrical m(t))ma=kaAm (Symmetrical m(t))x(t)=Accos(2πfct)[1+kam(t)]=Accos(2πfct)[1+mam(t)/Ac],where m(t)=Amm^(t) and m^(t) is the normalized modulating signalPc=Ac22Carrier powerPx=14ma2Ac2η=Signal PowerTotal Power=PxPx+PcBT=2fm=2B\begin{align*} + m_a &= \frac{\min_t|k_a m(t)|}{A_c} \quad\text{$k_a$ is the amplitude sensitivity ($\text{volt}^{-1}$), $m_a$ is the modulation index.}\\ + m_a &= \frac{A_\text{max}-A_\text{min}}{A_\text{max}+A_\text{min}}\quad\text{ (Symmetrical $m(t)$)}\\ + m_a&=k_a A_m \quad\text{ (Symmetrical $m(t)$)}\\ + x(t)&=A_c\cos(2\pi f_c t)\left[1+k_a m(t)\right]=A_c\cos(2\pi f_c t)\left[1+m_a m(t)/A_c\right], \\ + &\text{where $m(t)=A_m\hat m(t)$ and $\hat m(t)$ is the normalized modulating signal}\\ + P_c &=\frac{{A_c}^2}{2}\quad\text{Carrier power}\\ + P_x &=\frac{1}{4}{m_a}^2{A_c}^2\\ + \eta&=\frac{\text{Signal Power}}{\text{Total Power}}=\frac{P_x}{P_x+P_c}\\ + B_T&=2f_m=2B +\end{align*} +

+

BTB_T: Signal bandwidth +BB: Bandwidth of modulating wave

+

Overmodulation (resulting in phase reversals at crossing points): ma>1m_a>1

+

DSB-SC

+

xDSB(t)=Accos(2πfct)m(t)BT=2fm=2B\begin{align*} + x_\text{DSB}(t) &= A_c \cos{(2\pi f_c t)} m(t)\\ + B_T&=2f_m=2B +\end{align*} +

+

FM/PM

+

s(t)=Accos[2πfct+kpm(t)]Phase modulated (PM)s(t)=Accos[2πfct+2πkf0tm(τ)dτ]Frequency modulated (FM)s(t)=Accos[2πfct+βsin(2πfmt)]FM single toneβ=Δffm=kfAmModulation indexΔf=βfm=kfAmfm=maxt(kfm(t))mint(kfm(t))Maximum frequency deviationD=ΔfWmDeviation ratio, where Wm is bandwidth of m(t) (Use FT)\begin{align*} + s(t) &= A_c\cos\left[2\pi f_c t + k_p m(t)\right]\quad\text{Phase modulated (PM)}\\ + s(t) &= A_c\cos\left[2\pi f_c t + 2 \pi k_f \int_0^t m(\tau) d\tau\right]\quad\text{Frequency modulated (FM)}\\ + s(t) &= A_c\cos\left[2\pi f_c t + \beta \sin(2\pi f_m t)\right]\quad\text{FM single tone}\\ + \beta&=\frac{\Delta f}{f_m}=k_f A_m\quad\text{Modulation index}\\ + \Delta f&=\beta f_m=k_f A_m f_m = \max_t(k_f m(t))- \min_t(k_f m(t))\quad\text{Maximum frequency deviation}\\ + D&=\frac{\Delta f}{W_m}\quad\text{Deviation ratio, where $W_m$ is bandwidth of $m(t)$ (Use FT)} +\end{align*} +

+

Bessel form and magnitude spectrum (single tone)

+

s(t)=Accos[2πfct+βsin(2πfmt)]s(t)=Acn=Jn(β)cos[2π(fc+nfm)t]\begin{align*} + s(t) &= A_c\cos\left[2\pi f_c t + \beta \sin(2\pi f_m t)\right] \Leftrightarrow s(t)= A_c\sum_{n=-\infty}^{\infty}J_n(\beta)\cos[2\pi(f_c+nf_m)t] +\end{align*} +

+ +

FM signal power

+

Pav=Ac22Pband_index=Ac2Jband_index2(β)2band_index=0    fc+0fmband_index=1    fc+1fm,\begin{align*} + P_\text{av}&=\frac{{A_c}^2}{2}\\ + P_\text{band\_index}&=\frac{{A_c}^2{J_\text{band\_index}}^2(\beta)}{2}\\ + \text{band\_index}&=0\implies f_c+0f_m\\ + \text{band\_index}&=1\implies f_c+1f_m,\dots\\ +\end{align*} +

+

Carson's rule to find BB (98% power bandwidth rule)

+

B=2Mfm=2(β+1)fm=2(Δf+fm)=2(kfAm+fm)=2(D+1)WmB={2(Δf+fm)FM, sinusoidal message2(Δϕ+1)fmPM, sinusoidal message\begin{align*} +B &= 2Mf_m = 2(\beta + 1)f_m\\ + &= 2(\Delta f+f_m)\\ + &= 2(k_f A_m+f_m)\\ + &= 2(D+1)W_m\\ +B &= \begin{cases} + 2(\Delta f+f_m) & \text{FM, sinusoidal message}\\ + 2(\Delta\phi + 1)f_m & \text{PM, sinusoidal message} +\end{cases}\\ +\end{align*} +

+

Δf\Delta f of arbitrary modulating signal

+

Find instantaneous frequency fFMf_\text{FM}.

+

MM: Number of pairs of significant sidebands

+

s(t)=Accos(θFM(t))fFM(t)=12πdθFM(t)dtAm=maxtm(t)Δf=maxt(fFM(t))fcWm=max(frequencies in θFM(t)...)Example: sinc(At+t)+2cos(2πt)=sin(2π((At+t)/2))π(At+t)+2cos(2πt)Wm=max(A+12,1)D=ΔfWmBT=2(D+1)Wm\begin{align*} +s(t)&=A_c\cos(\theta_\text{FM}(t))\\ +f_\text{FM}(t) &= \frac{1}{2\pi}\frac{d\theta_\text{FM}(t)}{dt}\\ +A_m &= \max_t|m(t)|\\ +\Delta f &= \max_t(f_\text{FM}(t)) - f_c\\ +W_m &= \text{max}(\text{frequencies in $\theta_\text{FM}(t)$...}) \\ +\text{Example: }&\text{sinc}(At+t)+2\cos(2\pi t)=\frac{\sin(2\pi((At+t)/2))}{\pi(At+t)}+2\cos(2\pi t)\to W_m=\max\left(\frac{A+1}{2},1\right)\\ +D &= \frac{\Delta f}{W_m}\\ +B_T &= 2(D+1)W_m +\end{align*} +

+

Complex envelope

+

s(t)=Accos(2πfct+βsin(2πfmt))s~(t)=Acexp(jβsin(2πfmt))s(t)=Re[s~(t)exp(j2πfct)]s~(t)=Acn=Jn(β)exp(j2πfmt)\begin{align*} + s(t)&=A_c\cos(2\pi f_c t+\beta\sin(2\pi f_m t)) \Leftrightarrow \tilde{s}(t) = A_c\exp(j\beta\sin(2\pi f_m t))\\ + s(t)&=\text{Re}[\tilde{s}(t)\exp{(j2\pi f_c t)}]\\ + \tilde{s}(t) &= A_c\sum_{n=-\infty}^{\infty}J_n(\beta)\exp(j2\pi f_m t) +\end{align*} +

+

Band

+ + + + + + + + + + + + + +
NarrowbandWideband
D<1,β<1D<1,\beta<1D>1,β>1D>1,\beta>1
+

Power, energy and autocorrelation

+

GWGN(f)=N02Gx(f)=H(f)2Gw(f) (PSD)Gx(f)=G(f)Gw(f) (PSD)Gx(f)=limTXT(f)2T (PSD)Gx(f)=F[Rx(τ)] (WSS)P=σ2=RGx(f)dfP=σ2=limt1TT/2T/2x(t)2dtP[Acos(2πft+ϕ)]=A22Power of sinusoid E=x(t)2dt=X(f)2Rx(τ)=F(Gx(f))PSD to Autocorrelation\begin{align*} + G_\text{WGN}(f)&=\frac{N_0}{2}\\ + G_x(f)&=|H(f)|^2G_w(f)\text{ (PSD)}\\ + G_x(f)&=G(f)G_w(f)\text{ (PSD)}\\ + G_x(f)&=\lim_{T\to\infty}\frac{|X_T(f)|^2}{T}\text{ (PSD)}\\ + G_x(f)&=\mathfrak{F}[R_x(\tau)]\text{ (WSS)}\\ + P&=\sigma^2=\int_\mathbb{R}G_x(f)df\\ + P&=\sigma^2=\lim_{t\to\infty}\frac{1}{T}\int_{-T/2}^{T/2}|x(t)|^2dt\\ + P[A\cos(2\pi f t+\phi)]&=\frac{A^2}{2}\quad\text{Power of sinusoid }\\ + E&=\int_{-\infty}^{\infty}|x(t)|^2dt=|X(f)|^2\\ + R_x(\tau) &= \mathfrak{F}(G_x(f))\quad\text{PSD to Autocorrelation} +\end{align*} +

+

+

Noise performance

+

CNRin=PinPnoiseCNRin,FM=A22WN0SNRFM=3A2kf2P2N0W3SNR(dB)=10log10(SNR)Decibels from ratio\begin{align*} + \text{CNR}_\text{in} &= \frac{P_\text{in}}{P_\text{noise}}\\ + \text{CNR}_\text{in,FM} &= \frac{A^2}{2WN_0}\\ + \text{SNR}_\text{FM} &= \frac{3A^2k_f^2P}{2N_0W^3}\\ + \text{SNR(dB)} &= 10\log_{10}(\text{SNR}) \quad\text{Decibels from ratio} +\end{align*} +

+

Sampling

+

t=nTsTs=1fsxs(t)=x(t)δs(t)=x(t)nZδ(tnTs)=nZx(nTs)δ(tnTs)Xs(f)=X(f)nZδ(fnTs)=X(f)nZδ(fnfs)B>12fs,2B>fsAliasing\begin{align*} + t&=nT_s\\ + T_s&=\frac{1}{f_s}\\ + x_s(t)&=x(t)\delta_s(t)=x(t)\sum_{n\in\mathbb{Z}}\delta(t-nT_s)=\sum_{n\in\mathbb{Z}}x(nT_s)\delta(t-nT_s)\\ + X_s(f)&=X(f)*\sum_{n\in\mathbb{Z}}\delta\left(f-\frac{n}{T_s}\right)=X(f)*\sum_{n\in\mathbb{Z}}\delta\left(f-n f_s\right)\\ + B&>\frac{1}{2}f_s, 2B>f_s\rightarrow\text{Aliasing}\\ +\end{align*} +

+

Procedure to reconstruct sampled signal

+

Analog signal x(t)x'(t) which can be reconstructed from a sampled signal xs(t)x_s(t): Put xs(t)x_s(t) through LPF with maximum frequency of fs/2f_s/2 and minimum frequency of fs/2-f_s/2. Anything outside of the BPF will be attenuated, therefore nn which results in frequencies outside the BPF will evaluate to 00 and can be ignored.

+

Example: fs=5000    LPF[2500,2500]f_s=5000\implies \text{LPF}\in[-2500,2500]

+

Then iterate for n=0,1,1,2,2,n=0,1,-1,2,-2,\dots until the first iteration where the result is 0 since all terms are eliminated by the LPF.

+

TODO: Add example

+

Then add all terms and transform Xˉs(f)\bar X_s(f) back to time domain to get xs(t)x_s(t)

+

Fourier transform of continuous time periodic signal (1)

+

Required for some questions on sampling:

+ +

Transform a continuous time-periodic signal xp(t)=n=x(tnTs)x_p(t)=\sum_{n=-\infty}^\infty x(t-nT_s) with period TsT_s:

+

Xp(f)=n=Cnδ(fnfs)fs=1TsX_p(f)=\sum_{n=-\infty}^\infty C_n\delta(f-nf_s)\quad f_s=\frac{1}{T_s} +

+

Calculate CnC_n coefficient as follows from xp(t)x_p(t):

+ +

Cn=1TsTsxp(t)exp(j2πfst)dt=1TsX(nfs)(TODO: Check)x(tnTs) is contained in the interval Ts\begin{align*} + % C_n&=X_p(nf_s)\\ + C_n&=\frac{1}{T_s} \int_{T_s} x_p(t)\exp(-j2\pi f_s t)dt\\ + &=\frac{1}{T_s} X(nf_s)\quad\color{red}\text{(TODO: Check)}\quad\color{white}\text{$x(t-nT_s)$ is contained in the interval $T_s$} +\end{align*} +

+ +

Nyquist criterion for zero-ISI

+

Do not transmit more than 2B2B samples per second over a channel of BB bandwidth.

+

By Bob K - Own work, CC0, https://commons.wikimedia.org/w/index.php?curid=94674142

+

Insert here figure 8.3 from M F Mesiya - Contemporary Communication Systems (Add image to images/sampling.png)

+

sampling +sampling

+

Quantizer

+

Δ=xMaxxMin2kfor k-bit quantizer (V/lsb)\begin{align*} + \Delta &= \frac{x_\text{Max}-x_\text{Min}}{2^k} \quad\text{for $k$-bit quantizer (V/lsb)}\\ +\end{align*} +

+

Quantization noise

+

e:=yxQuantization errorμE=E[E]=0Zero meanσE2=E[E2]02=Δ/2Δ/2e2×(1Δ)deWhere E1/Δ uniform over (Δ/2,Δ/2)SQNR=Signal powerQuantization noiseSQNR(dB)=10log10(SQNR)\begin{align*} + e &:= y-x\quad\text{Quantization error}\\ + \mu_E &= E[E] = 0\quad\text{Zero mean}\\ + {\sigma_E}^2&=E[E^2]-0^2=\int_{-\Delta/2}^{\Delta/2}e^2\times\left(\frac{1}{\Delta}\right) de\quad\text{Where $E\thicksim 1/\Delta$ uniform over $(-\Delta/2,\Delta/2)$}\\ + \text{SQNR}&=\frac{\text{Signal power}}{\text{Quantization noise}}\\ + \text{SQNR(dB)}&=10\log_{10}(\text{SQNR}) +\end{align*} +

+

Insert here figure 8.17 from M F Mesiya - Contemporary Communication Systems (Add image to images/quantizer.png)

+

quantizer +quantizer

+

Line codes

+

binary_codes

+

RbBit rateDSymbol rate | Rd | 1/TbAmaV(f)Pulse shapeVrectangle(f)=Tsinc(fT×DutyCycle)GMunipolarNRZ(f)=(M21)A2D12V(f)2+(M1)24(DA)2l=V(lD)2δ(flD)GMpolarNRZ(f)=(M21)A2D3V(f)2GunipolarNRZ(f)=A24Rb(sinc2(fRb)+Rbδ(f)),NB0=RbGpolarNRZ(f)=A2Rbsinc2(fRb)GunipolarNRZ(f)=A24Rb(sinc2(fRb)+Rbδ(f))GunipolarRZ(f)=A216(l=δ(flTb)sinc(duty×l)2+Tbsinc(duty×fTb)2),NB0=2Rb\begin{align*} + R_b&\rightarrow\text{Bit rate}\\ + D&\rightarrow\text{Symbol rate | }R_d\text{ | }1/T_b\\ + A&\rightarrow m_a\\ + V(f)&\rightarrow\text{Pulse shape}\\ + V_\text{rectangle}(f)&=T\text{sinc}(fT\times\text{DutyCycle})\\ + G_\text{MunipolarNRZ}(f)&=\frac{(M^2-1)A^2D}{12}|V(f)|^2+\frac{(M-1)^2}{4}(DA)^2\sum_{l=-\infty}^{\infty}|V(lD)|^2\delta(f-lD)\\ + G_\text{MpolarNRZ}(f)&=\frac{(M^2-1)A^2D}{3}|V(f)|^2\\ + G_\text{unipolarNRZ}(f)&=\frac{A^2}{4R_b}\left(\text{sinc}^2\left(\frac{f}{R_b}\right)+R_b\delta(f)\right), \text{NB}_0=R_b\\ + G_\text{polarNRZ}(f)&=\frac{A^2}{R_b}\text{sinc}^2\left(\frac{f}{R_b}\right)\\ + G_\text{unipolarNRZ}(f)&=\frac{A^2}{4R_b}\left(\text{sinc}^2\left(\frac{f}{R_b}\right)+R_b\delta(f)\right)\\ + G_\text{unipolarRZ}(f)&=\frac{A^2}{16} \left(\sum _{l=-\infty }^{\infty } \delta \left(f-\frac{l}{T_b}\right) \left| \text{sinc}(\text{duty} \times l) \right| {}^2+T_b \left| \text{sinc}\left(\text{duty} \times f T_b\right) \right| {}^2\right), \text{NB}_0=2R_b +\end{align*} +

+

Modulation and basis functions

+

Constellation diagrams

+

BASK

+

Basis functions

+

φ1(t)=2Tbcos(2πfct)0tTb\begin{align*} + \varphi_1(t) &= \sqrt{\frac{2}{T_b}}\cos(2\pi f_c t)\quad0\leq t\leq T_b\\ +\end{align*} +

+

Symbol mapping

+

bn:{1,0}an:{1,0}b_n:\{1,0\}\to a_n:\{1,0\} +

+

2 possible waveforms

+

s1(t)=AcTb2φ1(t)=2Ebφ1(t)s1(t)=0Since Eb=Eaverage=12(Ac22×Tb+0)=Ac24Tb\begin{align*} + s_1(t)&=A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=\sqrt{2E_b}\varphi_1(t)\\ + s_1(t)&=0\\ + &\text{Since $E_b=E_\text{average}=\frac{1}{2}(\frac{{A_c}^2}{2}\times T_b + 0)=\frac{{A_c}^2}{4}T_b$} +\end{align*} +

+

Distance is d=2Ebd=\sqrt{2E_b}

+

BPSK

+

Basis functions

+

φ1(t)=2Tbcos(2πfct)0tTb\begin{align*} + \varphi_1(t) &= \sqrt{\frac{2}{T_b}}\cos(2\pi f_c t)\quad0\leq t\leq T_b\\ +\end{align*} +

+

Symbol mapping

+

bn:{1,0}an:{1,1}b_n:\{1,0\}\to a_n:\{1,\color{lime}-1\color{white}\} +

+

2 possible waveforms

+

s1(t)=AcTb2φ1(t)=Ebφ1(t)s1(t)=AcTb2φ1(t)=Ebφ2(t)Since Eb=Eaverage=12(Ac22×Tb+Ac22×Tb)=Ac22Tb\begin{align*} + s_1(t)&=A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=\sqrt{E_b}\varphi_1(t)\\ + s_1(t)&=-A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=-\sqrt{E_b}\varphi_2(t)\\ + &\text{Since $E_b=E_\text{average}=\frac{1}{2}(\frac{{A_c}^2}{2}\times T_b + \frac{{A_c}^2}{2}\times T_b)=\frac{{A_c}^2}{2}T_b$} +\end{align*} +

+

Distance is d=2Ebd=2\sqrt{E_b}

+

QPSK (M=4M=4 PSK)

+

Basis functions

+

T=2TbTime per symbol for two bits Tbφ1(t)=2Tcos(2πfct)0tTφ2(t)=2Tsin(2πfct)0tT\begin{align*} + T &= 2 T_b\quad\text{Time per symbol for two bits $T_b$}\\ + \varphi_1(t) &= \sqrt{\frac{2}{T}}\cos(2\pi f_c t)\quad0\leq t\leq T\\ + \varphi_2(t) &= \sqrt{\frac{2}{T}}\sin(2\pi f_c t)\quad0\leq t\leq T\\ +\end{align*} +

+

4 possible waveforms

+

s1(t)=Es/2[φ1(t)+φ2(t)]s2(t)=Es/2[φ1(t)φ2(t)]s3(t)=Es/2[φ1(t)+φ2(t)]s4(t)=Es/2[φ1(t)φ2(t)]\begin{align*} + s_1(t)&=\sqrt{E_s/2}\left[\varphi_1(t)+\varphi_2(t)\right]\\ + s_2(t)&=\sqrt{E_s/2}\left[\varphi_1(t)-\varphi_2(t)\right]\\ + s_3(t)&=\sqrt{E_s/2}\left[-\varphi_1(t)+\varphi_2(t)\right]\\ + s_4(t)&=\sqrt{E_s/2}\left[-\varphi_1(t)-\varphi_2(t)\right]\\ +\end{align*} +

+

Note on energy per symbol: Since si(t)=Ac|s_i(t)|=A_c, have to normalize distance as follows:

+

si(t)=AcT/2/2×[α1iφ1(t)+α2iφ2(t)]=TAc2/4[α1iφ1(t)+α2iφ2(t)]=Es/2[α1iφ1(t)+α2iφ2(t)]\begin{align*} + s_i(t)&=A_c\sqrt{T/2}/\sqrt{2}\times\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ + &=\sqrt{T{A_c}^2/4}\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ + &=\sqrt{E_s/2}\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ +\end{align*} +

+

Signal

+

Symbol mapping: {1,0}{1,1}I(t)=b2nφ1(t)Even bitsQ(t)=b2n+1φ2(t)Odd bitsx(t)=Ac[I(t)cos(2πfct)Q(t)sin(2πfct)]\begin{align*} + \text{Symbol mapping: }& \left\{1,0\right\}\to\left\{1,-1\right\}\\ + I(t) &= b_{2n}\varphi_1(t)\quad\text{Even bits}\\ + Q(t) &= b_{2n+1}\varphi_2(t)\quad\text{Odd bits}\\ + x(t) &= A_c[I(t)\cos(2\pi f_c t)-Q(t)\sin(2\pi f_c t)] +\end{align*} +

+

Example of waveform

+
+Code +

+tBitstream[bitstream_, Tb_, title_] := 
+  Module[{timeSteps, gridLines, plot},
+   timeSteps = 
+    Flatten[Table[{(n - 1)     Tb, bitstream[[n]]}, {n, 1, 
+        Length[bitstream]}] /. {t_, v_} :> {{t, v}, {t + Tb, v}}, 1]; 
+   gridLines = {Join[
+      Table[{n  Tb, Dashed}, {n, 1, 2  Length[bitstream], 2}], 
+      Table[{n  Tb, Thin}, {n, 0, 2  Length[bitstream], 2}]], None};
+   plot = 
+    Labeled[ListLinePlot[timeSteps, InterpolationOrder -> 0, 
+      PlotRange -> Full, GridLines -> gridLines, PlotStyle -> Thick, 
+      Ticks -> {Table[{n     Tb, 
+          Row[{n, "\!\(\*SubscriptBox[\(T\), \(b\)]\)"}]}, {n, 0, 
+          Length[bitstream]}], {-1, 0, 1}}, 
+      LabelStyle -> Directive[Bold, 12], 
+      PlotRangePadding -> {Scaled[.05]}, AspectRatio -> 0.1, 
+      ImageSize -> Large], {Style[title, "Text", 16]}, {Right}]];
+

tBitstream[{0, 1, 0, 0, 1, 0, 1, 1, 1, 0}, 1, "Bitstream Step Plot"] +tBitstream[{-1, -1, -1, -1, 1, 1, 1, 1, 1, 1}, 1, "I(t)"] +tBitstream[{1, 1, -1, -1, -1, -1, 1, 1, -1, -1}, 1, "Q(t)"] +

+
+

Remember that T=2TbT=2T_b

+ + + + + + + + + + + + + + + + + + + + + +
bnb_nQPSK bits
I(t)I(t) (Odd, 1st bits)QPSK bits
Q(t)Q(t) (Even, 2nd bits)QPSK bits
+

Matched filter

+

1. Filter function

+

Find transfer function h(t)h(t) of matched filter and apply to an input:

+

h(t)=s1(Tt)s2(Tt)h(t)=s(Tt)((.)* is the conjugate)son(t)=h(t)sn(t)=h(τ)sn(tτ)dτFilter outputno(t)=h(t)n(t)Noise at filter output\begin{align*} + h(t)&=s_1(T-t)-s_2(T-t)\\ + h(t)&=s^*(T-t) \qquad\text{((.)* is the conjugate)}\\ + s_{on}(t)&=h(t)*s_n(t)=\int_\infty^\infty h(\tau)s_n(t-\tau)d\tau\quad\text{Filter output}\\ + n_o(t)&=h(t)*n(t)\quad\text{Noise at filter output} +\end{align*} +

+

2. Bit error rate

+

Bit error rate (BER) from matched filter outputs and filter output noise

+

Q(x)=1212erf(x2)erf(x2)=12Q(x)Eb=d2=s1(t)s2(t)2dtEnergy per bit/DistanceT=1/RbRb: BitrateEb=PT=Pav/RbEnergy per bitP(W)=10P(dB)10PRX(W)=PTX(W)10Ploss(dB)10Ploss is expressed with negative sign e.g. "-130 dB"BERMatchedFilter=Q(d22N0)=Q(Eb2N0)BERunipolarNRZ|BASK=Q(d2N0)=Q(EbN0)BERpolarNRZ|BPSK=Q(2d2N0)=Q(2EbN0)\begin{align*} + % H_\text{opt}(f)&=\max_{H(f)}\left(\frac{s_{o1}-s_{o2}}{2\sigma_o}\right) + + % \text{BER}_\text{bin}&=p Q\left(\frac{s_{o1}-V_T}{\sigma_o}\right)+(1-p)Q\left(\frac{V_T-s_{o2}}{\sigma_o}\right)\text{, $p\rightarrow$Probability $s_1(t)$ sent, $V_T\rightarrow$Threshold voltage} + Q(x)&=\frac{1}{2}-\frac{1}{2}\text{erf}\left(\frac{x}{\sqrt{2}}\right)\Leftrightarrow\text{erf}\left(\frac{x}{\sqrt{2}}\right)=1-2Q(x)\\ + E_b&=d^2=\int_{-\infty}^\infty|s_1(t)-s_2(t)|^2dt\quad\text{Energy per bit/Distance}\\ + T&=1/R_b\quad\text{$R_b$: Bitrate}\\ + E_b&=PT=P_\text{av}/R_b\quad\text{Energy per bit}\\ + P(\text{W})&=10^{\frac{P(\text{dB})}{10}}\\ + P_\text{RX}(W)&=P_\text{TX}(W)\cdot10^{\frac{P_\text{loss}(\text{dB})}{10}}\quad \text{$P_\text{loss}$ is expressed with negative sign e.g. "-130 dB"}\\ + \text{BER}_\text{MatchedFilter}&=Q\left(\sqrt{\frac{d^2}{2N_0}}\right)=Q\left(\sqrt{\frac{E_b}{2N_0}}\right)\\ + \text{BER}_\text{unipolarNRZ|BASK}&=Q\left(\sqrt{\frac{d^2}{N_0}}\right)=Q\left(\sqrt{\frac{E_b}{N_0}}\right)\\ + \text{BER}_\text{polarNRZ|BPSK}&=Q\left(\sqrt{\frac{2d^2}{N_0}}\right)=Q\left(\sqrt{\frac{2E_b}{N_0}}\right)\\ +\end{align*} +

+
+

Value tables for erf(x)\text{erf}(x) and Q(x)Q(x)

+

erf(x)\text{erf}(x) function

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
xxerf(x)\text{erf}(x)xxerf(x)\text{erf}(x)xxerf(x)\text{erf}(x)
0.000.000.000000.000000.750.750.711160.711161.501.500.966110.96611
0.050.050.056370.056370.800.800.742100.742101.551.550.971620.97162
0.100.100.112460.112460.850.850.770670.770671.601.600.976350.97635
0.150.150.168000.168000.900.900.796910.796911.651.650.980380.98038
0.200.200.222700.222700.950.950.820890.820891.701.700.983790.98379
0.250.250.276330.276331.001.000.842700.842701.751.750.986670.98667
0.300.300.328630.328631.051.050.862440.862441.801.800.989090.98909
0.350.350.379380.379381.101.100.880210.880211.851.850.991110.99111
0.400.400.428390.428391.151.150.896120.896121.901.900.992790.99279
0.450.450.475480.475481.201.200.910310.910311.951.950.994180.99418
0.500.500.520500.520501.251.250.922900.922902.002.000.995320.99532
0.550.550.563320.563321.301.300.934010.934012.502.500.999590.99959
0.600.600.603860.603861.351.350.943760.943763.003.000.999980.99998
0.650.650.642030.642031.401.400.952290.952293.303.300.9999980.999998**
0.700.700.677800.677801.451.450.959700.95970
+

Q(x)Q(x) function

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
xxQ(x)Q(x)xxQ(x)Q(x)xxQ(x)Q(x)xxQ(x)Q(x)
0.000.00$0.52.302.300.0107240.0107244.554.552.6823×1062.6823 \times 10^{-6}6.806.805.231×10125.231 \times 10^{-12}
0.050.050.480060.480062.352.350.00938670.00938674.604.602.1125×1062.1125 \times 10^{-6}6.856.853.6925×10123.6925 \times 10^{-12}
0.100.100.460170.460172.402.400.00819750.00819754.654.651.6597×1061.6597 \times 10^{-6}6.906.902.6001×10122.6001 \times 10^{-12}
0.150.150.440380.440382.452.450.00714280.00714284.704.701.3008×1061.3008 \times 10^{-6}6.956.951.8264×10121.8264 \times 10^{-12}
0.200.200.420740.420742.502.500.00620970.00620974.754.751.0171×1061.0171 \times 10^{-6}7.007.001.2798×10121.2798 \times 10^{-12}
0.250.250.401290.401292.552.550.00538610.00538614.804.807.9333×1077.9333 \times 10^{-7}7.057.058.9459×10138.9459 \times 10^{-13}
0.300.300.382090.382092.602.600.00466120.00466124.854.856.1731×1076.1731 \times 10^{-7}7.107.106.2378×10136.2378 \times 10^{-13}
0.350.350.363170.363172.652.650.00402460.00402464.904.904.7918×1074.7918 \times 10^{-7}7.157.154.3389×10134.3389 \times 10^{-13}
0.400.400.344580.344582.702.700.0034670.0034674.954.953.7107×1073.7107 \times 10^{-7}7.207.203.0106×10133.0106 \times 10^{-13}
0.450.450.326360.326362.752.750.00297980.00297985.005.002.8665×1072.8665 \times 10^{-7}7.257.252.0839×10132.0839 \times 10^{-13}
0.500.500.308540.308542.802.800.00255510.00255515.055.052.2091×1072.2091 \times 10^{-7}7.307.301.4388×10131.4388 \times 10^{-13}
0.550.550.291160.291162.852.850.0021860.0021865.105.101.6983×1071.6983 \times 10^{-7}7.357.359.9103×10149.9103 \times 10^{-14}
0.600.600.274250.274252.902.900.00186580.00186585.155.151.3024×1071.3024 \times 10^{-7}7.407.406.8092×10146.8092 \times 10^{-14}
0.650.650.257850.257852.952.950.00158890.00158895.205.209.9644×1089.9644 \times 10^{-8}7.457.454.667×10144.667 \times 10^{-14}
0.700.700.241960.241963.003.000.00134990.00134995.255.257.605×1087.605 \times 10^{-8}7.507.503.1909×10143.1909 \times 10^{-14}
0.750.750.226630.226633.053.050.00114420.00114425.305.305.7901×1085.7901 \times 10^{-8}7.557.552.1763×10142.1763 \times 10^{-14}
0.800.800.211860.211863.103.100.00096760.00096765.355.354.3977×1084.3977 \times 10^{-8}7.607.601.4807×10141.4807 \times 10^{-14}
0.850.850.197660.197663.153.150.000816350.000816355.405.403.332×1083.332 \times 10^{-8}7.657.651.0049×10141.0049 \times 10^{-14}
0.900.900.184060.184063.203.200.000687140.000687145.455.452.5185×1082.5185 \times 10^{-8}7.707.706.8033×10156.8033 \times 10^{-15}
0.950.950.171060.171063.253.250.000577030.000577035.505.501.899×1081.899 \times 10^{-8}7.757.754.5946×10154.5946 \times 10^{-15}
1.001.000.158660.158663.303.300.000483420.000483425.555.551.4283×1081.4283 \times 10^{-8}7.807.803.0954×10153.0954 \times 10^{-15}
1.051.050.146860.146863.353.350.000404060.000404065.605.601.0718×1081.0718 \times 10^{-8}7.857.852.0802×10152.0802 \times 10^{-15}
1.101.100.135670.135673.403.400.000336930.000336935.655.658.0224×1098.0224 \times 10^{-9}7.907.901.3945×10151.3945 \times 10^{-15}
1.151.150.125070.125073.453.450.000280290.000280295.705.705.9904×1035.9904 \times 10^{-3}7.957.959.3256×10169.3256 \times 10^{-16}
1.201.200.115070.115073.503.500.000232630.000232635.755.754.4622×1094.4622 \times 10^{-9}8.008.006.221×10166.221 \times 10^{-16}
1.251.250.105650.105653.553.550.000192620.000192625.805.803.3157×1093.3157 \times 10^{-9}8.058.054.1397×10164.1397 \times 10^{-16}
1.301.300.09680.09683.603.600.000159110.000159115.855.852.4579×1092.4579 \times 10^{-9}8.108.102.748×10162.748 \times 10^{-16}
1.351.350.0885080.0885083.653.650.000131120.000131125.905.901.8175×1091.8175 \times 10^{-9}8.158.151.8196×10161.8196 \times 10^{-16}
1.401.400.0807570.0807573.703.700.00010780.00010785.955.951.3407×1091.3407 \times 10^{-9}8.208.201.2019×10161.2019 \times 10^{-16}
1.451.450.0735290.0735293.753.758.8417×1058.8417 \times 10^{-5}6.006.009.8659×10109.8659 \times 10^{-10}8.258.257.9197×10177.9197 \times 10^{-17}
1.501.500.0668070.0668073.803.807.2348×1057.2348 \times 10^{-5}6.056.057.2423×10107.2423 \times 10^{-10}8.308.305.2056×10175.2056 \times 10^{-17}
1.551.550.0605710.0605713.853.855.9059×1055.9059 \times 10^{-5}6.106.105.3034×10105.3034 \times 10^{-10}8.358.353.4131×10173.4131 \times 10^{-17}
1.601.600.0547990.0547993.903.904.8096×1054.8096 \times 10^{-5}6.156.153.8741×10103.8741 \times 10^{-10}8.408.402.2324×10172.2324 \times 10^{-17}
1.651.650.0494710.0494713.953.953.9076×1053.9076 \times 10^{-5}6.206.202.8232×10102.8232 \times 10^{-10}8.458.451.4565×10171.4565 \times 10^{-17}
1.701.700.0445650.0445654.004.003.1671×1053.1671 \times 10^{-5}6.256.252.0523×10102.0523 \times 10^{-10}8.508.509.4795×10189.4795 \times 10^{-18}
1.751.750.0400590.0400594.054.052.5609×1052.5609 \times 10^{-5}6.306.301.4882×10101.4882 \times 10^{-10}8.558.556.1544×10186.1544 \times 10^{-18}
1.801.800.035930.035934.104.102.0658×1052.0658 \times 10^{-5}6.356.351.0766×10101.0766 \times 10^{-10}8.608.603.9858×10183.9858 \times 10^{-18}
1.851.850.0321570.0321574.154.151.6624×1051.6624 \times 10^{-5}6.406.407.7688×10117.7688 \times 10^{-11}8.658.652.575×10182.575 \times 10^{-18}
1.901.900.0287170.0287174.204.201.3346×1051.3346 \times 10^{-5}6.456.455.5925×10115.5925 \times 10^{-11}8.708.701.6594×10181.6594 \times 10^{-18}
1.951.950.0255880.0255884.254.251.0689×1051.0689 \times 10^{-5}6.506.504.016×10114.016 \times 10^{-11}8.758.751.0668×10181.0668 \times 10^{-18}
2.002.000.022750.022754.304.308.5399×1068.5399 \times 10^{-6}6.556.552.8769×10112.8769 \times 10^{-11}8.808.806.8408×10196.8408 \times 10^{-19}
2.052.050.0201820.0201824.354.356.8069×1066.8069 \times 10^{-6}6.606.602.0558×10112.0558 \times 10^{-11}8.858.854.376×10194.376 \times 10^{-19}
2.102.100.0178640.0178644.404.405.4125×1065.4125 \times 10^{-6}6.656.651.4655×10111.4655 \times 10^{-11}8.908.902.7923×10192.7923 \times 10^{-19}
2.152.150.0157780.0157784.454.454.2935×1064.2935 \times 10^{-6}6.706.701.0421×10111.0421 \times 10^{-11}8.958.951.7774×10191.7774 \times 10^{-19}
2.202.200.0139030.0139034.504.503.3977×1063.3977 \times 10^{-6}6.756.757.3923×10127.3923 \times 10^{-12}9.009.001.1286×10191.1286 \times 10^{-19}
2.252.250.0122240.012224
+

Adapted from table 6.1 M F Mesiya - Contemporary Communication Systems

+

**The value of erf(3.30)\text{erf}(3.30) should be 0.999997\approx0.999997 instead, but this value is quoted in the formula table.

+

Receiver output shit

+

ro(t)={so1(t)+no(t)code 1so2(t)+no(t)code 0n:AWGN with σo2\begin{align*} + r_o(t)&=\begin{cases} + s_{o1}(t)+n_o(t) & \text{code 1}\\ + s_{o2}(t)+n_o(t) & \text{code 0}\\ + \end{cases}\\ + n&: \text{AWGN with }\sigma_o^2\\ +\end{align*} +

+ +

ISI, channel model

+

Nyquist criterion for zero ISI

+

TODO:

+

Nomenclature

+

DSymbol Rate, Max. Signalling RateTSymbol DurationMSymbol set sizeWBandwidth\begin{align*} + D&\rightarrow\text{Symbol Rate, Max. Signalling Rate}\\ + T&\rightarrow\text{Symbol Duration}\\ + M&\rightarrow\text{Symbol set size}\\ + W&\rightarrow\text{Bandwidth}\\ +\end{align*} +

+

Raised cosine (RC) pulse

+

Raised cosine pulse

+

0α10\leq\alpha\leq1 +

+

⚠ NOTE might not be safe to assume T=TT'=T, if you can solve the question without TT then use that method.

+

To solve this type of question:

+
    +
  1. Use the formula for DD below
  2. +
  3. Consult the BER table below to get the BER which relates the noise of the channel N0N_0 to EbE_b and to RbR_b.
  4. +
+ + + + + + + + + + + + + + + + + + + + + + +
Linear modulation (MM-PSK, MM-QAM)NRZ unipolar encoding
W=Babs-absW=B_\text{\color{lime}abs-abs}W=BabsW=B_\text{\color{lime}abs}
W=Babs-abs=1+αT=(1+α)DW=B_\text{abs-abs}=\frac{1+\alpha}{T}=(1+\alpha)DW=Babs=1+α2T=(1+α)D/2W=B_\text{abs}=\frac{1+\alpha}{2T}=(1+\alpha)D/2
D=W symbol/s1+αD=\frac{W\text{ symbol/s}}{1+\alpha}D=2W symbol/s1+αD=\frac{2W\text{ symbol/s}}{1+\alpha}
+

Symbol set size MM

+

D symbol/s=2W Hz1+αRb bit/s=(D symbol/s)×(k bit/symbol)M symbol/set=2kEb=PT=Pav/RbEnergy per bit\begin{align*} + D\text{ symbol/s}&=\frac{2W\text{ Hz}}{1+\alpha}\\ + R_b\text{ bit/s}&=(D\text{ symbol/s})\times(k\text{ bit/symbol})\\ + M\text{ symbol/set}&=2^k\\ + E_b&=PT=P_\text{av}/R_b\quad\text{Energy per bit}\\ +\end{align*} +

+

Nyquist stuff

+

Condition for 0 ISI

+

Pr(kT)={1k=00k0P_r(kT)=\begin{cases} + 1 & k=0\\ + 0 & k\neq0 +\end{cases} +

+

Other

+

Excess BW=BabsBNyquist=1+α2T12T=α2TFOR NRZ (Use correct Babs)α=Excess BWBNyquist=BabsBNyquistBNyquistT=1/D\begin{align*} + \text{Excess BW}&=B_\text{abs}-B_\text{Nyquist}=\frac{1+\alpha}{2T}-\frac{1}{2T}=\frac{\alpha}{2T}\quad\text{FOR NRZ (Use correct $B_\text{abs}$)}\\ + \alpha&=\frac{\text{Excess BW}}{B_\text{Nyquist}}=\frac{B_\text{abs}-B_\text{Nyquist}}{B_\text{Nyquist}}\\ + T&=1/D +\end{align*} +

+
+

Table of bandpass signalling and BER

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Binary Bandpass SignalingBnull-nullB_\text{null-null} (Hz)Babs-abs=2BabsB_\text{abs-abs}\color{red}=2B_\text{abs} (Hz)BER with Coherent DetectionBER with Noncoherent Detection
ASK, unipolar NRZ2Rb2R_bRb(1+α)R_b (1 + \alpha)Q(Eb/N0)Q\left( \sqrt{E_b / N_0} \right)0.5exp(Eb/(2N0))0.5\exp(-E_b / (2N_0))
BPSK2Rb2R_bRb(1+α)R_b (1 + \alpha)Q(2Eb/N0)Q\left( \sqrt{2E_b / N_0} \right)Requires coherent detection
Sunde's FSK3Rb3R_bQ(Eb/N0)Q\left( \sqrt{E_b / N_0} \right)0.5exp(Eb/(2N0))0.5\exp(-E_b / (2N_0))
DBPSK, MM-ary Bandpass Signaling2Rb2R_bRb(1+α)R_b (1 + \alpha)0.5exp(Eb/N0)0.5\exp(-E_b / N_0)
QPSK/OQPSK (M=4M=4, PSK)RbR_bRb(1+α)2\frac{R_b (1 + \alpha)}{2}Q(2Eb/N0)Q\left( \sqrt{2E_b / N_0} \right)Requires coherent detection
MSK1.5Rb1.5R_b3Rb(1+α)4\frac{3R_b (1 + \alpha)}{4}Q(2Eb/N0)Q\left( \sqrt{2E_b / N_0} \right)Requires coherent detection
MM-PSK (M>4M > 4)2Rb/log2M2R_b / \log_2 MRb(1+α)log2M\frac{R_b (1 + \alpha)}{\log_2 M}2log2MQ(2log2Msin2(π/M)Eb/N0)\frac{2}{\log_2 M} Q\left( \sqrt{2 \log_2 M \sin^2 \left( \pi / M \right) E_b / N_0} \right)Requires coherent detection
MM-DPSK (M>4M > 4)2Rb/log2M2R_b / \log_2 MRb(1+α)2log2M\frac{R_b (1 + \alpha)}{2 \log_2 M}2log2MQ(4log2Msin2(π/(2M))Eb/N0)\frac{2}{\log_2 M} Q\left( \sqrt{4 \log_2 M \sin^2 \left( \pi / (2M) \right) E_b / N_0} \right)
MM-QAM (Square constellation)2Rb/log2M2R_b / \log_2 MRb(1+α)log2M\frac{R_b (1 + \alpha)}{\log_2 M}4log2M(11M)Q(3log2MM1Eb/N0)\frac{4}{\log_2 M} \left( 1 - \frac{1}{\sqrt{M}} \right) Q\left( \sqrt{\frac{3 \log_2 M}{M - 1} E_b / N_0} \right)Requires coherent detection
MM-FSK Coherent(M+3)Rb2log2M\frac{(M + 3) R_b}{2 \log_2 M}M1log2MQ((log2M)Eb/N0)\frac{M - 1}{\log_2 M} Q\left( \sqrt{(\log_2 M) E_b / N_0} \right)
Noncoherent2MRb/log2M2M R_b / \log_2 MM12log2M0.5exp((log2M)Eb/2N0)\frac{M - 1}{2 \log_2 M} 0.5\exp({-(\log_2 M) E_b / 2N_0})
+

Adapted from table 11.4 M F Mesiya - Contemporary Communication Systems

+

PSD of modulated signals

+ + + + + + + + + + + + + + + + + +
ModulationGx(f)G_x(f)
QuadratureAc24[GI(ffc)+GI(f+fc)+GQ(ffc)+GQ(f+fc)]\color{red}\frac{{A_c}^2}{4}[G_I(f-f_c)+G_I(f+f_c)+G_Q(f-f_c)+G_Q(f+f_c)]
LinearV(f)22l=R(l)exp(j2πlfT)What??\color{red}\frac{|V(f)|^2}{2}\sum_{l=-\infty}^\infty R(l)\exp(-j2\pi l f T)\quad\text{What??}
+

Symbol error probability

+
    +
  • Minimum distance between any two point
  • +
  • Different from bit error since a symbol can contain multiple bits
  • +
+

Information theory

+

Entropy for discrete random variables

+

H(x)0H(x)=xiAxpX(xi)log2(pX(xi))H(x,y)=xiAxyiAypXY(xi,yi)log2(pXY(xi,yi))Joint entropyH(x,y)=H(x)+H(y)Joint entropy if x and y independentH(xy=yj)=xiAxpX(xiy=yj)log2(pX(xiy=yj))Conditional entropyH(xy)=yjAypY(yj)H(xy=yj)Average conditional entropy, equivocationH(xy)=xiAxyiAypX(xi,yj)log2(pX(xiy=yj))H(xy)=H(x,y)H(y)H(x,y)=H(x)+H(yx)=H(y)+H(xy)\begin{align*} + H(x) &\geq 0\\ + H(x) &= -\sum_{x_i\in A_x} p_X(x_i) \log_2(p_X(x_i))\\ + H(x,y) &= -\sum_{x_i\in A_x}\sum_{y_i\in A_y} p_{XY}(x_i,y_i)\log_2(p_{XY}(x_i,y_i)) \quad\text{Joint entropy}\\ + H(x,y) &= H(x)+H(y) \quad\text{Joint entropy if $x$ and $y$ independent}\\ + H(x|y=y_j) &= -\sum_{x_i\in A_x} p_X(x_i|y=y_j) \log_2(p_X(x_i|y=y_j)) \quad\text{Conditional entropy}\\ + H(x|y) &= -\sum_{y_j\in A_y} p_Y(y_j) H(x|y=y_j) \quad\text{Average conditional entropy, equivocation}\\ + H(x|y) &= -\sum_{x_i\in A_x}\sum_{y_i\in A_y} p_X(x_i,y_j) \log_2(p_X(x_i|y=y_j))\\ + H(x|y) &= H(x,y)-H(y)\\ + H(x,y) &= H(x) + H(y|x) = H(y) + H(x|y)\\ +\end{align*} +

+

Entropy is maximized when all have an equal probability.

+

Differential entropy for continuous random variables

+

TODO: Cut out if not required

+

h(x)=RfX(x)log2(fX(x))dx\begin{align*} + h(x) &= -\int_\mathbb{R}f_X(x)\log_2(f_X(x))dx +\end{align*} +

+

Mutual information

+

Amount of entropy decrease of xx after observation by yy.

+

I(x;y)=H(x)H(xy)=H(y)H(yx)\begin{align*} + I(x;y) &= H(x)-H(x|y)=H(y)-H(y|x)\\ +\end{align*} +

+

Channel model

+

Vertical, xx: input
+Horizontal, yy: output

+

P=[p11p12p1Np21p22p2NpM1pM2pMN]\mathbf{P}=\left[\begin{matrix} + p_{11} & p_{12} &\dots & p_{1N}\\ + p_{21} & p_{22} &\dots & p_{2N}\\ + \vdots & \vdots &\ddots & \vdots\\ + p_{M1} & p_{M2} &\dots & p_{MN}\\ +\end{matrix}\right] +

+

P(yjxi)y1y2yNx1p11p12p1Nx2p21p22p2NxMpM1pM2pMN\begin{array}{c|cccc} + P(y_j|x_i)& y_1 & y_2 & \dots & y_N \\ + \hline + x_1 & p_{11} & p_{12} & \dots & p_{1N} \\ + x_2 & p_{21} & p_{22} & \dots & p_{2N} \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + x_M & p_{M1} & p_{M2} & \dots & p_{MN} \\ +\end{array} +

+

Input has probability distribution pX(ai)=P(X=ai)p_X(a_i)=P(X=a_i)

+

Channel maps alphabet {a1,,aM}{b1,,bN}\{a_1,\dots,a_M\} \to \{b_1,\dots,b_N\}

+

Output has probabiltiy distribution pY(bj)=P(y=bj)p_Y(b_j)=P(y=b_j)

+

pY(bj)=i=1MP[x=ai,y=bj]1jN=i=1MP[X=ai]P[Y=bjX=ai][pY(b0)pY(b1)pY(bj)]=[pX(a0)pX(a1)pX(ai)]×P\begin{align*} + p_Y(b_j) &= \sum_{i=1}^{M}P[x=a_i,y=b_j]\quad 1\leq j\leq N \\ + &= \sum_{i=1}^{M}P[X=a_i]P[Y=b_j|X=a_i]\\ + [\begin{matrix}p_Y(b_0)&p_Y(b_1)&\dots&p_Y(b_j)\end{matrix}] &= [\begin{matrix}p_X(a_0)&p_X(a_1)&\dots&p_X(a_i)\end{matrix}]\times\mathbf{P} +\end{align*} +

+

Fast procedure to calculate I(y;x)I(y;x)

+

1. Find H(x)2. Find [pY(b0)pY(b1)pY(bj)]=[pX(a0)pX(a1)pX(ai)]×P3. Multiply each row in P by pX(ai) since pXY(xi,yi)=P(yixi)P(xi)4. Find H(x,y) using each element from (3.)5. Find H(xy)=H(x,y)H(y)6. Find I(y;x)=H(x)H(xy)\begin{align*} + &\text{1. Find }H(x)\\ + &\text{2. Find }[\begin{matrix}p_Y(b_0)&p_Y(b_1)&\dots&p_Y(b_j)\end{matrix}] = [\begin{matrix}p_X(a_0)&p_X(a_1)&\dots&p_X(a_i)\end{matrix}]\times\mathbf{P}\\ + &\text{3. Multiply each row in $\textbf{P}$ by $p_X(a_i)$ since $p_{XY}(x_i,y_i)=P(y_i|x_i)P(x_i)$}\\ + &\text{4. Find $H(x,y)$ using each element from (3.)}\\ + &\text{5. Find }H(x|y)=H(x,y)-H(y)\\ + &\text{6. Find }I(y;x)=H(x)-H(x|y)\\ +\end{align*} +

+

Channel types

+ + + + + + + + + + + + + + + + + +
TypeDefinition
Symmetric channelEvery row is a permutation of every other row, Every column is a permutation of every other column. Symmetric    Weakly symmetric\text{Symmetric}\implies\text{Weakly symmetric}
Weakly symmetricEvery row is a permutation of every other row, Every column has the same sum
+

Channel capacity of weakly symmetric channel

+

CChannel capacity (bits/channels used)NOutput alphabet sizepProbability vector, any row of the transition matrixC=log2(N)H(p)Capacity for weakly symmetric and symmetric channelsR<C for error-free transmission\begin{align*} + C &\to\text{Channel capacity (bits/channels used)}\\ + N &\to\text{Output alphabet size}\\ + \mathbf{p} &\to\text{Probability vector, any row of the transition matrix}\\ + C &= \log_2(N)-H(\mathbf{p})\quad\text{Capacity for weakly symmetric and symmetric channels}\\ + R &< C \text{ for error-free transmission} +\end{align*} +

+

Channel capacity of an AWGN channel

+

yi=xi+niniN(0,N0/2)y_i=x_i+n_i\quad n_i\thicksim N(0,N_0/2) +

+

C=12log2(1+PavN0/2)C=\frac{1}{2}\log_2\left(1+\frac{P_\text{av}}{N_0/2}\right) +

+

Channel capacity of a bandwidth AWGN channel

+

Note: Define XOR (\oplus) as exclusive OR, or modulo-2 addition.

+

PsBandwidth limited average poweryi=bandpassW(xi)+niniN(0,N0/2)C=Wlog2(1+PsN0W)C=Wlog2(1+SNR)SNR=Ps/(N0W)\begin{align*} + P_s&\to\text{Bandwidth limited average power}\\ + y_i&=\text{bandpass}_W(x_i)+n_i\quad n_i\thicksim N(0,N_0/2)\\ + C&=W\log_2\left(1+\frac{P_s}{N_0 W}\right)\\ + C&=W\log_2(1+\text{SNR})\quad\text{SNR}=P_s/(N_0 W) +\end{align*} +

+

Channel code

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Hamming weightwH(x)w_H(x)Number of '1' in codeword xx
Hamming distancedH(x1,x2)=wH(x1x2)d_H(x_1,x_2)=w_H(x_1\oplus x_2)Number of different bits between codewords x1x_1 and x2x_2 which is the hamming weight of the XOR of the two codes.
Minimum distancedmind_\text{min}IMPORTANT: x0x\neq\bold{0}, excludes weight of all-zero codeword. For a linear block code, dmin=wmind_\text{min}=w_\text{min}
+

Linear block code

+

Code is (n,k)(n,k)

+

nn is the width of a codeword

+

2k2^k codewords

+

A linear block code must be a subspace and satisfy both:

+
    +
  1. Zero vector must be present at least once
  2. +
  3. The XOR of any codeword pair in the code must result in a codeword that is already present in the code table.
  4. +
+

For a linear block code, dmin=wmind_\text{min}=w_\text{min}

+

Code generation

+

Each generator vector is a binary string of size nn. There are kk generator vectors in G\mathbf{G}.

+

gi=[gi,0gi,n2gi,n1]g0=[1010]Example for n=4G=[g0g1gk1]=[g0,0g0,n2g0,n1g1,0g1,n2g1,n1gk1,0gk1,n2gk1,n1]\begin{align*} +\mathbf{g}_i&=[\begin{matrix} + g_{i,0}& \dots & g_{i,n-2} & g_{i,n-1} +\end{matrix}]\\ +\color{darkgray}\mathbf{g}_0&\color{darkgray}=[1010]\quad\text{Example for $n=4$}\\ +\mathbf{G}&=\left[\begin{matrix} + \mathbf{g}_0\\ + \mathbf{g}_1\\ + \vdots\\ + \mathbf{g}_{k-1}\\ +\end{matrix}\right]=\left[\begin{matrix} + g_{0,0}& \dots & g_{0,n-2} & g_{0,n-1}\\ + g_{1,0}& \dots & g_{1,n-2} & g_{1,n-1}\\ + \vdots & \ddots & \vdots & \vdots\\ + g_{k-1,0}& \dots & g_{k-1,n-2} & g_{k-1,n-1}\\ +\end{matrix}\right] +\end{align*} +

+

A message block m\mathbf{m} is coded as x\mathbf{x} using the generation codewords in G\mathbf{G}:

+

m=[m0mn2mk1]m=[101001]Example for k=6x=mG=m0g0+m1g1++mk1gk1\begin{align*} +\mathbf{m}&=[\begin{matrix} + m_{0}& \dots & m_{n-2} & m_{k-1} +\end{matrix}]\\ +\color{darkgray}\mathbf{m}&\color{darkgray}=[101001]\quad\text{Example for $k=6$}\\ +\mathbf{x} &= \mathbf{m}\mathbf{G}=m_0\mathbf{g}_0+m_1\mathbf{g}_1+\dots+m_{k-1}\mathbf{g}_{k-1} +\end{align*} +

+

Systemic linear block code

+

Contains kk message bits (Copy m\mathbf{m} as-is) and (nk)(n-k) parity bits after the message bits.

+

G=[IkP]=[100010001p0,0p0,n2p0,n1p1,0p1,n2p1,n1pk1,0pk1,n2pk1,n1]m=[m0mn2mk1]x=mG=m[IkP]=[mIkmP]=[mb]b=mPParity bits of x\begin{align*} +\mathbf{G}&=\begin{array}{c|c}[\mathbf{I}_k & \mathbf{P}]\end{array}=\left[ + \begin{array}{c|c} + \begin{matrix} + 1 & 0 & \dots & 0\\ + 0 & 1 & \dots & 0\\ + \vdots & \vdots & \ddots & \vdots\\ + 0& 0 & \dots & 1\\ +\end{matrix} +& +\begin{matrix} + p_{0,0}& \dots & p_{0,n-2} & p_{0,n-1}\\ + p_{1,0}& \dots & p_{1,n-2} & p_{1,n-1}\\ + \vdots & \ddots & \vdots & \vdots\\ + p_{k-1,0}& \dots & p_{k-1,n-2} & p_{k-1,n-1}\\ +\end{matrix}\end{array}\right]\\ +\mathbf{m}&=[\begin{matrix} + m_{0}& \dots & m_{n-2} & m_{k-1} +\end{matrix}]\\ +\mathbf{x} &= \mathbf{m}\mathbf{G}= \mathbf{m} \begin{array}{c|c}[\mathbf{I}_k & \mathbf{P}]\end{array}=\begin{array}{c|c}[\mathbf{mI}_k & \mathbf{mP}]\end{array}=\begin{array}{c|c}[\mathbf{m} & \mathbf{b}]\end{array}\\ +\mathbf{b} &= \mathbf{m}\mathbf{P}\quad\text{Parity bits of $\mathbf{x}$} +\end{align*} +

+

Parity check matrix H\mathbf{H}

+

Transpose P\mathbf{P} for the parity check matrix

+

H=[PTInk]=[p0Tp1Tpk1TInk]=[p0,0p0,k2p0,k1p1,0p1,k2p1,k1pn1,0pn1,k2pn1,k1100010001]xHT=0    Codeword is valid\begin{align*} +\mathbf{H}&=\begin{array}{c|c}[\mathbf{P}^\text{T} & \mathbf{I}_{n-k}]\end{array}\\ +&=\left[ + \begin{array}{c|c} + \begin{matrix} + {\textbf{p}_0}^\text{T} & {\textbf{p}_1}^\text{T} & \dots & {\textbf{p}_{k-1}}^\text{T} + \end{matrix} + & + \mathbf{I}_{n-k}\end{array}\right]\\ +&=\left[ + \begin{array}{c|c} + \begin{matrix} + p_{0,0}& \dots & p_{0,k-2} & p_{0,k-1}\\ + p_{1,0}& \dots & p_{1,k-2} & p_{1,k-1}\\ + \vdots & \ddots & \vdots & \vdots\\ + p_{n-1,0}& \dots & p_{n-1,k-2} & p_{n-1,k-1}\\ + \end{matrix} + & + \begin{matrix} + 1 & 0 & \dots & 0\\ + 0 & 1 & \dots & 0\\ + \vdots & \vdots & \ddots & \vdots\\ + 0& 0 & \dots & 1\\ +\end{matrix}\end{array}\right]\\ +\mathbf{xH}^\text{T}&=\mathbf{0}\implies\text{Codeword is valid} +\end{align*} +

+

Procedure to find parity check matrix from list of codewords

+
    +
  1. From the number of codewords, find k=log2(N)k=\log_2(N)
  2. +
  3. Partition codewords into kk information bits and remaining bits into nkn-k parity bits. The information bits should be a simple counter (?).
  4. +
  5. Express parity bits as a linear combination of information bits
  6. +
  7. Put coefficients into P\textbf{P} matrix and find H\textbf{H}
  8. +
+

Example:

+

x1x2x3x4x510110011110000011001\begin{array}{cccc} + x_1 & x_2 & x_3 & x_4 & x_5 \\ + \hline + \color{magenta}1&\color{magenta}0&1&1&0\\ + \color{magenta}0&\color{magenta}1&1&1&1\\ + \color{magenta}0&\color{magenta}0&0&0&0\\ + \color{magenta}1&\color{magenta}1&0&0&1\\ +\end{array} +

+

Set x1,x2x_1,x_2 as information bits. Express x3,x4,x5x_3,x_4,x_5 in terms of x1,x2x_1,x_2.

+

x3=x1x2x4=x1x2x5=x2    P=x1x2x311x411x501H=[111101100010001]\begin{align*} +\begin{align*} + x_3 &= x_1\oplus x_2\\ + x_4 &= x_1\oplus x_2\\ + x_5 &= x_2\\ +\end{align*} +\implies\textbf{P}&= +\begin{array}{c|ccc} + & x_1 & x_2 \\ + \hline + x_3&1&1&\\ + x_4&1&1&\\ + x_5&0&1&\\ +\end{array}\\ +\textbf{H}&=\left[ + \begin{array}{c|c} + \begin{matrix} + 1&1\\ + 1&1\\ + 0&1\\ + \end{matrix} + & + \begin{matrix} + 1 & 0 & 0\\ + 0 & 1 & 0\\ + 0 & 0 & 1\\ +\end{matrix}\end{array}\right] +\end{align*} +

+

Error detection and correction

+

Detection of ss errors: dmins+1d_\text{min}\geq s+1

+

Correction of uu errors: dmin2u+1d_\text{min}\geq 2u+1

+

CHECKLIST

+
    +
  • Transfer function in complex envelope form (h~(t)\tilde{h}(t)) should be divided by two.
  • +
  • Convolutions: do not forget width when using graphical method
  • +
+ + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e77b17 --- /dev/null +++ b/README.md @@ -0,0 +1,1171 @@ +# Idiot's guide to ELEC4402 communication systems + +## License and information + +Notes are open-source and licensed under the GNU GPL-3.0. **You must include the [full-text of the license](/COPYING.txt) and follow its terms when using these notes or any diagrams in derivative works** (but not when printing as notes) + +Copyright (C) 2024 Peter Tanner + +
+GPL copyright information +Copyright (C) 2024 Peter Tanner + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +
+ +[Access a web-copy of the notes for printing](/README.html) + +I accept pull requests or suggestions but the content must not be copyrighted under a non-GPL compatible license. + +## Fourier transform identities + +| **Time Function** | **Fourier Transform** | +| --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| $\text{rect}\left(\frac{t}{T}\right)\quad\Pi\left(\frac{t}{T}\right)$ | $T \, \text{sinc}(fT)$ | +| $\text{sinc}(2Wt)$ | $\frac{1}{2W}\text{rect}\left(\frac{f}{2W}\right)\quad\frac{1}{2W}\Pi\left(\frac{f}{2W}\right)$ | +| $\exp(-at)u(t), \, a>0$ | $\frac{1}{a + j2\pi f}$ | +| $\exp(-a\lvert t \rvert), \, a>0$ | $\frac{2a}{a^2 + (2\pi f)^2}$ | +| $\exp(-\pi t^2)$ | $\exp(-\pi f^2)$ | +| $\begin{cases} 1 - \frac{\lvert t \rvert}{T}, & \lvert t \rvert < T \\ 0, & \lvert t \rvert \geq T \end{cases}$ | $T \, \text{sinc}^2(fT)$ | +| $\delta(t)$ | $1$ | +| $1$ | $\delta(f)$ | +| $\delta(t - t_0)$ | $\exp(-j2\pi f t_0)$ | +| $g(t-a)$ | $\exp(-j2\pi fa)G(f)\quad\text{shift property}$ | +| $g(bt)$ | $\frac{G(f/b)}{\|b\|}\quad\text{scaling property}$ | +| $g(bt-a)$ | $\frac{1}{\|b\|}\exp(-j2\pi a(f/b))\cdot G(f/b)\quad\text{shift \& scale}$ | +| $\frac{d}{dt}g(t)$ | $j2\pi fG(f)\quad\text{differentiation property}$ | +| $G(t)$ | $g(-f)\quad\text{duality property}$ | +| $g(t)h(t)$ | $G(f)*H(f)$ | +| $g(t)*h(t)$ | $G(f)H(f)$ | +| $\exp(j2\pi f_c t)$ | $\delta(f - f_c)$ | +| $\cos(2\pi f_c t)$ | $\frac{1}{2}[\delta(f - f_c) + \delta(f + f_c)]$ | +| $\sin(2\pi f_c t)$ | $\frac{1}{2j} [\delta(f - f_c) - \delta(f + f_c)]$ | +| $\text{sgn}(t)$ | $\frac{1}{j\pi f}$ | +| $\frac{1}{\pi t}$ | $-j \, \text{sgn}(f)$ | +| $u(t)$ | $\frac{1}{2} \delta(f) + \frac{1}{j2\pi f}$ | +| $\sum_{n=-\infty}^{\infty} \delta(t - nT_0)$ | $\frac{1}{T_0} \sum_{n=-\infty}^{\infty} \delta\left(f - \frac{n}{T_0}\right)=f_0 \sum_{n=-\infty}^{\infty} \delta\left(f - n f_0\right)$ | + +| **Function Name** | **Formula** | +| -------------------- | ------------------------------------------------------------------------------------------------------- | +| Unit Step Function | $u(t) = \begin{cases} 1, & t > 0 \\ \frac{1}{2}, & t = 0 \\ 0, & t < 0 \end{cases}$ | +| Signum Function | $\text{sgn}(t) = \begin{cases} +1, & t > 0 \\ 0, & t = 0 \\ -1, & t < 0 \end{cases}$ | +| sinc Function | $\text{sinc}(2Wt) = \frac{\sin(2\pi W t)}{2\pi W t}$ | +| Rectangular Function | $\text{rect}(t) = \Pi(t) = \begin{cases} 1, & -0.5 < t < 0.5 \\ 0, & \lvert t \rvert > 0.5 \end{cases}$ | +| Convolution | $g(t)*h(t)=(g*h)(t)=\int_\infty^\infty g(\tau)h(t-\tau)d\tau$ | + +### Fourier transform of continuous time periodic signal + +Required for some questions on **sampling**: + + + +Transform a continuous time-periodic signal $x_p(t)=\sum_{n=-\infty}^\infty x(t-nT_s)$ with period $T_s$: + +$$ +X_p(f)=\sum_{n=-\infty}^\infty C_n\delta(f-nf_s)\quad f_s=\frac{1}{T_s} +$$ + +Calculate $C_n$ coefficient as follows from $x_p(t)$: + + + +$$ +\begin{align*} + % C_n&=X_p(nf_s)\\ + C_n&=\frac{1}{T_s} \int_{T_s} x_p(t)\exp(-j2\pi f_s t)dt\\ + &=\frac{1}{T_s} X(nf_s)\quad\color{red}\text{(TODO: Check)}\quad\color{white}\text{$x(t-nT_s)$ is contained in the interval $T_s$} +\end{align*} +$$ + +### $\text{rect}$ function + +![rect](images/rect.drawio.svg) + +### Bessel function + +$$ +\begin{align*} + \sum_{n\in\Z}{J_n}^2(\beta)&=1\\ + J_n(\beta)&=(-1)^nJ_{-n}(\beta) +\end{align*} +$$ + +### White noise + +$$ +\begin{align*} +R_W(\tau)&=\frac{N_0}{2}\delta(\tau)=\frac{kT}{2}\delta(\tau)=\sigma^2\delta(\tau)\\ +G_w(f)&=\frac{N_0}{2}\\ +N_0&=kT\\ +G_y(f)&=|H(f)|^2G_w(f)\\ +G_y(f)&=G(f)G_w(f)\\ +\end{align*} +$$ + +### WSS + +$$ +\begin{align*} + \mu_X(t) &= \mu_X\text{ Constant}\\ + R_{XX}(t_1,t_2)&=R_X(t_1-t_2)=R_X(\tau)\\ + E[X(t_1)X(t_2)]&=E[X(t)X(t+\tau)] +\end{align*} +$$ + +### Ergodicity + +$$ +\begin{align*} + \braket{X(t)}_T&=\frac{1}{2T}\int_{-T}^{T}x(t)dt\\ + \braket{X(t+\tau)X(t)}_T&=\frac{1}{2T}\int_{-T}^{T}x(t+\tau)x(t)dt\\ + E[\braket{X(t)}_T]&=\frac{1}{2T}\int_{-T}^{T}x(t)dt=\frac{1}{2T}\int_{-T}^{T}m_Xdt=m_X\\ +\end{align*} +$$ + +| Type | Normal | Mean square sense | +| ----------------------------------- | ------------------------------------------------------- | ----------------------------------------------------------- | +| ergodic in mean | $$\lim_{T\to\infty}\braket{X(t)}_T=m_X(t)=m_X$$ | $$\lim_{T\to\infty}\text{VAR}[\braket{X(t)}_T]=0$$ | +| ergodic in autocorrelation function | $$\lim_{T\to\infty}\braket{X(t+\tau)X(t)}_T=R_X(\tau)$$ | $$\lim_{T\to\infty}\text{VAR}[\braket{X(t+\tau)X(t)}_T]=0$$ | + +**A WSS random process needs to be both ergodic in mean and autocorrelation to be considered an ergodic process** + +### Other identities + +$$ +\begin{align*} + f*(g*h) &=(f*g)*h\quad\text{Convolution associative}\\ + a(f*g) &= (af)*g \quad\text{Convolution associative}\\ + \sum_{x=-\infty}^\infty(f(x a)\delta(\omega-x b))&=f\left(\frac{\omega a}{b}\right) +\end{align*} +$$ + +### Other trig + +$$ +\begin{align*} + \cos2\theta=2 \cos^2 \theta-1&\Leftrightarrow\frac{\cos2\theta+1}{2}=\cos^2\theta\\ + e^{-j\alpha}-e^{j\alpha}&=-2j \sin(\alpha)\\ + e^{-j\alpha}+e^{j\alpha}&=2 \cos(\alpha)\\ + \cos(-A)&=\cos(A)\\ + \sin(-A)&=-\sin(A)\\ + \sin(A+\pi/2)&=\cos(A)\\ + \sin(A-\pi/2)&=-\cos(A)\\ + \cos(A-\pi/2)&=\sin(A)\\ + \cos(A+\pi/2)&=-\sin(A)\\ + \int_{x\in\R}\text{sinc}(A x) &= \frac{1}{|A|}\\ +\end{align*} +$$ + +$$ +\begin{align*} + \cos(A+B) &= \cos (A) \cos (B)-\sin (A) \sin (B) \\ + \sin(A+B) &= \sin (A) \cos (B)+\cos (A) \sin (B) \\ + \cos(A)\cos(B) &= \frac{1}{2} (\cos (A-B)+\cos (A+B)) \\ + \cos(A)\sin(B) &= \frac{1}{2} (\sin (A+B)-\sin (A-B)) \\ + \sin(A)\sin(B) &= \frac{1}{2} (\cos (A-B)-\cos (A+B)) \\ +\end{align*} +$$ + +$$ +\begin{align*} + \cos(A)+\cos(B) &= 2 \cos \left(\frac{A}{2}-\frac{B}{2}\right) \cos \left(\frac{A}{2}+\frac{B}{2}\right) \\ + \cos(A)-\cos(B) &= -2 \sin \left(\frac{A}{2}-\frac{B}{2}\right) \sin \left(\frac{A}{2}+\frac{B}{2}\right) \\ + \sin(A)+\sin(B) &= 2 \sin \left(\frac{A}{2}+\frac{B}{2}\right) \cos \left(\frac{A}{2}-\frac{B}{2}\right) \\ + \sin(A)-\sin(B) &= 2 \sin \left(\frac{A}{2}-\frac{B}{2}\right) \cos \left(\frac{A}{2}+\frac{B}{2}\right) \\ + \cos(A)+\sin(B)&= -2 \sin \left(\frac{A}{2}-\frac{B}{2}-\frac{\pi }{4}\right) \sin \left(\frac{A}{2}+\frac{B}{2}+\frac{\pi }{4}\right) \\ + \cos(A)-\sin(B)&= -2 \sin \left(\frac{A}{2}+\frac{B}{2}-\frac{\pi }{4}\right) \sin \left(\frac{A}{2}-\frac{B}{2}+\frac{\pi }{4}\right) \\ +\end{align*} +$$ + +## IQ/Complex envelope + +Def. $\tilde{g}(t)=g_I(t)+jg_Q(t)$ as the complex envelope. Best to convert to $e^{j\theta}$ form. + +### Convert complex envelope representation to time-domain representation of signal + +$$ +\begin{align*} +g(t)&=g_I(t)\cos(2\pi f_c t)-g_Q(t)\sin(2\pi f_c t)\\ +&=\text{Re}[\tilde{g}(t)\exp{(j2\pi f_c t)}]\\ +&=A(t)\cos(2\pi f_c t+\phi(t))\\ +A(t)&=|g(t)|=\sqrt{g_I^2(t)+g_Q^2(t)}\quad\text{Amplitude}\\ +\phi(t)&\quad\text{Phase}\\ +g_I(t)&=A(t)\cos(\phi(t))\quad\text{In-phase component}\\ +g_Q(t)&=A(t)\sin(\phi(t))\quad\text{Quadrature-phase component}\\ +\end{align*} +$$ + +### For transfer function + +$$ +\begin{align*} +h(t)&=h_I(t)\cos(2\pi f_c t)-h_Q(t)\sin(2\pi f_c t)\\ +&=2\text{Re}[\tilde{h}(t)\exp{(j2\pi f_c t)}]\\ +\Rightarrow\tilde{h}(t)&=h_I(t)/2+jh_Q(t)/2=A(t)/2\exp{(j\phi(t))} +\end{align*} +$$ + +## AM + +### CAM + +$$ +\begin{align*} + m_a &= \frac{\min_t|k_a m(t)|}{A_c} \quad\text{$k_a$ is the amplitude sensitivity ($\text{volt}^{-1}$), $m_a$ is the modulation index.}\\ + m_a &= \frac{A_\text{max}-A_\text{min}}{A_\text{max}+A_\text{min}}\quad\text{ (Symmetrical $m(t)$)}\\ + m_a&=k_a A_m \quad\text{ (Symmetrical $m(t)$)}\\ + x(t)&=A_c\cos(2\pi f_c t)\left[1+k_a m(t)\right]=A_c\cos(2\pi f_c t)\left[1+m_a m(t)/A_c\right], \\ + &\text{where $m(t)=A_m\hat m(t)$ and $\hat m(t)$ is the normalized modulating signal}\\ + P_c &=\frac{{A_c}^2}{2}\quad\text{Carrier power}\\ + P_x &=\frac{1}{4}{m_a}^2{A_c}^2\\ + \eta&=\frac{\text{Signal Power}}{\text{Total Power}}=\frac{P_x}{P_x+P_c}\\ + B_T&=2f_m=2B +\end{align*} +$$ + +$B_T$: Signal bandwidth +$B$: Bandwidth of modulating wave + +Overmodulation (resulting in phase reversals at crossing points): $m_a>1$ + +### DSB-SC + +$$ +\begin{align*} + x_\text{DSB}(t) &= A_c \cos{(2\pi f_c t)} m(t)\\ + B_T&=2f_m=2B +\end{align*} +$$ + +## FM/PM + +$$ +\begin{align*} + s(t) &= A_c\cos\left[2\pi f_c t + k_p m(t)\right]\quad\text{Phase modulated (PM)}\\ + s(t) &= A_c\cos\left[2\pi f_c t + 2 \pi k_f \int_0^t m(\tau) d\tau\right]\quad\text{Frequency modulated (FM)}\\ + s(t) &= A_c\cos\left[2\pi f_c t + \beta \sin(2\pi f_m t)\right]\quad\text{FM single tone}\\ + \beta&=\frac{\Delta f}{f_m}=k_f A_m\quad\text{Modulation index}\\ + \Delta f&=\beta f_m=k_f A_m f_m = \max_t(k_f m(t))- \min_t(k_f m(t))\quad\text{Maximum frequency deviation}\\ + D&=\frac{\Delta f}{W_m}\quad\text{Deviation ratio, where $W_m$ is bandwidth of $m(t)$ (Use FT)} +\end{align*} +$$ + +### Bessel form and magnitude spectrum (single tone) + +$$ +\begin{align*} + s(t) &= A_c\cos\left[2\pi f_c t + \beta \sin(2\pi f_m t)\right] \Leftrightarrow s(t)= A_c\sum_{n=-\infty}^{\infty}J_n(\beta)\cos[2\pi(f_c+nf_m)t] +\end{align*} +$$ + + + +### FM signal power + +$$ +\begin{align*} + P_\text{av}&=\frac{{A_c}^2}{2}\\ + P_\text{band\_index}&=\frac{{A_c}^2{J_\text{band\_index}}^2(\beta)}{2}\\ + \text{band\_index}&=0\implies f_c+0f_m\\ + \text{band\_index}&=1\implies f_c+1f_m,\dots\\ +\end{align*} +$$ + +### Carson's rule to find $B$ (98% power bandwidth rule) + +$$ +\begin{align*} +B &= 2Mf_m = 2(\beta + 1)f_m\\ + &= 2(\Delta f+f_m)\\ + &= 2(k_f A_m+f_m)\\ + &= 2(D+1)W_m\\ +B &= \begin{cases} + 2(\Delta f+f_m) & \text{FM, sinusoidal message}\\ + 2(\Delta\phi + 1)f_m & \text{PM, sinusoidal message} +\end{cases}\\ +\end{align*} +$$ + +#### $\Delta f$ of arbitrary modulating signal + +Find instantaneous frequency $f_\text{FM}$. + +$M$: Number of **pairs** of significant sidebands + +$$ +\begin{align*} +s(t)&=A_c\cos(\theta_\text{FM}(t))\\ +f_\text{FM}(t) &= \frac{1}{2\pi}\frac{d\theta_\text{FM}(t)}{dt}\\ +A_m &= \max_t|m(t)|\\ +\Delta f &= \max_t(f_\text{FM}(t)) - f_c\\ +W_m &= \text{max}(\text{frequencies in $\theta_\text{FM}(t)$...}) \\ +\text{Example: }&\text{sinc}(At+t)+2\cos(2\pi t)=\frac{\sin(2\pi((At+t)/2))}{\pi(At+t)}+2\cos(2\pi t)\to W_m=\max\left(\frac{A+1}{2},1\right)\\ +D &= \frac{\Delta f}{W_m}\\ +B_T &= 2(D+1)W_m +\end{align*} +$$ + +### Complex envelope + +$$ +\begin{align*} + s(t)&=A_c\cos(2\pi f_c t+\beta\sin(2\pi f_m t)) \Leftrightarrow \tilde{s}(t) = A_c\exp(j\beta\sin(2\pi f_m t))\\ + s(t)&=\text{Re}[\tilde{s}(t)\exp{(j2\pi f_c t)}]\\ + \tilde{s}(t) &= A_c\sum_{n=-\infty}^{\infty}J_n(\beta)\exp(j2\pi f_m t) +\end{align*} +$$ + +### Band + +| Narrowband | Wideband | +| ------------- | ------------- | +| $D<1,\beta<1$ | $D>1,\beta>1$ | + +## Power, energy and autocorrelation + +$$ +\begin{align*} + G_\text{WGN}(f)&=\frac{N_0}{2}\\ + G_x(f)&=|H(f)|^2G_w(f)\text{ (PSD)}\\ + G_x(f)&=G(f)G_w(f)\text{ (PSD)}\\ + G_x(f)&=\lim_{T\to\infty}\frac{|X_T(f)|^2}{T}\text{ (PSD)}\\ + G_x(f)&=\mathfrak{F}[R_x(\tau)]\text{ (WSS)}\\ + P&=\sigma^2=\int_\mathbb{R}G_x(f)df\\ + P&=\sigma^2=\lim_{t\to\infty}\frac{1}{T}\int_{-T/2}^{T/2}|x(t)|^2dt\\ + P[A\cos(2\pi f t+\phi)]&=\frac{A^2}{2}\quad\text{Power of sinusoid }\\ + E&=\int_{-\infty}^{\infty}|x(t)|^2dt=|X(f)|^2\\ + R_x(\tau) &= \mathfrak{F}(G_x(f))\quad\text{PSD to Autocorrelation} +\end{align*} +$$ + +## + +## Noise performance + +$$ +\begin{align*} + \text{CNR}_\text{in} &= \frac{P_\text{in}}{P_\text{noise}}\\ + \text{CNR}_\text{in,FM} &= \frac{A^2}{2WN_0}\\ + \text{SNR}_\text{FM} &= \frac{3A^2k_f^2P}{2N_0W^3}\\ + \text{SNR(dB)} &= 10\log_{10}(\text{SNR}) \quad\text{Decibels from ratio} +\end{align*} +$$ + +## Sampling + +$$ +\begin{align*} + t&=nT_s\\ + T_s&=\frac{1}{f_s}\\ + x_s(t)&=x(t)\delta_s(t)=x(t)\sum_{n\in\mathbb{Z}}\delta(t-nT_s)=\sum_{n\in\mathbb{Z}}x(nT_s)\delta(t-nT_s)\\ + X_s(f)&=X(f)*\sum_{n\in\mathbb{Z}}\delta\left(f-\frac{n}{T_s}\right)=X(f)*\sum_{n\in\mathbb{Z}}\delta\left(f-n f_s\right)\\ + B&>\frac{1}{2}f_s, 2B>f_s\rightarrow\text{Aliasing}\\ +\end{align*} +$$ + +### Procedure to reconstruct sampled signal + +Analog signal $x'(t)$ which can be reconstructed from a sampled signal $x_s(t)$: Put $x_s(t)$ through LPF with maximum frequency of $f_s/2$ and minimum frequency of $-f_s/2$. Anything outside of the BPF will be attenuated, therefore $n$ which results in frequencies outside the BPF will evaluate to $0$ and can be ignored. + +Example: $f_s=5000\implies \text{LPF}\in[-2500,2500]$ + +Then iterate for $n=0,1,-1,2,-2,\dots$ until the first iteration where the result is 0 since all terms are eliminated by the LPF. + +TODO: Add example + +Then add all terms and transform $\bar X_s(f)$ back to time domain to get $x_s(t)$ + +### Fourier transform of continuous time periodic signal (1) + +Required for some questions on **sampling**: + + + +Transform a continuous time-periodic signal $x_p(t)=\sum_{n=-\infty}^\infty x(t-nT_s)$ with period $T_s$: + +$$ +X_p(f)=\sum_{n=-\infty}^\infty C_n\delta(f-nf_s)\quad f_s=\frac{1}{T_s} +$$ + +Calculate $C_n$ coefficient as follows from $x_p(t)$: + + + +$$ +\begin{align*} + % C_n&=X_p(nf_s)\\ + C_n&=\frac{1}{T_s} \int_{T_s} x_p(t)\exp(-j2\pi f_s t)dt\\ + &=\frac{1}{T_s} X(nf_s)\quad\color{red}\text{(TODO: Check)}\quad\color{white}\text{$x(t-nT_s)$ is contained in the interval $T_s$} +\end{align*} +$$ + + + +### Nyquist criterion for zero-ISI + +Do not transmit more than $2B$ samples per second over a channel of $B$ bandwidth. + +![By Bob K - Own work, CC0, https://commons.wikimedia.org/w/index.php?curid=94674142](images/Nyquist_frequency_&_rate.svg) + +### Insert here figure 8.3 from M F Mesiya - Contemporary Communication Systems (Add image to `images/sampling.png`) + +![sampling](copyrighted_images/sampling.png) +![sampling](images/sampling.png) + +## Quantizer + +$$ +\begin{align*} + \Delta &= \frac{x_\text{Max}-x_\text{Min}}{2^k} \quad\text{for $k$-bit quantizer (V/lsb)}\\ +\end{align*} +$$ + +### Quantization noise + +$$ +\begin{align*} + e &:= y-x\quad\text{Quantization error}\\ + \mu_E &= E[E] = 0\quad\text{Zero mean}\\ + {\sigma_E}^2&=E[E^2]-0^2=\int_{-\Delta/2}^{\Delta/2}e^2\times\left(\frac{1}{\Delta}\right) de\quad\text{Where $E\thicksim 1/\Delta$ uniform over $(-\Delta/2,\Delta/2)$}\\ + \text{SQNR}&=\frac{\text{Signal power}}{\text{Quantization noise}}\\ + \text{SQNR(dB)}&=10\log_{10}(\text{SQNR}) +\end{align*} +$$ + +### Insert here figure 8.17 from M F Mesiya - Contemporary Communication Systems (Add image to `images/quantizer.png`) + +![quantizer](copyrighted_images/quantizer.png) +![quantizer](images/quantizer.png) + +## Line codes + +![binary_codes](images/Line_Codes.drawio.svg) + +$$ +\begin{align*} + R_b&\rightarrow\text{Bit rate}\\ + D&\rightarrow\text{Symbol rate | }R_d\text{ | }1/T_b\\ + A&\rightarrow m_a\\ + V(f)&\rightarrow\text{Pulse shape}\\ + V_\text{rectangle}(f)&=T\text{sinc}(fT\times\text{DutyCycle})\\ + G_\text{MunipolarNRZ}(f)&=\frac{(M^2-1)A^2D}{12}|V(f)|^2+\frac{(M-1)^2}{4}(DA)^2\sum_{l=-\infty}^{\infty}|V(lD)|^2\delta(f-lD)\\ + G_\text{MpolarNRZ}(f)&=\frac{(M^2-1)A^2D}{3}|V(f)|^2\\ + G_\text{unipolarNRZ}(f)&=\frac{A^2}{4R_b}\left(\text{sinc}^2\left(\frac{f}{R_b}\right)+R_b\delta(f)\right), \text{NB}_0=R_b\\ + G_\text{polarNRZ}(f)&=\frac{A^2}{R_b}\text{sinc}^2\left(\frac{f}{R_b}\right)\\ + G_\text{unipolarNRZ}(f)&=\frac{A^2}{4R_b}\left(\text{sinc}^2\left(\frac{f}{R_b}\right)+R_b\delta(f)\right)\\ + G_\text{unipolarRZ}(f)&=\frac{A^2}{16} \left(\sum _{l=-\infty }^{\infty } \delta \left(f-\frac{l}{T_b}\right) \left| \text{sinc}(\text{duty} \times l) \right| {}^2+T_b \left| \text{sinc}\left(\text{duty} \times f T_b\right) \right| {}^2\right), \text{NB}_0=2R_b +\end{align*} +$$ + +## Modulation and basis functions + +![Constellation diagrams](./images/Constellation.drawio.svg) + +### BASK + +#### Basis functions + +$$ +\begin{align*} + \varphi_1(t) &= \sqrt{\frac{2}{T_b}}\cos(2\pi f_c t)\quad0\leq t\leq T_b\\ +\end{align*} +$$ + +#### Symbol mapping + +$$b_n:\{1,0\}\to a_n:\{1,0\}$$ + +#### 2 possible waveforms + +$$ +\begin{align*} + s_1(t)&=A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=\sqrt{2E_b}\varphi_1(t)\\ + s_1(t)&=0\\ + &\text{Since $E_b=E_\text{average}=\frac{1}{2}(\frac{{A_c}^2}{2}\times T_b + 0)=\frac{{A_c}^2}{4}T_b$} +\end{align*} +$$ + +Distance is $d=\sqrt{2E_b}$ + +### BPSK + +#### Basis functions + +$$ +\begin{align*} + \varphi_1(t) &= \sqrt{\frac{2}{T_b}}\cos(2\pi f_c t)\quad0\leq t\leq T_b\\ +\end{align*} +$$ + +#### Symbol mapping + +$$b_n:\{1,0\}\to a_n:\{1,\color{lime}-1\color{white}\}$$ + +#### 2 possible waveforms + +$$ +\begin{align*} + s_1(t)&=A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=\sqrt{E_b}\varphi_1(t)\\ + s_1(t)&=-A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=-\sqrt{E_b}\varphi_2(t)\\ + &\text{Since $E_b=E_\text{average}=\frac{1}{2}(\frac{{A_c}^2}{2}\times T_b + \frac{{A_c}^2}{2}\times T_b)=\frac{{A_c}^2}{2}T_b$} +\end{align*} +$$ + +Distance is $d=2\sqrt{E_b}$ + +### QPSK ($M=4$ PSK) + +#### Basis functions + +$$ +\begin{align*} + T &= 2 T_b\quad\text{Time per symbol for two bits $T_b$}\\ + \varphi_1(t) &= \sqrt{\frac{2}{T}}\cos(2\pi f_c t)\quad0\leq t\leq T\\ + \varphi_2(t) &= \sqrt{\frac{2}{T}}\sin(2\pi f_c t)\quad0\leq t\leq T\\ +\end{align*} +$$ + +### 4 possible waveforms + +$$ +\begin{align*} + s_1(t)&=\sqrt{E_s/2}\left[\varphi_1(t)+\varphi_2(t)\right]\\ + s_2(t)&=\sqrt{E_s/2}\left[\varphi_1(t)-\varphi_2(t)\right]\\ + s_3(t)&=\sqrt{E_s/2}\left[-\varphi_1(t)+\varphi_2(t)\right]\\ + s_4(t)&=\sqrt{E_s/2}\left[-\varphi_1(t)-\varphi_2(t)\right]\\ +\end{align*} +$$ + +Note on energy per symbol: Since $|s_i(t)|=A_c$, have to normalize distance as follows: + +$$ +\begin{align*} + s_i(t)&=A_c\sqrt{T/2}/\sqrt{2}\times\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ + &=\sqrt{T{A_c}^2/4}\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ + &=\sqrt{E_s/2}\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ +\end{align*} +$$ + +#### Signal + +$$ +\begin{align*} + \text{Symbol mapping: }& \left\{1,0\right\}\to\left\{1,-1\right\}\\ + I(t) &= b_{2n}\varphi_1(t)\quad\text{Even bits}\\ + Q(t) &= b_{2n+1}\varphi_2(t)\quad\text{Odd bits}\\ + x(t) &= A_c[I(t)\cos(2\pi f_c t)-Q(t)\sin(2\pi f_c t)] +\end{align*} +$$ + +### Example of waveform + +
+Code +

+tBitstream[bitstream_, Tb_, title_] := 
+  Module[{timeSteps, gridLines, plot},
+   timeSteps = 
+    Flatten[Table[{(n - 1)     Tb, bitstream[[n]]}, {n, 1, 
+        Length[bitstream]}] /. {t_, v_} :> {{t, v}, {t + Tb, v}}, 1]; 
+   gridLines = {Join[
+      Table[{n  Tb, Dashed}, {n, 1, 2  Length[bitstream], 2}], 
+      Table[{n  Tb, Thin}, {n, 0, 2  Length[bitstream], 2}]], None};
+   plot = 
+    Labeled[ListLinePlot[timeSteps, InterpolationOrder -> 0, 
+      PlotRange -> Full, GridLines -> gridLines, PlotStyle -> Thick, 
+      Ticks -> {Table[{n     Tb, 
+          Row[{n, "\!\(\*SubscriptBox[\(T\), \(b\)]\)"}]}, {n, 0, 
+          Length[bitstream]}], {-1, 0, 1}}, 
+      LabelStyle -> Directive[Bold, 12], 
+      PlotRangePadding -> {Scaled[.05]}, AspectRatio -> 0.1, 
+      ImageSize -> Large], {Style[title, "Text", 16]}, {Right}]];
+
+tBitstream[{0, 1, 0, 0, 1, 0, 1, 1, 1, 0}, 1, "Bitstream Step Plot"]
+tBitstream[{-1, -1, -1, -1, 1, 1, 1, 1, 1, 1}, 1, "I(t)"]
+tBitstream[{1, 1, -1, -1, -1, -1, 1, 1, -1, -1}, 1, "Q(t)"]
+
+ +
+ +Remember that $T=2T_b$ + +| | | +| ----------------------- | ----------------------------------- | +| $b_n$ | ![QPSK bits](/images/qpsk-bits.svg) | +| $I(t)$ (Odd, 1st bits) | ![QPSK bits](/images/qpsk-it.svg) | +| $Q(t)$ (Even, 2nd bits) | ![QPSK bits](/images/qpsk-qt.svg) | + +## Matched filter + +### 1. Filter function + +Find transfer function $h(t)$ of matched filter and apply to an input: + +$$ +\begin{align*} + h(t)&=s_1(T-t)-s_2(T-t)\\ + h(t)&=s^*(T-t) \qquad\text{((.)* is the conjugate)}\\ + s_{on}(t)&=h(t)*s_n(t)=\int_\infty^\infty h(\tau)s_n(t-\tau)d\tau\quad\text{Filter output}\\ + n_o(t)&=h(t)*n(t)\quad\text{Noise at filter output} +\end{align*} +$$ + +### 2. Bit error rate + +Bit error rate (BER) from matched filter outputs and filter output noise + +$$ +\begin{align*} + % H_\text{opt}(f)&=\max_{H(f)}\left(\frac{s_{o1}-s_{o2}}{2\sigma_o}\right) + + % \text{BER}_\text{bin}&=p Q\left(\frac{s_{o1}-V_T}{\sigma_o}\right)+(1-p)Q\left(\frac{V_T-s_{o2}}{\sigma_o}\right)\text{, $p\rightarrow$Probability $s_1(t)$ sent, $V_T\rightarrow$Threshold voltage} + Q(x)&=\frac{1}{2}-\frac{1}{2}\text{erf}\left(\frac{x}{\sqrt{2}}\right)\Leftrightarrow\text{erf}\left(\frac{x}{\sqrt{2}}\right)=1-2Q(x)\\ + E_b&=d^2=\int_{-\infty}^\infty|s_1(t)-s_2(t)|^2dt\quad\text{Energy per bit/Distance}\\ + T&=1/R_b\quad\text{$R_b$: Bitrate}\\ + E_b&=PT=P_\text{av}/R_b\quad\text{Energy per bit}\\ + P(\text{W})&=10^{\frac{P(\text{dB})}{10}}\\ + P_\text{RX}(W)&=P_\text{TX}(W)\cdot10^{\frac{P_\text{loss}(\text{dB})}{10}}\quad \text{$P_\text{loss}$ is expressed with negative sign e.g. "-130 dB"}\\ + \text{BER}_\text{MatchedFilter}&=Q\left(\sqrt{\frac{d^2}{2N_0}}\right)=Q\left(\sqrt{\frac{E_b}{2N_0}}\right)\\ + \text{BER}_\text{unipolarNRZ|BASK}&=Q\left(\sqrt{\frac{d^2}{N_0}}\right)=Q\left(\sqrt{\frac{E_b}{N_0}}\right)\\ + \text{BER}_\text{polarNRZ|BPSK}&=Q\left(\sqrt{\frac{2d^2}{N_0}}\right)=Q\left(\sqrt{\frac{2E_b}{N_0}}\right)\\ +\end{align*} +$$ + +
+ +## Value tables for $\text{erf}(x)$ and $Q(x)$ + +### $\text{erf}(x)$ function + +| $x$ | $\text{erf}(x)$ | $x$ | $\text{erf}(x)$ | $x$ | $\text{erf}(x)$ | +| ------ | --------------- | ------ | --------------- | ------ | --------------- | +| $0.00$ | $0.00000$ | $0.75$ | $0.71116$ | $1.50$ | $0.96611$ | +| $0.05$ | $0.05637$ | $0.80$ | $0.74210$ | $1.55$ | $0.97162$ | +| $0.10$ | $0.11246$ | $0.85$ | $0.77067$ | $1.60$ | $0.97635$ | +| $0.15$ | $0.16800$ | $0.90$ | $0.79691$ | $1.65$ | $0.98038$ | +| $0.20$ | $0.22270$ | $0.95$ | $0.82089$ | $1.70$ | $0.98379$ | +| $0.25$ | $0.27633$ | $1.00$ | $0.84270$ | $1.75$ | $0.98667$ | +| $0.30$ | $0.32863$ | $1.05$ | $0.86244$ | $1.80$ | $0.98909$ | +| $0.35$ | $0.37938$ | $1.10$ | $0.88021$ | $1.85$ | $0.99111$ | +| $0.40$ | $0.42839$ | $1.15$ | $0.89612$ | $1.90$ | $0.99279$ | +| $0.45$ | $0.47548$ | $1.20$ | $0.91031$ | $1.95$ | $0.99418$ | +| $0.50$ | $0.52050$ | $1.25$ | $0.92290$ | $2.00$ | $0.99532$ | +| $0.55$ | $0.56332$ | $1.30$ | $0.93401$ | $2.50$ | $0.99959$ | +| $0.60$ | $0.60386$ | $1.35$ | $0.94376$ | $3.00$ | $0.99998$ | +| $0.65$ | $0.64203$ | $1.40$ | $0.95229$ | $3.30$ | $0.999998$\*\* | +| $0.70$ | $0.67780$ | $1.45$ | $0.95970$ | | | + +### $Q(x)$ function + +| $x$ | $Q(x)$ | $x$ | $Q(x)$ | $x$ | $Q(x)$ | $x$ | $Q(x)$ | +| ------ | ---------- | ------ | ----------------------- | ------ | ------------------------ | ------ | ------------------------ | +| $0.00$ | $0.5 | $2.30$ | $0.010724$ | $4.55$ | $2.6823 \times 10^{-6}$ | $6.80$ | $5.231 \times 10^{-12}$ | +| $0.05$ | $0.48006$ | $2.35$ | $0.0093867$ | $4.60$ | $2.1125 \times 10^{-6}$ | $6.85$ | $3.6925 \times 10^{-12}$ | +| $0.10$ | $0.46017$ | $2.40$ | $0.0081975$ | $4.65$ | $1.6597 \times 10^{-6}$ | $6.90$ | $2.6001 \times 10^{-12}$ | +| $0.15$ | $0.44038$ | $2.45$ | $0.0071428$ | $4.70$ | $1.3008 \times 10^{-6}$ | $6.95$ | $1.8264 \times 10^{-12}$ | +| $0.20$ | $0.42074$ | $2.50$ | $0.0062097$ | $4.75$ | $1.0171 \times 10^{-6}$ | $7.00$ | $1.2798 \times 10^{-12}$ | +| $0.25$ | $0.40129$ | $2.55$ | $0.0053861$ | $4.80$ | $7.9333 \times 10^{-7}$ | $7.05$ | $8.9459 \times 10^{-13}$ | +| $0.30$ | $0.38209$ | $2.60$ | $0.0046612$ | $4.85$ | $6.1731 \times 10^{-7}$ | $7.10$ | $6.2378 \times 10^{-13}$ | +| $0.35$ | $0.36317$ | $2.65$ | $0.0040246$ | $4.90$ | $4.7918 \times 10^{-7}$ | $7.15$ | $4.3389 \times 10^{-13}$ | +| $0.40$ | $0.34458$ | $2.70$ | $0.003467$ | $4.95$ | $3.7107 \times 10^{-7}$ | $7.20$ | $3.0106 \times 10^{-13}$ | +| $0.45$ | $0.32636$ | $2.75$ | $0.0029798$ | $5.00$ | $2.8665 \times 10^{-7}$ | $7.25$ | $2.0839 \times 10^{-13}$ | +| $0.50$ | $0.30854$ | $2.80$ | $0.0025551$ | $5.05$ | $2.2091 \times 10^{-7}$ | $7.30$ | $1.4388 \times 10^{-13}$ | +| $0.55$ | $0.29116$ | $2.85$ | $0.002186$ | $5.10$ | $1.6983 \times 10^{-7}$ | $7.35$ | $9.9103 \times 10^{-14}$ | +| $0.60$ | $0.27425$ | $2.90$ | $0.0018658$ | $5.15$ | $1.3024 \times 10^{-7}$ | $7.40$ | $6.8092 \times 10^{-14}$ | +| $0.65$ | $0.25785$ | $2.95$ | $0.0015889$ | $5.20$ | $9.9644 \times 10^{-8}$ | $7.45$ | $4.667 \times 10^{-14}$ | +| $0.70$ | $0.24196$ | $3.00$ | $0.0013499$ | $5.25$ | $7.605 \times 10^{-8}$ | $7.50$ | $3.1909 \times 10^{-14}$ | +| $0.75$ | $0.22663$ | $3.05$ | $0.0011442$ | $5.30$ | $5.7901 \times 10^{-8}$ | $7.55$ | $2.1763 \times 10^{-14}$ | +| $0.80$ | $0.21186$ | $3.10$ | $0.0009676$ | $5.35$ | $4.3977 \times 10^{-8}$ | $7.60$ | $1.4807 \times 10^{-14}$ | +| $0.85$ | $0.19766$ | $3.15$ | $0.00081635$ | $5.40$ | $3.332 \times 10^{-8}$ | $7.65$ | $1.0049 \times 10^{-14}$ | +| $0.90$ | $0.18406$ | $3.20$ | $0.00068714$ | $5.45$ | $2.5185 \times 10^{-8}$ | $7.70$ | $6.8033 \times 10^{-15}$ | +| $0.95$ | $0.17106$ | $3.25$ | $0.00057703$ | $5.50$ | $1.899 \times 10^{-8}$ | $7.75$ | $4.5946 \times 10^{-15}$ | +| $1.00$ | $0.15866$ | $3.30$ | $0.00048342$ | $5.55$ | $1.4283 \times 10^{-8}$ | $7.80$ | $3.0954 \times 10^{-15}$ | +| $1.05$ | $0.14686$ | $3.35$ | $0.00040406$ | $5.60$ | $1.0718 \times 10^{-8}$ | $7.85$ | $2.0802 \times 10^{-15}$ | +| $1.10$ | $0.13567$ | $3.40$ | $0.00033693$ | $5.65$ | $8.0224 \times 10^{-9}$ | $7.90$ | $1.3945 \times 10^{-15}$ | +| $1.15$ | $0.12507$ | $3.45$ | $0.00028029$ | $5.70$ | $5.9904 \times 10^{-3}$ | $7.95$ | $9.3256 \times 10^{-16}$ | +| $1.20$ | $0.11507$ | $3.50$ | $0.00023263$ | $5.75$ | $4.4622 \times 10^{-9}$ | $8.00$ | $6.221 \times 10^{-16}$ | +| $1.25$ | $0.10565$ | $3.55$ | $0.00019262$ | $5.80$ | $3.3157 \times 10^{-9}$ | $8.05$ | $4.1397 \times 10^{-16}$ | +| $1.30$ | $0.0968$ | $3.60$ | $0.00015911$ | $5.85$ | $2.4579 \times 10^{-9}$ | $8.10$ | $2.748 \times 10^{-16}$ | +| $1.35$ | $0.088508$ | $3.65$ | $0.00013112$ | $5.90$ | $1.8175 \times 10^{-9}$ | $8.15$ | $1.8196 \times 10^{-16}$ | +| $1.40$ | $0.080757$ | $3.70$ | $0.0001078$ | $5.95$ | $1.3407 \times 10^{-9}$ | $8.20$ | $1.2019 \times 10^{-16}$ | +| $1.45$ | $0.073529$ | $3.75$ | $8.8417 \times 10^{-5}$ | $6.00$ | $9.8659 \times 10^{-10}$ | $8.25$ | $7.9197 \times 10^{-17}$ | +| $1.50$ | $0.066807$ | $3.80$ | $7.2348 \times 10^{-5}$ | $6.05$ | $7.2423 \times 10^{-10}$ | $8.30$ | $5.2056 \times 10^{-17}$ | +| $1.55$ | $0.060571$ | $3.85$ | $5.9059 \times 10^{-5}$ | $6.10$ | $5.3034 \times 10^{-10}$ | $8.35$ | $3.4131 \times 10^{-17}$ | +| $1.60$ | $0.054799$ | $3.90$ | $4.8096 \times 10^{-5}$ | $6.15$ | $3.8741 \times 10^{-10}$ | $8.40$ | $2.2324 \times 10^{-17}$ | +| $1.65$ | $0.049471$ | $3.95$ | $3.9076 \times 10^{-5}$ | $6.20$ | $2.8232 \times 10^{-10}$ | $8.45$ | $1.4565 \times 10^{-17}$ | +| $1.70$ | $0.044565$ | $4.00$ | $3.1671 \times 10^{-5}$ | $6.25$ | $2.0523 \times 10^{-10}$ | $8.50$ | $9.4795 \times 10^{-18}$ | +| $1.75$ | $0.040059$ | $4.05$ | $2.5609 \times 10^{-5}$ | $6.30$ | $1.4882 \times 10^{-10}$ | $8.55$ | $6.1544 \times 10^{-18}$ | +| $1.80$ | $0.03593$ | $4.10$ | $2.0658 \times 10^{-5}$ | $6.35$ | $1.0766 \times 10^{-10}$ | $8.60$ | $3.9858 \times 10^{-18}$ | +| $1.85$ | $0.032157$ | $4.15$ | $1.6624 \times 10^{-5}$ | $6.40$ | $7.7688 \times 10^{-11}$ | $8.65$ | $2.575 \times 10^{-18}$ | +| $1.90$ | $0.028717$ | $4.20$ | $1.3346 \times 10^{-5}$ | $6.45$ | $5.5925 \times 10^{-11}$ | $8.70$ | $1.6594 \times 10^{-18}$ | +| $1.95$ | $0.025588$ | $4.25$ | $1.0689 \times 10^{-5}$ | $6.50$ | $4.016 \times 10^{-11}$ | $8.75$ | $1.0668 \times 10^{-18}$ | +| $2.00$ | $0.02275$ | $4.30$ | $8.5399 \times 10^{-6}$ | $6.55$ | $2.8769 \times 10^{-11}$ | $8.80$ | $6.8408 \times 10^{-19}$ | +| $2.05$ | $0.020182$ | $4.35$ | $6.8069 \times 10^{-6}$ | $6.60$ | $2.0558 \times 10^{-11}$ | $8.85$ | $4.376 \times 10^{-19}$ | +| $2.10$ | $0.017864$ | $4.40$ | $5.4125 \times 10^{-6}$ | $6.65$ | $1.4655 \times 10^{-11}$ | $8.90$ | $2.7923 \times 10^{-19}$ | +| $2.15$ | $0.015778$ | $4.45$ | $4.2935 \times 10^{-6}$ | $6.70$ | $1.0421 \times 10^{-11}$ | $8.95$ | $1.7774 \times 10^{-19}$ | +| $2.20$ | $0.013903$ | $4.50$ | $3.3977 \times 10^{-6}$ | $6.75$ | $7.3923 \times 10^{-12}$ | $9.00$ | $1.1286 \times 10^{-19}$ | +| $2.25$ | $0.012224$ | | | | | + +Adapted from table 6.1 M F Mesiya - Contemporary Communication Systems + +\*\*The value of $\text{erf}(3.30)$ should be $\approx0.999997$ instead, but this value is quoted in the formula table. + +### Receiver output shit + +$$ +\begin{align*} + r_o(t)&=\begin{cases} + s_{o1}(t)+n_o(t) & \text{code 1}\\ + s_{o2}(t)+n_o(t) & \text{code 0}\\ + \end{cases}\\ + n&: \text{AWGN with }\sigma_o^2\\ +\end{align*} +$$ + + + +## ISI, channel model + +### Nyquist criterion for zero ISI + +TODO: + +### Nomenclature + +$$ +\begin{align*} + D&\rightarrow\text{Symbol Rate, Max. Signalling Rate}\\ + T&\rightarrow\text{Symbol Duration}\\ + M&\rightarrow\text{Symbol set size}\\ + W&\rightarrow\text{Bandwidth}\\ +\end{align*} +$$ + +### Raised cosine (RC) pulse + +![Raised cosine pulse](images/RC.drawio.svg) + +$$0\leq\alpha\leq1$$ + +⚠ NOTE might not be safe to assume $T'=T$, if you can solve the question without $T$ then use that method. + +To solve this type of question: + +1. Use the formula for $D$ below +2. Consult the BER table below to get the BER which relates the noise of the channel $N_0$ to $E_b$ and to $R_b$. + + + +| Linear modulation ($M$-PSK, $M$-QAM) | NRZ unipolar encoding | +| --------------------------------------------------- | -------------------------------------------------- | +| $W=B_\text{\color{lime}abs-abs}$ | $W=B_\text{\color{lime}abs}$ | +| $W=B_\text{abs-abs}=\frac{1+\alpha}{T}=(1+\alpha)D$ | $W=B_\text{abs}=\frac{1+\alpha}{2T}=(1+\alpha)D/2$ | +| $D=\frac{W\text{ symbol/s}}{1+\alpha}$ | $D=\frac{2W\text{ symbol/s}}{1+\alpha}$ | + +#### Symbol set size $M$ + +$$ +\begin{align*} + D\text{ symbol/s}&=\frac{2W\text{ Hz}}{1+\alpha}\\ + R_b\text{ bit/s}&=(D\text{ symbol/s})\times(k\text{ bit/symbol})\\ + M\text{ symbol/set}&=2^k\\ + E_b&=PT=P_\text{av}/R_b\quad\text{Energy per bit}\\ +\end{align*} +$$ + +### Nyquist stuff + +#### Condition for 0 ISI + +$$ +P_r(kT)=\begin{cases} + 1 & k=0\\ + 0 & k\neq0 +\end{cases} +$$ + +#### Other + +$$ +\begin{align*} + \text{Excess BW}&=B_\text{abs}-B_\text{Nyquist}=\frac{1+\alpha}{2T}-\frac{1}{2T}=\frac{\alpha}{2T}\quad\text{FOR NRZ (Use correct $B_\text{abs}$)}\\ + \alpha&=\frac{\text{Excess BW}}{B_\text{Nyquist}}=\frac{B_\text{abs}-B_\text{Nyquist}}{B_\text{Nyquist}}\\ + T&=1/D +\end{align*} +$$ + +
+ +### Table of bandpass signalling and BER + +| **Binary Bandpass Signaling** | **$B_\text{null-null}$ (Hz)** | **$B_\text{abs-abs}\color{red}=2B_\text{abs}$ (Hz)** | **BER with Coherent Detection** | **BER with Noncoherent Detection** | +| --------------------------------- | -------------------------------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| ASK, unipolar NRZ | $2R_b$ | $R_b (1 + \alpha)$ | $Q\left( \sqrt{E_b / N_0} \right)$ | $0.5\exp(-E_b / (2N_0))$ | +| BPSK | $2R_b$ | $R_b (1 + \alpha)$ | $Q\left( \sqrt{2E_b / N_0} \right)$ | Requires coherent detection | +| Sunde's FSK | $3R_b$ | | $Q\left( \sqrt{E_b / N_0} \right)$ | $0.5\exp(-E_b / (2N_0))$ | +| DBPSK, $M$-ary Bandpass Signaling | $2R_b$ | $R_b (1 + \alpha)$ | | $0.5\exp(-E_b / N_0)$ | +| QPSK/OQPSK (**$M=4$, PSK**) | $R_b$ | $\frac{R_b (1 + \alpha)}{2}$ | $Q\left( \sqrt{2E_b / N_0} \right)$ | Requires coherent detection | +| MSK | $1.5R_b$ | $\frac{3R_b (1 + \alpha)}{4}$ | $Q\left( \sqrt{2E_b / N_0} \right)$ | Requires coherent detection | +| $M$-PSK ($M > 4$) | $2R_b / \log_2 M$ | $\frac{R_b (1 + \alpha)}{\log_2 M}$ | $\frac{2}{\log_2 M} Q\left( \sqrt{2 \log_2 M \sin^2 \left( \pi / M \right) E_b / N_0} \right)$ | Requires coherent detection | +| $M$-DPSK ($M > 4$) | $2R_b / \log_2 M$ | $\frac{R_b (1 + \alpha)}{2 \log_2 M}$ | | $\frac{2}{\log_2 M} Q\left( \sqrt{4 \log_2 M \sin^2 \left( \pi / (2M) \right) E_b / N_0} \right)$ | +| $M$-QAM (Square constellation) | $2R_b / \log_2 M$ | $\frac{R_b (1 + \alpha)}{\log_2 M}$ | $\frac{4}{\log_2 M} \left( 1 - \frac{1}{\sqrt{M}} \right) Q\left( \sqrt{\frac{3 \log_2 M}{M - 1} E_b / N_0} \right)$ | Requires coherent detection | +| $M$-FSK Coherent | $\frac{(M + 3) R_b}{2 \log_2 M}$ | | $\frac{M - 1}{\log_2 M} Q\left( \sqrt{(\log_2 M) E_b / N_0} \right)$ | | +| Noncoherent | $2M R_b / \log_2 M$ | | | $\frac{M - 1}{2 \log_2 M} 0.5\exp({-(\log_2 M) E_b / 2N_0})$ | + +Adapted from table 11.4 M F Mesiya - Contemporary Communication Systems + +### PSD of modulated signals + +| Modulation | $G_x(f)$ | +| ---------- | ------------------------------------------------------------------------------------------------- | +| Quadrature | $\color{red}\frac{{A_c}^2}{4}[G_I(f-f_c)+G_I(f+f_c)+G_Q(f-f_c)+G_Q(f+f_c)]$ | +| Linear | $\color{red}\frac{\|V(f)\|^2}{2}\sum_{l=-\infty}^\infty R(l)\exp(-j2\pi l f T)\quad\text{What??}$ | + +### Symbol error probability + +- Minimum distance between any two point +- Different from bit error since a symbol can contain multiple bits + +## Information theory + +### Entropy for discrete random variables + +$$ +\begin{align*} + H(x) &\geq 0\\ + H(x) &= -\sum_{x_i\in A_x} p_X(x_i) \log_2(p_X(x_i))\\ + H(x,y) &= -\sum_{x_i\in A_x}\sum_{y_i\in A_y} p_{XY}(x_i,y_i)\log_2(p_{XY}(x_i,y_i)) \quad\text{Joint entropy}\\ + H(x,y) &= H(x)+H(y) \quad\text{Joint entropy if $x$ and $y$ independent}\\ + H(x|y=y_j) &= -\sum_{x_i\in A_x} p_X(x_i|y=y_j) \log_2(p_X(x_i|y=y_j)) \quad\text{Conditional entropy}\\ + H(x|y) &= -\sum_{y_j\in A_y} p_Y(y_j) H(x|y=y_j) \quad\text{Average conditional entropy, equivocation}\\ + H(x|y) &= -\sum_{x_i\in A_x}\sum_{y_i\in A_y} p_X(x_i,y_j) \log_2(p_X(x_i|y=y_j))\\ + H(x|y) &= H(x,y)-H(y)\\ + H(x,y) &= H(x) + H(y|x) = H(y) + H(x|y)\\ +\end{align*} +$$ + +Entropy is **maximized** when all have an equal probability. + +### Differential entropy for continuous random variables + +TODO: Cut out if not required + +$$ +\begin{align*} + h(x) &= -\int_\mathbb{R}f_X(x)\log_2(f_X(x))dx +\end{align*} +$$ + +### Mutual information + +Amount of entropy decrease of $x$ after observation by $y$. + +$$ +\begin{align*} + I(x;y) &= H(x)-H(x|y)=H(y)-H(y|x)\\ +\end{align*} +$$ + +### Channel model + +Vertical, $x$: input\ +Horizontal, $y$: output + +$$ +\mathbf{P}=\left[\begin{matrix} + p_{11} & p_{12} &\dots & p_{1N}\\ + p_{21} & p_{22} &\dots & p_{2N}\\ + \vdots & \vdots &\ddots & \vdots\\ + p_{M1} & p_{M2} &\dots & p_{MN}\\ +\end{matrix}\right] +$$ + +$$ +\begin{array}{c|cccc} + P(y_j|x_i)& y_1 & y_2 & \dots & y_N \\ + \hline + x_1 & p_{11} & p_{12} & \dots & p_{1N} \\ + x_2 & p_{21} & p_{22} & \dots & p_{2N} \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + x_M & p_{M1} & p_{M2} & \dots & p_{MN} \\ +\end{array} +$$ + +Input has probability distribution $p_X(a_i)=P(X=a_i)$ + +Channel maps alphabet $\{a_1,\dots,a_M\} \to \{b_1,\dots,b_N\}$ + +Output has probabiltiy distribution $p_Y(b_j)=P(y=b_j)$ + +$$ +\begin{align*} + p_Y(b_j) &= \sum_{i=1}^{M}P[x=a_i,y=b_j]\quad 1\leq j\leq N \\ + &= \sum_{i=1}^{M}P[X=a_i]P[Y=b_j|X=a_i]\\ + [\begin{matrix}p_Y(b_0)&p_Y(b_1)&\dots&p_Y(b_j)\end{matrix}] &= [\begin{matrix}p_X(a_0)&p_X(a_1)&\dots&p_X(a_i)\end{matrix}]\times\mathbf{P} +\end{align*} +$$ + +#### Fast procedure to calculate $I(y;x)$ + +$$ +\begin{align*} + &\text{1. Find }H(x)\\ + &\text{2. Find }[\begin{matrix}p_Y(b_0)&p_Y(b_1)&\dots&p_Y(b_j)\end{matrix}] = [\begin{matrix}p_X(a_0)&p_X(a_1)&\dots&p_X(a_i)\end{matrix}]\times\mathbf{P}\\ + &\text{3. Multiply each row in $\textbf{P}$ by $p_X(a_i)$ since $p_{XY}(x_i,y_i)=P(y_i|x_i)P(x_i)$}\\ + &\text{4. Find $H(x,y)$ using each element from (3.)}\\ + &\text{5. Find }H(x|y)=H(x,y)-H(y)\\ + &\text{6. Find }I(y;x)=H(x)-H(x|y)\\ +\end{align*} +$$ + +### Channel types + +| Type | Definition | +| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| Symmetric channel | Every row is a permutation of every other row, Every column is a permutation of every other column. $\text{Symmetric}\implies\text{Weakly symmetric}$ | +| Weakly symmetric | Every row is a permutation of every other row, Every column has the same sum | + +#### Channel capacity of weakly symmetric channel + +$$ +\begin{align*} + C &\to\text{Channel capacity (bits/channels used)}\\ + N &\to\text{Output alphabet size}\\ + \mathbf{p} &\to\text{Probability vector, any row of the transition matrix}\\ + C &= \log_2(N)-H(\mathbf{p})\quad\text{Capacity for weakly symmetric and symmetric channels}\\ + R &< C \text{ for error-free transmission} +\end{align*} +$$ + +#### Channel capacity of an AWGN channel + +$$ +y_i=x_i+n_i\quad n_i\thicksim N(0,N_0/2) +$$ + +$$ +C=\frac{1}{2}\log_2\left(1+\frac{P_\text{av}}{N_0/2}\right) +$$ + +#### Channel capacity of a bandwidth AWGN channel + +Note: Define XOR ($\oplus$) as exclusive OR, or modulo-2 addition. + +$$ +\begin{align*} + P_s&\to\text{Bandwidth limited average power}\\ + y_i&=\text{bandpass}_W(x_i)+n_i\quad n_i\thicksim N(0,N_0/2)\\ + C&=W\log_2\left(1+\frac{P_s}{N_0 W}\right)\\ + C&=W\log_2(1+\text{SNR})\quad\text{SNR}=P_s/(N_0 W) +\end{align*} +$$ + +## Channel code + +| | | | +| ---------------- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| Hamming weight | $w_H(x)$ | Number of `'1'` in codeword $x$ | +| Hamming distance | $d_H(x_1,x_2)=w_H(x_1\oplus x_2)$ | Number of different bits between codewords $x_1$ and $x_2$ which is the hamming weight of the XOR of the two codes. | +| Minimum distance | $d_\text{min}$ | **IMPORTANT**: $x\neq\bold{0}$, excludes weight of all-zero codeword. For a linear block code, $d_\text{min}=w_\text{min}$ | + +### Linear block code + +Code is $(n,k)$ + +$n$ is the width of a codeword + +$2^k$ codewords + +A linear block code must be a subspace and satisfy both: + +1. Zero vector must be present at least once +2. The XOR of any codeword pair in the code must result in a codeword that is already present in the code table. + +For a linear block code, $d_\text{min}=w_\text{min}$ + +### Code generation + +Each generator vector is a binary string of size $n$. There are $k$ generator vectors in $\mathbf{G}$. + +$$ +\begin{align*} +\mathbf{g}_i&=[\begin{matrix} + g_{i,0}& \dots & g_{i,n-2} & g_{i,n-1} +\end{matrix}]\\ +\color{darkgray}\mathbf{g}_0&\color{darkgray}=[1010]\quad\text{Example for $n=4$}\\ +\mathbf{G}&=\left[\begin{matrix} + \mathbf{g}_0\\ + \mathbf{g}_1\\ + \vdots\\ + \mathbf{g}_{k-1}\\ +\end{matrix}\right]=\left[\begin{matrix} + g_{0,0}& \dots & g_{0,n-2} & g_{0,n-1}\\ + g_{1,0}& \dots & g_{1,n-2} & g_{1,n-1}\\ + \vdots & \ddots & \vdots & \vdots\\ + g_{k-1,0}& \dots & g_{k-1,n-2} & g_{k-1,n-1}\\ +\end{matrix}\right] +\end{align*} +$$ + +A message block $\mathbf{m}$ is coded as $\mathbf{x}$ using the generation codewords in $\mathbf{G}$: + +$$ +\begin{align*} +\mathbf{m}&=[\begin{matrix} + m_{0}& \dots & m_{n-2} & m_{k-1} +\end{matrix}]\\ +\color{darkgray}\mathbf{m}&\color{darkgray}=[101001]\quad\text{Example for $k=6$}\\ +\mathbf{x} &= \mathbf{m}\mathbf{G}=m_0\mathbf{g}_0+m_1\mathbf{g}_1+\dots+m_{k-1}\mathbf{g}_{k-1} +\end{align*} +$$ + +### Systemic linear block code + +Contains $k$ message bits (Copy $\mathbf{m}$ as-is) and $(n-k)$ parity bits after the message bits. + +$$ +\begin{align*} +\mathbf{G}&=\begin{array}{c|c}[\mathbf{I}_k & \mathbf{P}]\end{array}=\left[ + \begin{array}{c|c} + \begin{matrix} + 1 & 0 & \dots & 0\\ + 0 & 1 & \dots & 0\\ + \vdots & \vdots & \ddots & \vdots\\ + 0& 0 & \dots & 1\\ +\end{matrix} +& +\begin{matrix} + p_{0,0}& \dots & p_{0,n-2} & p_{0,n-1}\\ + p_{1,0}& \dots & p_{1,n-2} & p_{1,n-1}\\ + \vdots & \ddots & \vdots & \vdots\\ + p_{k-1,0}& \dots & p_{k-1,n-2} & p_{k-1,n-1}\\ +\end{matrix}\end{array}\right]\\ +\mathbf{m}&=[\begin{matrix} + m_{0}& \dots & m_{n-2} & m_{k-1} +\end{matrix}]\\ +\mathbf{x} &= \mathbf{m}\mathbf{G}= \mathbf{m} \begin{array}{c|c}[\mathbf{I}_k & \mathbf{P}]\end{array}=\begin{array}{c|c}[\mathbf{mI}_k & \mathbf{mP}]\end{array}=\begin{array}{c|c}[\mathbf{m} & \mathbf{b}]\end{array}\\ +\mathbf{b} &= \mathbf{m}\mathbf{P}\quad\text{Parity bits of $\mathbf{x}$} +\end{align*} +$$ + +#### Parity check matrix $\mathbf{H}$ + +Transpose $\mathbf{P}$ for the parity check matrix + +$$ +\begin{align*} +\mathbf{H}&=\begin{array}{c|c}[\mathbf{P}^\text{T} & \mathbf{I}_{n-k}]\end{array}\\ +&=\left[ + \begin{array}{c|c} + \begin{matrix} + {\textbf{p}_0}^\text{T} & {\textbf{p}_1}^\text{T} & \dots & {\textbf{p}_{k-1}}^\text{T} + \end{matrix} + & + \mathbf{I}_{n-k}\end{array}\right]\\ +&=\left[ + \begin{array}{c|c} + \begin{matrix} + p_{0,0}& \dots & p_{0,k-2} & p_{0,k-1}\\ + p_{1,0}& \dots & p_{1,k-2} & p_{1,k-1}\\ + \vdots & \ddots & \vdots & \vdots\\ + p_{n-1,0}& \dots & p_{n-1,k-2} & p_{n-1,k-1}\\ + \end{matrix} + & + \begin{matrix} + 1 & 0 & \dots & 0\\ + 0 & 1 & \dots & 0\\ + \vdots & \vdots & \ddots & \vdots\\ + 0& 0 & \dots & 1\\ +\end{matrix}\end{array}\right]\\ +\mathbf{xH}^\text{T}&=\mathbf{0}\implies\text{Codeword is valid} +\end{align*} +$$ + +#### Procedure to find parity check matrix from list of codewords + +1. From the number of codewords, find $k=\log_2(N)$ +2. Partition codewords into $k$ information bits and remaining bits into $n-k$ parity bits. The information bits should be a simple counter (?). +3. Express parity bits as a linear combination of information bits +4. Put coefficients into $\textbf{P}$ matrix and find $\textbf{H}$ + +Example: + +$$ +\begin{array}{cccc} + x_1 & x_2 & x_3 & x_4 & x_5 \\ + \hline + \color{magenta}1&\color{magenta}0&1&1&0\\ + \color{magenta}0&\color{magenta}1&1&1&1\\ + \color{magenta}0&\color{magenta}0&0&0&0\\ + \color{magenta}1&\color{magenta}1&0&0&1\\ +\end{array} +$$ + +Set $x_1,x_2$ as information bits. Express $x_3,x_4,x_5$ in terms of $x_1,x_2$. + +$$ +\begin{align*} +\begin{align*} + x_3 &= x_1\oplus x_2\\ + x_4 &= x_1\oplus x_2\\ + x_5 &= x_2\\ +\end{align*} +\implies\textbf{P}&= +\begin{array}{c|ccc} + & x_1 & x_2 \\ + \hline + x_3&1&1&\\ + x_4&1&1&\\ + x_5&0&1&\\ +\end{array}\\ +\textbf{H}&=\left[ + \begin{array}{c|c} + \begin{matrix} + 1&1\\ + 1&1\\ + 0&1\\ + \end{matrix} + & + \begin{matrix} + 1 & 0 & 0\\ + 0 & 1 & 0\\ + 0 & 0 & 1\\ +\end{matrix}\end{array}\right] +\end{align*} +$$ + +#### Error detection and correction + +**Detection** of $s$ errors: $d_\text{min}\geq s+1$ + +**Correction** of $u$ errors: $d_\text{min}\geq 2u+1$ + +## CHECKLIST + +- Transfer function in complex envelope form ($\tilde{h}(t)$) should be divided by two. +- Convolutions: do not forget width when using graphical method +- todo: add more items to check diff --git a/images/Constellation.drawio.svg b/images/Constellation.drawio.svg new file mode 100644 index 0000000..590c981 --- /dev/null +++ b/images/Constellation.drawio.svg @@ -0,0 +1,4 @@ + + + +
BASK constellation
QPSK constellation
BPSK constellation
\ No newline at end of file diff --git a/images/Line_Codes.drawio.svg b/images/Line_Codes.drawio.svg new file mode 100644 index 0000000..3a593e9 --- /dev/null +++ b/images/Line_Codes.drawio.svg @@ -0,0 +1,4 @@ + + + +
1
0
1
0
1
1
1
0
0
Unipolar NRZ
Polar NRZ
NRZ-inverted NRZ-i
Bipolar RZ
Manchester
Differential
Manchester
\ No newline at end of file diff --git a/images/Nyquist_frequency_&_rate.svg b/images/Nyquist_frequency_&_rate.svg new file mode 100644 index 0000000..e68f765 --- /dev/null +++ b/images/Nyquist_frequency_&_rate.svg @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bandlimited channel + + + + + + + + + + + + B + + + + + + 0 + + + + + + 2B + + + + + + + fs + + + + + + ½ + + + + + + + fs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frequency + + + + + + Nyquist frequency + + + + + + Sample rate + + + + + + Nyquist rate + + + + + + + + + + + + + Relationship of Nyquist frequency & rate (example) + + + + + + + + + \ No newline at end of file diff --git a/images/RC.drawio.svg b/images/RC.drawio.svg new file mode 100644 index 0000000..f5140b5 --- /dev/null +++ b/images/RC.drawio.svg @@ -0,0 +1,4 @@ + + + +
$$0.5T...
$$1.0T...
$$\frac...
$$\frac{1+\alpha}...
$$\frac...
$$-\fra...
$$-\fra...
$$-\fr...
$$\frac{T'}{2}\left(1+\cos\left(\frac{\pi T}{\alpha}\left[|f|-\frac{1-\alpha}{2T}\right]\right)\right)$$
$$V_\t...
sometimes???
$$T'=T$$ sometimes???
$$0.5T...
$$1.0T...
$$\frac...
$$\frac{1+\al...
$$\frac...
$$V_\t...
Linear modulation RC pulse
Linear modulation RC pulse
NRZ unipolar RC pulse
NRZ unipolar RC pulse
$$0$$
$$0$$
$$W=B_\text{abs}$$
$$W=B_\text{abs-abs}$$
\ No newline at end of file diff --git a/images/qpsk-bits.svg b/images/qpsk-bits.svg new file mode 100644 index 0000000..cf65b30 --- /dev/null +++ b/images/qpsk-bits.svg @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/qpsk-it.svg b/images/qpsk-it.svg new file mode 100644 index 0000000..f8117c7 --- /dev/null +++ b/images/qpsk-it.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/qpsk-qt.svg b/images/qpsk-qt.svg new file mode 100644 index 0000000..e084b6e --- /dev/null +++ b/images/qpsk-qt.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/rect.drawio.svg b/images/rect.drawio.svg new file mode 100644 index 0000000..956ef3f --- /dev/null +++ b/images/rect.drawio.svg @@ -0,0 +1,4 @@ + + + +
\ No newline at end of file