如何在matlab中使用截止波长过滤一维矢量数据?

问题描述

我正在尝试将高通滤波器应用于由取自黑白图像的 1 像素宽线组成的信号(列或行向量)。我知道图像的分辨率(下面代码中的 res,以毫米/像素为单位)。如何在 MATLAB 中过滤这些线数据以丢弃某些低频(波纹度)或大波长,例如 >10 毫米,使用巴特沃斯滤波器或任何其他滤波器?

线数据不以零为中心。

Fs = 1; % I do not know if this assumption is correct for the image.
Fn = Fs/2; % Nyquist frequency.

lambda = 10; % Cut-off wavelength in mm,given.

samples_in_lambda = lambda/res; % divide by resolution to get samples.

fc = 1/samples_in_lambda; % Cut-off frequency from lambda.

我试过:[z,p,k] = butter(9,fc/fn,'high'); % I see the filter is high pass on plotting.

我可以使用上面给定和假设的值过滤线数据吗?如果没有,有没有办法使用截止波长过滤数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)