How do I write this chua oscillator to an audio file in matlab?

  • Context: MATLAB 
  • Thread starter Thread starter matlab audio
  • Start date Start date
  • Tags Tags
    Audio File Matlab
Click For Summary

Discussion Overview

The discussion revolves around how to write the output of a MATLAB program simulating a Chua oscillator to an audio file, specifically in the WAV format. Participants explore techniques and considerations related to audio file creation using MATLAB's audio toolbox.

Discussion Character

  • Technical explanation
  • Homework-related
  • Exploratory

Main Points Raised

  • One participant seeks guidance on writing the output of a Chua oscillator simulation to an audio file using MATLAB.
  • Another participant clarifies whether the inquiry is about converting the output of the MATLAB model into a playable WAV file.
  • A participant suggests that adjusting the sample rate in the code may be necessary to match standard WAV file frequencies.
  • Reference to MATLAB's audiowrite function is provided, indicating its capability to write audio data to a file with specified sample rates.

Areas of Agreement / Disagreement

Participants generally agree on the need to convert the simulation output into a WAV file format, but there are no settled methods or consensus on the best approach to achieve this.

Contextual Notes

Participants mention the importance of sample rates and the potential issues with non-standard values when creating WAV files, but specific limitations or assumptions regarding the implementation are not fully explored.

matlab audio
Messages
3
Reaction score
1
TL;DR
writing chua oscillator to an audio file using matlab
hello i would like to ask how to write the solution of this matlab program to an audio file using the audio tool box or any other technique. thanks very much.
function chua_oscillator %This program is computed by S.Sabarathinam %Based on: Nonlinear Dynamics: Integrability, Chaos and Patterns,by M Lakshmanan, S Rajaseekar % to see the period doubling change the value of "r" clear all figure(1) r=1920.0; ga = -0.758d-03; gb = -0.409d-03; c1 = 10.0d-09; c2 = 100.0d-09; bind = 20.0d-03; a = r*ga; b = r*gb; alpha = c2/c1; beta=(c2*r*r)/bind; %time step and initial condition tspan = 0:0.01:500; x10 = 0.11; x20 = 0.2; x30 = -0.3; y0 = [x10; x20; x30]; [t,y] = ode45(@(t,x) f(t,x,a,b,alpha,beta),tspan,y0); x1=y(:,1); x2=y(:,2); x3=y(:,3); %plot the variable x and y plot(x1,x2) function dy = f(t,y,a,b,alpha,beta) x1 = y(1); x2 = y(2); x3 = y(3); hx=b*x1 + 0.5d0*(a-b)*(abs(x1+1.0)-abs(x1-1.0)); dx1=alpha*(x2-x1-hx); dx2=x1-x2+x3; dx3=-beta*x2; dy = [dx1; dx2; dx3];
https://www.mathworks.com/matlabcen...ads/submissions/44972/versions/1/download/zip
https://www.mathworks.com/help/audio/index.html?s_tid=srchtitle_audio_1
 
Last edited:
Physics news on Phys.org
Welcome to PF. :smile:

I didn't click on the ZIP file, but are you asking how to take the output of a MATLAB model of the circuit and write a *.wav file that you can play? Or are you asking something else.

Does the MATLAB model of the circuit use the differential equations mentioned in this Wikipedia article?

https://en.wikipedia.org/wiki/Chua's_circuit
 
thanks for your response. yes that is my question. i edited my original post to include the code.
 
Have you worked with *.wav files before? I've only worked with them a little, to process digitized audio data that was acquired at 44.1kHz. I think at the least you will want to adjust your sample rate in your code to match one of the standard *.wav sample frequencies. Maybe the audio toolbox helps you to create the header for your *.wav file that your MATLAB code will be calculating the data for...

https://ccrma.stanford.edu/courses/422-winter-2014/projects/WaveFormat/
 
  • Like
Likes   Reactions: matlab audio
thanks a lot for your help.
 
  • Like
Likes   Reactions: berkeman
From https://www.mathworks.com/help/matlab/ref/audiowrite.html :
audiowrite(filename,y,Fs) writes a matrix of audio data, y, with sample rate Fs to a file called filename.​
For WAV files, there are no restrictions on the value of Fs that you write to the file, though a non-standard value might not be playable depending on what you use to play it.
 
  • Informative
Likes   Reactions: berkeman