MATLAB Answers

0

Plotting only highest peaks from multiple signals

Asked by Lisa Justin on 3 Dec 2019 at 12:52
Latest activity Commented on by Lisa Justin about 11 hours ago
Hi,
I need to extract only the peaks of three signals so I have one plot without changing the amplitude of the individual plots.
fs = 2e3;
t = (0:1/fs:1-1/fs)';
A= sin(2*pi*19*t);
B= chirp(t-0.6,61,t(end),603,'quadratic');
C=cos(2*pi*19*t);
peakSig= A+B+C;

  0 Comments

Sign in to comment.

3 Answers

Answer by Image Analyst
on 3 Dec 2019 at 14:50
 Accepted Answer

Lisa, try using max() function to compute the max.
fs = 2e3;
t = (0:1/fs:1-1/fs)';
A= sin(2*pi*19*t);
B= chirp(t-0.6,61,t(end),603,'quadratic');
C=cos(2*pi*19*t);
plot(t, A, 'r-', 'LineWidth', 2);
hold on;
plot(t, B, 'g-', 'LineWidth', 2);
plot(t, C, 'b-', 'LineWidth', 2);
% Get the highest of any signal:
peakSig = max([A, B, C], [], 2);
% Get the lowest of any signal:
valleySig = min([A, B, C], [], 2);
plot(t, peakSig, 'k-', 'LineWidth', 3);
plot(t, valleySig, 'k-', 'LineWidth', 3);
grid on;
% Zoom in so we can actually see what's happening:
xlim([0, 0.04]);
legend('A', 'B', 'C', 'peakSig', 'valleySig');
0001 Screenshot.png
If you have the valley signal in there also, you'll get this:
0000 Screenshot.png

  2 Comments

KALYAN ACHARJYA 2019 年 12 月 3 日 15:07
Great Sir!
Thanks Image Analyst. Just what I wanted.
Great.

Sign in to comment.


Answer by KALYAN ACHARJYA on 3 Dec 2019 at 13:58

fs = 2e3;
t = (0:1/fs:1-1/fs)';
A= sin(2*pi*19*t);
B= chirp(t-0.6,61,t(end),603,'quadratic');
C=cos(2*pi*19*t);
peakSig= max(A)+max(B)+max(C) % You can find the maximum of A/B/C using max function
Or:
You can use findpeaks function to get the peaks of the individual signal.

  0 Comments

Sign in to comment.


Answer by ABHILASH SINGH on 3 Dec 2019 at 14:02
Edited by ABHILASH SINGH on 3 Dec 2019 at 14:03

I think you are looking for this.
fs = 2e3;
t = (0:1/fs:1-1/fs)';
A= sin(2*pi*19*t);
B= chirp(t-0.6,61,t(end),603,'quadratic');
C=cos(2*pi*19*t);
peakSig= A+B+C;
plot(t,A,t,B,t,C)
figure
plot(t,envelope(peakSig))
Let me know if you need something different. This is the peakSig vs t
This is the peak of the three signals together

  0 Comments

Sign in to comment.