I have been watching the wonderful youtube videos here: https://www.youtube.com/watch?v=4TTpwIZrUAo&list=PLn0OLiymPak2G__qvavn3T8k7R8ssKxVr&index=3 detailing morlet wavelets and fit multiplication.
This details convoluting a kernel with a set of data to produce a band passed signal. Looking at this, I would like to achieve this for a specific data range (ie 20Hz - 20kHz). To my knowledge the process is this:
Calculate kernels for each frequency by multiplying a complex sin wave of corresponding frequency and a gaussian filter with a set scalar value.
Zero pad each kernel so that the length is equivalent to sample data length + kernel length - 1
Perform DFT on each kernel.
Zero pad sampledata to equal the same length as each kernel
Perform DFT on sample data
Multiply by dot product the DFT sample data by each kernel in term.
The sum of all of the multiplications in step 6 will be the complex vectors for the given spectrum, phase and magnitude can be extracted from this
Then the scalar parameter for the kernel will determine the bandwidth.
Is this correct? Or have I missed something obvious?