# Formula for plotting a half-circle waveform.

Have you ever wondered what the formula for that thing that looks like a sine wave, but is really just half circles? Well, take a look below for the Matlab code of how to generate and plot such a signal with a particular frequency. If you need help translating to another programming or graphing language, just let me know.

Also, a handy feature of this code is the ability to only plot the first N periods. Take a look! ðŸ™‚

```Fs = 100;                     % Sampling frequency
T = 1/Fs;
L = 1000;                     % Number of samples
t = (0:L-1)*T;                % Time vector

fs = 1;                       % Frequency of signal.
A = 1;                        % Amplitude of signal.
% Half-circle waveform:
r = 1/(fs*4);
y = (A/r)*1)2*(mod(t,r*4) == mod(t,2*r	jQuery("#footnote_plugin_tooltip_1").tooltip({		tip: "#footnote_plugin_tooltip_text_1",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	}); - 1).*sqrt(r^2 - (mod(t,2*r)-r).^2));

% Regular sine waveform:
y2 = A*sin(2*pi*fs*t);

% Plot the waveforms.
numPeriods = 3;
tEnd = round(numPeriods/(T*fs));
plot(t(1:tEnd),y(1:tEnd),t(1:tEnd),y2(1:tEnd))```

Notes   [ + ]