有没有一种简单的方法在MATLAB中对数组应用低通或高通滤波器?我有些被MATLAB的强大(或数学的复杂性)所压倒,并需要一个简单的函数或一些指导,因为我无法从文档或搜索网站中找到答案。
有没有一种简单的方法在MATLAB中对数组应用低通或高通滤波器?我有些被MATLAB的强大(或数学的复杂性)所压倒,并需要一个简单的函数或一些指导,因为我无法从文档或搜索网站中找到答案。
您可以使用 butter()
函数在运行时设计一个低通Butterworth滤波器,然后将其应用于信号。
fc = 300; % Cut off frequency
fs = 1000; % Sampling rate
[b,a] = butter(6,fc/(fs/2)); % Butterworth filter of order 6
x = filter(b,a,signal); % Will be the filtered signal
使用这种方法也可以实现高通和带通滤波。请参见https://www.mathworks.com/help/signal/ref/butter.html