Cross-Correlation WITHOUT a buffer/tapped-delay
显示 更早的评论
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
回答(1 个)
Akhilesh Mishra
2017-7-10
0 个投票
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
类别
在 帮助中心 和 File Exchange 中查找有关 Signal Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!