Signal processing allows us to transform, analyze and utilize the vast amount of information in our digital world. Traditional signal processing environments are usually just programming tools and while they may help you do the number crunching, they don't maximize the value of your work.

This whitepaper explores the value that Maple brings to signal processing analyses.

Signal processing allows us to transform, analyze and utilize the vast amount of information in our digital world. Signal processing techniques are used widely by a broad swathe of engineers:

- A biomedical engineer may want to smooth blood pressure and pulse data,
- An automotive engineer may want to analyze an engine sound to identify characteristic frequencies, or
- An electrical engineer may want to model ultrasound transmission through a band gap medium.

Traditional signal processing environments are usually just programming tools and while they may help you do the number crunching, they don't maximize the value of your work. The value of your work is the sum of several tangible and intangible factors, and includes:

- Calculations - the core of your analyses
- Documentation - the thought processes and assumptions behind the calculations
- Deployment - the methods with which your analyses can be shared with clients and colleagues
- Extensibility - the degree to which your analyses can be extended for different or more sophisticated problems
- Auditability - the ease with which your work can be verified by you or someone else, and
- Reliability - the degree to which your calculations can be trusted.

Most signal processing tools only address the first requirement - the calculations. Maple, however, provides an environment in which all requirements are satisfied; this, in effect, helps you manage your technical work. This whitepaper explores the value that Maple brings to signal processing analyses.

Many traditional signal processing tools are essentially coding environments where documentation has to be written within code comments, or created externally in a word processor. Typically, plots are generated in separate windows, creating a disconnect between the conceptual and visual components of the project.

This disconnect means there's little feedback between the context of the application, the commands and the results. A continuous, smooth flow of feedback is critical to increased productivity, especially if you're developing new algorithms, exploring the solution space, or simply investigating concepts. Without clear documentation, it's difficult to pass the ideas and work flow of a project to other people, or collaborate efficiently within a team.

A Maple document is a rich environment for performing and documenting math-based analyses, allowing the full history of a project to be maintained. You can include equations in natural math notation, alongside explanatory, fully formatted text, just like in a word processing environment. Plots appear in the worksheet, right after the command used to create them, and you can copy and paste in pictures and other visual elements to illustrate an idea. This means that you can capture the assumptions and background information, as well as the reasoning, insights and calculations, in one single document, keeping a complete record of the project work flow that can easily be updated.

**Figure 1:** Capture calculations and documenation in Maple.

Equations can be written in natural math notation. These are easier to read and audit than those written in programming notation.

**Figure 2:** "Live" equation in natural math notation.

Maple also offers a broad range of technical visualization tools, including standard 2-D and 3-D plots, polar plots, periodograms, and spectrograms. These visualizations can be easily manipulated, annotated, and customized, enabling you to understand relationships and communicate results in a form that is visually appealing.

**Figure 3:** Periodogram of human speech.

**Figure 4:** Spectrogram of a violin note.

In Maple 2018, the Signal Processing toolkit has been expanded to include tools for visualizing the frequency contents of signals and increased windowing functionality. In addition, Maple has an extensive range of signal processing tools for analyzing and manipulating data in the frequency and time domains. The current package includes tools for the typical needs of a signal processing engineer:

- Signal Generation
- Calculating Signal Statistics
- Sample Conversion
- FFT and Wavelet Transforms
- Convolution and Correlation
- Filtering (FIR and IIR)
- Signal Resampling
- Audio and Image Processing Tools

**Figure 5:** Signal generation tools using embedded GUI components.

In addition to its signal processing capabilities, Maple also offers a broad technical ecosystem that includes over 5000 functions covering virtually every area of engineering, including matrix computation, differential equations, data analysis, optimization and statistics. Maple provides the ability to perform symbolic, numeric and hybrid computations allowing for flexible problem solving and provides solutions beyond the reach of any other software system.

Maple's coding environment is designed specifically for mathematical calculations, with features such as syntax highlighting, bracket matching, automatic indentation, command completion and more. As a result, code in Maple tends to be faster to write and easier to understand, debug, and modify.

Maple offers extensive connectivity with other tools. Maple can generate code for Visual Basic, MATLAB^{®}, Java^{™}, C, C#, Fortran, Perl, Python, R and JavaScript.

Maple can also import data from many file formats, including spreadsheets, audio and image formats, binary data and more. This wide range of connectivity options enables engineers to apply the right combination of tools for the optimal outcome when using signal processing techniques.

Maple offers several deployment paths. Applications can be created in Maple and deployed free of charge via the Maple Player. With the Maple Player, work can be shared to those without access to Maple and users can view Maple documents, and use the interactive elements, such as buttons, entry boxes, and sliders, to perform computations and visualize results.

Maple documents can also be shared via MapleNet - a server-based deployment tool that allows Maple applications to be published on a corporate intranet. End users can interact with these applications through a web browser, in the same way they would in Maple without having access to the Maple software. When you add or change a document on the MapleNet server, it is automatically available to all your end users, making it easy to ensure your end users are always working with the latest versions.

Maple offers engineers a technical ecosystem of tools for signal processing. From autonomous vehicles to biometric recognition, the applications of signal processing in today's technologies are endless. Maple is one of the best examples of an interactive math system and is specifically designed for describing, investigating, visualizing, and solving mathematical problems, including those that utilize signal processing.