Plot binary sequence of type char (MATLAB)

조회 수: 14 (최근 30일)
high speed
high speed 2022년 12월 2일
댓글: high speed 2022년 12월 2일
Dear,
I have this binary sequence '011010001000000001010011' of type char, and I want to plot it to obtain a graph like that for example:
  댓글 수: 2
Fifteen12
Fifteen12 2022년 12월 2일
What have you tried so far? Love to help, but not sure what you're confused on!
high speed
high speed 2022년 12월 2일
@John Morris After sampling, quantifying and encoding the original signal, I want just to plot the obtainedd binary sequence

댓글을 달려면 로그인하십시오.

채택된 답변

Askic V
Askic V 2022년 12월 2일
This is how I would do it:
bin_sq = '011010001000000001010011';
N = length(bin_sq); % nr of characters
pulse_duration = 2; % 2 sec
total_duration = N * pulse_duration;
% Initialize array
pulse_arr = ones(1,N);
% put zeros on appropriate places
pulse_arr(bin_sq == '0') = 0;
dt = 0.01; % choose step size
t = 0:dt:total_duration;
% Initialize output signal
output_sig = zeros(size(t));
for ii = 0:N-1
start_point = ii*pulse_duration;
end_point = (ii+1)*pulse_duration;
output_sig(t>=start_point & t < end_point) = pulse_arr(ii+1);
end
% Plot output signal
plot(t,output_sig, 'LineWidth',2)

추가 답변 (1개)

Fifteen12
Fifteen12 2022년 12월 2일
편집: Fifteen12 2022년 12월 2일
seq = randi(2, [1, 20]) - 1;
y = seq(1);
x = 0;
for i = 1:length(seq)-1
y(end+1) = seq(i);
x(end+1) = i;
if seq(i+1) ~= seq(i)
y(end+1) = seq(i+1);
x(end+1) = i;
end
end
plot(x, y)
axis([0, x(end), -2, 3])

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by