How to quantise a sin wave with amplitude between -1 to 1?

1 次查看(过去 30 天)
I have to quantise a continuous sin wave into a 16 bit signal and obtain the vector of the quantised signals in the binary form? How to get the binary of a decimal number which might be negative. Can anyone provide me with the code snippet for that?

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-2-7
ts=0.01 % sample time
t=0:ts:10; % time vector
y=sin(t); % your signal
pas=(1-(-1))/(2^15-1) % quantization interval
ye=round(y/pas)
s=sign(ye')
s(s<=0)=0
yq=[num2str(s) dec2bin(abs(ye))] % use the first bit to define positive and negative numbers
  2 个评论
Sarah Ghosh
Sarah Ghosh 2014-2-9
Thanks a lot for the answer. Now, I need each of those 15 bits as the output. How do I do that?
Azzi Abdelmalek
Azzi Abdelmalek 2014-2-9
Sarah, if you have another question, post a new one and make it as clear as possible

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2014-2-7
编辑:Walter Roberson 2014-2-7
dec2bin(typecast(int16(floor(sin(t) * 32767)), 'uint16'), 16) - '0'

标签

Community Treasure Hunt

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

Start Hunting!

Translated by