---
title: vDSP_hann_windowD
framework: accelerate
role: symbol
role_heading: Function
path: accelerate/vdsp_hann_windowd
---

# vDSP_hann_windowD

Creates a double-precision Hann window.

## Declaration

```occ
extern void vDSP_hann_windowD(double *__C, vDSP_Length __N, int __Flag);
```

## Parameters

- `__C`: The output vector.
- `__N`: The number of elements in the output vector.
- `__Flag`: A value that specifies the type of window that the function creates. doc://com.apple.documentation/documentation/kernel/1645052-anonymous/vdsp_hann_denorm specifies that the function creates a denormalized window. doc://com.apple.documentation/documentation/kernel/1645052-anonymous/vdsp_hann_denorm | doc://com.apple.documentation/documentation/kernel/1645052-anonymous/vdsp_half_window specifies that the function creates a denormalized window with only the first (N+1)/2 points. doc://com.apple.documentation/documentation/kernel/1645052-anonymous/vdsp_hann_norm specifies that the function creates a normalized window. doc://com.apple.documentation/documentation/kernel/1645052-anonymous/vdsp_hann_norm | doc://com.apple.documentation/documentation/kernel/1645052-anonymous/vdsp_half_window specifies that the function creates a normalized window with only the first (N+1)/2 points.

## Discussion

Discussion The vDSP_hann_window and vDSP_hann_windowD functions create a Hann window vector using the following operation: If Flag & vDSP_HALF_WINDOW:     Length = (N+1)/2; Else     Length = N;

If Flag & vDSP_HANN_NORM:     W = .8165; Else     W = .5;

for (n = 0; n < Length; ++n)     C[n] = W * (1 - cos(2*pi*n/N)); Use vDSP_vmulD to multiply the Hann window result by a noninteger-periodic signal prior to a Fourier transform. The following code shows how to generate a Hann window: let n = vDSP_Length(1024) var c = [Double](repeating: 0,                  count: Int(n))

vDSP_hann_windowD(&c,                   n,                   Int32(vDSP_HANN_DENORM)) The following illustrates the values of the output vector, c:

## See Also

### Vector generation with window functions

- [Reducing spectral leakage with windowing](accelerate/reducing-spectral-leakage-with-windowing.md)
- [vDSP_blkman_window](accelerate/vdsp_blkman_window.md)
- [vDSP_blkman_windowD](accelerate/vdsp_blkman_windowd.md)
- [vDSP_hamm_window](accelerate/vdsp_hamm_window.md)
- [vDSP_hamm_windowD](accelerate/vdsp_hamm_windowd.md)
- [vDSP_hann_window](accelerate/vdsp_hann_window.md)
- [vDSP_HALF_WINDOW](accelerate/vdsp_half_window.md)
- [vDSP_HANN_DENORM](accelerate/vdsp_hann_denorm.md)
- [vDSP_HANN_NORM](accelerate/vdsp_hann_norm.md)
