Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何设计具有一定幅度响应的滤波器_Matlab_Filtering_Signal Processing - Fatal编程技术网

Matlab 如何设计具有一定幅度响应的滤波器

Matlab 如何设计具有一定幅度响应的滤波器,matlab,filtering,signal-processing,Matlab,Filtering,Signal Processing,我正试图设计一个与给定信号大小相同的滤波器。给定的信号是风机噪声,因此具有显著的低频成分。在设计了滤波器之后,我想对高斯白噪声进行滤波,从而建立风力机噪声模型。两个信号,即原始噪声和过滤噪声的声音应该相似 我在Matlab中使用任意大小的滤波器设计(FIR,阶数:900,单速率,1频带,由振幅指定的响应,采样率44100 Hz,设计方法:firls)。问题是,尽管我使用原始信号幅值的值来设计滤波器,但滤波器幅值在更高频率下无法跟随幅值。你能帮我一下吗 谢谢大家! 这似乎是频域滤波的一个很好的候选

我正试图设计一个与给定信号大小相同的滤波器。给定的信号是风机噪声,因此具有显著的低频成分。在设计了滤波器之后,我想对高斯白噪声进行滤波,从而建立风力机噪声模型。两个信号,即原始噪声和过滤噪声的声音应该相似

我在Matlab中使用任意大小的滤波器设计(FIR,阶数:900,单速率,1频带,由振幅指定的响应,采样率44100 Hz,设计方法:firls)。问题是,尽管我使用原始信号幅值的值来设计滤波器,但滤波器幅值在更高频率下无法跟随幅值。你能帮我一下吗


谢谢大家!

这似乎是频域滤波的一个很好的候选者-使用基于FFT的方法,如重叠添加或重叠保存来过滤高斯噪声。我会尝试一下,保罗,谢谢。一个快速而肮脏的解决方案可能是增加滤波器阶数。您的过滤器设计功能还允许您指定加权功能,该功能将允许您指定过滤器应在何处与规格更紧密地匹配。你也可以在上问这个问题。我想n=900对我的电脑来说已经足够高了。我还将尝试加权函数。非常感谢。我也把这个贴到了dsp.stackexchange.com上。就Fir滤波器而言,900并不是那么高。如果你有信号处理方面的经验,模拟滤波器可能会做得更好(例如四阶切比雪夫滤波器)