What is the Nyquist rate for a signal with a maximum frequency of 4 kHz?
Show the steps
- Nyquist ratef_{s,\min} = 2 f_{\max}with
fmax = 4 kHz→fs_min = 8000 Hz, Ts_max = 0.000125 s
Sampling, Fourier series and transforms, the DFT and FFT, filters, convolution, z-transforms, modulation, communication links, RF transmission lines and radar.
Signal Processing (signal-processing-ai999x) is an offline Python package for signal processing. It covers sampling, Fourier series and transforms, the DFT and FFT, filters, convolution, z-transforms, modulation, communication links, RF transmission lines and radar.
It has 74 capabilities — 74 computational procedures — in 18 topics, the largest being Digital filters, Decibels and levels, Sampling and signal basics, Transmission lines, DFT and FFT and Digital communication. Ask a question in words with ask(), or call a capability by name with typed inputs with solve(). Every answer carries its value and unit, the steps that produced it and the formula in LaTeX.
When a question is not determined — a value is missing, an input is out of range, or the request is outside the package — it says so and names what it needs, instead of guessing. It runs on an ordinary CPU without a network connection (Python >=3.10), and the same question always gets the same answer.
pip install signal-processing-ai999x hf download AI999X/signal-processing-ai999x --local-dir signal-processing-ai999x
Each question below was put to signal-processing-ai999x and the answer shown is the one it returned, with the steps it took.
What is the Nyquist rate for a signal with a maximum frequency of 4 kHz?
fmax = 4 kHzfs_min = 8000 Hz, Ts_max = 0.000125 sCompute the DFT of x = [1, 2, 3, 4].
x = [1, 2, 3, 4]peak_magnitude = 10, peak_bin = 0, magnitude = [10, 2.828427125, 2, 2.828427125], phase = [0, 2.35619449, 3.141592654, -2.35619449], real = [10, -2, -2, -2], imag = [0, 2, 0, -2]What is the bit error rate of BPSK at Eb/N0 = 8 dB?
ebn0_db = 8ber = 0.0001909077741, ber_bfsk = 0.0060043864A 50 ohm line is terminated in a load of 75 + j25 ohm. Find the reflection coefficient and the VSWR.
RL = 75 ohm, XL = 25 ohm, Z0 = 50 ohmgamma_mag = 0.2773500981, gamma_angle_deg = 33.69006753, gamma_re = 0.2307692308, gamma_im = 0.1538461538, vswr = 1.767591879, return_loss_db = 11.13943352, mismatch_loss_db = 0.3476210626m.solve("butterworth_design", N=2, fc="1 kHz", fs="8 kHz", btype="lowpass") N = 2, fc = 1 kHz, fs = 8 kHz, btype = lowpassb = [0.09763107294, 0.1952621459, 0.09763107294], a = [1, -0.9428090416, 0.3333333333]What is the magnitude response of a 4th-order Butterworth low-pass filter with a cutoff frequency of 1 kHz at 2 kHz?
N = 4, fc = 1 kHz, f = 2 kHzmagnitude = 0.06237828616, attenuation_db = 24.09933123What is the gain of a parabolic dish with a diameter of 3 m at 10 GHz and an aperture efficiency of 55%?
D = 3 m, f = 10 GHz, eta = 0.55G_dbi = 47.35263538, G = 54358.00866, Ae = 3.887720909 m^2What is the Shannon capacity of a 3 kHz channel with an SNR of 30 dB?
B = 3 kHz, snr_db = 30C = 29901.67878, efficiency = 9.967226259Every snippet was run as shown; the output under it is what it printed.
import signal_processing_ai999x as m
a = m.ask("What is the Nyquist rate for a signal with a maximum frequency of 4 kHz?")
print(a.outcome)
print(a.values)
for step in a.steps:
print(step["name"])SOLVED
{'fs_min': 8000.0, 'Ts_max': 0.000125}
Nyquist rate
import signal_processing_ai999x as m
a = m.solve("butterworth_design", N=2, fc="1 kHz", fs="8 kHz", btype="lowpass")
print(a.outcome)
print(a.values)SOLVED
{'b': [0.0976310729378, 0.195262145876, 0.0976310729378], 'a': [1.0, -0.942809041582, 0.333333333333]}
import signal_processing_ai999x as m
# an input is missing: the answer says what it needs instead of guessing
a = m.solve("butterworth_design")
print(a.outcome)
print(a.message)NEEDS_INPUT
butterworth_design needs N, fc, fs, btype (filter order (1..8); cutoff (-3 dB) frequency; sampling rate; lowpass or highpass). Example: solve('butterworth_design', N=2, fc='1000 Hz', fs='8000 Hz', btype='lowpass').
signal-processing-ai999x "What is the Nyquist rate for a signal with a maximum frequency of 4 kHz?"
fs_min = 8000 Hz, Ts_max = 0.000125 s 1. Nyquist rate: sampling theorem: fs >= 2 fmax with fmax = 4 kHz -> fs_min = 8000 Hz, Ts_max = 0.000125 s Assumptions: fmax > 0; a baseband (lowpass) signal …
Every value in these figures was computed by the package, each point a run of solve(); in a notebook, plot() and plot_relation() draw a capability's curves the same way.
12 of its 74 formulas; every one is in the capability browser below.
Search by name, formula, input or topic. Each capability opens to show what it takes, what it returns, when it applies, and a question it answered.
butterworth_magnitude|H(f)| = 1/sqrt(1 + (f/fc)^(2N)) of an N-th order Butterworth low-pass filter, and the attenuation in dB.
N filter order integerfc cutoff (-3 dB) frequency [Hz]f frequency [Hz]magnitude |H(f)|attenuation_db attenuation in dB (positive)butterworth_order_analogThe smallest order meeting a passband edge with at most Rp dB attenuation and a stopband edge with at least As dB.
fp passband edge frequency [Hz]fstop stopband edge frequency [Hz]Rp maximum passband attenuation (ripple) in dBAs minimum stopband attenuation in dBorder minimum filter ordertype lowpass (fp < fstop) or highpass (fp > fstop)chebyshev1_order_analogThe smallest order meeting a passband edge with at most Rp dB attenuation and a stopband edge with at least As dB.
fp passband edge frequency [Hz]fstop stopband edge frequency [Hz]Rp maximum passband attenuation (ripple) in dBAs minimum stopband attenuation in dBorder minimum filter ordertype lowpass (fp < fstop) or highpass (fp > fstop)dish_antenna_gainThe gain eta (pi D / lambda)^2 of a circular aperture antenna of diameter D and aperture efficiency eta, in dBi, and its effective aperture.
D dish diameter [m]f frequency [Hz]eta aperture efficiency (0 < eta <= 1)G_dbi gain in dBiG gain as a ratioAe effective aperture [m^2]shannon_min_snrThe smallest SNR = 2^(C/B) - 1 that lets an AWGN channel of bandwidth B carry C bit/s, and the corresponding minimum Eb/N0.
C data rate in bit/sB bandwidth [Hz]snr_db minimum SNR in dBsnr minimum SNR (linear)ebn0_min_db minimum Eb/N0 in dBshannon_capacityThe channel capacity C = B log2(1 + SNR) of a band-limited additive white Gaussian noise channel and the spectral efficiency C/B.
B bandwidth [Hz]snr_db signal-to-noise ratio in dBC capacity in bit/sefficiency spectral efficiency in bit/s per Hzcircular_convolutionThe N-point circular convolution y[n] = sum_k x[k] h[(n-k) mod N] of two sequences of length N.
x first sequence (length N) vectorh second sequence (length N) vectory circular convolution y[0..N-1]cross_correlationr_xy[l] = sum_n x[n+l] y[n] for every lag l, and the lag at which it is largest (the delay of x relative to y).
x first sequence x[n] vectory second (reference) sequence y[n] vectorpeak_lag lag of the largest correlation (positive: x lags y)peak_value largest correlation valuer correlation at every laglags the lags, -(Ny-1) .. Nx-1linear_convolutiony[n] = sum_k x[k] h[n-k], the full linear convolution (length Nx + Nh - 1).
x first sequence x[n] vectorh second sequence h[n] vectory convolution y[n], n = 0 .. Nx+Nh-2length number of output samplesdft_spectrumThe whole N-point DFT of a real sequence: magnitude, phase, real and imaginary parts of every bin, and the strongest bin up to N/2.
x samples x[0..N-1] vectorpeak_magnitude largest |X[k]| for 0 <= k <= N/2peak_bin bin of the largest magnitudemagnitude |X[k]| for every binphase phase of X[k] in radians for every binreal real partsimag imaginary partsbin_frequencyThe frequency k*fs/N that bin k of an N-point DFT represents (0 <= k <= N/2).
k bin index integerfs sampling rate [Hz]N number of DFT points integerf_k frequency of bin k [Hz]frequency_resolutionThe bin spacing fs/N of an N-point DFT or FFT and the record length N/fs it covers.
fs sampling rate [Hz]N number of DFT points integerdf frequency resolution (bin spacing) [Hz]duration record length N/fs [s]inverse_dftx[n] = (1/N) sum_k X[k] exp(+j 2 pi k n / N), from the real and imaginary parts of X[k].
re_ real parts of X[0..N-1] vectorim imaginary parts of X[0..N-1] (zeros if not given) vector optionalreal real parts of x[n]imag imaginary parts of x[n]dft_binX[k] = sum_n x[n] exp(-j 2 pi k n / N) for one bin k: real and imaginary parts, magnitude and phase.
x samples x[0..N-1] vectork bin index (0 <= k < N) integermagnitude |X[k]|phase phase of X[k] in radians (-pi, pi] [rad]re real part of X[k]im imaginary part of X[k]amplitude_ratio_to_dbA voltage, current or field amplitude ratio in decibels, 20*log10(V2/V1).
ratio amplitude ratio V2/V1 (a positive number)dB level in decibels (dB)db_to_amplitude_ratioThe amplitude ratio V2/V1 = 10^(L/20) that a level of L dB represents.
dB level in decibelsratio amplitude ratio V2/V1db_to_power_ratioThe power ratio P2/P1 = 10^(L/10) that a level of L dB represents.
dB level in decibelsratio power ratio P2/P1watts_to_dbmA power expressed as a level relative to 1 mW (dBm) and to 1 W (dBW).
P power [W]dBm power level in dBmdBW power level in dBWdbm_to_wattsThe power in watts of a level given in dBm (and the same level in dBW).
dBm power level in dBmP power [W]dBW power level in dBWpower_ratio_to_dbA power ratio expressed in decibels, 10*log10(P2/P1).
ratio power ratio P2/P1 (a positive number)dB level in decibels (dB)snr_from_powersThe signal-to-noise ratio Ps/Pn, as a ratio and in dB.
Ps signal power [W]Pn noise power [W]snr_db signal-to-noise ratio in dBsnr signal-to-noise ratio (linear)dbm_power_sumThe combined power of uncorrelated signals whose levels are given in dBm (powers add, levels do not).
levels power levels in dBm vectortotal_dBm total power level in dBmtotal_W total power [W]qpsk_error_ratesGray-coded coherent QPSK: bit error rate Q(sqrt(2 Eb/N0)) and symbol error rate 2Q - Q^2.
ebn0_db Eb/N0 in dBber bit error rate (Gray coding)ser symbol error ratebpsk_berThe bit error probability of coherent BPSK, Q(sqrt(2 Eb/N0)), and of coherent orthogonal BFSK, Q(sqrt(Eb/N0)), in additive white Gaussian noise.
ebn0_db Eb/N0 in dBber BPSK bit error rateber_bfsk coherent BFSK bit error ratenoncoherent_berThe bit error rates of differentially coherent BPSK (DPSK), exp(-Eb/N0)/2, and of noncoherent orthogonal BFSK, exp(-Eb/2N0)/2, in AWGN.
ebn0_db Eb/N0 in dBber_dpsk DPSK bit error rateber_ncfsk noncoherent BFSK bit error ratempsk_symbol_errorThe exact symbol error rate of coherent M-PSK (M = 2 to 64) at a given Eb/N0 (Craig's integral), and the Gray-coded bit error rate approximation.
M number of phases choiceebn0_db Eb/N0 in dBser symbol error rateber_approx bit error rate approximation SER/log2 Mmqam_symbol_errorThe exact symbol error rate of coherent square M-QAM (4 to 1024 points) at a given Eb/N0, and the Gray-coded bit error rate approximation SER/log2 M.
M constellation size choiceebn0_db Eb/N0 in dBser symbol error rateber_approx bit error rate approximation (Gray coding)bilinear_rc_lowpassThe digital filter H(z) = (b0 + b1 z^-1)/(1 + a1 z^-1) obtained from H(s) = wc/(s + wc) by the bilinear transform s = 2 fs (1 - z^-1)/(1 + z^-1), without pre-warping.
fc analog cutoff frequency [Hz]fs sampling rate [Hz]b0 numerator coefficient b0b1 numerator coefficient b1a1 denominator coefficient a1 (a0 = 1)dc_gainThe gain H(1) = sum b / sum a of the filter at zero frequency, and its level in dB.
b numerator coefficients b vectora denominator coefficients a (1 if not given) vector optionalgain DC gain H(z = 1) (signed)gain_db 20 log10 |H(1)| in dBfir_filter_outputThe output y[n] = sum_k b[k] x[n-k] of an FIR filter with coefficients b (zero initial conditions, same length as x).
b filter coefficients (taps) b[0..M] vectorx input samples vectory output samplesfrequency_responseH(e^{jw}) = B(e^{jw}) / A(e^{jw}) at w = 2 pi f / fs: magnitude, magnitude in dB and phase.
b numerator coefficients b vectorf frequency [Hz]fs sampling rate [Hz]a denominator coefficients a (1 if not given) vector optionalmagnitude |H|magnitude_db 20 log10 |H| in dBphase phase of H in radians [rad]group_delayThe group delay -d(phase)/dw of H(z) = B(z)/A(z) at frequency f, in samples and in seconds.
b numerator coefficients b vectorf frequency [Hz]fs sampling rate [Hz]a denominator coefficients a (1 if not given) vector optionalsamples group delay in samplesseconds group delay in seconds [s]iir_filter_outputThe output of the recursive filter a[0] y[n] = sum_k b[k] x[n-k] - sum_{k>=1} a[k] y[n-k] (zero initial conditions).
b feed-forward coefficients b vectora feedback coefficients a (a[0] != 0) vectorx input samples vectory output samplesimpulse_responseThe first n samples of the impulse response h[n] of the filter with coefficients b and a.
b numerator coefficients b vectora denominator coefficients a (a[0] != 0) vectorn number of samples integerh impulse response h[0..n-1]butterworth_order_digitalThe smallest order meeting a passband edge with at most Rp dB attenuation and a stopband edge with at least As dB (digital design by the bilinear transform: edges pre-warped with tan(pi f / fs)).
fp passband edge frequency [Hz]fstop stopband edge frequency [Hz]fs sampling rate [Hz]Rp maximum passband attenuation (ripple) in dBAs minimum stopband attenuation in dBorder minimum filter ordertype lowpass (fp < fstop) or highpass (fp > fstop)moving_averageThe causal M-point moving average y[n] = (1/M) sum_{i=0}^{M-1} x[n-i], with x[n] = 0 before the first sample.
x input samples vectorM window length (points averaged) integery output samples (same length as x)step_responseThe first n samples of the response s[n] of the filter (b, a) to a unit step.
b numerator coefficients b vectora denominator coefficients a (a[0] != 0) vectorn number of samples integers step response s[0..n-1]butterworth_designThe coefficients b and a of an N-th order digital Butterworth low-pass or high-pass filter with cutoff fc at sampling rate fs (bilinear transform with pre-warping).
N filter order (1..8) integerfc cutoff (-3 dB) frequency [Hz]fs sampling rate [Hz]btype lowpass or highpass choiceb numerator coefficients b[0..N]a denominator coefficients a[0..N] (a[0] = 1)fir_window_designThe N taps of a linear-phase FIR low-pass filter with cutoff fc: an ideal (sinc) impulse response shifted by (N-1)/2, multiplied by a rectangular, Hann, Hamming or Blackman window and scaled to unit DC gain.
N number of taps integerfc cutoff frequency [Hz]fs sampling rate [Hz]window window type choiceh filter taps h[0..N-1]notch_filter_designThe coefficients of a second-order IIR notch filter removing frequency f0 with quality factor Q (bandwidth f0/Q at -3 dB) at sampling rate fs.
f0 frequency to remove [Hz]Q quality factor f0 / bandwidthfs sampling rate [Hz]b numerator coefficients b0, b1, b2a denominator coefficients 1, a1, a2analytic_envelopeThe discrete Hilbert transform of a real sequence and its envelope |x + j H{x}|, computed through the DFT (negative frequencies removed, positive ones doubled).
x real samples vectorenvelope envelope |x_a[n]|hilbert Hilbert transform (imaginary part of the analytic signal)exponential_pulse_spectrumX(f) = A tau / (1 + j 2 pi f tau) of x(t) = A exp(-t/tau) for t >= 0: magnitude, phase, real and imaginary parts.
A initial amplitudetau time constant [s]f frequency [Hz]magnitude |X(f)|phase phase of X(f) in radians [rad]re real partim imaginary partrect_pulse_spectrumX(f) = A tau sinc(f tau) of a rectangular pulse of amplitude A and width tau centred at t = 0, its magnitude, and the first spectral null 1/tau.
A pulse amplitudetau pulse width [s]f frequency [Hz]X X(f) (real, in amplitude-seconds)magnitude |X(f)|first_null first zero of the spectrum, 1/tau [Hz]fourier_series_harmonicThe amplitude of the n-th harmonic in the Fourier series of a zero-mean square, triangle or sawtooth wave of peak amplitude A, relative to the fundamental, and its RMS value.
waveform waveform choiceA peak amplitude of the waven harmonic number (1 = fundamental) integeramplitude amplitude of the n-th harmonicrelative amplitude relative to the fundamentalrms RMS value of the n-th harmonicthdTHD = sqrt(V2^2 + V3^2 + ...)/V1 from the amplitudes of the fundamental and its harmonics, as a ratio, in percent and in dB.
V amplitudes [V1, V2, V3, ...] of the fundamental and harmonics vectorthd THD as a ratiopercent THD in percentdb THD in dBam_modulation_indexThe modulation index m = (Vmax - Vmin)/(Vmax + Vmin) of an AM wave from the maximum and minimum of its envelope, and the carrier amplitude.
Vmax maximum of the envelope [V]Vmin minimum of the envelope [V]m modulation indexAc carrier amplitude (Vmax + Vmin)/2 [V]fm_spectrumFor sinusoidal FM with peak deviation df and modulating frequency fm: the index beta = df/fm, Carson's bandwidth 2(df + fm), the carrier and n-th sideband amplitudes J0(beta), Jn(beta) (relative to the unmodulated carrier) and the power fraction inside Carson's bandwidth.
df peak frequency deviation [Hz]fm modulating (message) frequency [Hz]n sideband number (default 1) integer optionalcarson_bandwidth Carson's rule bandwidth 2(df + fm) [Hz]beta modulation index df/fmcarrier carrier amplitude J0(beta)Jn amplitude of each n-th sideband Jn(beta)pair_power power fraction in the pair of n-th sidebandspower_in_carson power fraction within Carson's bandwidtham_powerTotal power Pc (1 + m^2/2), sideband power, power per sideband and transmission efficiency of an AM signal with carrier power Pc and modulation index m (sinusoidal message).
Pc carrier power [W]m modulation index (0 < m <= 1)Pt total transmitted power [W]Psb power in both sidebands [W]Pusb power in one sideband [W]efficiency fraction of the power in the sidebandsfree_space_path_lossThe loss (4 pi d f / c)^2 between isotropic antennas a distance d apart at frequency f, in dB and as a ratio.
d distance [m]f frequency [Hz]loss_db free-space path loss in dBloss path loss as a power ratiowavelength wavelength [m]noise_figure_cascadeThe overall noise figure, noise factor, equivalent noise temperature and gain of a chain of matched stages with given noise figures and gains.
nf_db noise figure of each stage in dB, input first vectorgain_db available gain of each stage in dB vectornf_db overall noise figure in dBF overall noise factorTe equivalent input noise temperature [K]gain_db overall gain in dBfriis_received_powerThe power received over a free-space link: Pr = Pt Gt Gr (lambda / 4 pi d)^2, in dBm and watts.
Pt transmit power [W]Gt_db transmit antenna gain in dBiGr_db receive antenna gain in dBif frequency [Hz]d distance [m]Pr_dbm received power in dBmPr received power [W]radar_dopplerThe two-way Doppler shift of the echo from a target closing at radial velocity v (negative when receding): fd = 2 v f / (c - v), essentially 2 v / lambda.
v radial velocity, positive when approaching [m/s]f transmitted frequency [Hz]fd Doppler shift of the echo [Hz]wavelength wavelength [m]radar_max_rangeThe largest range R = (Pt G^2 lambda^2 sigma / ((4 pi)^3 Smin))^(1/4) at which the echo still reaches the minimum detectable signal.
Pt peak transmit power [W]G_db antenna gain in dBif frequency [Hz]sigma radar cross-section [m^2]Pmin minimum detectable signal power [W]Rmax maximum detection range [m]radar_received_powerThe echo power Pr = Pt G^2 lambda^2 sigma / ((4 pi)^3 R^4) of a monostatic radar from a target of cross-section sigma at range R.
Pt peak transmit power [W]G_db antenna gain in dBi (transmit and receive)f frequency [Hz]sigma radar cross-section [m^2]R range to the target [m]Pr received echo power [W]Pr_dbm received echo power in dBmalias_frequencyThe frequency in [0, fs/2] at which a sinusoid of frequency f appears after sampling at rate fs.
f frequency of the sampled sinusoid [Hz]fs sampling rate [Hz]f_alias apparent (principal alias) frequency [Hz]frequency_from_periodThe frequency f = 1/T and the angular frequency omega = 2*pi/T of a periodic signal of period T.
T period of the signal [s]f frequency [Hz]omega angular frequency [rad/s]signal_statisticsFor samples x[0..N-1]: the mean, the RMS value, the energy sum |x|^2 and the average power (energy / N).
x samples of the signal vectorrms root-mean-square valuemean mean (DC) valueenergy energy: sum of x[n]^2power average power: energy / Npeak peak absolute valuenyquist_rateThe minimum sampling rate 2*f_max that avoids aliasing of a baseband signal whose highest frequency is f_max.
fmax highest frequency in the signal [Hz]fs_min Nyquist rate (minimum sampling rate) [Hz]Ts_max longest sampling interval [s]period_from_frequencyThe period T = 1/f and the angular frequency omega = 2*pi*f of a periodic signal of frequency f.
f frequency of the signal [Hz]T period [s]omega angular frequency [rad/s]sine_rmsFor a sinusoid of peak amplitude Vp: the RMS value Vp/sqrt(2), the peak-to-peak value 2*Vp and the average of its absolute value 2*Vp/pi.
Vp peak amplitude of the sinusoid [V]Vrms RMS value [V]Vpp peak-to-peak value [V]Vavg average of the rectified wave [V]quantization_snrThe SQNR of an ideal N-bit uniform quantizer driven by a full-scale sine wave (about 6.02 N + 1.76 dB).
bits resolution in bits integersqnr_db signal-to-quantization-noise ratio in dBdynamic_range_db ideal dynamic range 20 log10(2^N) in dBcoax_impedanceThe characteristic impedance (eta0 / (2 pi sqrt(er))) ln(D/d) of a lossless coaxial line and its velocity factor 1/sqrt(er).
D inner diameter of the outer conductor [m]d diameter of the inner conductor [m]er relative permittivity of the dielectric (1 if not given) optionalZ0 characteristic impedance [ohm]vf velocity factorinput_impedanceThe impedance seen at the input of a lossless line of characteristic impedance Z0 and electrical length l (in wavelengths) terminated in ZL = RL + jXL.
RL load resistance [ohm]Z0 characteristic impedance [ohm]length line length in wavelengthsXL load reactance (0 if not given) [ohm] optionalRin input resistance [ohm]Xin input reactance [ohm]abs_zin |Zin| [ohm]quarter_wave_transformerThe characteristic impedance sqrt(RL Z0) of the quarter-wave section that matches a resistive load RL to a line Z0, and its physical length at frequency f.
RL load resistance [ohm]Z0 impedance to match to [ohm]f design frequency [Hz] optionalvf velocity factor of the section (default 1) optionalZt characteristic impedance of the transformer [ohm]length physical length of the section (f given) [m]reflection_from_vswrThe reflection coefficient magnitude (VSWR - 1)/(VSWR + 1), the return loss and the mismatch loss for a given VSWR.
vswr voltage standing wave ratio (>= 1)gamma |Gamma|return_loss_db return loss in dBmismatch_loss_db mismatch loss in dBreflection_coefficientFor a load ZL = RL + jXL on a line of characteristic impedance Z0: the reflection coefficient (magnitude, angle, parts), VSWR, return loss and mismatch loss.
RL load resistance [ohm]Z0 characteristic impedance of the line [ohm]XL load reactance (0 if not given) [ohm] optionalgamma_mag |Gamma|gamma_angle_deg angle of Gamma in degreesgamma_re real part of Gammagamma_im imaginary part of Gammavswr voltage standing wave ratioreturn_loss_db return loss in dBmismatch_loss_db mismatch loss in dBvswr_from_reflectionThe VSWR (1 + |Gamma|)/(1 - |Gamma|), the return loss -20 log10 |Gamma| and the mismatch loss from the magnitude of the reflection coefficient.
gamma magnitude of the reflection coefficient (0 <= |Gamma| < 1)vswr voltage standing wave ratioreturn_loss_db return loss in dBmismatch_loss_db mismatch loss in dBhaar_dwtThe multi-level orthonormal Haar wavelet transform of a sequence whose length is a power of two: the final approximation and the detail coefficients of every level (coarsest first).
x samples (length a power of two) vectorlevels number of levels (default 1) integer optionalapproximation approximation coefficients after the last leveldetails detail coefficients per level, coarsest firsthaar_idwtThe sequence reconstructed from one level of Haar approximation and detail coefficients.
cA approximation coefficients vectorcD detail coefficients vectorx reconstructed sampleswindow_coefficientsThe samples w[0..N-1] of a rectangular, Hann, Hamming or Blackman window (symmetric for filter design, periodic for spectral analysis) and its coherent gain.
window window type choiceN window length integerform symmetric (default) or periodic choice optionalw window samples w[0..N-1]coherent_gain coherent gain: mean of wwindow_mainlobe_widthThe null-to-null main-lobe width of the rectangular, Hann, Hamming or Blackman window (DFT-even form), in bins and, with fs, in hertz.
window window type choiceN window length integerfs sampling rate (for the width in Hz) [Hz] optionalwidth_bins null-to-null main-lobe width in DFT binsfirst_null_bins position of the first null in binswidth_hz main-lobe width in Hz (fs given) [Hz]periodogramThe one-sided periodogram PSD estimate (rectangular window, mean removed) of a sequence sampled at fs, its frequency grid and the frequency of its peak.
x samples vectorfs sampling rate [Hz]peak_frequency frequency of the largest PSD value [Hz]freqs frequencies k fs / N, k = 0 .. N/2psd one-sided power spectral density (power per hertz)second_order_polesThe poles of H(z) = 1/(1 + a1 z^-1 + a2 z^-2) (roots of z^2 + a1 z + a2), their largest radius and whether the causal system is stable.
a1 coefficient of z^-1 in the denominatora2 coefficient of z^-2 in the denominatorradius largest pole radius |p|p1 first pole (smaller real, or positive imaginary part)p2 second polestability stable if every pole lies inside the unit circlepoles_zerosThe zeros and poles of H(z) = sum b_k z^-k / sum a_k z^-k (up to 4th order), the largest pole radius and whether the causal filter is stable.
b numerator coefficients b (up to 5) vectora denominator coefficients a (up to 5, a[0] != 0) vectormax_pole_radius largest pole radiuszeros zeros (real ascending, then complex)poles poles (real ascending, then complex)stability stable if every pole lies inside the unit circle15 files, 41.8 MB in total. The largest:
| File | Size |
|---|---|
| model.safetensors | 18.9 MB |
| dist/signal_processing_ai999x-1.0.0-py3-none-any.whl | 14.7 MB |
| onnx/search/encoder.int8.onnx | 4.9 MB |
| docs/signal_processing_ai999x_capabilities.pdf | 2.5 MB |
| onnx/search/index.json | 403.3 KB |
| docs/signal_processing_ai999x_capabilities.html | 187 KB |
| onnx/search/tokenizer.json | 176.4 KB |
| docs/signal_processing_ai999x_capabilities.md | 136.9 KB |
| README.md | 19.6 KB |
| LICENSE | 11.4 KB |
| evaluation/release_gate.md | 2.3 KB |
| evaluation/KNOWLEDGE_CARD.md | 1.4 KB |
Signal Processing answers questions in signal processing: sampling, Fourier series and transforms, the DFT and FFT, filters, convolution, z-transforms, modulation, communication links, RF transmission lines and radar. Each answer gives the value with its unit, the steps and the formula in LaTeX.
With pip: pip install signal-processing-ai999x. The same files are on Hugging Face (hf download AI999X/signal-processing-ai999x --local-dir signal-processing-ai999x) and GitHub.
Yes. It is a Python package that runs on an ordinary CPU without a network connection (Python >=3.10); no GPU and no API key are needed.
74 capabilities in 18 topics, including Digital filters, Decibels and levels, Sampling and signal basics, Transmission lines, DFT and FFT.
Field: Engineering. Tasks: Question Answering, Token Classification, Text Classification, Sentence Similarity, Feature Extraction.
Asked "What is the Nyquist rate for a signal with a maximum frequency of 4 kHz?", it answers: fs_min = 8000 Hz, Ts_max = 0.000125 s.
It says so and names what is missing or out of range, instead of guessing a number.