End effects就是分帧处理中问题,群里大佬都说加窗能解决好,本大佬刚才看到一个博文说铺地板,这个比较生动形象我觉得也是,不妨试试看了
注意这里面有个COLA条件,请不要用对称窗选择周期性的。其实在实现上与“標准差”的概念差不多总体标准差啥之类的,只是N与N-1的区别就是个概念问题。寡人自己写的hanning窗函数很好写的,我就不公开了哈哈,毕竟是劳动成果
刚才听了下台湾刘教授的声讯方面的课,可以视频做的不错,很666.
目前先采用hopsize=win//2的情况其他情况后续再考虑。似乎拼接处仍旧有畸变出现并没有完全消除啊,我了个天啊
咋回事呀?真是人生艰难啊。不妨先试试没有任何处理的帧之间的拼接,只為证明这样做是否合适
似乎没有问题,出现这种问题的原因可能是butter滤波器本身是递归的原因它依赖于信号的所有样点。
【早上看到群裏一个傻逼说什么比你有钱的多了,
老子立刻骂回去你这傻逼拿别人的威风灭别人的志气,厉害啊有钱也是人家有钱啊,你有个毛啊还不是照样每天搬砖】
第一个图我是先对每一帧的信息加窗然后再进行的每一帧的滤波,这个效果不好后来我先每一帧直接滤波,嘫后对滤波结果进行加窗处理当然我分帧时有hopsize,这种结果比较好如图下,其他参数与第一个图保持一致
这个效果比较理想,可能就昰群里所说的情况但是当我窗长降低为1000时,因为上面的是8000.
这个结果实在不能令人满意啊,难道hopsize应该再大点?hopsize为一半时是符合COLA的。
這种情况下的累加就有点复杂了似乎也不符合实时处理的要求了,当一半的overlap还可以忍受这特么每次只前进1/4窗长,这个处理时间就是原來的4倍了保留的处理结果就是4帧的了,处理完后的第一帧只能输出1/4,剩下的3/4都要保留处理后的第二帧,将其1/4与上一帧的2/4相加并输出保留后面的3/4,以此类推就是这么做。
这里面的3/4需要保留一个数组并且在循环中不断更新,当来新的3/4要错位相加然后抛出1/4,继续。。。
老子下午又捋了一遍梳理清楚了,写代码实现:当hop_size为3/4*frame_size时的确可以恢复更好的结果端点问题削弱到更小了,这估计是最好的效果叻吧再不行就得换方法了,其他OLA
这个图片比上个图片好很多吧参数一样,但时间也上来了这特么就是个折中问题。。
另外有相關问题可以加入QQ群讨论,不设微信群