当前位置: 首页 > 知识库问答 >
问题:

Hanning(von Hann)窗口

从智明
2023-03-14
public short[] HanningWindow(short[] signal_in ,int pos ,int size)
{
    for (int i= pos; i < pos+size; i++)
    {
        signal_in[i] = (short) ((signal_in[i]) * ( 0.5 * (1-Math.cos( (2 * Math.PI * i) /    (size - 1))))) ;
    }
    return signal_in;
}

我正试着用过它

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);

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

共有1个答案

贾俊艾
2023-03-14

不,它需要更像这样:

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;
}
 类似资料:
  • 窗口的创建与控制 进程:主进程​ 1 //在主进程中. 2 const {BrowserWindow} = require('electron') 3 ​ 4 //或者从渲染器进程中使用 `remote`. 5 // const {BrowserWindow} = require('electron').remote 6 ​ 7 let win = new BrowserWindow({width

  • pre { white-space: pre-wrap; } jQuery EasyUI 插件 扩展自 $.fn.panel.defaults。通过 $.fn.window.defaults 重写默认的 defaults。 窗口(window)是一个浮动的、可拖拽的面板,可以当做应用程序窗口使用。默认情况下,窗口可移动、可调整尺寸、可关闭。它的内容既可以通过静态 html 定义,也可以通过 aja

  • pre { white-space: pre-wrap; } Layout 组件可以内嵌在窗口(window)中。我们可以创建一个复杂的布局窗口,甚至不需要写任何的 js 代码。jquery-easyui 框架帮我们在后台做渲染和调整尺寸。 作为一个实例,我们创建一个窗口(window),它包含两个部分,一个放置在左边一个放置在右边。在窗口(window)的左边我们创建一个树形菜单(tree),在

  • 我写了一个小GUI程序与python在tkinter的窗口。我的窗口必须在全屏游戏窗口的前面。 此刻,我用这句话: 它适用于普通窗口(浏览器,浏览器,...),但如果我启动游戏到全屏模式,我的窗口隐藏在游戏后面。 为什么会发生这种情况?调用游戏可能类似于覆盖我的属性的? 我的问题还有别的解决办法吗?也许可以告诉windows,我的窗口应该在特定窗口(游戏窗口)的前面?

  • 如果屏幕上还没有figure窗口,作图函数会自动打开一个新的figure窗口。如果figure窗口已经存在,MATLAB会用它来输出图象。如果已有多个figure窗口,MATLAB会在指定的“当前”窗口作图。 要使已有的窗口成为当前窗口,可以用鼠标点击该窗口或者输入 figure(n) 其中n是标题栏中的窗口号。结果会显示在该窗口。 要打开一个新窗口并使它成为当前窗口,则输入 figure

  • 操纵子窗口 进程:渲染进程​ 使用 window.open 创建一个新窗口时,会自动创建一个 BrowserWindowProxy 的实例将返回一个标识,可通过标识对这个新窗口进行少量功能的控制. 实例方法 BrowserWindowProxy对象具有以下实例方法: win.blur() 用途:从子窗口中去焦 win.close() 用途:强制关闭子窗口,而不调用其卸载事件(unload even