【发布时间】:2021-03-04 19:29:42
【问题描述】:
我正在频域中应用滤波功能。因为我正在处理大量数据,所以我想对下面显示的 for 循环进行矢量化。任何帮助将不胜感激。
N = 2^nextpow2(length(signal));
Y = fft(signal,N);
df=1/(N*dt);
freq=0:df:N/2*df-df;
ff=freq./fccutlow;
H=zeros(1,length(N));
for i=2:length(ff)
H(i)= sqrt((ff(i).^(2*nOrder)))./sqrt(((1+ff(i).^(2*nOrder))));
Y(i)= Y(i).*H(i);
Y(length(Y)-i+2)=Y(length(Y)-i+2).*H(i);
end
Y1= (real(ifft(Y,N)))';
Y1=Y1(1:length(signal));
filt_signal(1,:)=Y1;
【问题讨论】:
-
什么是
ff?Y是什么?请阅读minimal reproducible example,然后阅读edit您的问题。
标签: matlab filtering vectorization