本文整理汇总了C#中FourierOptions类的典型用法代码示例。如果您正苦于以下问题:C# FourierOptions类的具体用法?C# FourierOptions怎么用?C# FourierOptions使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FourierOptions类属于命名空间,在下文中一共展示了FourierOptions类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: FourierRadix2MatchesNaive_RealSine
public void FourierRadix2MatchesNaive_RealSine(FourierOptions options)
{
var samples = Generate.PeriodicMap(16, w => new Complex(Math.Sin(w), 0), 16, 1.0, Constants.Pi2);
Verify(samples, 12, options, Fourier.NaiveForward, Fourier.Radix2Forward);
Verify(samples, 12, options, Fourier.NaiveInverse, Fourier.Radix2Inverse);
}
开发者ID:larzw,项目名称:mathnet-numerics,代码行数:7,代码来源:MatchingNaiveTransformTest.cs
示例2: FourierRadix2IsReversible
public void FourierRadix2IsReversible(FourierOptions options)
{
var samples = Generate.RandomComplex(0x8000, GetUniform(1));
var work = new Complex[samples.Length];
samples.CopyTo(work, 0);
Fourier.Radix2Forward(work, options);
Assert.IsFalse(work.ListAlmostEqual(samples, 6));
Fourier.Radix2Inverse(work, options);
AssertHelpers.AlmostEqual(samples, work, 12);
}
开发者ID:Jungwon,项目名称:mathnet-numerics,代码行数:12,代码来源:InverseTransformTest.cs
示例3: FourierBluesteinIsReversible
public void FourierBluesteinIsReversible(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Generate.RandomComplex(0x7FFF, GetUniform(1));
var work = new Complex[samples.Length];
samples.CopyTo(work, 0);
dft.BluesteinForward(work, options);
Assert.IsFalse(work.ListAlmostEqual(samples, 6));
dft.BluesteinInverse(work, options);
AssertHelpers.ListAlmostEqual(samples, work, 10);
}
开发者ID:rookboom,项目名称:mathnet-numerics,代码行数:14,代码来源:InverseTransformTest.cs
示例4: ForwardScaleByOptions
/// <summary>
/// Rescale FFT-the resulting vector according to the provided convention options.
/// </summary>
/// <param name="options">Fourier Transform Convention Options.</param>
/// <param name="samples">Sample Vector.</param>
private static void ForwardScaleByOptions(FourierOptions options, Complex[] samples)
{
if ((options & FourierOptions.NoScaling) == FourierOptions.NoScaling ||
(options & FourierOptions.AsymmetricScaling) == FourierOptions.AsymmetricScaling)
{
return;
}
var scalingFactor = Math.Sqrt(1.0 / samples.Length);
for (int i = 0; i < samples.Length; i++)
{
samples[i] *= scalingFactor;
}
}
开发者ID:nakamoton,项目名称:mathnet-numerics,代码行数:19,代码来源:DiscreteFourierTransform.Options.cs
示例5: FourierRadix2IsReversible
public void FourierRadix2IsReversible(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), GetUniform(1), 0x8000);
var work = new Complex[samples.Length];
samples.CopyTo(work, 0);
dft.Radix2Forward(work, options);
Assert.IsFalse(work.ListAlmostEqual(samples, 6));
dft.Radix2Inverse(work, options);
AssertHelpers.ListAlmostEqual(samples, work, 12);
}
开发者ID:EricGT,项目名称:mathnet-numerics,代码行数:14,代码来源:InverseTransformTest.cs
示例6: Verify
static void Verify(
Complex[] samples,
int maximumErrorDecimalPlaces,
FourierOptions options,
Func<Complex[], FourierOptions, Complex[]> naive,
Action<Complex[], FourierOptions> fast)
{
var spectrumNaive = naive(samples, options);
var spectrumFast = new Complex[samples.Length];
samples.CopyTo(spectrumFast, 0);
fast(spectrumFast, options);
AssertHelpers.AlmostEqual(spectrumNaive, spectrumFast, maximumErrorDecimalPlaces);
}
开发者ID:larzw,项目名称:mathnet-numerics,代码行数:15,代码来源:MatchingNaiveTransformTest.cs
示例7: FourierBluesteinMatchesNaiveOnRandomNonPowerOfTwo
public void FourierBluesteinMatchesNaiveOnRandomNonPowerOfTwo(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Generate.RandomComplex(0x7F, GetUniform(1));
VerifyMatchesNaiveComplex(
samples,
10,
s => dft.NaiveForward(s, options),
s => dft.BluesteinForward(s, options));
VerifyMatchesNaiveComplex(
samples,
10,
s => dft.NaiveInverse(s, options),
s => dft.BluesteinInverse(s, options));
}
开发者ID:rookboom,项目名称:mathnet-numerics,代码行数:16,代码来源:MatchingNaiveTransformTest.cs
示例8: FourierBluesteinMatchesNaiveOnRandomNonPowerOfTwo
public void FourierBluesteinMatchesNaiveOnRandomNonPowerOfTwo(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = SignalGenerator.Random((u, v) => new Complex(u, v), GetUniform(1), 0x7F);
VerifyMatchesNaiveComplex(
samples,
1e-12,
s => dft.NaiveForward(s, options),
s => dft.BluesteinForward(s, options));
VerifyMatchesNaiveComplex(
samples,
1e-12,
s => dft.NaiveInverse(s, options),
s => dft.BluesteinInverse(s, options));
}
开发者ID:nakamoton,项目名称:mathnet-numerics,代码行数:16,代码来源:MatchingNaiveTransformTest.cs
示例9: NaiveMatchesDft
public void NaiveMatchesDft(HartleyOptions hartleyOptions, FourierOptions fourierOptions)
{
var samples = Generate.Random(0x80, GetUniform(1));
VerifyMatchesDft(
samples,
5,
false,
s => Fourier.Forward(s, fourierOptions),
s => Hartley.NaiveForward(s, hartleyOptions));
VerifyMatchesDft(
samples,
5,
true,
s => Fourier.Inverse(s, fourierOptions),
s => Hartley.NaiveInverse(s, hartleyOptions));
}
开发者ID:skair39,项目名称:mathnet-numerics,代码行数:17,代码来源:HartleyTest.cs
示例10: FourierBluesteinMatchesNaiveOnRandomPowerOfTwo
public void FourierBluesteinMatchesNaiveOnRandomPowerOfTwo(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = Sample.Random((u, v) => new Complex(u, v), _uniform, 0x80);
VerifyMatchesNaiveComplex(
samples,
1e-12,
s => dft.NaiveForward(s, options),
s => dft.BluesteinForward(s, options));
VerifyMatchesNaiveComplex(
samples,
1e-12,
s => dft.NaiveInverse(s, options),
s => dft.BluesteinInverse(s, options));
}
开发者ID:hany-abdelrahman,项目名称:mathnet-numerics,代码行数:17,代码来源:MatchingNaiveTransformTest.cs
示例11: FourierRadix2MatchesNaiveOnRealSine
public void FourierRadix2MatchesNaiveOnRealSine(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
var samples = SignalGenerator.EquidistantPeriodic(w => new Complex(Math.Sin(w), 0), Constants.Pi2, 0, 16);
VerifyMatchesNaiveComplex(
samples,
1e-12,
s => dft.NaiveForward(s, options),
s => dft.Radix2Forward(s, options));
VerifyMatchesNaiveComplex(
samples,
1e-12,
s => dft.NaiveInverse(s, options),
s => dft.Radix2Inverse(s, options));
}
开发者ID:hickford,项目名称:mathnet-numerics-native,代码行数:17,代码来源:MatchingNaiveTransformTest.cs
示例12: FourierBluesteinIsReversible
public void FourierBluesteinIsReversible(FourierOptions options)
{
var dft = new DiscreteFourierTransform();
VerifyIsReversibleComplex(
0x7FFF,
1e-12,
s =>
{
dft.BluesteinForward(s, options);
return s;
},
s =>
{
dft.BluesteinInverse(s, options);
return s;
});
}
开发者ID:joeynelson,项目名称:mathnet-numerics,代码行数:18,代码来源:InverseTransformTest.cs
示例13: InverseScaleByOptions
/// <summary>
/// Rescale the iFFT-resulting vector according to the provided convention options.
/// </summary>
/// <param name="options">Fourier Transform Convention Options.</param>
/// <param name="samples">Sample Vector.</param>
private static void InverseScaleByOptions(FourierOptions options, Complex[] samples)
{
if ((options & FourierOptions.NoScaling) == FourierOptions.NoScaling)
{
return;
}
var scalingFactor = 1.0 / samples.Length;
if ((options & FourierOptions.AsymmetricScaling) != FourierOptions.AsymmetricScaling)
{
scalingFactor = Math.Sqrt(scalingFactor);
}
for (int i = 0; i < samples.Length; i++)
{
samples[i] *= scalingFactor;
}
}
开发者ID:nakamoton,项目名称:mathnet-numerics,代码行数:23,代码来源:DiscreteFourierTransform.Options.cs
示例14: NaiveMatchesDft
public void NaiveMatchesDft(HartleyOptions hartleyOptions, FourierOptions fourierOptions)
{
var dht = new DiscreteHartleyTransform();
var samples = SignalGenerator.Random(x => x, GetUniform(1), 0x80);
VerifyMatchesDft(
samples,
1e-5,
false,
s => Transform.FourierForward(s, fourierOptions),
s => dht.NaiveForward(s, hartleyOptions));
VerifyMatchesDft(
samples,
1e-5,
true,
s => Transform.FourierInverse(s, fourierOptions),
s => dht.NaiveInverse(s, hartleyOptions));
}
开发者ID:hickford,项目名称:mathnet-numerics-native,代码行数:18,代码来源:HartleyTest.cs
示例15: NaiveMatchesDFT
public void NaiveMatchesDFT(HartleyOptions hartleyOptions, FourierOptions fourierOptions)
{
var dht = new DiscreteHartleyTransform();
var samples = Sample.Random(x => x, _uniform, 0x80);
VerifyMatchesDFT(
samples,
1e-10,
false,
s => Transform.FourierForward(s, fourierOptions),
s => dht.NaiveForward(s, hartleyOptions));
VerifyMatchesDFT(
samples,
1e-10,
true,
s => Transform.FourierInverse(s, fourierOptions),
s => dht.NaiveInverse(s, hartleyOptions));
}
开发者ID:hany-abdelrahman,项目名称:mathnet-numerics,代码行数:19,代码来源:HartleyTest.cs
示例16: NaiveInverse
/// <summary>
/// Naive inverse DFT, useful e.g. to verify faster algorithms.
/// </summary>
/// <param name="frequencySpace">Frequency-space sample vector.</param>
/// <param name="options">Fourier Transform Convention Options.</param>
/// <returns>Corresponding time-space vector.</returns>
public Complex[] NaiveInverse(Complex[] frequencySpace, FourierOptions options)
{
var timeSpace = Naive(frequencySpace, -SignByOptions(options));
InverseScaleByOptions(options, timeSpace);
return timeSpace;
}
开发者ID:hickford,项目名称:mathnet-numerics-native,代码行数:12,代码来源:DiscreteFourierTransform.Naive.cs
示例17: NaiveForward
/// <summary>
/// Naive forward DFT, useful e.g. to verify faster algorithms.
/// </summary>
/// <param name="timeSpace">Time-space sample vector.</param>
/// <param name="options">Fourier Transform Convention Options.</param>
/// <returns>Corresponding frequency-space vector.</returns>
public Complex[] NaiveForward(Complex[] timeSpace, FourierOptions options)
{
var frequencySpace = Naive(timeSpace, SignByOptions(options));
ForwardScaleByOptions(options, frequencySpace);
return frequencySpace;
}
开发者ID:hickford,项目名称:mathnet-numerics-native,代码行数:12,代码来源:DiscreteFourierTransform.Naive.cs
示例18: Inverse
/// <summary>
/// Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
/// </summary>
/// <param name="samples">Sample vector, where the FFT is evaluated in place.</param>
/// <param name="options">Fourier Transform Convention Options.</param>
public static void Inverse(Complex[] samples, FourierOptions options)
{
BluesteinInverse(samples, options);
}
开发者ID:jafffy,项目名称:mathnet-numerics,代码行数:9,代码来源:Fourier.cs
示例19: Forward
/// <summary>
/// Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
/// </summary>
/// <param name="samples">Sample vector, where the FFT is evaluated in place.</param>
/// <param name="options">Fourier Transform Convention Options.</param>
public static void Forward(Complex[] samples, FourierOptions options)
{
BluesteinForward(samples, options);
}
开发者ID:jafffy,项目名称:mathnet-numerics,代码行数:9,代码来源:Fourier.cs
示例20: SignByOptions
/// <summary>
/// Extract the exponent sign to be used in forward transforms according to the
/// provided convention options.
/// </summary>
/// <param name="options">Fourier Transform Convention Options.</param>
/// <returns>Fourier series exponent sign.</returns>
static int SignByOptions(FourierOptions options)
{
return (options & FourierOptions.InverseExponent) == FourierOptions.InverseExponent ? 1 : -1;
}
开发者ID:jafffy,项目名称:mathnet-numerics,代码行数:10,代码来源:Fourier.cs
注:本文中的FourierOptions类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论