Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

CORDIC implementation to generate Amplitude & relative phase from I,Q samples

Status
Not open for further replies.

Maitry07

Full Member level 2
Full Member level 2
Joined
Jun 29, 2022
Messages
130
Helped
0
Reputation
0
Reaction score
0
Trophy points
16
Activity points
1,165
Hello support team,

My requirement is to measure the amplitude and relative phase of the 2 received complex signals ( CH1 - I, Q samples, CH2 I, Q samples) . So, I am thinking to use CORDIC implementation as below.

1. 2 CORDIC IP Core( rectangular to polar conversion) that take CH1- I, Q and CH2-I, Q samples as input respectively.
2. Generate Amp1 , Amp2 , phase1, phase2 at the output of 2 CORDIC IP core. ( with the use of sqrt root and atanh function)
3. multiply 180/pi to phase1 and phase 2 to generate phase1 and phase2 in deg.
4. Subtract= phase1- phase2 to get the relative phase.

So, my question is that, Is this the suitable and accurate way to convert the amplitude and relative phase from I,Q samples? I have a requirement for accurate measurement.
 

Hi,

I guess CORDIC is a suitable solution.

I did something similar before, but did not use CORDIC but some kind of correlation.
(in another project I used some kind of analog correlation / lock in amplifier style)

May I ask:
* is the frequency of the I / Q signals fix? .. and known, and stable?
* what frequency (range) is it?
* what´s your sampling frequency?
* how often (per second) do you need a calculation result?
* do you have a microcontroller ? Which one?

Klaus
 

Hello,

Below are the responses.
1) Frequency of the I/Q is known , slight variable(+/-1 MHz)
2) Frequency is 65 MHz (+/-1 MHz)
3) ADC sampling freq: 1500 MSPS , DDC output rate: 61.44 MSPS
4) As my IF inputs : 65 MHz is continuous, so we will get continuous DDC output( in the form of I, Q samples), so our plan is to continuously measure the amplitude and relative phase. ( for both IF inputs, amplitude will be different but frequency would be same)
5) No, we are using Ultra scale+ FPGA for the CORDIC implementation. first FPGA receives data (I, Q samples) through JESD interfacing and the JESD output is provided as input to CORDIC.
 

Hi,

to 4)
so you try to do 65 million times per second:
* 2 x amplitude calculation
* 2 x phase calculation
* math to get your desired result

and what do you do with the calculation results?

Klaus
 

Our requirement is to continuously measure the amplitude of both channels and the relative phase between them. As the 65 MHz IF input is the directional coupled signal from my transmitter.
So, by continuously measuring the amplitude and relative phase , our plan is to observe the our transmitter output power.
As mapping between directional coupled amplitude and transmitter output is known to us.

1. Right now , at initial implementation phase , we are planning to provide the measured amplitude & relative phase in vivado scope( ILA or something) to verify the power sweep and its correlation(received amplitude and relative phase) with the IF input amplitude.
2. At the final , the measured amplitude and phase will be provided to DAC and we will get output( in 0-10 V ) format , which will finally be given to the measurement & control unit.

The IF input we are getting continuously for half an hour approx. so we will be observing the same for this much period of time continously.
 

Hi,

this is not my question.

Let´s try another approach:
--> How often (sampling rate) do you want to provide new calculated data to the DAC for the 0..10V output?

Klaus
 

Hi,

Wow. I didn´t expect that high rate for all the calculations. So you basically have less than a microsecond for all the calculations.
So my idea doesn´t work that fast.

I guess it´s done in parallel, or better say pipelined style.
Never used CORDIC thus I´m curious how it performs.

Klaus
 

Actully, we are using high speed data converter along with the ultra scle FPGA, which directly convert the IF input to I,Q samples( using DDC algorithm) and with the help of JESD interfacing, we are getting I, Q samples at the FPGA (with speed of 61.44 MSPS). after that , I will be using some decimation filtering before CORDIC.

But , right now, I am trying to implement direct CORDIC at this data rate only for testing of power sweep.
so, kindly suggest weather my way of converting I,Q to amp. and relative phase is suitable and accurate way for the above application?
 

Hi,

I stay with my first sentence of my first post. ;-)

As said: my approch was a dfferent one, but does not work at you desired speed.

Klaus
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top