Problem with toolbox filter design?
Mostra commenti meno recenti
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
Risposte (1)
Wayne King
il 15 Giu 2013
Modificato: Wayne King
il 15 Giu 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 Commenti
Stefan Leiva
il 15 Giu 2013
Modificato: Stefan Leiva
il 15 Giu 2013
Wayne King
il 16 Giu 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
il 16 Giu 2013
Wayne King
il 16 Giu 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
il 16 Giu 2013
Modificato: Stefan Leiva
il 16 Giu 2013
Wayne King
il 17 Giu 2013
Are you using the MathWorks' version of filtfilt()? If you enter
>>which filtfilt
what do you get returned?
Stefan Leiva
il 17 Giu 2013
Categorie
Scopri di più su Digital Filtering in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!