<?xml version="1.0" encoding="UTF-8"?>

<!--
 *
 * This help file was generated from modulate.sci using help_from_sci().
 *
 -->

<refentry version="5.0-subset Scilab" xml:id="modulate" xml:lang="en"
          xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:svg="http://www.w3.org/2000/svg"
          xmlns:ns3="http://www.w3.org/1999/xhtml"
          xmlns:mml="http://www.w3.org/1998/Math/MathML"
          xmlns:scilab="http://www.scilab.org"
          xmlns:db="http://docbook.org/ns/docbook">

  <refnamediv>
    <refname>modulate</refname>
    <refpurpose>Modulates signal according to the modulation method</refpurpose>
  </refnamediv>


<refsynopsisdiv>
   <title>Syntax</title>
   <synopsis>
   y=modulate(x,fc,fs,method,opt)
   [y,t]=modulate(x,fc,fs,method,opt)
   
   </synopsis>
</refsynopsisdiv>

<refsection>
   <title>Parameters</title>
   <variablelist>
        <varlistentry>
            <term>x :</term>
            <listitem><para> A vector or a matrix</para></listitem>
        </varlistentry>
        <varlistentry>
            <term>fc :</term>
            <listitem><para> Carrier frequency</para></listitem>
        </varlistentry>
        <varlistentry>
            <term>fs :</term>
            <listitem><para> Sampling frequency</para></listitem>
        </varlistentry>
        <varlistentry>
            <term>method :</term>
            <listitem><para> Modulation Method</para></listitem>
        </varlistentry>
        <varlistentry>
            <term>opt :</term>
            <listitem><para> An optional parameter required by certain modulation methods</para></listitem>
        </varlistentry>
   </variablelist>
</refsection>

<refsection>
   <title>Description</title>
   <para>
[y,t]=modulate(x,fc,fs,method,opt)
Returns the modulated vector y and the time vector 't'
Modulation is performed according to the following table
METHOD              MODULATION SCHEME
'am',      Amplitude modulation, double side-band, suppressed carrier
'amdsb-sc' opt not used. This is the default method.
'amdsb-tc' Amplitude modulation, double side-band, transmitted carrier
opt is a scalar subtracted from x before multiplying x
with the carrier wave.  It defaults to min(min(x)) so that
the input signal after offset is always non-negative
'amssb'    Amplitude modulation, single side-band
OPT not used.
'fm'       Frequency modulation
opt is the constant of frequency modulation.
opt = (fc/fs)*2*pi/max(max(abs(x))) by default
'pm'       Phase modulation
OPT is the constant of phase modulation.
opt = pi/max(max(abs(x))) by default
Phase lies between -pi and +pi
'pwm'      Pulse width modulation
opt='left' corresponds to left justified pulses.
opt='centered' correspondes to centered pulses.
The default value of opt is 'left'.
'ppm'      Pulse position modulation
opt is a scalar between 0 and 1 which specifies the pulse
width in fractions of the carrier period with default value 0.1.
'qam'       Quadrature amplitude modulation
opt is a matrix of the same size as X which is modulated in
quadrature with x.
   </para>
   <para>
If x is a matrix, its columns are modulated.
   </para>
   <para>
</para>
</refsection>

<refsection>
   <title>Examples</title>
   <programlisting role="example"><![CDATA[
// Modulate a signal using amplitude modulation (AM)
// Parameters
fs = 1000;                // Sampling frequency (Hz)
fc = 100;                 // Carrier frequency (Hz)
t = 0:1/fs:1;             // Time vector (1 second duration)
x = sin(2 * %pi * 10 * t); // Input signal (10 Hz sine wave)
// Perform amplitude modulation (double side-band, transmitted carrier)
[y, t_mod] = modulate(x, fc, fs, 'amdsb-tc');
// Plot the original and modulated signals
subplot(2, 1, 1);
plot(t, x);
xlabel("Time (s)");
ylabel("Amplitude");
title("Original Signal");
subplot(2, 1, 2);
plot(t_mod, y);
xlabel("Time (s)");
ylabel("Amplitude");
title("Modulated Signal (AM DSB-TC)");

   ]]></programlisting>
</refsection>

<refsection>
   <title>Authors</title>
   <simplelist type="vert">
   <member>Ankur Mallick</member>
   </simplelist>
</refsection>
</refentry>
