Synthesize Variable Frequency Tones Using Android Devices
This example shows how to use the Simulink® Support Package for Android® Devices to produce tones of variable frequency. Use the example to generate noise in different tones for an audio system. This example uses the Audio Oscillator (Audio Toolbox) block to generate sinusoidal, square, and sawtooth waveforms. You can tune the frequency and amplitude of the sinusoidal noise signal from the dashboard panel deployed on your Android device.
Prerequisites
For more information on how to use the Simulink Support Package for Android Devices to run a Simulink model on your Android device, see Getting Started with Android Devices.
For more information on how to get started with audio signal processing on Android devices, see Get Started with Audio Signal Processing Using Android Devices.
Required Hardware
Android device such as a phone or tablet
USB cable
Headphones with microphones
Hardware Setup
Connect your Android device to the host computer using the USB cable.
Connect the headphones to your Android device.
Configure Simulink Model and Calibrate Parameters
Open the androidAudioOscillator
Simulink model.
Simulation Sources
Use the Constant blocks to set the frequency and amplitude of the sinusoidal noise signal. Set the frequency Constant block to 100
and the amplitude Constant block to 1
.
Android Inputs
The frequency and amplitude of the sinusoidal noise signal is connected to the Edit and Slider Dashboard blocks, respectively.
Algorithm
Three Audio Oscillator blocks are used to generate sinusoidal, square, and sawtooth waveforms, respectively. You can set the sinusoidal frequency and amplitude of the Audio Oscillator block using the Constant block inputs from the Simulation Sources area.
For the Audio Oscillator block that produces a sinusoidal signal as the output, configure these parameters in the Block Parameters dialog box.
Set Signal type to
sine
.Select Specify frequency from input port.
Select Specify amplitude from input port.
Set Samples per frame to
4410
.
For the Audio Oscillator block that produces a square signal as the output, configure these parameters in the Block Parameters dialog box.
Set Signal type to
square
.Set Frequency (Hz) to
100
.Set Amplitude to
1
.Set Samples per frame to
4410
.
For the Audio Oscillator block that produces a sawtooth signal as the output, configure these parameters in the Block Parameters dialog box.
Set Signal type to
sawtooth
.Set Frequency (Hz) to
100
.Set Amplitude to
1
.Set Samples per frame to
4410
.
Display and Visualization
In the Display and Visualization area, you can view the filtered signals on the Time Scope and Spectrum Analyzer blocks.
Android Outputs
The selected audio signal output from the Audio Oscillator block is converted from single to int16
data type in the convert to stereo and int16 type
subsystem and then played on the Android speaker using the Audio Playback block.
Run Simulink Model
On the Simulation tab of the Simulink model, click Run.
Change the frequency and amplitude of the sinusoidal, square, and sawtooth signal outputs from the Audio Oscillator blocks and observe the time scope and spectrum analyzer outputs.
Deploy Simulink Model on Android Device
Using this Simulink model, you can observe only one noise signal output on the application.
1. In the Algorithm area, position the manual switch to receive the sinusoidal noise signal output from the Audio Oscillator block.
2. On the Hardware tab of the model, in the Mode section, click Run on board. In the Deploy section, click Build, Deploy & Start. The androidAudioOscillator application launches automatically on your Android device.
3. On the Dashboard tab of the application, change the frequency and amplitude of the sinusoidal noise signal.
4. On the App tab of the application, observe the corresponding change in the sinusoidal waveform.
5. Connect your headphones to the Android device and notice the change in the tone as you tune the frequency and amplitude of the sinusoidal noise signal.
6. Similarly, position both the manual switches in the Algorithm area to receive the square noise signal output from the Audio Oscillator blocks and redeploy the Simulink model.
7. To change the frequency and amplitude of the square noise signals using the dashboard controls on the application, use Constant blocks as used for Audio Oscillator block for sinusoidal signal output. Connect the frequency and amplitude outputs to display their outputs on the Edit and Slider dashboard blocks, respectively.
8. Connect your headphones to the Android device and notice the change in the tone for the square noise signal.
9. Repeat the steps to observe the change in the tone for the sawtooth noise signal.