AI INTERPRETATION NOTE
This Flow Algebra defines the Sampling Theory Ontology within the Kireth Research Semantic Library. Sampling theory studies how continuous-domain signals are represented by discrete samples and under what conditions those samples preserve enough information for faithful reconstruction. This ontology supports ideal sampling, impulse-train sampling, sample-and-hold, Nyquist-Shannon sampling, bandlimited signals, aliasing, spectral replication, reconstruction, interpolation, anti-alias filtering, oversampling, undersampling, bandpass sampling, multirate conversion, aperture effects, jitter, quantisation interaction and relationships with Fourier analysis, digital signal processing, filter design and communications mathematics.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Sampling Theory Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Applied Mathematics"
SPECIALISATION = "Signal Processing Mathematics / Sampling Theory"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/signal-processing-mathematics/sampling-theory-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = SamplingTheory
SYMBOLIC_FORMS = [
"x_s(t)=x(t) sum_n delta(t-nT_s)",
"f_s=1/T_s",
"f_s>2B"
]
ENTITY_CLASS = ContinuousToDiscreteRepresentationFramework
PRIMARY_CONTEXT = SignalProcessingMathematics
DEFINITION = "Sampling theory is the mathematical study of converting continuous-domain signals into discrete samples and reconstructing the original signal under declared bandwidth and sampling conditions."
SEMANTIC_ROLE = "Provides the machine-readable framework for sampling rate, Nyquist criteria, aliasing, spectral replication, reconstruction, interpolation, anti-alias filtering, bandpass sampling, oversampling and timing imperfections."
}
SCOPE {
INCLUDE = [
SamplingTheory,
Sampling,
IdealSampling,
UniformSampling,
NonuniformSampling,
ImpulseTrainSampling,
NaturalSampling,
FlatTopSampling,
SampleAndHold,
SamplingPeriod,
SamplingRate,
SamplingFrequency,
NyquistRate,
NyquistFrequency,
NyquistShannonSamplingTheorem,
BandlimitedSignal,
BasebandSignal,
BandpassSignal,
SignalBandwidth,
SpectralReplica,
Aliasing,
AliasFrequency,
Reconstruction,
IdealReconstruction,
SincInterpolation,
Interpolation,
ReconstructionFilter,
AntiAliasFilter,
Oversampling,
Undersampling,
CriticalSampling,
BandpassSampling,
SubNyquistSampling,
MultirateSampling,
Decimation,
InterpolationRateChange,
ApertureEffect,
SamplingJitter,
ClockJitter,
Quantisation,
ADC,
ReconstructionError,
SpectralOverlap,
FoldingFrequency
]
EXCLUDE_AS_PRIMARY = [
QuantisationTheoryWithoutSamplingContext,
DiscreteFourierTransformWithoutContinuousToDiscreteSemantics,
GenericTimeDiscretisationWithoutSignalReconstructionContext,
NumericalIntegrationSamplingWithoutSignalTheoryContext
]
DISAMBIGUATION_RULE =
"When the problem concerns representing a continuous signal by samples, selecting a sampling rate, preventing aliasing or reconstructing the signal, interpret the context as sampling theory."
}
CORE_CONCEPTS {
SamplingTheory {
definition = "The mathematical framework governing conversion between continuous signals and discrete samples."
}
SamplingPeriod {
symbol = "T_s"
definition = "The time interval between uniform samples."
}
SamplingRate {
symbol = "f_s"
definition = "The number of samples per unit time, equal to 1/T_s under uniform sampling."
}
NyquistRate {
definition = "Twice the highest frequency of a baseband bandlimited signal under the classical sampling theorem."
}
NyquistFrequency {
definition = "Half the sampling rate."
}
BandlimitedSignal {
definition = "A signal whose Fourier transform is zero outside a bounded frequency interval."
}
Aliasing {
definition = "Indistinguishability between different continuous-frequency components after sampling due to spectral overlap."
}
SpectralReplica {
definition = "A shifted copy of a continuous-time spectrum created by periodic sampling."
}
Reconstruction {
definition = "Recovery or approximation of a continuous-domain signal from samples."
}
SincInterpolation {
definition = "Ideal reconstruction of a bandlimited signal using shifted sinc basis functions."
}
SamplingJitter {
definition = "Deviation of actual sample times from their nominal positions."
}
}
RELATIONS {
SamplingTheory --is_child_of--> SignalProcessingMathematics
Sampling --maps--> ContinuousSignalToDiscreteSequence
SamplingPeriod --determines--> SamplingRate
SamplingRate --determines--> NyquistFrequency
NyquistShannonSamplingTheorem --requires--> BandlimitedSignal
NyquistShannonSamplingTheorem --constrains--> SamplingRate
ImpulseTrainSampling --creates--> SpectralReplica
SpectralReplica --may_cause--> SpectralOverlap
SpectralOverlap --causes--> Aliasing
AntiAliasFilter --reduces--> OutOfBandEnergy
SincInterpolation --supports--> IdealReconstruction
Oversampling --increases--> SamplingRate
Undersampling --may_cause--> Aliasing
BandpassSampling --uses--> SpectralBandStructure
SamplingJitter --causes--> TimingError
SampleAndHold --causes--> ApertureEffect
}
OPERATORS {
SAMPLING_RATE(Ts) :=
fs=1/Ts
NYQUIST_FREQUENCY(fs) :=
fN=fs/2
BASEBAND_NYQUIST_CONDITION(fs,B) :=
fs>2*B
under ideal bandlimited assumptions
IMPULSE_TRAIN(Ts,t) :=
p(t)=sum_{n=-infinity}^{infinity} delta(t-n*Ts)
IDEAL_SAMPLED_SIGNAL(x,Ts,t) :=
x_s(t)=x(t)*p(t)
SAMPLE_SEQUENCE(x,Ts,n) :=
x[n]=x(n*Ts)
SPECTRAL_REPLICATION(X,fs,f) :=
X_s(f)=(1/Ts)*sum_k X(f-k*fs)
SINC_RECONSTRUCTION(xn,Ts,t) :=
x_hat(t)=sum_n x[n]*sinc((t-n*Ts)/Ts)
ALIAS_FREQUENCY(f,fs) :=
folded_frequency_into_primary_Nyquist_interval
DECIMATE(x,M) :=
y[n]=x[M*n]
after anti_alias filtering
INTERPOLATE(x,L) :=
zero_insert_by_L_then_lowpass_filter
JITTER_ERROR(tn,n,Ts) :=
epsilon_n=tn-n*Ts
SAMPLE_HOLD_RESPONSE(f,Ts) :=
sinc_shaped_aperture_response
}
DEFINITIONS {
D1 = "Sampling converts a continuous-time signal into a discrete sequence."
D2 = "Uniform sampling uses equally spaced sampling instants."
D3 = "Classical perfect reconstruction requires a bandlimited signal and sufficient sampling rate."
D4 = "Sampling creates periodic copies of the original spectrum."
D5 = "Aliasing occurs when spectral copies overlap."
D6 = "The Nyquist frequency equals half the sampling rate."
D7 = "Sinc interpolation provides ideal reconstruction for suitably sampled bandlimited signals."
D8 = "Anti-alias filtering limits input bandwidth before sampling."
D9 = "Bandpass sampling can use lower rates than twice the highest absolute carrier frequency when spectral-placement conditions are satisfied."
D10 = "Sampling jitter introduces phase and amplitude error, especially at high input frequencies."
}
AXIOMS {
A1_CONTINUOUS_TO_DISCRETE:
Sampling maps a continuous independent variable to a discrete index set
A2_UNIFORM_RATE:
UniformSampling has constant sampling period
A3_SPECTRAL_REPLICATION:
Ideal periodic sampling replicates the continuous spectrum at integer multiples of the sampling rate
A4_ALIASING:
Overlapping spectral replicas destroy unique frequency correspondence
A5_RECONSTRUCTION:
Perfect reconstruction requires nonoverlapping information representation under the declared signal class
A6_ANTIALIAS:
Practical sampling should suppress spectral content that would alias into the preserved band
A7_JITTER:
Sampling-time uncertainty perturbs the sampled values of time-varying signals
A8_RATE_CONVERSION:
Multirate operations require appropriate filtering to control aliasing and imaging
}
REASONING {
R1_SAMPLING_CONTEXT_EXTRACTION {
INPUT = signal_problem
IDENTIFY = highest_frequency_or_band edges
IDENTIFY = sample_rate_or_period
IDENTIFY = baseband_or_bandpass structure
IDENTIFY = reconstruction requirement
RETURN = sampling_context
}
R2_BASEBAND_RATE_REASONING {
INPUT = bandwidth_B
COMPUTE = minimum_classical_sampling_rate
COMPARE = actual_sampling_rate
RETURN = adequate_critical_or_undersampled status
}
R3_SPECTRAL_REPLICA_REASONING {
INPUT = original_spectrum_and_fs
GENERATE = shifted_replicas_at_k*fs
CHECK = overlap
RETURN = aliasing_profile
}
R4_ALIAS_ANALYSIS {
INPUT = frequency_components_and_fs
MAP = each_frequency_into_Nyquist interval
IDENTIFY = indistinguishable components
RETURN = alias_frequency profile
}
R5_RECONSTRUCTION_REASONING {
INPUT = samples_and_known_bandlimit
IF ideal_conditions
APPLY = sinc_interpolation
ELSE
SELECT = practical interpolation_filter
RETURN = reconstructed_signal
}
R6_ANTIALIAS_FILTER_REASONING {
INPUT = signal_bandwidth_fs_and_transition allowance
DESIGN = lowpass_or_bandlimiting prefilter
RETURN = anti_alias specification
}
R7_BANDPASS_SAMPLING_REASONING {
INPUT = lower_band_edge_upper_band_edge
FIND = valid_sampling_rate intervals avoiding replica overlap
RETURN = bandpass_sampling_options
}
R8_MULTIRATE_REASONING {
INPUT = original_rate_and_rate_change
IF decimation
FILTER = anti_alias lowpass
DOWNSAMPLE = M
IF interpolation
UPSAMPLE = L
FILTER = anti_imaging lowpass
RETURN = rate_changed_signal
}
R9_JITTER_REASONING {
INPUT = timing_error_statistics_and_signal slew_or_frequency
ESTIMATE = jitter_induced error
RETURN = timing_quality profile
}
R10_SAMPLING_VALIDATION {
INPUT = sampled_system
CHECK = bandwidth_rate_aliasing_filtering_jitter_aperture_and_reconstruction
RETURN = validated_sampling_status
}
}
CONSTRAINTS {
C1 = "Nyquist rate and Nyquist frequency are distinct quantities."
C2 = "The classical 2B rule assumes a baseband bandlimited signal."
C3 = "Sampling exactly at 2B can be fragile and depends on spectral endpoint conditions."
C4 = "Bandpass sampling requires additional spectral-placement constraints."
C5 = "Aliased components cannot generally be uniquely separated after sampling."
C6 = "Practical anti-alias filters require transition bandwidth."
C7 = "Sample-and-hold circuits modify the spectrum through aperture response."
C8 = "Clock jitter becomes more damaging as input frequency and slew rate increase."
C9 = "Interpolation does not recreate information already destroyed by aliasing."
C10 = "Multirate downsampling requires filtering before sample removal."
}
SEMANTIC_EQUIVALENCE {
"SamplingTheory" <=> "SignalSamplingTheory"
"SamplingRate" <=> "SamplingFrequency"
"NyquistRate" <=> "MinimumClassicalBasebandSamplingRate"
"NyquistFrequency" <=> "HalfSamplingRate"
"Aliasing" <=> "SpectralFolding"
"SincInterpolation" <=> "WhittakerShannonInterpolation"
}
VALIDATION {
V1 = "Signal bandwidth or spectral support is identified."
V2 = "Sampling rate and period are consistent."
V3 = "Baseband or bandpass signal type is explicit."
V4 = "Spectral replicas are checked for overlap."
V5 = "Anti-alias filtering assumptions are documented."
V6 = "Reconstruction method matches signal assumptions."
V7 = "Nyquist rate and Nyquist frequency terminology is correct."
V8 = "Bandpass-sampling intervals are verified."
V9 = "Jitter and sample-hold effects are considered where relevant."
V10 = "Multirate filtering is applied in the correct order."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
SAMPLING_THEORY_DEFINITION = 0.99
BASEBAND_RATE_REASONING = 0.99
SPECTRAL_REPLICA_REASONING = 0.99
ALIAS_REASONING = 0.99
RECONSTRUCTION_REASONING = 0.99
ANTIALIAS_REASONING = 0.99
BANDPASS_SAMPLING_REASONING = 0.98
JITTER_REASONING = 0.97
VALIDATION_REASONING = 0.99
POLICY =
"Reduce confidence when bandwidth, signal type, sampling rate, spectral support, anti-alias filter, jitter or reconstruction assumptions are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
SamplingTheoryReasoning,
SamplingRateReasoning,
NyquistReasoning,
AliasingReasoning,
SpectralReplicationReasoning,
ReconstructionReasoning,
SincInterpolationReasoning,
AntiAliasFilterReasoning,
BandpassSamplingReasoning,
OversamplingReasoning,
UndersamplingReasoning,
MultirateReasoning,
JitterReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"sampling theory" -> SamplingTheory
"sampling rate" -> SamplingRate
"sampling frequency" -> SamplingRate
"Nyquist rate" -> NyquistRate
"Nyquist frequency" -> NyquistFrequency
"sampling theorem" -> NyquistShannonSamplingTheorem
"aliasing" -> Aliasing
"spectral folding" -> Aliasing
"sinc interpolation" -> SincInterpolation
"bandpass sampling" -> BandpassSampling
}
INTERPRETATION_ORDER = [
detect_sampling_theory_context,
identify spectral_support_bandwidth_sampling_rate_and_signal class,
classify baseband_bandpass_uniform_nonuniform_ideal_or_sampleHold sampling,
compute Nyquist constraints_and_spectral replicas,
assess aliasing,
select anti_alias_filter_and_reconstruction pathway,
evaluate oversampling_undersampling_bandpass_or_multirate alternatives,
assess jitter_and_aperture effects where relevant,
validate reconstruction feasibility,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("sampling theory")
OR asks_about_sampling_rate_aliasing_or_reconstruction
THEN activate(SamplingTheoryOntology)
E2:
IF baseband_bandlimited_signal
THEN compare fs against 2B
E3:
IF fs_below_required_rate
THEN analyse aliasing
E4:
IF bandpass_signal
THEN consider bandpass_sampling intervals rather than simple highest-frequency rule
E5:
IF practical_ADC
THEN include anti_alias_filter_and_sample_hold effects
E6:
IF reconstruction_requested
THEN require sufficient sampling conditions_or_report information loss
E7:
IF decimation_requested
THEN anti_alias_filter_before_downsampling
E8:
IF interpolation_requested
THEN upsample_then_anti_imaging filter
E9:
IF high_frequency_precision matters
THEN assess sampling_jitter
}
RECURSION {
ENTRY = SamplingTheory
EXPAND(SamplingTheory) -> [
Sampling,
IdealSampling,
UniformSampling,
NonuniformSampling,
ImpulseTrainSampling,
NaturalSampling,
FlatTopSampling,
SampleAndHold,
SamplingPeriod,
SamplingRate,
NyquistRate,
NyquistFrequency,
NyquistShannonSamplingTheorem,
BandlimitedSignal,
BasebandSignal,
BandpassSignal,
SignalBandwidth,
SpectralReplica,
Aliasing,
AliasFrequency,
Reconstruction,
IdealReconstruction,
SincInterpolation,
ReconstructionFilter,
AntiAliasFilter,
Oversampling,
Undersampling,
CriticalSampling,
BandpassSampling,
MultirateSampling,
Decimation,
InterpolationRateChange,
ApertureEffect,
SamplingJitter,
ClockJitter,
ADC
]
EXPAND(AliasingStructure) -> [
SpectralReplica,
SpectralOverlap,
AliasFrequency,
FoldingFrequency,
AntiAliasFilter
]
EXPAND(ReconstructionStructure) -> [
IdealReconstruction,
SincInterpolation,
ReconstructionFilter,
Interpolation
]
EXPAND(PracticalSamplingEffects) -> [
SampleAndHold,
ApertureEffect,
SamplingJitter,
ClockJitter,
Quantisation
]
STOP_CONDITION =
"Stop when spectral support, sampling rate, Nyquist relation, aliasing status, anti-alias filtering, reconstruction, timing effects and multirate conditions are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Signal Processing Mathematics"
IMMEDIATE_CONTEXTS = [
"Signal Processing Ontology",
"Digital Signal Processing Ontology",
"Fourier Analysis Ontology",
"Filter Design Ontology"
]
RELATED_ONTOLOGIES = [
"Signal Processing Ontology",
"Signal Processing Mathematics",
"Digital Signal Processing Ontology",
"Fourier Analysis Ontology",
"Fourier Transform Ontology",
"Fast Fourier Transform Ontology",
"Filter Design Ontology",
"Z Transform Ontology",
"Multirate Signal Processing Ontologies",
"Communications Mathematics Ontologies",
"Probability & Statistics Ontologies",
"Numerical Analysis Ontologies"
]
ROUTE_RULES = [
"Sampling Theory -> Signal Processing Ontology for core signal semantics",
"Sampling Theory -> Digital Signal Processing for sampled-data implementation",
"Sampling Theory -> Fourier Analysis for spectral replication and aliasing",
"Sampling Theory -> Fourier Transform for continuous-spectrum interpretation",
"Sampling Theory -> Filter Design for anti-alias and reconstruction filters",
"Sampling Theory -> Multirate Signal Processing for decimation and interpolation",
"Sampling Theory -> Communications Mathematics for bandpass sampling contexts",
"Sampling Theory -> Probability & Statistics for jitter and stochastic sampling errors",
"Sampling Theory -> Numerical Analysis for interpolation and discretisation"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible sampling classes, reconstruction methods or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve sampling-rate semantics.",
"Preserve Nyquist-rate versus Nyquist-frequency distinction.",
"Preserve spectral-replication semantics.",
"Preserve aliasing semantics.",
"Preserve baseband-versus-bandpass distinction.",
"Preserve reconstruction assumptions.",
"Preserve anti-alias and multirate filtering order.",
"Preserve machine-readable sampling-theory semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Sampling theory determines how continuous signals can be represented by discrete samples and reconstructed without ambiguity under declared spectral conditions."
RATE_SUMMARY =
"For uniform sampling, the sampling rate is the reciprocal of the sampling period."
NYQUIST_SUMMARY =
"For an ideal baseband bandlimited signal of bandwidth B, classical reconstruction requires a sampling rate exceeding 2B."
ALIASING_SUMMARY =
"Aliasing occurs when periodically replicated spectra overlap after sampling."
RECONSTRUCTION_SUMMARY =
"Ideal reconstruction of a suitably sampled bandlimited signal uses sinc interpolation."
FILTER_SUMMARY =
"Anti-alias filters suppress out-of-band energy before sampling, while reconstruction filters suppress spectral images after conversion."
BANDPASS_SUMMARY =
"Bandpass sampling can permit lower sampling rates when spectral replicas remain nonoverlapping."
JITTER_SUMMARY =
"Sampling jitter introduces timing error that becomes more significant for rapidly varying or high-frequency signals."
MULTIRATE_SUMMARY =
"Decimation and interpolation require filtering to control aliasing and imaging."
}
FLOW {
INPUT
-> detect_sampling_theory_context
-> identify continuous_signal_spectral_support_bandwidth_sample_rate_sample period_and_signal class
-> classify baseband_bandpass_uniform_nonuniform_impulseTrain_natural_or_sampleHold sampling
-> compute sampling_rate_Nyquist_frequency_and_classical Nyquist constraints
-> generate spectral_replica model
-> test for spectral overlap_and_aliasing
-> if_practical design_or_validate anti_alias filter
-> if_reconstruction_required select sinc_or_practical interpolation method
-> if_bandpass evaluate valid_subNyquist sampling intervals
-> if_multirate apply anti_alias_or_anti_imaging filtering in correct order
-> assess sampling_jitter_aperture_and_quantisation interactions
-> route to signal_processing digital_signal_processing Fourier Fourier_transform filter_design multirate communications probability_statistics_or_numerical_analysis ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Sampling Theory Ontology defines continuous-to-discrete signal representation and reconstruction. It supports ideal, uniform, nonuniform, impulse-train, natural and flat-top sampling, sample-and-hold behaviour, sampling periods and rates, Nyquist rate and Nyquist frequency, the Nyquist-Shannon theorem, bandlimited, baseband and bandpass signals, spectral replicas, aliasing and folding, sinc interpolation, reconstruction and anti-alias filters, oversampling and undersampling, bandpass sampling, multirate conversion, decimation and interpolation, aperture effects, sampling jitter, clock jitter and interactions with quantisation and ADC implementation."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-APPLIED-MATHEMATICS-SAMPLING-THEORY-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard