I want to write a program to separate a signal into 3 different signals, each with a different frequency range, similar to a 3 band equalizer.

8 views (last 30 days)
Hello, I am very new to Matlab and don't know much past basic matrices and variables. I need to write a program to take a certain signal and split it into 3 separate signals based on frequency. For example, a complex sin wave is given, which is essentially a sum of a bunch of different sin waves with different frequencies. What I want to do is to separate it into different signals, each with a different range (maybe 0-250Hz, 251-1kHz, 1-10kHz?). To finish it off, I would like to be able to display the resulted signals in a separate window. I know this is a lot to ask but I don't really know where to start. Any information or examples is appreciated.

Answers (1)

Star Strider
Star Strider on 11 Nov 2015
The first I would do is to search through the Signal Processing Toolbox sections on filters. I describe my filter design strategy here. That should get you started. For your application, I would use Butterworth bandpass filters.
Filter design in your application is going to be in part experimental. You are going to have to tweak your filters to get the result you want.
This problem has appeared previously, and one approach is described in my Answer to How to shape the spectrum of an audio waveform?.

Categories

Find more on Audio Processing Algorithm Design in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!