Signal Processing: New Applications
https://www.maplesoft.com/applications/category.aspx?cid=2880
en-us2022 Maplesoft, A Division of Waterloo Maple Inc.Maplesoft Document SystemFri, 28 Jan 2022 06:33:38 GMTFri, 28 Jan 2022 06:33:38 GMTNew applications in the Signal Processing categoryhttps://www.maplesoft.com/images/Application_center_hp.jpgSignal Processing: New Applications
https://www.maplesoft.com/applications/category.aspx?cid=2880
Zero Padding a Signal to More Accurately Estimate Amplitudes from a DFT
https://www.maplesoft.com/applications/view.aspx?SID=154653&ref=Feed
You can use a discrete Fourier transform (DFT) to identify the amplitude of a sinusoidal signal. Given a signal with N samples and a sample rate of Fs, the frequency spacing of its DFT is Fs/N. An amplitude at a frequency that falls in a DFT bin can be accurately estimated.
<BR><BR>
But what if a signal frequency falls between DFT bins? Its energy will be shared between the adjacent bins, and its amplitude will not be accurately identified.
<BR><BR>
One possible solution to better amplitude estimation is zero padding the time domain signal. If you zero-pad the signal, the value of N increases, and the frequency spacing of the DFT decreases. For example, if you double the time-domain signal with zero-padding, the frequency spacing decreases by a factor of two.
<BR><BR>
This is not a magical way of increasing the sampling rate, or injecting more data. Zero-padding in the time domain is simply equivalent to sinc interpolation of the DFT.
<BR><BR>
In this application, we will
<UL>
<LI>generate a sinusoidal signal with three frequencies at three amplitudes (one frequency will fall in a DFT bin, but two won't)
<LI>use a DFT to estimate the signal amplitudes
<LI>zero-pad the original signal
<LI>use a DFT of the zero-padded signal to again estimate the amplitudes
</UL>
You will see that zero-padding the signal results in better amplitude estimation.<img src="https://www.maplesoft.com/view.aspx?si=154653/thumb.png" alt="Zero Padding a Signal to More Accurately Estimate Amplitudes from a DFT" style="max-width: 25%;" align="left"/>You can use a discrete Fourier transform (DFT) to identify the amplitude of a sinusoidal signal. Given a signal with N samples and a sample rate of Fs, the frequency spacing of its DFT is Fs/N. An amplitude at a frequency that falls in a DFT bin can be accurately estimated.
<BR><BR>
But what if a signal frequency falls between DFT bins? Its energy will be shared between the adjacent bins, and its amplitude will not be accurately identified.
<BR><BR>
One possible solution to better amplitude estimation is zero padding the time domain signal. If you zero-pad the signal, the value of N increases, and the frequency spacing of the DFT decreases. For example, if you double the time-domain signal with zero-padding, the frequency spacing decreases by a factor of two.
<BR><BR>
This is not a magical way of increasing the sampling rate, or injecting more data. Zero-padding in the time domain is simply equivalent to sinc interpolation of the DFT.
<BR><BR>
In this application, we will
<UL>
<LI>generate a sinusoidal signal with three frequencies at three amplitudes (one frequency will fall in a DFT bin, but two won't)
<LI>use a DFT to estimate the signal amplitudes
<LI>zero-pad the original signal
<LI>use a DFT of the zero-padded signal to again estimate the amplitudes
</UL>
You will see that zero-padding the signal results in better amplitude estimation.https://www.maplesoft.com/applications/view.aspx?SID=154653&ref=FeedMon, 17 Aug 2020 04:00:00 ZSamir KhanSamir KhanShifting the Pitch of Audio in the Frequency Domain
https://www.maplesoft.com/applications/view.aspx?SID=154638&ref=Feed
This application will shift the pitch of an audio file by scaling its frequency spectrum.
<BR><BR>
Our simple approach will multiply each signal frequency by the same amount. For a piano or violin note, the harmonics will still be an integer multiple of the pitch with the same balance between amplitudes (baring some digital aliasing effects). This preserves the timbre of the sound.
<BR><BR>
If your original audio is a piano note at F4 (a pitch of 349.2 Hz), you can convert it to an A4 note by scaling the frequencies by 4 semitones (a pitch of 349.2 Hz 4/12 = 440.0 Hz).<img src="https://www.maplesoft.com/view.aspx?si=154638/Pitch_Shift.png" alt="Shifting the Pitch of Audio in the Frequency Domain" style="max-width: 25%;" align="left"/>This application will shift the pitch of an audio file by scaling its frequency spectrum.
<BR><BR>
Our simple approach will multiply each signal frequency by the same amount. For a piano or violin note, the harmonics will still be an integer multiple of the pitch with the same balance between amplitudes (baring some digital aliasing effects). This preserves the timbre of the sound.
<BR><BR>
If your original audio is a piano note at F4 (a pitch of 349.2 Hz), you can convert it to an A4 note by scaling the frequencies by 4 semitones (a pitch of 349.2 Hz 4/12 = 440.0 Hz).https://www.maplesoft.com/applications/view.aspx?SID=154638&ref=FeedMon, 04 May 2020 04:00:00 ZSamir KhanSamir KhanExtract the Envelope and Instantaneous Phase of a Signal using the Hilbert Transform
https://www.maplesoft.com/applications/view.aspx?SID=154634&ref=Feed
The Hilbert transform has many practical applications. These include vibration analysis and amplitude modulation in communication systems
<BR><BR>
This application compute the envelope and instantaneous frequency of a signal using the Hilbert transform.
<UL>
<LI>The signal envelope is the magnitude of the Hilbert transform
<LI>The instantaneous frequency is the derivative (wrt time) of the phase angle of the Hilbert transform (only for single-component signals)
</UL>
The magnitude of the analytic signal captures the slowly varying features of the signal, while the phase contains the high-frequency information.<img src="https://www.maplesoft.com/view.aspx?si=154634/Hilbert_Transform.png" alt="Extract the Envelope and Instantaneous Phase of a Signal using the Hilbert Transform" style="max-width: 25%;" align="left"/>The Hilbert transform has many practical applications. These include vibration analysis and amplitude modulation in communication systems
<BR><BR>
This application compute the envelope and instantaneous frequency of a signal using the Hilbert transform.
<UL>
<LI>The signal envelope is the magnitude of the Hilbert transform
<LI>The instantaneous frequency is the derivative (wrt time) of the phase angle of the Hilbert transform (only for single-component signals)
</UL>
The magnitude of the analytic signal captures the slowly varying features of the signal, while the phase contains the high-frequency information.https://www.maplesoft.com/applications/view.aspx?SID=154634&ref=FeedFri, 17 Apr 2020 04:00:00 ZSamir KhanSamir KhanThe Color of Noise
https://www.maplesoft.com/applications/view.aspx?SID=154635&ref=Feed
You've probably heard the sound of white noise. It's what we perceive as a hiss, and has a flat spectral content across all frequencies. But many other colors of noise exist, each with a different spectral "slope". Some emphasize lower frequencies, while others have a U-shape spectral weighting.
<BR><BR>
Common noise colors include pink, red, blue and violet, each with different properties and applications.
<UL>
<LI>Pink noise, for example, better represents natural phenomena like rain and has been shown to aid sleep and memory
<LI>Blue noise is used in audio dithering to mask the effect of quantization
</UL>
This application generates 1D pink, red, blue and violet noise, and produces periodograms for each. Each noise sample is sonified so you can hear what it sounds like.
<BR><BR>
Additionally, the sound can also be exported to a wave file for use in another tool (Maple will export high precision 32-bit and 64-bit wave files).<img src="https://www.maplesoft.com/view.aspx?si=154635/pinkNoise.png" alt="The Color of Noise" style="max-width: 25%;" align="left"/>You've probably heard the sound of white noise. It's what we perceive as a hiss, and has a flat spectral content across all frequencies. But many other colors of noise exist, each with a different spectral "slope". Some emphasize lower frequencies, while others have a U-shape spectral weighting.
<BR><BR>
Common noise colors include pink, red, blue and violet, each with different properties and applications.
<UL>
<LI>Pink noise, for example, better represents natural phenomena like rain and has been shown to aid sleep and memory
<LI>Blue noise is used in audio dithering to mask the effect of quantization
</UL>
This application generates 1D pink, red, blue and violet noise, and produces periodograms for each. Each noise sample is sonified so you can hear what it sounds like.
<BR><BR>
Additionally, the sound can also be exported to a wave file for use in another tool (Maple will export high precision 32-bit and 64-bit wave files).https://www.maplesoft.com/applications/view.aspx?SID=154635&ref=FeedFri, 17 Apr 2020 04:00:00 ZSamir KhanSamir KhanGenerate the Sound of Plucked Instruments with the Karplus-Strong Algorithm
https://www.maplesoft.com/applications/view.aspx?SID=154630&ref=Feed
This application implements the Karplus-Strong string synthesis method to generate the sound of a plucked instrument.
<BR><BR>
Despite its simplicity, this algorithm can create remarkably realistic sounds. You can even extend the application to generate the sound of strummed chords.
<BR><BR>
As a further step (not shown here), you add special effects like reverb and echo by convolving the generated sound with an impulse response.<img src="https://www.maplesoft.com/view.aspx?si=154630/KarplusStrong.png" alt="Generate the Sound of Plucked Instruments with the Karplus-Strong Algorithm" style="max-width: 25%;" align="left"/>This application implements the Karplus-Strong string synthesis method to generate the sound of a plucked instrument.
<BR><BR>
Despite its simplicity, this algorithm can create remarkably realistic sounds. You can even extend the application to generate the sound of strummed chords.
<BR><BR>
As a further step (not shown here), you add special effects like reverb and echo by convolving the generated sound with an impulse response.https://www.maplesoft.com/applications/view.aspx?SID=154630&ref=FeedTue, 07 Apr 2020 04:00:00 ZSamir KhanSamir KhanCalculate Order of Butterworth Filter for User-Defined Design Requirements
https://www.maplesoft.com/applications/view.aspx?SID=154629&ref=Feed
This worksheet will help you calculate the order of a lowpass Butterworth filter with a user-defined minimum gain at a user-defined frequency. Additionally, once the order is known, the filter gain is plotted.<img src="https://www.maplesoft.com/view.aspx?si=154629/thumb.png" alt="Calculate Order of Butterworth Filter for User-Defined Design Requirements" style="max-width: 25%;" align="left"/>This worksheet will help you calculate the order of a lowpass Butterworth filter with a user-defined minimum gain at a user-defined frequency. Additionally, once the order is known, the filter gain is plotted.https://www.maplesoft.com/applications/view.aspx?SID=154629&ref=FeedFri, 03 Apr 2020 04:00:00 ZSamir KhanSamir KhanAdd Reverb to Audio with Convolution
https://www.maplesoft.com/applications/view.aspx?SID=154606&ref=Feed
You can add special effects (such as echo and reverb) to audio with a technique known as convolution.
<BR><BR>
In this application, we:
<UL>
<LI>import a recording of a voice, recorded on a microphone near to the speaker.
<LI>import an impulse response (a single clap of the hands recorded in an enclosed space that has hard walls).
<LI>convolve the audio with the impulse response.
</UL>
After convolution, the human voice now has echo and reverb.<img src="https://www.maplesoft.com/view.aspx?si=154606/reverb_thumb.png" alt="Add Reverb to Audio with Convolution" style="max-width: 25%;" align="left"/>You can add special effects (such as echo and reverb) to audio with a technique known as convolution.
<BR><BR>
In this application, we:
<UL>
<LI>import a recording of a voice, recorded on a microphone near to the speaker.
<LI>import an impulse response (a single clap of the hands recorded in an enclosed space that has hard walls).
<LI>convolve the audio with the impulse response.
</UL>
After convolution, the human voice now has echo and reverb.https://www.maplesoft.com/applications/view.aspx?SID=154606&ref=FeedThu, 12 Mar 2020 04:00:00 ZSamir KhanSamir KhanSmoothing A Noisy Signal with a Savitzky-Golay Filter
https://www.maplesoft.com/applications/view.aspx?SID=154593&ref=Feed
This application smooths a noisy signal with a Savitzky-Golay filter.
<UL>
<LI>First, a noisy signal is artificially generated and sampled
<LI>Then, the Savitzky-Golay filter coefficients are computed
<LI>Finally, the filter coefficients are used to smooth the data
</UL><img src="https://www.maplesoft.com/view.aspx?si=154593/savitzky_golay_filter.png" alt="Smoothing A Noisy Signal with a Savitzky-Golay Filter" style="max-width: 25%;" align="left"/>This application smooths a noisy signal with a Savitzky-Golay filter.
<UL>
<LI>First, a noisy signal is artificially generated and sampled
<LI>Then, the Savitzky-Golay filter coefficients are computed
<LI>Finally, the filter coefficients are used to smooth the data
</UL>https://www.maplesoft.com/applications/view.aspx?SID=154593&ref=FeedTue, 17 Dec 2019 05:00:00 ZSamir KhanSamir KhanPlotting the Frequency Response of a Digital Filter
https://www.maplesoft.com/applications/view.aspx?SID=154591&ref=Feed
This application provides a procedure FilterFrequencyResponse that plots the magnitude and phase response of an IIR or FIR filter. This procedure is used to illustrate the frequency response of several filters.
<BR><BR>
For an
<UL>
<LI>IIR filter, FilterFrequencyResponse expects two lists of taps of equal length (the coefficients of the numerator and denominator of the transfer function)
<LI>FIR filter, FilterFrequencyResponse expects a single list of taps
</UL>
Maple has three functions for generating filter taps (that is, the coefficients of the filter transfer function): <A HREF="https://www.maplesoft.com/support/help/Maple/view.aspx?path=SignalProcessing/GenerateButterworthTaps">GenerateButterworthTaps</A>, <A HREF="https://www.maplesoft.com/support/help/Maple/view.aspx?path=SignalProcessing%2fGenerateButterworthTaps">GenerateChebyshev1Taps</A> and <A HREF="https://www.maplesoft.com/support/help/Maple/view.aspx?path=SignalProcessing/GenerateFiniteImpulseResponseFilterTaps">GenerateFIRFilterTaps</A>.
<BR><BR>
GenerateButterworthTaps and GenerateChebyshev1Taps give a single array that contains the coefficients of the numerator and denominator of the transfer function. The first half are the coefficients of the numerator, while the latter half are the coefficients of the denominator; these must be provided to FilterFrequencyResponse separately, and not as a single list.<img src="https://www.maplesoft.com/view.aspx?si=154591/digital_filter.png" alt="Plotting the Frequency Response of a Digital Filter" style="max-width: 25%;" align="left"/>This application provides a procedure FilterFrequencyResponse that plots the magnitude and phase response of an IIR or FIR filter. This procedure is used to illustrate the frequency response of several filters.
<BR><BR>
For an
<UL>
<LI>IIR filter, FilterFrequencyResponse expects two lists of taps of equal length (the coefficients of the numerator and denominator of the transfer function)
<LI>FIR filter, FilterFrequencyResponse expects a single list of taps
</UL>
Maple has three functions for generating filter taps (that is, the coefficients of the filter transfer function): <A HREF="https://www.maplesoft.com/support/help/Maple/view.aspx?path=SignalProcessing/GenerateButterworthTaps">GenerateButterworthTaps</A>, <A HREF="https://www.maplesoft.com/support/help/Maple/view.aspx?path=SignalProcessing%2fGenerateButterworthTaps">GenerateChebyshev1Taps</A> and <A HREF="https://www.maplesoft.com/support/help/Maple/view.aspx?path=SignalProcessing/GenerateFiniteImpulseResponseFilterTaps">GenerateFIRFilterTaps</A>.
<BR><BR>
GenerateButterworthTaps and GenerateChebyshev1Taps give a single array that contains the coefficients of the numerator and denominator of the transfer function. The first half are the coefficients of the numerator, while the latter half are the coefficients of the denominator; these must be provided to FilterFrequencyResponse separately, and not as a single list.https://www.maplesoft.com/applications/view.aspx?SID=154591&ref=FeedTue, 17 Dec 2019 05:00:00 ZSamir KhanSamir KhanWelch's Method for Spectral Estimation
https://www.maplesoft.com/applications/view.aspx?SID=154592&ref=Feed
This worksheet implements Welch's method of spectral estimation. This approach involves
<BR><BR>
<UL>
<LI>dividing the signal into overlapping segments
<LI>windowing each overlapping segment and taking the FFT
<LI>average the results of the previous step
</UL>
Welch's method attenuates the effect of signal noise on spectral estimation, but at the expense of reducing frequency resolution.<img src="https://www.maplesoft.com/view.aspx?si=154592/welch_method.png" alt="Welch's Method for Spectral Estimation" style="max-width: 25%;" align="left"/>This worksheet implements Welch's method of spectral estimation. This approach involves
<BR><BR>
<UL>
<LI>dividing the signal into overlapping segments
<LI>windowing each overlapping segment and taking the FFT
<LI>average the results of the previous step
</UL>
Welch's method attenuates the effect of signal noise on spectral estimation, but at the expense of reducing frequency resolution.https://www.maplesoft.com/applications/view.aspx?SID=154592&ref=FeedTue, 17 Dec 2019 05:00:00 ZSamir KhanSamir KhanMUSIC Method for Spectral Estimation
https://www.maplesoft.com/applications/view.aspx?SID=154543&ref=Feed
The <A HREF="https://en.wikipedia.org/wiki/MUSIC_(algorithm)">MUtiple SIgnal Classifier (MUSIC)</A> method is an approach for spectral estimation that is particularly appropriate for signals that consists of multiple sinusoids polluted with white (i.e. Gaussian) noise.
<BR><BR>
Since the power estimate offered by the MUSIC method can be evaluated at any frequency, the MUSIC method offers a form of superesolution - that is, frequencies smaller than one sample (i.e. smaller than one DFT bin).
<BR><BR>
This application generates a noisy sinusoidal signal, and then applies the MUSIC method to identify the frequencies used to generate the signal.<img src="https://www.maplesoft.com/view.aspx?si=154543/music.png" alt="MUSIC Method for Spectral Estimation" style="max-width: 25%;" align="left"/>The <A HREF="https://en.wikipedia.org/wiki/MUSIC_(algorithm)">MUtiple SIgnal Classifier (MUSIC)</A> method is an approach for spectral estimation that is particularly appropriate for signals that consists of multiple sinusoids polluted with white (i.e. Gaussian) noise.
<BR><BR>
Since the power estimate offered by the MUSIC method can be evaluated at any frequency, the MUSIC method offers a form of superesolution - that is, frequencies smaller than one sample (i.e. smaller than one DFT bin).
<BR><BR>
This application generates a noisy sinusoidal signal, and then applies the MUSIC method to identify the frequencies used to generate the signal.https://www.maplesoft.com/applications/view.aspx?SID=154543&ref=FeedWed, 10 Jul 2019 04:00:00 ZSamir KhanSamir KhanFundamental Frequency of a Human Voice
https://www.maplesoft.com/applications/view.aspx?SID=154525&ref=Feed
This application predicts the fundamental frequency of a human voice using the ComplexCepstrum command.
<BR><BR>
After converting a small window of the audio to the cepstral domain, we find the pitch by noting the maximum "quefrency" in a carefully selected range.<img src="https://www.maplesoft.com/view.aspx?si=154525/thumbnail.jpg" alt="Fundamental Frequency of a Human Voice" style="max-width: 25%;" align="left"/>This application predicts the fundamental frequency of a human voice using the ComplexCepstrum command.
<BR><BR>
After converting a small window of the audio to the cepstral domain, we find the pitch by noting the maximum "quefrency" in a carefully selected range.https://www.maplesoft.com/applications/view.aspx?SID=154525&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanLocate a Signal in Audio in the Presence of Noise
https://www.maplesoft.com/applications/view.aspx?SID=154523&ref=Feed
This application demonstrates how you can estimate the location of a signal that might exist in a larger (perhaps noisy) measurement. In this instance, we find the location of a small segment of audio in a larger audio file.
<UL>
<LI>First, an audio file is first loaded, a small segment is extracted, and random Gaussian noise is added to both.
<LI>The cross-correlation of the full audio and the extract is computed, and the maximum lag computed.
</UL>
The maximum lag is the index at which the extract is predicted to exist in the audio.<img src="https://www.maplesoft.com/view.aspx?si=154523/thumbnail.jpg" alt="Locate a Signal in Audio in the Presence of Noise" style="max-width: 25%;" align="left"/>This application demonstrates how you can estimate the location of a signal that might exist in a larger (perhaps noisy) measurement. In this instance, we find the location of a small segment of audio in a larger audio file.
<UL>
<LI>First, an audio file is first loaded, a small segment is extracted, and random Gaussian noise is added to both.
<LI>The cross-correlation of the full audio and the extract is computed, and the maximum lag computed.
</UL>
The maximum lag is the index at which the extract is predicted to exist in the audio.https://www.maplesoft.com/applications/view.aspx?SID=154523&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanLomb-Scargle Spectral Analysis of Irregularly Sampled Data
https://www.maplesoft.com/applications/view.aspx?SID=154521&ref=Feed
This application
<UL>
<LI>generates an irregularly sampled signal of a sum of two sinusoids (i.e. a time vector at irregular intervals, and a signal vector containing a value at each of those times)
<LI>and then generates a Lomb-Scargle periodogram of that data.
</UL>
The periodogram correctly identifies the frequencies used to generate the irregularly sampled signal.<img src="https://www.maplesoft.com/view.aspx?si=154521/lomb-thumbnailbnail.jpg" alt="Lomb-Scargle Spectral Analysis of Irregularly Sampled Data" style="max-width: 25%;" align="left"/>This application
<UL>
<LI>generates an irregularly sampled signal of a sum of two sinusoids (i.e. a time vector at irregular intervals, and a signal vector containing a value at each of those times)
<LI>and then generates a Lomb-Scargle periodogram of that data.
</UL>
The periodogram correctly identifies the frequencies used to generate the irregularly sampled signal.https://www.maplesoft.com/applications/view.aspx?SID=154521&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanBlurring an Image in the Spatial Frequency Domain
https://www.maplesoft.com/applications/view.aspx?SID=154522&ref=Feed
ere, we will blur in an image with a Gaussian Filter (effectively a low-pass filter) applied in the spatial frequency domain.
<UL>
<LI>First an image is imported
<LI>The fourier transform of the image is then computed, and the image periodogram plotted.
<LI>The fourier transform is multiplied by a Gaussian filter (this attenuates higher spatial frequencies - i.e. the finer detail is removed, leaving only the broad outline).
<LI>The resulted is inverted to the image domain, giving a blurry image
</UL>
This application uses the new Maple 2019 FFTShift function to swap data in a matrix or a vector into a different position. The Fourier transform of an image places lower frequency data near all four corners, with higher frequency data near the center. In this instance, FFTShift is typically applied to move the lowest frequencies to the center and the highest frequencies to the corners.
<BR><BR>
This results in a more meaningful visualization of the power spectrum where the lowest frequency data is contiguous, and simplifies the manipulation of image frequency data.<img src="https://www.maplesoft.com/view.aspx?si=154522/blurimage.jpg" alt="Blurring an Image in the Spatial Frequency Domain" style="max-width: 25%;" align="left"/>ere, we will blur in an image with a Gaussian Filter (effectively a low-pass filter) applied in the spatial frequency domain.
<UL>
<LI>First an image is imported
<LI>The fourier transform of the image is then computed, and the image periodogram plotted.
<LI>The fourier transform is multiplied by a Gaussian filter (this attenuates higher spatial frequencies - i.e. the finer detail is removed, leaving only the broad outline).
<LI>The resulted is inverted to the image domain, giving a blurry image
</UL>
This application uses the new Maple 2019 FFTShift function to swap data in a matrix or a vector into a different position. The Fourier transform of an image places lower frequency data near all four corners, with higher frequency data near the center. In this instance, FFTShift is typically applied to move the lowest frequencies to the center and the highest frequencies to the corners.
<BR><BR>
This results in a more meaningful visualization of the power spectrum where the lowest frequency data is contiguous, and simplifies the manipulation of image frequency data.https://www.maplesoft.com/applications/view.aspx?SID=154522&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanFundamental Frequency and Harmonics of a Violin Note
https://www.maplesoft.com/applications/view.aspx?SID=154524&ref=Feed
This application finds the fundamental frequency and harmonics of a violin using information from the amplitude spectrum. Then, we generate a sinusoidal signal with the same frequency-amplitude characteristics of the violin note, and play the resulting sound.
The analysis uses the new Maple 2019 command for finding the peaks and valleys of a 1D data set - FindPeaks. This command offers several options that let you filter out peaks or valleys that are too close, what defines a peak or valley, and more.<img src="https://www.maplesoft.com/view.aspx?si=154524/thumnbail.jpg" alt="Fundamental Frequency and Harmonics of a Violin Note" style="max-width: 25%;" align="left"/>This application finds the fundamental frequency and harmonics of a violin using information from the amplitude spectrum. Then, we generate a sinusoidal signal with the same frequency-amplitude characteristics of the violin note, and play the resulting sound.
The analysis uses the new Maple 2019 command for finding the peaks and valleys of a 1D data set - FindPeaks. This command offers several options that let you filter out peaks or valleys that are too close, what defines a peak or valley, and more.https://www.maplesoft.com/applications/view.aspx?SID=154524&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanCompressing Audio with the Discrete Cosine Transform
https://www.maplesoft.com/applications/view.aspx?SID=154526&ref=Feed
This application demonstrates how you can compress a signal by discarding low-energy parts of its discrete cosine transform. Specifically, we only retain those coefficients that cumulatively sum to a large part of the signal energy.
<BR><BR>
Here, the signal is an audio file, where only 13% of the DCT coefficients are needed to represent 97% of the signal energy. After compression, the resulting audio is hissy but still legible.<img src="https://www.maplesoft.com/view.aspx?si=154526/thumbnail.jpg" alt="Compressing Audio with the Discrete Cosine Transform" style="max-width: 25%;" align="left"/>This application demonstrates how you can compress a signal by discarding low-energy parts of its discrete cosine transform. Specifically, we only retain those coefficients that cumulatively sum to a large part of the signal energy.
<BR><BR>
Here, the signal is an audio file, where only 13% of the DCT coefficients are needed to represent 97% of the signal energy. After compression, the resulting audio is hissy but still legible.https://www.maplesoft.com/applications/view.aspx?SID=154526&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanEcho Cancellation using Cepstrum Analysis
https://www.maplesoft.com/applications/view.aspx?SID=154527&ref=Feed
This application will
<UL>
<LI>import an audio file that has an echo
<LI>identify the start of the echo in the cepstral domain (using the RealCepstrum function)
<LI>use this information to generate and apply an IIR filter to remove the echo'
<LI>and write the de-echoed audio back to a sound file
</UL><img src="https://www.maplesoft.com/view.aspx?si=154527/thumbnail.jpg" alt="Echo Cancellation using Cepstrum Analysis" style="max-width: 25%;" align="left"/>This application will
<UL>
<LI>import an audio file that has an echo
<LI>identify the start of the echo in the cepstral domain (using the RealCepstrum function)
<LI>use this information to generate and apply an IIR filter to remove the echo'
<LI>and write the de-echoed audio back to a sound file
</UL>https://www.maplesoft.com/applications/view.aspx?SID=154527&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanPredicting the Orbital Period of Exoplanets by Analyzing the Wobble of Stars
https://www.maplesoft.com/applications/view.aspx?SID=154528&ref=Feed
Stars are pulled in a circle or ellipse in reponse to the gravity of orbiting planets. By analyzing the "wobble" (or radial velocity) of a star, astronomers can predict the presence and orbital period of exoplanets.
<BR><BR>
Radial velocity is recorded, often over months or years, with a spectrograph connected to a telescope. This data is used to generate a periodogram, in which a peak is evidence of an exoplanet; the orbital period of the exoplanet is given by the location of the peak.
<BR><BR>
However cloud cover, scheduling conflicts and other issues can often disrupt observations, so data is generally not regularly sampled. This means that standard Fourier techniques cannot be used to generate a periodogram, and other approaches are needed. A common method for the frequency analysis of irregularly sampled data is the Lomb-Scargle technique.
<BR><BR>
Fischer (2003) recorded the radial velocity of the star HD 3561 (also known as 54 Piscium), and generated a periodogram to show evidence of an exoplanet (now known as 54 Piscium b).
<BR><BR>
This application uses Maple 2019's new Lomb-Scargle tools to reproduce the analysis; the periodogram shows a periodicity of 62.2 days, agreeing with value given by Fischer (2003).
<BR><BR>
References:
<UL>
<LI>A Sub-Saturn Mass Planet Orbiting HD 3651, Fischer D.A. et al., The Astrophysical Journal, 590:1081–1087, 2003 June 20
<LI>Orbital velocity data found at http://astrostatistics.psu.edu/datasets/exoplanet_Doppler.html
</UL><img src="https://www.maplesoft.com/view.aspx?si=154528/thumbnail.jpg" alt="Predicting the Orbital Period of Exoplanets by Analyzing the Wobble of Stars" style="max-width: 25%;" align="left"/>Stars are pulled in a circle or ellipse in reponse to the gravity of orbiting planets. By analyzing the "wobble" (or radial velocity) of a star, astronomers can predict the presence and orbital period of exoplanets.
<BR><BR>
Radial velocity is recorded, often over months or years, with a spectrograph connected to a telescope. This data is used to generate a periodogram, in which a peak is evidence of an exoplanet; the orbital period of the exoplanet is given by the location of the peak.
<BR><BR>
However cloud cover, scheduling conflicts and other issues can often disrupt observations, so data is generally not regularly sampled. This means that standard Fourier techniques cannot be used to generate a periodogram, and other approaches are needed. A common method for the frequency analysis of irregularly sampled data is the Lomb-Scargle technique.
<BR><BR>
Fischer (2003) recorded the radial velocity of the star HD 3561 (also known as 54 Piscium), and generated a periodogram to show evidence of an exoplanet (now known as 54 Piscium b).
<BR><BR>
This application uses Maple 2019's new Lomb-Scargle tools to reproduce the analysis; the periodogram shows a periodicity of 62.2 days, agreeing with value given by Fischer (2003).
<BR><BR>
References:
<UL>
<LI>A Sub-Saturn Mass Planet Orbiting HD 3651, Fischer D.A. et al., The Astrophysical Journal, 590:1081–1087, 2003 June 20
<LI>Orbital velocity data found at http://astrostatistics.psu.edu/datasets/exoplanet_Doppler.html
</UL>https://www.maplesoft.com/applications/view.aspx?SID=154528&ref=FeedTue, 19 Mar 2019 04:00:00 ZSamir KhanSamir KhanSunspot Periodicity
https://www.maplesoft.com/applications/view.aspx?SID=154013&ref=Feed
This application will find the periodicity of sunspots with two separate approaches:
<UL>
<LI>a periodogram, which plots the frequency domain tranformation of the data
<LI>autocorrelation
</UL>
Both approaches should yield the same result.
<BR><BR>
Yearly sunspot data since 1700 is downloaded from a web-based source provided by the Royal Observatory of Belgium<img src="https://www.maplesoft.com/view.aspx?si=154013/sunspotPeriodicity.jpg" alt="Sunspot Periodicity" style="max-width: 25%;" align="left"/>This application will find the periodicity of sunspots with two separate approaches:
<UL>
<LI>a periodogram, which plots the frequency domain tranformation of the data
<LI>autocorrelation
</UL>
Both approaches should yield the same result.
<BR><BR>
Yearly sunspot data since 1700 is downloaded from a web-based source provided by the Royal Observatory of Belgiumhttps://www.maplesoft.com/applications/view.aspx?SID=154013&ref=FeedFri, 05 Oct 2018 04:00:00 ZSamir KhanSamir Khan