|
|
|
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
|
|
|
|
{-# LANGUAGE DeriveDataTypeable, RecordWildCards #-} |
|
|
|
|
|
|
|
|
|
-- Создан: Ср 28 сен 2016 10:18:53 |
|
|
|
|
-- Изменен: Пт 30 сен 2016 12:52:29 |
|
|
|
|
-- Изменен: Ср 05 окт 2016 16:09:45 |
|
|
|
|
|
|
|
|
|
import System.Console.CmdArgs |
|
|
|
|
import System.Environment |
|
|
|
@ -45,7 +45,9 @@ calcLevel fs samples = case dd of
@@ -45,7 +45,9 @@ calcLevel fs samples = case dd of
|
|
|
|
|
|
|
|
|
|
-- Вычисление значения фазы |
|
|
|
|
calcPhase :: (Ord a, Fractional a) => [[a]] -> a |
|
|
|
|
calcPhase samples = 2 * median (map ph (zip3 samples (drop 1 samples) (drop 2 samples))) - 1 where |
|
|
|
|
calcPhase samples |
|
|
|
|
| sum [ abs l + abs r | [l,r] <- samples] < 0.01 = 0 |
|
|
|
|
| otherwise = median (map ph (zip3 samples (drop 1 samples) (drop 2 samples))) where |
|
|
|
|
ph ([0,0], [l2,r2], [l3,r3]) | (signum l2 /= signum r2) && (signum l3 /= signum r3) = 0 |
|
|
|
|
| otherwise = 1 |
|
|
|
|
|
|
|
|
|