Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

27 wiersze
859B

  1. package gpudemod
  2. func updateShiftedHistory(prev []complex64, shiftedNew []complex64, numTaps int) []complex64 {
  3. need := numTaps - 1
  4. if need <= 0 {
  5. return nil
  6. }
  7. combined := append(append(make([]complex64, 0, len(prev)+len(shiftedNew)), prev...), shiftedNew...)
  8. if len(combined) <= need {
  9. out := make([]complex64, len(combined))
  10. copy(out, combined)
  11. return out
  12. }
  13. out := make([]complex64, need)
  14. copy(out, combined[len(combined)-need:])
  15. return out
  16. }
  17. // StreamingExtractGPU is the production entry point for the stateful streaming
  18. // extractor path. Execution strategy is selected by StreamingExtractGPUExec.
  19. func (r *BatchRunner) StreamingExtractGPU(iqNew []complex64, jobs []StreamingExtractJob) ([]StreamingExtractResult, error) {
  20. if r == nil || r.eng == nil {
  21. return nil, ErrUnavailable
  22. }
  23. return r.StreamingExtractGPUExec(iqNew, jobs)
  24. }