Hi, I have a simple and potentially very stupid question. I use
DSP.jl to construct a filter via
digitalfilter(), which leaves me with a filter kernel I can apply to my signal.
If I wanted to take a look at the response in the frequency domain,
freqz() seems to be the appropriate function. However, it only accepts filter coefficient objects, which leads to the question of how to convert a filter kernel from
digitalfilter() to such an object.
I found the documentation of what otherwise looks like an excellent and well-designed package a bit sparse (at least for people with no DSP background), but it seems like this does what I want for filters constrcuted with the
julia> bpass = remez(35, [(0, 0.1)=>0, (0.15, 0.4)=>1, (0.45, 0.5)=>0]); julia> b = DSP.Filters.PolynomialRatio(bpass, [1.0]) julia> f = range(0, stop=0.5, length=1000) julia> plot(f, 20*log10.(abs.(freqz(b,f,1.0))))
It seems to work just fine für filters created by
digitalfilter(), so am I correct that e.g.
DSP.Filters.PolynomialRatio(digitalfilter(FIRWindow(hamming(3), Highpass(10; fs=100)), [1.0]) will yield a correct frequency response?
And a bonus question: Does anyone have a good resource for learning about how these filter coefficients relate to e.g. a window-based FIR filter?