Cross-Correlation WITHOUT a buffer/tapped-delay

2 visualizzazioni (ultimi 30 giorni)
Daniel Yang
Daniel Yang il 7 Lug 2017
Risposto: Akhilesh Mishra il 10 Lug 2017
Hello, I am trying to code a cross correlation on Simulink in order to find the TDOA of a signal. Unfortunately, I am not able to use either a tapped delay or buffer because they happen to use a LOT of LUTs when generating HDL code. Is it possible to code a cross-correlation w/o a buffer or tapped delay?
Thank you Daniel Yang

Risposte (1)

Akhilesh Mishra
Akhilesh Mishra il 10 Lug 2017
The signals in Simulink are samples generated in the simulation time. Cross-correlation is a block operation implemented in the frequency domain, which requires the signals to be buffered.
I am not sure of your workflow, but to avoid using the 'Buffer' block, you may try initializing the signals as vectors. This can be done by using a frame based processing approach as described in the following documentation link - https://www.mathworks.com/help/dsp/ug/create-signals-for-frame-based-processing.html
For example, you can use the 'Sine Wave' block to generate the input signal, and have the parameter 'Samples per frame' set as your buffer length. The details on this block can be found in the following link - https://www.mathworks.com/help/dsp/ref/sinewave.html
Please note, only certain blocks are supported for HDL code generation. The entire list of supported blocks can be found in the following link- https://www.mathworks.com/help/hdlcoder/block-support.html

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by