ssa

Форк
0
/
signal.go 
36 строк · 904.0 Байт
1
package oss
2

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

7
	"github.com/xuri/excelize/v2"
8
)
9

10
func Make_singnal(n int) []float64 {
11
	waveform := make([]float64, n)
12
	for index := range waveform {
13
		waveform[index] = F(float64(index), n)
14
		//waveform[index] += math.Cos(2 * math.Pi * 0.03 * float64(index))
15
		//waveform[index] += 0.8 * math.Cos(2*math.Pi*(0.06*float64(index)+0.09/(2.0*float64(n))*float64(index)*float64(index)))
16
	}
17
	return waveform
18
}
19
func Make_singnal_xn(filename string) ([]float64, int) {
20
	f, _ := excelize.OpenFile(filename + ".xlsx")
21
	cells, _ := f.GetRows("main")
22
	a := make([]float64, len(cells))
23

24
	for i := 0; i < len(cells); i++ {
25
		b, _ := strconv.ParseFloat(cells[i][0], 64)
26
		a[i] = b
27
	}
28

29
	return a, len(cells)
30
}
31
func F(x float64, n int) float64 {
32
	var waveX float64
33
	waveX = math.Cos(2 * math.Pi * 0.03 * x)
34
	waveX += 0.8 * math.Cos(2*math.Pi*(0.06*x+0.09/(2.0*float64(n))*x*x))
35
	return waveX
36
}
37

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

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

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

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