What approach can I take to design a filter that fits (approximately) the average power spectrum of multiple signals.
7 次查看(过去 30 天)
显示 更早的评论
The context provided by the figure adds clarity to this question. Depicted in blue are power spectra of signals, each having undergone bandpass filtering. The frequency bins are evenly distributed, and the red lines represent the average amplitude of these signals. My current objective is ot design a filter that closely matches the average amplitude of the power spectrum. I'm in search of approaches that avoid manually setting the cutoff frequencies, passbands, etc.
1 个评论
Mathieu NOE
2023-11-21
hello
you can use invfreqs or invfreqz to "tune" your FIR or IIR filter to match the given amplitude
now the ramaining problem is that a filter has not only a gain but also a phase so I don"t know what will be the result if your target is only matching amplitudes
回答(1 个)
Paul
2023-11-21
Hi G,
Do you have the amplitude and phase spectra for the red curve? If so, you can try using tfest, though that spike at around 60 Hz might be tricky. If you only have the amplitude for the red curve, the problem might still be tractable. If you upload the data, particularly for the red curve (use the paper clip icon on the Insert menu), it will be easier for someone to help.
4 个评论
Paul
2023-11-21
This is now quite a different question than was originally posed. For me, I don't see a clear path forward w/o additional information about the original signal, or the filter that was applied to the original signal, or both.
Suppose we have the equation
y = h * x
and I tell you that y = 8. How would you determine h without knowing anything about x?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!