Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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?

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 7 Feb 2014
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 Commenti
Sarah Ghosh
Sarah Ghosh il 9 Feb 2014
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 il 9 Feb 2014
Sarah, if you have another question, post a new one and make it as clear as possible

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 7 Feb 2014
Modificato: Walter Roberson il 7 Feb 2014
dec2bin(typecast(int16(floor(sin(t) * 32767)), 'uint16'), 16) - '0'

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by