Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

27 lines
444B

  1. package demod
  2. type Demodulator interface {
  3. Name() string
  4. Demod(iq []complex64, sampleRate int) []float32
  5. OutputSampleRate() int
  6. Channels() int
  7. }
  8. var registry = map[string]Demodulator{}
  9. func Register(d Demodulator) {
  10. registry[d.Name()] = d
  11. }
  12. func Get(name string) Demodulator {
  13. return registry[name]
  14. }
  15. func Names() []string {
  16. out := make([]string, 0, len(registry))
  17. for k := range registry {
  18. out = append(out, k)
  19. }
  20. return out
  21. }