Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This is simple demo for DC (Direction Conversion) SDR function use in FPGA, for analog input XADC is used (Zynqberry mic input).

IPI BD for the SDR demo.

Image Added

XADC is configured with streaming interface, clock . Clock is set to 130MHz (generated with Clock Wizard) XADC sample rate exactly 1MSPS.

Image Added

DDS Compiler Wizard is used to generate LO (local oscillator) Sinus and Cosinus outputs. LO output is multiplied with the input from XADC. All AXI4-Streaming components run from single system clock (130MHz). XADC asserts TVALID with the rate of ADC sampling, that is MHz. To make DDS to work at 130MHz TREADY input of the DDS Output stream must be tied to 1.

Image Added

After complex multiplier AXI stream subset converter is used to force TLAST to 1, then AXI stream datawidth converter is used to convert single samples with I and Q values into stream of interleaved I and Q values. This stream is going into CIC block that converts the sampling frequency down.

Image Added

Configuration of the CIC

Image Added

CIC Frequency response.

Downconverted I and Q stream enters a FIR block that also reduces sample rate by 2.

Image Added

Configuration of the FIR.

Image Added

Frequency response of the FIR Filter.

After FIR filter AXI stream datawidht converter is used again to get convert the interleaved samples of I and Q as single AXIS stream TDATA word. The processing is terminated by AXI stream DEVNULL that eats all. For visualization and data capture ILA Logic Analyzer IP cores are inserted. For test purposes the LO frequency was set to 134KHz (this is close to WSPR band where beacons are expected to be present in frequency band).

...