Example: bankruptcy

Think DSP - Green Tea Press

Think DSPD igital signal processing in PythonVersion DSPD igital signal processing in PythonVersion B. DowneyGreen Tea PressNeedham, MassachusettsCopyright 2014 Allen B. Tea Press9 Washburn AveNeedham MA 02492 Permission is granted to copy, distribute, and/or modify this documentunder the terms of the Creative Commons Unported License, which is available processing is one of my favorite topics. It is useful in many areas ofscience and engineering, and if you understand the fundamental ideas, itprovides insight into many things we see in the world, and especially thethings we unless you studied electrical or mechanical engineering, you probablyhaven t had a chance to learn about signal processing .

Think DSP Digital Signal Processing in Python Version 1.0.9 Allen B. Downey Green Tea Press Needham, Massachusetts

Tags:

  Processing, Signal, Digital, Think, Think dsp, Think dsp digital signal processing

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Think DSP - Green Tea Press

1 Think DSPD igital signal processing in PythonVersion DSPD igital signal processing in PythonVersion B. DowneyGreen Tea PressNeedham, MassachusettsCopyright 2014 Allen B. Tea Press9 Washburn AveNeedham MA 02492 Permission is granted to copy, distribute, and/or modify this documentunder the terms of the Creative Commons Unported License, which is available processing is one of my favorite topics. It is useful in many areas ofscience and engineering, and if you understand the fundamental ideas, itprovides insight into many things we see in the world, and especially thethings we unless you studied electrical or mechanical engineering, you probablyhaven t had a chance to learn about signal processing .

2 The problem is thatmost books (and the classes that use them) present the material bottom-up,starting with mathematical abstractions like phasors. And they tend to betheoretical, with few applications and little apparent premise of this book is that if you know how to program, you can usethat skill to learn other things, and have fun doing a programming-based approach, I can present the most importantideas right away. By the end of the first chapter, you can analyze soundrecordings and other signals, and generate new sounds. Each chapter intro-duces a new technique and an application you can apply to real signals. Ateach step you learn how to use a technique first, and then how it approach is more practical and, I hope you ll agree, more Who is this book for?

3 The examples and supporting code for this book are in Python. You shouldknow core Python and you should be familiar with object-oriented features,at least using objects if not defining your you are not already familiar with Python, you might want to start withmy other book, Think Python, which is an introduction to Python for peoplewho have never programmed, or Mark Lutz sLearning Python, which mightbe better for people with programming 0. PrefaceI use NumPy and SciPy extensively. If you are familiar with them already,that s great, but I will also explain the functions and data structures I assume that the reader knows basic mathematics, including complex num-bers.

4 You don t need much calculus; if you understand the concepts of inte-gration and differentiation, that will do. I use some linear algebra, but I willexplain it as we go Using the codeThe code and sound samples used in this book are available Git is a version control system thatallows you to keep track of the files that make up a project. A collection offiles under Git s control is called a repository . GitHub is a hosting servicethat provides storage for Git repositories and a convenient web GitHub homepage for my repository provides several ways to workwith the code: You can create a copy of my repository on GitHub by pressing theForkbutton. If you don t already have a GitHub account, you ll need tocreate one.

5 After forking, you ll have your own repository on GitHubthat you can use to keep track of code you write while working on thisbook. Then you can clone the repository, which means that you copythe files to your computer. Or you could clone my repository. You don t need a GitHub accountto do this, but you won t be able to write your changes back to GitHub. If you don t want to use Git at all, you can download the files in a Zipfile using the button in the lower-right corner of the GitHub of the code is written to work in both Python 2 and Python 3 with developed this book using Anaconda from Continuum Analytics, whichis a free Python distribution that includes all the packages you ll need torun the code (and lots more).

6 I found Anaconda easy to install. By defaultit does a user-level installation, not system-level, so you don t need admin-istrative privileges. And it supports both Python 2 and Python 3. You candownload Anaconda you don t want to use Anaconda, you will need the following Using the codevii NumPy for basic numerical computation, ; SciPy for scientific computation, ; matplotlib for visualization, these are commonly used packages, they are not included with allPython installations, and they can be hard to install in some you have trouble installing them, I recommend using Anaconda or one ofthe other Python distributions that include these exercises use Python scripts, but some also use Jupyter notebooks.

7 Ifyou have not used Jupyter before, you can read about it are three ways you can work with the Jupyter notebooks:Run Jupyter on your computerIf you installed Anaconda, you probablygot Jupyter by default. To check, start the server from the commandline, like this:$ jupyter notebookIf it s not installed, you can install it in Anaconda like this$ conda install jupyterWhen you start the server, it should launch your default web browseror create a new tab in an open browser Jupyter on BinderBinder is a service that runs Jupyter in a vir-tual machine. If you follow this link, , you should get a Jupyter home page with thenotebooks for this book and the supporting data and can run the scripts and modify them to run your own code, butthe virtual machine you run in is temporary.

8 Any changes you makewill disappear, along with the virtual machine, if you leave it idle formore than about an notebooks on nbviewerWhen we refer to notebooks later in thebook, we provide links to nbviewer, which provides a static view ofthe code and results. You can use these links to read the notebooksand listen to the examples, but you won t be able to modify or run thecode, or use the interactive luck, and have fun!viiiChapter 0. PrefaceContributor ListIf you have a suggestion or correction,please send email I make a change based on your feed-back, I will add you to the contributor list (unless you ask to be omitted).

9 If you include at least part of the sentence the error appears in, that makesit easy for me to search. Page and section numbers are fine, too, but not aseasy to work with. Thanks! Before I started writing, my thoughts about this book benefited from con-versations with Boulos Harb at Google and Aurelio Ramos, formerly at Har-monix Music Systems. During the Fall 2013 semester, Nathan Lintz and Ian Daniher worked withme on an independent study project and helped me with the first draft of thisbook. On Reddit s DSP forum, the anonymous user RamjetSoundwave helped mefix a problem with my implementation of Brownian Noise. And andodlifound a typo. In Spring 2015 I had the pleasure of teaching this material along with Mur-Miranda and Prof.

10 Siddhartan Govindasamy. Both made manysuggestions and corrections. Giuseppe Masetti sent a number of very helpful suggestions. Kim Cofer copyedited the entire book, found many errors, and made manyhelpful people who found typos and errors include Silas Gyger and Abe thanks to the technical reviewers, Eric Peters, Bruce Levens, and John Vin-cent, for many helpful suggestions, clarifications, and thanks to Freesound, which is the source of many of the sound samples I usein this book, and to the Freesound users who contributed those samples. I includesome of their wave files in the GitHub repository for this book, using the originalfile names, so it should be easy to find their , most Freesound users don t make their real names available, so Ican only thank them by their user names.


Related search queries