Skip to content

Enhance Signal Generation for FMCW Chirps #52

@davidbits

Description

@davidbits

FERS's signal generation, primarily handled in pulse_factory.cpp, is geared towards loading pre-defined pulse shapes from files. To support FMCW, it must be able to programmatically generate standard chirp waveforms based on XML parameters.

Tasks:

  1. Create a Chirp Generator: Implement a function or class that can generate a linear FMCW chirp (sawtooth) based on parameters like start_frequency, bandwidth, and sweep_time.
  2. Integrate with Pulse Factory: Modify serial::loadPulseFromFile or the parsePulse logic in xml_parser.cpp to call this new generator when an FMCW pulse type is specified in the XML.
  3. Future-Proofing: Design the generator so that other modulation patterns (e.g., triangular) can be easily added in the future.
  4. Reference Signal: Ensure that this generated chirp can be used both by the Transmitter for transmission and by the Receiver as the clean reference signal for de-chirping.

Acceptance Criteria:

  • When a user specifies <pulse type="fmcw_sawtooth" ... />, the backend generates a corresponding complex linear chirp waveform.
  • The generated signal correctly reflects the bandwidth and sweep_time defined in the XML.

Metadata

Metadata

Assignees

Labels

type: enhancementA new feature or a request for an improvement.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions