"Mirroring"/Ghosting and CF Peak

Having issues with the site, hardware, source code, or any other issues?
bpadalino
Posts: 303
Joined: Mon Mar 04, 2013 4:53 pm

Re: "Mirroring"/Ghosting and CF Peak

Post by bpadalino »

The register settings all get reset, but you can change the bladerf_init_device() function to include that register write so it will happen after an FPGA load.

It's easier to change that than change the FPGA code right now, so we are going to be pushing that change soon along with libusb support.
madengr
Posts: 34
Joined: Fri Mar 01, 2013 6:51 am

Re: "Mirroring"/Ghosting and CF Peak

Post by madengr »

lousyg wrote: Any recommendations on getting rid of the DC peak at CF?
You can never get rid of it fully; it's DC imbalance in the I and Q channels due to LO feed through and actual DC imbalance in the electronics. It's the bane of direct conversion receivers, but you can work around it like so. See attached example GRC file and screen shots. It should run fine if you are using GNU Radio 3.7.

https://dl.dropboxusercontent.com/u/495 ... laderf.grc

What you do is move the LO off-frequency, then downconvert your desired bandwidth in software. The attached example pulls in at 25 MHz sample rate from the blade, and the LO=314 MHz. A frequency translating FIR filter then tunes to 315 MHz (LO + 1 MHz), applies a 100 kHz wide low-pass filter for anti-aliasing, then decimates the samples by 100 so you end up with 250 kHz bandwidth for the channel. You can then tune this channel in 100 kHz steps, or however fine you want.

Notice the 315.02 MHz @ -110 dBm signal is barely visible in the wideband spectrum, but is 20 dB above the noise floor in the narrow band channel. Thats the cool thing about SDR. You can have as many channels down-converted and demodulated in parallel as your computer can handle.

The DC should be reduced significantly when the nuand guys get the internal calibration going in the LMS chip, however it's a function of gain stage settings, filter bandwidth, temperature ,etc. I would assume it has to be run each time any settings are changed. The LMS manual says it completes in less than 70 clock cycles.

Image
Image
Post Reply