How to use "sine hdl optimized" block?

17 views (last 30 days)
Himadri Debnath
Himadri Debnath on 11 Apr 2021
Answered: Ishan Ghosekar on 26 Aug 2022
I need digital sine wave for my verilog project. For that I need fixed point sinusoidal signal. I am using MATLAB hdl coder. I want to apply "sine hdl optimized" block to get the lookup table data. But I don't know what to use as a input.
Basically I need to generate a 100 Hz sine wave sampled at 44.1 kHz. So what should I use as the input 'u' and output?
  2 Comments
Bharath Venkataraman
Bharath Venkataraman on 12 Apr 2021
You may want to consider using the NCO HDL Optimized block. If you compute the phase offset based on your output clock, you can use the sine output to get the desired signal.
Bharath Venkataraman
Bharath Venkataraman on 13 Apr 2021
I had answered a similar question on generating a sine wave here. There is a model attached in that response that may be useful.

Sign in to comment.

Answers (1)

Ishan Ghosekar
Ishan Ghosekar on 26 Aug 2022
As I understand, you want to generate sine wave of 100Hz sampled at 44.1 KHz using Sine HDL Optimized block and you would like to know what inputs can be provided to the block.
I have attached the model that can be used to generate desired sine wave.
In the attached model, I have used HDL Counter and Gain block. The HDL Counter block runs from 1 to sampling frequency (fs), 44.1KHz, at a sample time of 1/fs. Specify the gain value of Gain block as sinusoidal wave frequency (f)/fs. The output of gain block is given as input to Sine HDL Optimized block.
The generated output of the block is shown in figure below:

Community Treasure Hunt

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

Start Hunting!