RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact

Explore

  • RunMat for academia
  • RunMat vs MATLAB Online
  • Benchmarks

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

LicensePrivacy
/
See all docs
Builtin Reference
    • blackman
    • butter
    • buttord
    • cheb2ord
    • conv
    • conv2
    • deconv
    • downsample
    • envelope
    • filter
    • filtfilt
    • fir1
    • freqz
    • gauspuls
    • hamming
    • hann
    • hilbert
    • periodogram
    • pulstran
    • pwelch
    • rectpuls
    • resample
    • sawtooth
    • sinc
    • spectrogram
    • square
    • tripuls
    • unwrap
    • upsample
    • zplane

gauspuls — Generate Gaussian-modulated sinusoidal pulses.

gauspuls(T) evaluates a Gaussian-modulated cosine pulse. Optional FC, BW, and BWR arguments control carrier frequency, fractional bandwidth, and bandwidth reference level. [YI, YQ, YE] = gauspuls(T, FC, BW, BWR) also returns quadrature samples and the Gaussian envelope. gauspuls('cutoff', FC, BW, BWR, TPE) returns the cutoff time where the envelope reaches TPE dB.

Syntax

Y = gauspuls(T)
[YI, YQ, YE] = gauspuls(T, FC, BW, BWR)
TC = gauspuls("cutoff", FC, BW, BWR, TPE)

Inputs

NameTypeRequiredDefaultDescription
TNumericArrayYes—Sample times.
FCNumericScalarNo1000Carrier frequency in Hz.
BWNumericScalarNo0.5Fractional bandwidth.
BWRNumericScalarNo-6Bandwidth reference level in dB.
modeStringScalarYes—`"cutoff"` requests cutoff time.
TPENumericScalarNo-60Trailing pulse envelope level in dB.

Returns

NameTypeDescription
YINumericArrayIn-phase Gaussian pulse samples.
YQNumericArrayQuadrature Gaussian pulse samples.
YENumericArrayGaussian pulse envelope samples.
TCNumericScalarCutoff time where the envelope reaches TPE dB.

Returned values from gauspuls depend on how many outputs the caller requests.

Errors

IdentifierWhenMessage
RunMat:gauspuls:InvalidInputInput times cannot be interpreted as real numeric samples.gauspuls: expected real numeric input
RunMat:gauspuls:InvalidParameterFrequency, bandwidth, reference level, or cutoff level is malformed.gauspuls: invalid parameter
RunMat:gauspuls:ArgCountToo many input arguments are provided.gauspuls: expected gauspuls(T, FC, BW, BWR) or gauspuls("cutoff", FC, BW, BWR, TPE)
RunMat:gauspuls:InternalErrorInternal tensor construction or GPU gather fails.gauspuls: internal error

How gauspuls works

  • Operates element-wise on real numeric scalars, vectors, matrices, and N-D tensors; preserves input shape.
  • One output returns the in-phase cosine component; three requested outputs return in-phase, quadrature, and envelope arrays.
  • Defaults are FC = 1000, BW = 0.5, and BWR = -6.
  • Carrier frequency and bandwidth must be positive finite scalars.
  • Bandwidth reference and cutoff envelope levels must be negative finite scalars.
  • Complex inputs are rejected with a builtin-scoped error.

Examples

Evaluate a Gaussian pulse

t = -0.001:0.001:0.001;
y = gauspuls(t, 1000, 0.5, -6)

Return in-phase, quadrature, and envelope samples

t = 0:0.00025:0.001;
[yi, yq, ye] = gauspuls(t, 1000, 0.5, -6)

Compute cutoff time

tc = gauspuls('cutoff', 1000, 0.5, -6, -60)

Using gauspuls with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how gauspuls changes the result.

Run a small gauspuls example, explain the result, then change one input and compare the output.

FAQ

Can gauspuls be used inside pulstran?⌄

Yes. pulstran(T, D, 'gauspuls', FC, BW, BWR) evaluates Gaussian pulses centered at each delay.

Related Math functions

Signal

blackman · butter · buttord · cheb2ord · conv · conv2 · deconv · downsample · envelope · filter · filtfilt · fir1 · freqz · hamming · hann · hilbert · periodogram · pulstran · pwelch · rectpuls · resample · sawtooth · sinc · spectrogram · square · tripuls · unwrap · upsample · zplane

Elementwise

abs · angle · bsxfun · complex · conj · double · erf · erfcinv · exp · expm1 · factorial · flintmax · gamma · gammaln · heaviside · hypot · idivide · imag · intmax · intmin · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · realmax · realmin · realsqrt · rescale · sign · single · sqrt · swapbytes · times · typecast · uint16 · uint32 · uint8

Trigonometry

acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · cospi · deg2rad · pol2cart · rad2deg · sin · sind · sinh · sinpi · tan · tand · tanh

Reduction

all · any · bounds · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · maxk · mean · median · min · mink · movmax · movmean · movmedian · movmin · movprod · movstd · movsum · movvar · nnz · prod · rms · std · sum · trapz · var

Structure

bandwidth · isdiag · ishermitian · issymmetric · istril · istriu · symrcm

Rounding

ceil · fix · floor · mod · rem · round

Factor

chol · decomposition · eig · eigs · lu · qr · svd

Solve

cond · det · inv · linsolve · norm · null · pinv · rank · rcond · rref · vecnorm

Optim

coneprog · fminbnd · fminunc · fsolve · fzero · integral · linprog · lsqcurvefit · lsqnonlin · optimoptions · optimset · quad · secondordercone

Ops

cross · ctranspose · dot · mldivide · mpower · mrdivide · mtimes · pagemtimes · pagetranspose · trace · transpose

Symbolic

digits · int · limit · piecewise · sym · syms · vpa

Fft

fft · fft2 · fftn · fftshift · ifft · ifft2 · ifftn · ifftshift

Interpolation

griddedInterpolant · interp1 · interp1q · interp2 · pchip · ppval · spline

Discrete

lcm · primes

Ode

ode15s · ode23 · ode45

Poly

polyder · polyfit · polyint · polyval · roots

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how gauspuls is executed, line by line, in Rust.

  • View the source for gauspuls in Rust on GitHub
  • Learn how the RunMat runtime works
  • Found a bug? Open an issue with a minimal reproduction.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.

Download RunMatOpen Sandbox
On this page
  • Syntax
  • Inputs
  • Returns
  • Errors
  • How gauspuls works
  • Examples
  • Evaluate a Gaussian pulse
  • Return in-phase, quadrature, and envelope samples
  • Compute cutoff time
  • Using gauspuls with coding agents
  • FAQ
  • Related Math functions
  • Signal
  • Elementwise
  • Trigonometry
  • Reduction
  • Structure
  • Rounding
  • Factor
  • Solve
  • Optim
  • Ops
  • Symbolic
  • Fft
  • Interpolation
  • Discrete
  • Ode
  • Poly
  • Open-source implementation
  • About RunMat