worked on fir/iir filters
This commit is contained in:
@@ -35,6 +35,16 @@ namespace FIR {
|
||||
this->kernel = kernel;
|
||||
}
|
||||
|
||||
const Kernel& getKernel() const {
|
||||
return this->kernel;
|
||||
}
|
||||
|
||||
void prefill(float val) {
|
||||
for (size_t i = 0; i < (kernel.size()-1)/2; ++i) {
|
||||
append(val);
|
||||
}
|
||||
}
|
||||
|
||||
/** filter the given incoming real data */
|
||||
DataVec append(const DataVec& newData) {
|
||||
// append to local buffer (as we need some history)
|
||||
@@ -56,10 +66,11 @@ namespace FIR {
|
||||
DataVec processLocalBuffer() {
|
||||
|
||||
// sanity check
|
||||
Assert::isNot0(kernel.size(), "FIRComplex:: kernel not yet configured!");
|
||||
Assert::isNot0(kernel.size(), "FIR::Real::Filter kernel not yet configured!");
|
||||
|
||||
// number of processable elements (due to filter size)
|
||||
const int processable = data.size() - kernel.size() + 1 - kernel.size()/2;
|
||||
//const int processable = data.size() - kernel.size() + 1 - kernel.size()/2;
|
||||
const int processable = data.size() - kernel.size();
|
||||
|
||||
// nothing to-do?
|
||||
if (processable <= 0) {return DataVec();}
|
||||
|
||||
Reference in New Issue
Block a user