Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 汉宁(冯·汉恩)窗_Java_Android_Signal Processing - Fatal编程技术网

Java 汉宁(冯·汉恩)窗

Java 汉宁(冯·汉恩)窗,java,android,signal-processing,Java,Android,Signal Processing,这是我第一次使用实时DSP-请告诉我这是否是将汉宁窗口应用于信号的正确方法?不,它需要更像这样: pos = (ring+delay*frame_rate*frame_size)%(frame_size*(frame_rate+1)); num = record.read(lin,pos,frame_size); GGSpecSub tempSpecSub = new GGSpecSub(); lin = tempSpecSub.HanningWindow(lin, po

这是我第一次使用实时DSP-请告诉我这是否是将汉宁窗口应用于信号的正确方法?

不,它需要更像这样:

pos = (ring+delay*frame_rate*frame_size)%(frame_size*(frame_rate+1));
num = record.read(lin,pos,frame_size);           

GGSpecSub tempSpecSub = new GGSpecSub();
lin = tempSpecSub.HanningWindow(lin, pos, frame_size);
public short[]HanningWindow(short[]signal\u in,int pos,int size)
{
用于(int i=pos;i
pos是Android使用AudioRecord.read()函数读取的位置。我在这里做的是给出整个信号的长度为11776,从中只读取512个样本。为什么我必须执行int j=i-pos?
j
需要取
0
size-1
的值,以便余弦函数在
[0..2π)
.No-
i
是示例索引-它从
pos
运行到
pos+size-1
。你不能在Hann窗口中使用此值-你需要一个基于0的索引,因此需要
j
。好的,我知道了,如果你能看一下其余的算法。非常感谢你,我看了,我提出了一个建议-它看起来您目前对DSP和编程都不太了解,需要后退一步,了解该算法的工作原理,然后再尝试进行编码。
pos = (ring+delay*frame_rate*frame_size)%(frame_size*(frame_rate+1));
num = record.read(lin,pos,frame_size);           

GGSpecSub tempSpecSub = new GGSpecSub();
lin = tempSpecSub.HanningWindow(lin, pos, frame_size);
public short[] HanningWindow(short[] signal_in, int pos, int size)
{
    for (int i = pos; i < pos + size; i++)
    {
        int j = i - pos; // j = index into Hann window function
        signal_in[i] = (short) (signal_in[i] * 0.5 * (1.0 - Math.cos(2.0 * Math.PI * j / size)));
    }
    return signal_in;
}