How can I Compare a Signal with some Threshold Value as comparator to give output as 0 or 1?
4 ビュー (過去 30 日間)
古いコメントを表示
i want to Compare random sine singnal with some threshold value, ust as a comparator working. I want the output to be 1 if its above the Threshold Value or0 if its below threshold value.
Can somebody kindly check why is this code not working?
% Random Sine Signal to compare with Threshold Value:
Fs = 8000; % samples per second
dt = 1 / Fs; % seconds per sample
StopTime = 0.25; % seconds
t = (0: dt: StopTime-dt) '; % seconds
%% Sine wave:
Fc = 60; % hertz
x = cos (2 * pi * Fc * t);
out = zeros (size (t)); % Array to Show output less then ot greater then Threshold Value
for k = 1: 1: numel (t)
if (x> 0.5) % comparin signal with Thresold lets suppose 0.5
out (k) = 1; % If True
else
out (k) = 0; % If false
end
end
plot (t, x)
hold on
plot (t, out)
0 件のコメント
回答 (1 件)
Star Strider
2020 年 8 月 19 日
Subscript ‘x’ as well to use the loop:
out = zeros (size (t)); % Array to Show output less then ot greater then Threshold Value
for k = 1: 1: numel (t)
if (x(k)> 0.5) % comparin signal with Thresold lets suppose 0.5
out (k) = 1; % If True
else
out (k) = 0; % If false
end
end
however this is much more efficient and produces the same result:
out = x > 0.5;
.
6 件のコメント
参考
カテゴリ
Help Center および File Exchange で Number Theory についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
