blackman — Generate a Blackman window vector in MATLAB and RunMat.
blackman generates Blackman windows for spectral analysis and filtering workflows. It supports MATLAB/RunMat symmetric and periodic forms, with optional single-precision output.
Syntax
w = blackman(n)
w = blackman(n, sampling)
w = blackman(n, precision)
w = blackman(n, sampling, precision)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
n | SizeArg | Yes | — | Window length. |
sampling | StringScalar | No | "symmetric" | Sampling mode: "symmetric" or "periodic". |
precision | StringScalar | No | "double" | Output precision: "double" or "single". |
Returns
| Name | Type | Description |
|---|---|---|
w | NumericArray | Blackman window column vector. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:blackman:InvalidLength | Length input is not a finite nonnegative scalar value. | blackman: expected a nonnegative scalar integer length |
RunMat:blackman:InvalidOption | An option argument is not a string-like sampling/precision token. | blackman: unrecognized option |
RunMat:blackman:UnknownOption | An option string is not recognized by blackman. | blackman: unrecognized option |
RunMat:blackman:InternalError | Window materialization fails internally. | blackman: internal error |
How blackman works
blackman(L)returns anL x 1symmetric Blackman window.blackman(L, 'periodic')returns the periodic form used in spectral-analysis workflows.blackman(..., 'single')returns a single-precision window;'double'is the default.- If
Lis noninteger, RunMat rounds it to the nearest integer before constructing the window. blackman(0)returns an empty0 x 1tensor.blackman(1)returns1.- For the symmetric case and
L > 1, coefficients follow0.42 - 0.5*cos(2*pi*n/(L-1)) + 0.08*cos(4*pi*n/(L-1)). - The periodic form is constructed by evaluating a symmetric window of length
L + 1and dropping the final sample.
Examples
Generate a short Blackman window
w = blackman(8);
disp(w')Generate a periodic Blackman window
w = blackman(8, 'periodic');
disp(w')Generate a single-precision Blackman window
w = blackman(8, 'single');
class(w)Using blackman with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how blackman changes the result.
Run a small blackman example, explain the result, then change one input and compare the output.
FAQ
Why would I use blackman instead of hann or hamming?⌄
A Blackman window is often used when you want lower spectral leakage at the cost of a wider main lobe. It is a common tradeoff choice in spectral analysis workflows.
What is the difference between the symmetric and periodic Blackman window?⌄
Use the symmetric form for filter-design style workflows. Use 'periodic' for FFT-based spectral analysis, where RunMat constructs a symmetric window of length L + 1 and removes the final sample.
Does blackman support single precision?⌄
Yes. Pass 'single' as the final option to request a single-precision output. The default output type is double precision.
Related Math functions
Signal
butter · buttord · conv · conv2 · deconv · downsample · envelope · filter · filtfilt · fir1 · freqz · gauspuls · hamming · hann · hilbert · periodogram · pulstran · pwelch · rectpuls · sawtooth · sinc · spectrogram · square · tripuls · unwrap · upsample · zplane
Elementwise
abs · angle · complex · conj · double · exp · expm1 · factorial · gamma · heaviside · hypot · imag · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · sign · single · sqrt · times
Trigonometry
acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · deg2rad · rad2deg · sin · sind · sinh · tan · tand · tanh
Reduction
all · any · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · mean · median · min · nnz · prod · std · sum · trapz · var
Structure
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.