Problem with toolbox filter design?
Ältere Kommentare anzeigen
Hi everybody, I need help with disigning filters in matlab:
I was designed a bandpass filter in the toolbox and export it like an object to my workspace, then I tried to filter data with it using the comand filtfilt, the problem es that this comand don't recognize this filter as a matrix so when i use the follow linecommand: a11=filtfilt(Fil1,a1); i recived the follow error "Not enough input arguments". The Fs frecuency of the filter is 1000Hz, the Flowpass is 10Hz and the Fhighpass is 14Hz. Apass 1dB. Type Chebychev Type 1.
thanks
Antworten (1)
Wayne King
am 15 Jun. 2013
Bearbeitet: Wayne King
am 15 Jun. 2013
Assume that Fil1 is your filter object, if you enter
class(Fil1)
does it return dfilt.df2sos?
If so, then depending on what version of MATLAB you are using, try:
out = filtfilt(Fil1.sosMatrix,Fil1.ScaleValues,a1);
where a1 is your data.
If you have an older version of MATLAB where the above command does not work, write back.
7 Kommentare
Stefan Leiva
am 15 Jun. 2013
Bearbeitet: Stefan Leiva
am 15 Jun. 2013
Wayne King
am 16 Jun. 2013
Did the command at least run? It did not throw an error?
Do you have NaNs in your data? If you have any NaNs in your data, then you will only get NaNs out.
Stefan Leiva
am 16 Jun. 2013
Wayne King
am 16 Jun. 2013
That is strange because I don't have any trouble with your filter. Can you try this:
n = 0:499;
x = cos(0.01*pi*n)+sin(pi/4*n)+randn(size(n));
y = filtfilt(Fil1.sosMatrix,Fil1.ScaleValues,x);
Do you get NaNs in your output with the above?
Stefan Leiva
am 16 Jun. 2013
Bearbeitet: Stefan Leiva
am 16 Jun. 2013
Wayne King
am 17 Jun. 2013
Are you using the MathWorks' version of filtfilt()? If you enter
>>which filtfilt
what do you get returned?
Stefan Leiva
am 17 Jun. 2013
Kategorien
Mehr zu Digital Filtering finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!