MATLAB Answers

how to convert analog signal to bit stream

3 views (last 30 days)
Murali Krishna AG
Murali Krishna AG on 3 Aug 2021
Answered: Walter Roberson on 3 Aug 2021
I generate a analog signal cos(2pi*f*t), fs is sampling frequency and I denotes quantization levels. How to convert the analog signal to bit stream

Answers (1)

Walter Roberson
Walter Roberson on 3 Aug 2021
That is not an analog signal. An analog signal is created by outputing to a hardware device. What you have is a digital signal.
Your description said I denotes quantization levels. If so then
I = linspace(-1,1,32);
t = linspace(0,1,75);
f = 17;
x = cos(2*pi*f*t);
plot(t, x)
binnumber = discretize(x, I) - 1;
binnumber(1:10)
ans = 1×10
30 17 0 9 29 24 4 3 23 29
num_bits = ceil(log2(length(I)))
num_bits = 5
as_char_binary = dec2bin(binnumber, num_bits);
as_char_binary(1:5,:)
ans = 5×5 char array
'11110' '10001' '00000' '01001' '11101'
binary_stream = reshape((as_char_binary - '0').',1,[]);
stairs(binary_stream); ylim([-.1 1.1]); xlim([0 50])

Community Treasure Hunt

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

Start Hunting!