Filtering a matrix column with different cutoff

1 visualización (últimos 30 días)
Bruno
Bruno el 26 de Mzo. de 2016
Comentada: Bruno el 26 de Mzo. de 2016
I’ ve looking for a method to filter each column of data (101X62) with specific cutoff (1X63). Please, could someone indicate me the problem? Thanks B
x=data
fs=60;
fc=cutoff;
for idx = 1:numel(x);
[b,a] = butter(2, fc/(fs/2));
y = filter(b,a,x); %// output
end
  3 comentarios
Bruno
Bruno el 26 de Mzo. de 2016
Hi Ced, cutoff frequency (1x62) are different for each column.
Ced
Ced el 26 de Mzo. de 2016
Yes, but since you are designing your filter in the loop, you can select a different cutoff for each loop iteration, right? Have a look at Image Analyst's answer, he wrote it out for you. You of course still have to define your cutoff vector.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 26 de Mzo. de 2016
Editada: Image Analyst el 26 de Mzo. de 2016
Perhaps you meant this:
[rows, columns] = size(data);
y = zeros(size(data));
fs = 60;
for k = 1 : columns
thisColumn = data(:, k); % Extract this one column
fc = cutoff(k); % Extract this one cutoff value.
% Determine filter parameters.
[b,a] = butter(2, fc/(fs/2));
% Do the filtering, and put result into column k of the output y
y(:,k) = filter(b, a, thisColumn);
end
  3 comentarios
Image Analyst
Image Analyst el 26 de Mzo. de 2016
Try
[rows, columns] = size(data);
where data is whatever you called your 2-D array.
Bruno
Bruno el 26 de Mzo. de 2016
Thanks, is working now.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by