def nrwindow(N):
    """
    The point here is to define a taper to be used for the low frequency part of waveforms from NR data samples.
    """
    from scipy.interpolate import CubicSpline as spline
    from numpy import hstack, array, linspace, pi, sin
    numerical_data = array([[0.000235599, 0.164826], [0.000471197, 0.140627
        ], [0.000706796, 0.139527], [0.000942394, 0.154408], [0.00117799, 
        0.144668], [0.00141359, 0.0820655], [0.00164919, 0.107215], [
        0.00188479, 0.326988], [0.00212039, 0.612349], [0.00235599, 
        0.928147], [0.00259158, 1.25567], [0.00282718, 1.61068], [
        0.00306278, 2.05771], [0.00329838, 2.69093], [0.00353398, 3.58197],
        [0.00376958, 4.74465], [0.00400517, 6.14815], [0.00424077, 7.76167],
        [0.00447637, 9.66762], [0.00471197, 12.1948], [0.00494757, 16.2907],
        [0.00518317, 23.0923], [0.00541877, 33.2385], [0.00565436, 49.4065],
        [0.00588996, 73.3563], [0.00612556, 101.84], [0.00636116, 121.165]])
    a = numerical_data[:, (1)] / max(numerical_data[:, (1)])
    n = len(a)
    f = linspace(0, 1, n)
    A = spline(f, a)(linspace(0, 1, int(N) / 2))
    ans = hstack([A, A[list(range(len(A) - 1, 0, -1))]]) if 2 * len(A
        ) == N else hstack([A, A[list(range(len(A) - 1, 1, -1))]])
    return ans
