你好理查德,
我建议使用一个带阻滤波器而不是手动删除光谱的峰值,然后重新创建时域信号。手动删除山峰可以产生奇怪的结果在处理测量数据时,由于内容带宽和谐波。
上面的示例数据,您可以使用“黄油”功能设计巴特沃斯带阻滤波器截止频率为0.8 - 1.2倍的季节性周期频率:
> > [b] =黄油(2 (0.8 - 1.2)* f1 / (fs / 2),“停止”);%二阶带阻滤波器
然后过滤数据使用“filtfilt”功能:
yf = filtfilt (b, a, y);
然后,您可以检查季节性周期一直在功率谱衰减:
> > [Pxxf Freqf] = pwelch (yf,汉明(n), n / 2, Nfft, 1);% psd过滤信号的估计
> >图;
> > semilogx(频率,频率。* abs (Pxx));
> >等;
> > semilogx (Freqf Freqf。* abs (Pxxf),“r”);
![](http://www.tatmou.com/matlabcentral/answers/uploaded_files/178152/image.png)
如果你有信号处理工具箱,您也可以尝试使用交互式“滤波器的设计和分析工具”来快速测试不同的过滤器:
> > fdatool
您可以按照下面的链接获取更多信息的“黄油”和“filtfilt”功能:
希望这个有帮助。
布莱恩