将高通应用于2D矩阵中的1D信号的有效方法

时间:2018-10-23 08:22:46

标签: matlab matrix optimization vectorization

我有一个非常大的数组,每列是一个不同的信号,有没有一种方法可以有效地做到这一点,而无需使用如下所示的循环?

in_data=rand(2000,100000);

for j=1:size(in_data,2)
    in_data(:,j)=highpass(in_data(:,j),100,1000);
end

1 个答案:

答案 0 :(得分:3)

in_data = highpass(in_data,100,1000)

documentation的内容为:

  

y = highpass(x,wpass)使用高通滤波器对输入信号x进行滤波,该滤波器的归一化通带频率为wpass,单位为πrad /样本。高通使用阻带衰减为60 dB的最小阶滤波器,并补偿滤波器引入的延迟。 如果x是矩阵,该函数将独立过滤每一列。

强调我的。 Ergo:默认情况下为列式。