首页 > 解决方案 > Julia DSP包重采样功能错误

问题描述

DSP 包中的 Julia 重采样函数似乎在某些重采样率下会引发错误。

如果我重新采样以下复数数组的列,则没有错误

Num_col = 485
Test_sample = rand(Complex{Float64},35,Num_col)

t = mapslices(Array_to_Resample -> resample(Array_to_Resample,474/Num_col), Test_sample; dims=2)

而下面的代码会引发错误

Num_col = 484
Test_sample = rand(Complex{Float64},35,Num_col)

t = mapslices(Array_to_Resample -> resample(Array_to_Resample,474/Num_col), Test_sample; dims=2)


BoundsError: attempt to access 474-element Array{Complex{Float64},1} at index [475]
in top-level scope at Testscript_Wavelet.jl:90
in  at base\none
in #mapslices#109 at base\abstractarray.jl:1994
in  at Testscript_Wavelet.jl:90
in resample at DSP\0oYMW\src\Filters\stream_filt.jl:733
in resample at DSP\0oYMW\src\Filters\stream_filt.jl:728
in filt at DSP\0oYMW\src\Filters\stream_filt.jl:673
in filt! at DSP\0oYMW\src\Filters\stream_filt.jl:660
in setindex! at base\array.jl:782

此功能是否无法以特定比率向上或向下采样?有解决方法还是我错误地使用了这个功能?

标签: juliasignal-processingsamplingresampling

解决方案


推荐阅读