type TSignalAnalyzer = class(TSignal);
Analyzes a signal with different methods in time domain.
Applies the operation selected by Transform to the Input signal and places the result in Self.Data. Transform = ttAutoCorr computes the one-sided autocorrelation for lags k = 0 ... CorrTaps1-1, scaled by AutoCorrType: normal r[k]=sum_n x[n] x[n+k] (so equals the signal energy sum_n x[n]^2), biased , unbiased . ttCrossCorr computes the raw cross-correlation of the two Inputs, Data[n] = sum_k x_1[k] x_2[k+n], n = 0 ... CorrTaps1-1, whose peak lag equals the delay between the two signals. ttDct / ttInverseDct apply the orthonormal DCT-II and its inverse, satisfying IDCT(DCT(x)) = x. ttRealCepstrum returns the real cepstrum c = F^(-1)bigl(ln| F(x)|bigr) (a windowed, half-length estimate) in which an echo of delay D produces a rahmonic peak whose quefrency tracks D; ttCplxCepstrum keeps the unwrapped phase. Integration further integrates (trapezoidal, inOnce/inTwice) or differentiates (central difference (x[i+2]-x[i])/(2 Delta t), diffOnce/diffTwice) the signal using the sample interval Delta t = 1/F_s. The resulting signal is always placed in Self.Data.
Properties
| Name | Type | Description |
|---|---|---|
| Active | Boolean | Set active to false to suppress the propagation of the Pull request and the subsequent call to the Update method. |
| AutoCorrType | TAutoCorrType | Select the auto-correlation type. |
| BandWidth | Double | Return the bandwidth of the signal. |
| BandwidthH | Double | Returns the upper bandwidth edge of the signal. |
| BandwidthL | Double | Returns the lower bandwidth edge of the signal. |
| BlockAssign | Boolean | Block streaming of specific properties when storing only a "template". |
| ChannelCount | Integer | Get or set the number of channels multiplexed in the data property. |
| Complex | Boolean | Set this property to true, to request computation using complex numbers. |
| Continuous | Boolean | If True, the component will pass on the udpate request to the connected component. |
| CorrTaps1 | Integer | Select number of taps for auto-correlation and cross-correlation. |
| CorrTaps2 | Integer | Select number of taps for cross-correlation. |
| Data | TVec | Stores the result of the processing. |
| Dt | Double | Time between two consecutive samples. |
| EditorActive | Boolean | Returns True, if the component editor is displayed. |
| ExpWindow | Double | Final value of the exponential window. |
| FloatPrecision | TMtxFloatPrecision | Set this property to request computation in 32bit/64bit precision with real/complex numbers. |
| FloatPrecisionLock | Boolean | Set this property to true to lock changes to FloatPrecision property. |
| HzRes | Double | Frequency resolution obtained, if an FFT algorithm would be run on the data. |
| Input | TAnalysis | Connector property to obtain a pointer to the TSignal component holding the data to be processed. |
| Integration | TIntegration | Specifies, if the signal should be integrated or differentiated. |
| IsDouble | Boolean | Set this property to false, to request computation in 32bit floating point precision, 64bit, if true. |
| Item | Double | Default property to access values of a real signal. |
| ItemNumber | Integer | Number to label the object when it is an item in the List. |
| Length | Integer | Get or set the length of the signal in samples. |
| Marks | TMarkList | Stores the time stamps and amplitude of selected samples. |
| MaxAmplt | Double | Stores the maximum amplitude of the signal found by the MinMax method. |
| MaxX | Double | Use the MaxX property to store the time stamp (in seconds) of the right most sample. |
| MinAmplt | Double | Stores the minimum amplitude of the signal found by the MinMax method. |
| MinX | Double | Use the MinX property to store the time stamp of the left-most sample. |
| OnAfterUpdate | TNotifyEvent | The event is triggered after the call to the Update method. |
| OnBeforeUpdate | TNotifyEvent | The event is triggered just before the call to the Update method. |
| OnDisplayUpdate | TNotifyEvent | The event is triggered after the OnAfterUpdate event. Use this event to update any associated charts or graphs or result tables. |
| OnGetInput | TNotifyEvent | If the Input property is not assigned, the component will call OnGetInput. |
| OnNotifyUpdate | TNotifyEvent | The event is called after a call to InternalUpdate, OnAfterUpdate and OnDisplayUpdate from within the Update method. |
| OnParameterUpdate | TNotifyEvent | The event is triggered when ParamUpdate method is called. The ParamUpdate method is usually called by component editors when a value was changed by the user and the editor was "Live". |
| PipeState | TPipeState | Returns the state of the pipe after the last update. |
| Reference | TReferenceList | Stores a list of components that have to be notified, when this component is destroyed. |
| RemoveDC | Boolean | If True, subtract the average value from the signal. This is not usuable for streaming. |
| Report | TSignalReport | Generates a report/description of the signal. |
| Rotation | Integer | Defines the rotation in number of samples within the current buffer. |
| SamplingFrequency | Double | Defines the sampling frequency of the signal. |
| SamplingTime | Double | The length of the signal in seconds. |
| ScaleFactor | Double | The signal will be scaled with the ScaleFactor. |
| SidelobeAtt | Double | Defines sidelobe attenuation for the Kaiser and Cheybshev window. |
| SuspendNotifyUpdate | Boolean | Set this property to True, to prevent calling OnNotifyUpdate from the Update Method. |
| Transform | TTimeTransform | Selects the type of the transform to apply to the signal. |
| UsesInputs | Boolean | Set it to True to indicate, that valid signals will be connected to the Input or Inputs properties. |
| Window | TSignalWindowType | Defines the window to applied to the signal. |
Methods
| Name | Description |
|---|---|
| AllowStreaming | Returns the negatated value of BlockAssign. |
| Append | Appends Sample to the end of the signal. |
| ApplyWindow | Apply the window function. |
| Assign | Assign values of all published properties from Source. |
| AssignTemplate | Assign values of "template-like" published properties from Source. |
| Copy | Copies signal Data and sampling frequency information. |
| Crest | Compute the CREST parameter. |
| EditorClass | To be overriden in descendanr classses. |
| InputsDirty | If all Inputs[i] are dirty the function returns true. |
| InternalPull | When called, the method will pass Update requests recursively to all connected objects. |
| Invalidate | Notifies all connected components that this component has fresh data. |
| LoadFromStream | Load the component from Src stream. |
| LoadTemplateFromFile | Load a template from file. |
| LoadTemplateFromStream | Load a template from stream. |
| MarksToStrings | Convert marks to strings. |
| MinMax | Find minimum and maximum amplitude and store the result in the MinAmplt and MaxAmplt properties. |
| NearestMaximum | Find the nearest maximum. The initial position in seconds is given with pos and the final position is returned with the Pos parameter. |
| NearestMinimum | Find the nearest minimum. The initial position in seconds is given with pos and the final position is returned with the Pos parameter. |
| ParamUpdate | The method can be assigned to some other component even handler, as a notification that a parameter has changed and that Self should consider a recalculation. |
| Peak | Find the maximum deviation of the signal from its mean value. |
| PipeReset | Recursively processes all connected components backward and calls Reset method. |
| Pull | Request recalculation of the entire chain of all connected components. |
| PullUntilEnd | Calls Pull until pipeEnd is returned. |
| Reset | Reset is called after loading the data from stream or file. |
| ResetIntegrator | Resets initial conditions for integration and differentiation. |
| SaveTemplateToFile | Save template to file. |
| SaveTemplateToStream | Save template to stream. |
| SaveToStream | Save the component to Dst stream. |
| Size | Assign the size of the signal from Src. |
| Update | Request recalculation of the data and place the result in Self. |
| UpdateNotify | Call this method only, if SuspendNotifyUpdate is True. |
| ValuesToStrings | Convert values to strings. |
| ZeroCrossing | Compute the position of the zero crossing. The initial position in seconds is given with pos and the final position is returned with the Pos parameter. y contains the final value of the time signal. In ideal case it should be zero. The method will use linear interpolation to locate the position of the zero. |