public class TSignalMultiRate : TSignal
Abstract class for multi-rate digital filters.
Abstract class for multi-stage, multi-rate decimation and interpolation FIR filters.
An in depth explanation of the methods used can be found in [1] Chapter 7.3 (Digital resampling).
References:
[1] "Understanding digital signal processing.", Richard G. Lyons, Prentice-Hall, 2001.
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. |
| AudioSignal | Boolean | Adjust filters for audio signal. |
| 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 | Int32 | 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. |
| 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. |
| ExternalTaps | Boolean | Enables user specified filter. |
| Factor | Int32 | Decimation/Interpolation factor. |
| FilterDelay | Double | Returns the filter delay in number of samples of the final sampling frequency. |
| 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. |
| HalfBand | Boolean | Filters out upper half of the bandwidth. |
| HzRes | Double | Frequency resolution obtained, if an FFT algorithm would be run on the data. |
| Initialized | Boolean | When set to false, the next call to the update method will reinitialize the FIR filters. |
| Input | TAnalysis | Connector property to obtain a pointer to the TSignal component holding the data to be processed. |
| 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 | Int32 | Number to label the object when it is an item in the List. |
| Length | Int32 | 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. |
| OnGetFilterTaps | TNotifyEvent | Triggered when ExternalTaps is false. |
| 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. |
| Ripple | Double | Maximum ripple allowed in the passband and in the stopband. |
| SamplingFrequency | Double | Defines the sampling frequency of the signal. |
| SamplingTime | Double | The length of the signal in seconds. |
| ScaleFactor | Double | Defines the factor by which the signal will be scaled. |
| SuspendNotifyUpdate | Boolean | Set this property to True, to prevent calling OnNotifyUpdate from the Update Method. |
| TransBW | Double | Defines the width of the transition band of the FIR filter used for interpolation/decimation. |
| UsesInputs | Boolean | Set it to True to indicate, that valid signals will be connected to the Input or Inputs properties. |
Methods
| Name | Description |
|---|---|
| AllowStreaming | Returns the negatated value of BlockAssign. |
| Append | Appends Sample to the end of the signal. |
| 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. |
| InitFilters | FirTaps and FinalStageTaps do not hold valid filter taps until InitFilters has been called. |
| 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. |
| 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. |
| Process | Filter Src and place the result in Dst. |
| Pull | Request recalculation of the entire chain of all connected components. |
| PullUntilEnd | Calls Pull until pipeEnd is returned. |
| Reset | The same as setting Initialized to false. |
| 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. |
Events
| Name | Description |
|---|---|
| OnAfterUpdateEvent | The event is triggered after the call to the Update method. |
| OnBeforeUpdateEvent | The event is triggered just before the call to the Update method. |
| OnDisplayUpdateEvent | The event is triggered after the OnAfterUpdate event. Use this event to update any associated charts or graphs or result tables. |
| OnGetFilterTapsEvent | Triggered when ExternalTaps is false. |
| OnGetInputEvent | If the Input property is not assigned, the component will call OnGetInput. |
| OnNotifyUpdateEvent | The event is called after a call to InternalUpdate, OnAfterUpdate and OnDisplayUpdate from within the Update method. |
| OnParameterUpdateEvent | 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". |