# frequenciesValidator: Validates if frequencies are Fourier frequencies from [0,pi]. In quantspec: Quantile-Based Spectral Analysis of Time Series

## Description

Validation of the parameter freq is perfomed in six steps:

1. Throw an error if parameter is not a vector or not numeric.

2. Transform each element w of the vector to [0,2pi), by replacing it with w mod 2pi.

3. Check whether all elements w of the vector are Fourier frequency 2 pi j / T, j \in Z. If this is not the case issue a warning and round each frequency to the next Fourier frequency of the mentioned type; the smaller one, if there are two.

4. Transform each element w with pi < w < 2pi of the vector to [0,pi], by replacing it with 2pi - w.

5. Check for doubles and remove all but the first appearance.

6. Sort in ascending order.

Any subset of the six steps can be chosen, but 1 should almost always be among the steps to be performed.

## Usage

 1 frequenciesValidator(freq, N, steps = 1:6) 

## Arguments

 freq the vector of frequencies to be validated. N the base of the Fourier frequencies against which the values in freq will be compared. steps a vector containing a subset of 1,2,3,4,5,6, indicating which of the steps are to be performed.

## Value

Returns a vector of Fourier frequencies that is yield by the transformations described above.

## Examples

  1 2 3 4 5 6 7 8 9 10 11 12 13 freq <- 2*pi*c(3,2,5,8,9)/10 res <- frequenciesValidator(freq, N=10, steps=1:3) res * 10 / (2*pi) # Returns: [1] 3 2 5 8 9 res <- frequenciesValidator(freq, N=10, steps=1:4) res * 10 / (2*pi) # Returns: [1] 3 2 5 2 1 res <- frequenciesValidator(freq, N=10, steps=1:5) res * 10 / (2*pi) # Returns: [1] 3 2 5 1 res <- frequenciesValidator(freq, N=10, steps=1:6) res * 10 / (2*pi) # Returns: [1] 1 2 3 5 

quantspec documentation built on July 15, 2020, 1:07 a.m.