Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

exponential delay generation in vhdl

hi all,

I am new to this forum. My project is Digital Beam Forming for phased antenna array. for testing purpose of algorithm i developed in vhdl, I have to generate different delayed version of input signal. input signal is AM signal from function generator. delay is exp(j*2*pi*d*n*sin(theta)),where (theta:angle in degree, d: constant and n:1,2,...).

i hv to generate this delay in vhdl. can any one please tell me how to implement this?

thanks in advance

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If I understand you right, you want to generate a series of sine waves with different delay. The best way is to create a look-up table.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    My project is Digital Beam Forming for phased antenna array. for testing purpose of algorithm i developed in vhdl, I have to generate different delayed version of input signal. input signal is AM signal from function generator. delay is exp(j*2*pi*d*n*sin(theta)),where (theta:angle in degree, d: constant and n:1,2,...).

    --- Quote End ---

    You have not quite understood your problem just yet.

    A beam-former performs delay-and-sum of the input signals, so that they coherently construct in the direction of the focused beam.

    You can implement a beamformer by having a fractional delay line on each input signal, program them to the appropriate delay, and sum the delay line output. Or you can take the frequency-based equivalent approach, where you essentially Fourier transform the input signals, apply a complex phase-slope (delay) and then sum.

    Before you start on the VHDL, get something working in MATLAB first. It'll help clarify your understanding of the requirements.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I agree about the necessity of understanding the problem.

    Dave, just a minor correctiion. You are discussing beamforming for a receiver. The said project is dealing with beamforming for a transmitter. Although the methods are closely related, the signal path is different. In this case one input signal is transformed to N output signals.

    Besides understanding the theory, sketching a hardware scheme would be a useful step to proceed with the project. You imagine an analog input signal, so you need an ADC front end. To generate N phase shifted output signals, the system needs N DAC channels. Front- and back-end should be specified in terms of resolution, sampling rate and carrier frequency respectively frequency range.

    To implement the delay/phase shift as a rotation in the complex plane as multiply with exp(j dphi), you need to transform the real input signal to an analytical (complex) signal, e.g. by a Hilbert transformation.

    Frank
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Dave, just a minor correctiion. You are discussing beamforming for a receiver. The said project is dealing with beamforming for a transmitter. Although the methods are closely related, the signal path is different. In this case one input signal is transformed to N output signals.

    --- Quote End ---

    Thanks for the correction :)

    souv1101: see how easy it is to misinterpret a poorly explained description.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Sorry for delay. thank you for your valuable suggestion. I am concentrating on the basic understanding. Thank you once again:)