H=fftshift(lpfilter('gaussian',500,500,50));

发布网友 发布时间:2022-04-22 00:19

我来回答

3个回答

热心网友 时间:2023-07-19 04:29

是因为matlab函数库中没有lpfilter这个函数,你要自己建立一个function,再调用这个函数。下面是lpfilter的函数定义,这个lp函数里面的dftuv函数也是需要自己去定义的,上百度找定义dftuv函数的代码吧
function H= lpfilter( type,M,N,D0,n )
%LPFILTER creates the transfer function of a lowpass filter.
% Detailed explanation goes here
%use function dftuv to set up the meshgrid arrays needed for computing
%the required distances.
[U,V] = dftuv(M,N);
%compute the distances D(U,V)
D =hypot(U,V);
%begin filter computations
switch type
case 'ideal'
H = double(D <= D0);
case 'btw'
if nargin == 4
n = 1;
end
H = 1./(1+(D./D0).^(2*n));
case 'gaussian'
H = exp(-(D.^2)./(2*(D0^2)));
otherwise
error('Unkown filter type');
end

热心网友 时间:2023-07-19 04:30

5441561651

热心网友 时间:2023-07-19 04:30

你试试 :help lpfilter,看有没有定义

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com