sinusoid with amplitude , frequency, samples, and sampling frequency?

how can i generate a sinusoid with amplitude 0.1 , frequency 100 Hz, with 100,000 samples, and sampling frequency 22,050 HZ? Please can anyone help me? thank you

 Accepted Answer

Did you try this?
amplitude = 0.1;
frequency = 100 % Hz
numSamples = 100000 % samples
samplingFrequency = 22050 % Hz (per second)
numSeconds = numSamples / samplingFrequency
x = linspace(0, numSeconds, numSamples);
y = amplitude * sin(2 * pi * x * frequency);
plot(x, y, 'b-', 'LineWidth', 2);
grid on;
xlabel('X', 'FontSize', 15);
ylabel('Y', 'FontSize', 15);

5 Comments

thank you very much, but when i save the signal in a .wav file , i do not have any tone.
I hear something. Add this to the end of your code and turn up your speakers:
soundsc(y, samplingFrequency);
Also see attached demo on making a wav file.
thank you very much, it is working. and how can i plot the spectrum of the signal? the signal is on the file.
Call fft() or pwelch() followed by plot(), or call spectrogram().

Sign in to comment.

More Answers (0)

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!