Easy and Affordable Digital Signal Processing
The aim of this book is to teach the basic principles of Digital Signal Processing (DSP) and to introduce it from a practical point of view using the bare minimum of mathematics. Only the basic level of discrete-time systems theory is given, sufficient to implement DSP applications in real time. The practical implementations are described in real time using the highly popular ESP32 DevKitC microcontroller development board. With the low cost and extremely popular ESP32 microcontroller, you should be able to design elementary DSP projects with sampling frequencies within the audio range. All programming is done using the popular Arduino IDE in conjunction with the C language compiler.
After laying a solid foundation of DSP theory and pertinent discussions on the main DSP software tools on the market, the book presents the following audio-based sound and DSP projects:
Using an I²S-based digital microphone to capture audio sound
Using an I²S-based class-D audio amplifier and speaker
Playing MP3 music stored on an SD card through an I²S-based amplifier and speaker
Playing MP3 music files stored in ESP32 flash memory through an I²S-based amplifier and speaker
Mono and stereo Internet radio with I²S-based amplifiers and speakers
Text-to-speech output with an I²S-based amplifier and speaker
Using the volume control in I²S-based amplifier and speaker systems
A speaking event counter with an I²S-based amplifier and speaker
An adjustable sinewave generator with I²S-based amplifier and speaker
Using the Pmod I²S2 24-bit fast ADC/DAC module
Digital low-pass and band-pass real-time FIR filter design with external and internal A/D and D/A conversion
Digital low-pass and band-pass real-time IIR filter design with external and internal A/D and D/A conversion
Fast Fourier Transforms (FFT)
Traitement du signal numérique simple et abordable
Le but de cet ouvrage est d'enseigner les principes de base du Traitement Numérique du Signal (DSP) et de l'introduire d'un point de vue pratique en utilisant le strict minimum de mathématiques. Seul le niveau de base de la théorie des systèmes à temps discret est donné, suffisant pour implémenter des applications DSP en temps réel. Les implémentations pratiques sont décrites en temps réel à l'aide de la très populaire carte de développement de microcontrôleur ESP32 DevKitC. Avec le microcontrôleur ESP32, peu coûteux et extrêmement populaire, vous devriez être en mesure de concevoir des projets DSP élémentaires avec des fréquences d'échantillonnage comprises dans la plage audio. Toute la programmation est effectuée à l'aide du populaire IDE Arduino en conjonction avec le compilateur en langage C.
Après avoir posé une base solide de la théorie DSP et des discussions pertinentes sur les principaux outils logiciels DSP du marché, le livre présente les projets audio et DSP suivants :
Utilisation d'un microphone numérique basé sur I²S pour capturer le son audio
Utilisation d'un amplificateur audio et d'un haut-parleur de classe D basés sur I²S
Lecture de musique MP3 stockée sur une carte SD via un amplificateur et un haut-parleur basés sur I²S
Lecture de fichiers de musique MP3 stockés dans la mémoire flash ESP32 via un amplificateur et un haut-parleur basés sur I²S
Radio Internet mono et stéréo avec amplificateurs et haut-parleurs basés sur I²S
Sortie de synthèse vocale avec un amplificateur et un haut-parleur basés sur I²S
Utilisation du contrôle du volume dans les systèmes d'amplificateurs et de haut-parleurs basés sur I²S
Un compteur d'événements parlants avec un amplificateur et un haut-parleur basés sur I²S
Un générateur d'onde sinusoïdale réglable avec amplificateur et haut-parleur basés sur I²S
Utilisation du module ADC/DAC rapide 24 bits Pmod I²S2
Conception de filtre FIR numérique passe-bas et passe-bande en temps réel avec conversion A/D et D/A externe et interne
Conception de filtre IIR numérique passe-bas et passe-bande en temps réel avec conversion A/D et D/A externe et interne
Transformations de Fourier rapides (FFT)
Practical Introduction to 3D Modeling from Enclosure to Front Panel
Embedding a vintage component, creating a professional looking home for a circuit board, or even designing a complex apparatus complete with a chassis – these and many other challenges turn into a stimulating pleasure with FreeCAD. Once you have internalized the basic processes, there are virtually no limits to your imagination.
Starting to use a new software is never straightforward – especially with a tool as versatile as FreeCAD. Manageable, but at the same time easily usable individual components provide the starting point in this book. Putting these components together later results in assemblies.
In the FreeCAD universe, a workable trajectory is demonstrated. The described procedure is illustrative so the examples are easily applied to custom tasks. The devices were made by the author and illustrated with photos.
Creating a 3D design is requiring some effort but the initial investment pays off soon. Besides the impressive spatial representation of the projects, the extracted drawings yield a solid base for documentation and production. Extended FreeCAD capabilities like the unfolding of sheet metal parts enormously add to efficiency and pushes models forward into practical assembly.
Soon you will definitely not want to do without FreeCAD!
Program and build Arduino-based ham station utilities, tools, and instruments
In addition to a detailed introduction to the exciting world of the Arduino microcontroller and its many variants, this book introduces you to the shields, modules, and components you can connect to the Arduino. Many of these components are discussed in detail and used in the projects included in this book to help you understand how these components can be incorporated into your own Arduino projects. Emphasis has been placed on designing and creating a wide range of amateur radio-related projects that can easily be built in just a few days.
This book is written for ham radio operators and Arduino enthusiasts of all skill levels, and includes discussions about the tools, construction methods, and troubleshooting techniques used in creating amateur radio-related Arduino projects. The book teaches you how to create feature-rich Arduino-based projects, with the goal of helping you to advance beyond this book, and design and build your own ham radio Arduino projects.
In addition, this book describes in detail the design, construction, programming, and operation of the following projects:
CW Beacon and Foxhunt Keyer
Mini Weather Station
RF Probe with LED Bar Graph
DTMF Tone Encoder
DTMF Tone Decoder
Waveform Generator
Auto Power On/Off
Bluetooth CW Keyer
Station Power Monitor
AC Current Monitor
This book assumes a basic knowledge of electronics and circuit construction. Basic knowledge of how to program the Arduino using its IDE will also be beneficial.
Le PC a depuis longtemps dépassé sa fonction d’ordinateur pur et est devenu une machine à tout faire. Ce livre s'adresse aux personnes qui souhaitent contrôler du matériel existant ou construit par elles-mêmes depuis leur ordinateur.
En utilisant Visual Basic comme outil de développement rapide d'applications, nous vous emmènerons dans un voyage pour ouvrir le monde au-delà des connecteurs du PC. Après vous être familiarisé avec Visual Basic, son environnement de développement et l'ensemble d'outils qu'il propose, des éléments tels que les communications série, les ports d'imprimante, le bit-banging, l'émulation de protocole, l'interfaçage ISA, USB et Ethernet et le contrôle à distance des équipements de test sur le bus GPIB, sont couverts dans leur étendue. Chaque sujet est accompagné d'un code clair, prêt à être exécuté, et si nécessaire, des schémas sont fournis qui permettront à vos projets d'être opérationnels en un rien de temps.
Ce livre vous montrera des choses avancées telles que : utiliser des outils comme Debug pour trouver des adresses matérielles, configurer une communication à distance à l'aide de sockets TCP/IP et UDP et même écrire vos propres serveurs Internet. Ou que diriez-vous de connecter votre propre bloc de matériel via USB ou Ethernet et de le contrôler depuis Visual Basic. D'autres éléments tels que la communication entre programmes Internet, DDE et la nouvelle interface graphique de Windows XP sont également couverts. Tous les exemples sont prêts à être compilés en utilisant Visual Basic 5.0, 6.0, NET ou 2005. Une couverture complète est donnée sur les différences entre ce que l'on pourrait appeler Visual Basic Classic et Visual basic .NET/2005.
Learn to use Python productively in real-life scenarios at work and in everyday life
If you have mastered the basics of Python and are wanting to explore the language in more depth, this book is for you. By means of concrete examples used in different applications, the book illustrates many aspects of programming (e.g. algorithms, recursion, data structures) and helps problem-solving strategies. Including general ideas and solutions, the specifics of Python and how these can be practically applied are discussed.
Python 3 for Science and Engineering Applications includes:
practical and goal-oriented learning
basic Python techniques
modern Python 3.6+ including comprehensions, decorators and generators
complete code available online
more than 40 exercises, solutions documented online
no additional packages or installation required, 100% pure
Python Topics cover:
identifying large prime numbers and computing Pi
writing and understanding recursive functions with memorisation
computing in parallel and utilising all system cores
processing text data and encrypting messages
comprehending backtracking and solving Sudokus
analysing and simulating games of chance to develop optimal winning strategies
handling genetic code and generating extremely long palindromes
Downloads
Software
Practical Introduction to 3D Modeling from Enclosure to Front Panel
Embedding a vintage component, creating a professional looking home for a circuit board, or even designing a complex apparatus complete with a chassis – these and many other challenges turn into a stimulating pleasure with FreeCAD. Once you have internalized the basic processes, there are virtually no limits to your imagination.
Starting to use a new software is never straightforward – especially with a tool as versatile as FreeCAD. Manageable, but at the same time easily usable individual components provide the starting point in this book. Putting these components together later results in assemblies.
In the FreeCAD universe, a workable trajectory is demonstrated. The described procedure is illustrative so the examples are easily applied to custom tasks. The devices were made by the author and illustrated with photos.
Creating a 3D design is requiring some effort but the initial investment pays off soon. Besides the impressive spatial representation of the projects, the extracted drawings yield a solid base for documentation and production. Extended FreeCAD capabilities like the unfolding of sheet metal parts enormously add to efficiency and pushes models forward into practical assembly.
Soon you will definitely not want to do without FreeCAD!
Program and build Arduino-based ham station utilities, tools, and instruments
In addition to a detailed introduction to the exciting world of the Arduino microcontroller and its many variants, this book introduces you to the shields, modules, and components you can connect to the Arduino. Many of these components are discussed in detail and used in the projects included in this book to help you understand how these components can be incorporated into your own Arduino projects. Emphasis has been placed on designing and creating a wide range of amateur radio-related projects that can easily be built in just a few days.
This book is written for ham radio operators and Arduino enthusiasts of all skill levels, and includes discussions about the tools, construction methods, and troubleshooting techniques used in creating amateur radio-related Arduino projects. The book teaches you how to create feature-rich Arduino-based projects, with the goal of helping you to advance beyond this book, and design and build your own ham radio Arduino projects.
In addition, this book describes in detail the design, construction, programming, and operation of the following projects:
CW Beacon and Foxhunt Keyer
Mini Weather Station
RF Probe with LED Bar Graph
DTMF Tone Encoder
DTMF Tone Decoder
Waveform Generator
Auto Power On/Off
Bluetooth CW Keyer
Station Power Monitor
AC Current Monitor
This book assumes a basic knowledge of electronics and circuit construction. Basic knowledge of how to program the Arduino using its IDE will also be beneficial.
For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
Learn programming for Alexa devices, extend it to smart home devices and control the Raspberry Pi
The book is split into two parts: the first part covers creating Alexa skills and the second part, designing Internet of Things and Smart Home devices using a Raspberry Pi.
The first chapters describe the process of Alexa communication, opening an Amazon account and creating a skill for free. The operation of an Alexa skill and terminology such as utterances, intents, slots, and conversations are explained. Debugging your code, saving user data between sessions, S3 data storage and Dynamo DB database are discussed.
In-skill purchasing, enabling users to buy items for your skill as well as certification and publication is outlined. Creating skills using AWS Lambda and ASK CLI is covered, along with the Visual Studio code editor and local debugging. Also covered is the process of designing skills for visual displays and interactive touch designs using Alexa Presentation Language.
The second half of the book starts by creating a Raspberry Pi IoT 'thing' to control a robot from your Alexa device. This covers security issues and methods of sending and receiving MQTT messages between an Alexa device and the Raspberry Pi.
Creating a smart home device is described including forming a security profile, linking with Amazon, and writing a Lambda function that gets triggered by an Alexa skill. Device discovery and on/off control is demonstrated.
Next, readers discover how to control a smart home Raspberry Pi display from an Alexa skill using Simple Queue Service (SQS) messaging to switch the display on and off or change the color.
A node-RED design is discussed from the basic user interface right up to configuring MQTT nodes. MQTT messages sent from a user are displayed on a Raspberry Pi.
A chapter discusses sending a proactive notification such as a weather alert from a Raspberry Pi to an Alexa device. The book concludes by explaining how to create Raspberry Pi as a stand-alone Alexa device.
For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
Learn programming for Alexa devices, extend it to smart home devices and control the Raspberry Pi
The book is split into two parts: the first part covers creating Alexa skills and the second part, designing Internet of Things and Smart Home devices using a Raspberry Pi.
The first chapters describe the process of Alexa communication, opening an Amazon account and creating a skill for free. The operation of an Alexa skill and terminology such as utterances, intents, slots, and conversations are explained. Debugging your code, saving user data between sessions, S3 data storage and Dynamo DB database are discussed.
In-skill purchasing, enabling users to buy items for your skill as well as certification and publication is outlined. Creating skills using AWS Lambda and ASK CLI is covered, along with the Visual Studio code editor and local debugging. Also covered is the process of designing skills for visual displays and interactive touch designs using Alexa Presentation Language.
The second half of the book starts by creating a Raspberry Pi IoT 'thing' to control a robot from your Alexa device. This covers security issues and methods of sending and receiving MQTT messages between an Alexa device and the Raspberry Pi.
Creating a smart home device is described including forming a security profile, linking with Amazon, and writing a Lambda function that gets triggered by an Alexa skill. Device discovery and on/off control is demonstrated.
Next, readers discover how to control a smart home Raspberry Pi display from an Alexa skill using Simple Queue Service (SQS) messaging to switch the display on and off or change the color.
A node-RED design is discussed from the basic user interface right up to configuring MQTT nodes. MQTT messages sent from a user are displayed on a Raspberry Pi.
A chapter discusses sending a proactive notification such as a weather alert from a Raspberry Pi to an Alexa device. The book concludes by explaining how to create Raspberry Pi as a stand-alone Alexa device.