ssa

Форк
0
/
blackmanharris_test.go 
57 строк · 2.0 Кб
1
package blackmanharris_test
2

3
import (
4
	"math"
5
	"testing"
6

7
	"github.com/RB-PRO/ssa/pkg/blackmanharris"
8
)
9

10
func TestBlackmanharris(t *testing.T) {
11
	N := 32
12
	blackman := blackmanharris.Blackmanharris(N, blackmanharris.Koef4_92db)
13

14
	// Результат
15
	MatLabBlackman := make([]float64, N)
16
	MatLabBlackman[0] = 0.0234200000000000
17
	MatLabBlackman[1] = 0.0200796208567949
18
	MatLabBlackman[2] = 0.0119986516061235
19
	MatLabBlackman[3] = 0.00453856337218171
20
	MatLabBlackman[4] = 0.00521782261016186
21
	MatLabBlackman[5] = 0.0219495235192088
22
	MatLabBlackman[6] = 0.0611985478246830
23
	MatLabBlackman[7] = 0.126474585987881
24
	MatLabBlackman[8] = 0.217470000000000
25
	MatLabBlackman[9] = 0.329974013305730
26
	MatLabBlackman[10] = 0.456501360083246
27
	MatLabBlackman[11] = 0.587419445831711
28
	MatLabBlackman[12] = 0.712282177389838
29
	MatLabBlackman[13] = 0.821092467276898
30
	MatLabBlackman[14] = 0.905301440485947
31
	MatLabBlackman[15] = 0.958471779849594
32
	MatLabBlackman[16] = 0.976640000000000
33
	MatLabBlackman[17] = 0.958471779849594
34
	MatLabBlackman[18] = 0.905301440485947
35
	MatLabBlackman[19] = 0.821092467276898
36
	MatLabBlackman[20] = 0.712282177389838
37
	MatLabBlackman[21] = 0.587419445831712
38
	MatLabBlackman[22] = 0.456501360083247
39
	MatLabBlackman[23] = 0.329974013305730
40
	MatLabBlackman[24] = 0.217470000000000
41
	MatLabBlackman[25] = 0.126474585987881
42
	MatLabBlackman[26] = 0.0611985478246830
43
	MatLabBlackman[27] = 0.0219495235192089
44
	MatLabBlackman[28] = 0.00521782261016190
45
	MatLabBlackman[29] = 0.00453856337218168
46
	MatLabBlackman[30] = 0.0119986516061234
47
	MatLabBlackman[31] = 0.0200796208567949
48

49
	// Циклом идём по всему массиву и сравниваем данные
50
	for index := range blackman {
51
		if int(math.Abs(blackman[index]-MatLabBlackman[index])) > 3 {
52
			t.Errorf("Blackmanharris: Элемент с индексом %v не соответствует рассчитанному. Должно было быть %v, а получено %v.",
53
				index, int(MatLabBlackman[index]*1000000), int(blackman[index]*1000000))
54
		}
55
	}
56

57
}
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.