LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

A signal is 90deg-phase-shifted on LABVIEW FPGA

Solved!
Go to solution

Hello,

I am using the NI PXIe 7279R module with NI PXIe 5733 ADC converter on FPGA unit. I want to shift 90deg-phase of the input signal on FPGA. Unfortunately, on FPGA program, there is no Hilbert transform function for shifting the phase of the signal.

Could you please help me solve my problem? I  am a beginner for LABVIEW FPGA.

 

Thank you very much.

Dong

 

0 Kudos
Message 1 of 18
(4,064 Views)

To do this might be very easy or very difficult (as in PhD academic research difficult).

 

If you know the input frequency (and it's fixed) a simple delay would do the trick.

 

Theoretically, you could do a pt-by-pt Fourier transform, modify the phases, and then do a pt-by-pt reverse Fourier transform. Seems like quite an endeavour on FPGA... The mentioned link seems to suggest it is do-able.

 

If you can live with support for a range of frequencies, it seems you can use a FIR filter. I think there are FIR functions available. These didn't fulfil my needs when I needed one, but FIR filter is quite easy to make on a FPGA.

0 Kudos
Message 2 of 18
(4,013 Views)

Hi you,

The first idea you said seems to be quite difficult for me. The processing can be delay time due to conversation between pt-by-pt Fourier transfom and reverse Fourier transform. So I am interested in the second idea for FIR filter.

Could you please give me an example about using the FIR filter to create a Hilbert transform function?

Thank you very much.

Dong

0 Kudos
Message 3 of 18
(3,992 Views)

The first idea is in fact very easy. If the period is 100 samples (fixed frequency) make a FIFO buffer with fixed size of 25 samples (90/360*100=25). The FFT is the second idea;).

 

I can't help you out with the FIR filter (which seems like a better idea to me too for all but the most trivial situations). I don't have a FPGA at the moment. But there are plenty resources on the NI site (google "FIR filter labview FPGA"). As for the coefficients\filter design, I'll have to google that as well.

0 Kudos
Message 4 of 18
(3,985 Views)

The signal is recorded from my measurement system and its frequency is ~ 2.7 MHz. It is not fixed and is vibrated around 2.7 MHz. So it seems to be hard to use delay time technique for generating 90-phase shifted signal?

Thanks.

Dong

0 Kudos
Message 5 of 18
(3,977 Views)

@ThanhDong wrote:

The signal is recorded from my measurement system and its frequency is ~ 2.7 MHz. It is not fixed and is vibrated around 2.7 MHz. So it seems to be hard to use delay time technique for generating 90-phase shifted signal?

Thanks.

Dong


Yes, a fixed delay won't work well for variable frequencies. I'd say the FIR is the winner.

0 Kudos
Message 6 of 18
(3,967 Views)

Where is the signal coming from and what determines the frequency? Do you want to process one point at a time or entire blocks?

Does the instrument have a reference frequency output? Can you record the data in quadrature?

 

Can you give us a bit more detail on the experiment?

0 Kudos
Message 7 of 18
(3,962 Views)

I want to record two signals with a same frequency of 2.7 MHz from my interferometer.

I want to process them on FPGA to extract the phase shift between them.

In my program, I need one of these signals that is shifted to 90deg (quadrature signal). 

Thanks.

Dong

0 Kudos
Message 8 of 18
(3,957 Views)

Are the signals near sinusoidal or do they have local "features"?

0 Kudos
Message 9 of 18
(3,947 Views)

They are sinusoidal signals. 

Thanks

Dong

0 Kudos
Message 10 of 18
(3,928 Views)