Plotting more than one DTMF frequencies on a graph

8 views (last 30 days)
I can plot single dtmf frequency. I would like to plot more than one frequency on a single graph. How do I do it?
Exampl below:
t = 0:1/32798:0.25-1/32798; x = sin(2*pi*xxx*t) + sin(2*pi*yyy*t);
x2 = sin(2*pi*aaa*t2) + sin(2*pi*bbb*t2);
if I do
plot(t, x); title('DTMF Signal for t = 0.25s'); xlabel('time (s)'); ylabel('Amplitude');
it will plot x for me.
Now I would like to plot x and x2 on the same graph. I am aware of putting frequency of zero in between.
Thank you.
kyin gab
kyin gab on 25 Nov 2012
I may not be clear enough.
I have two signal gotten from a keypad (number 2 and 7);
t = 0:1/32798:0.25-1/32798;
x2 = sin(2*pi*1336*t) + sin(2*pi*697*t);
x7 = sin(2*pi*1209*t) + sin(2*pi*852*t);
I want to plot these two signals in one graph. I am finding it difficult to do it. I want the graph to look like the last one on page 2 of this
I am aware that I have to add a silence period between.
Thank you.

Sign in to comment.

Accepted Answer

Jonathan Epperl
Jonathan Epperl on 25 Nov 2012
Okay, now that your question is clearer to me, I think this is what you want:
t = 0:1/32798:0.25-1/32798;
x2 = sin(2*pi*1336*t) + sin(2*pi*697*t);
x7 = sin(2*pi*1209*t) + sin(2*pi*852*t);
int_of_silence = .1; shift = t(end)+ int_of_silence;
plot(t, x2, 'b', t+shift, x7, 'b', [t(end) t(end)+int_of_silence], [0 0], 'b', t+2*shift, x2, 'b', 2*[t(end) t(end)+int_of_silence], [0 0], 'b')
You see the trick is shifting the time axis for each segment by the right amount, I called it shift. The [t(end) t(end)+int_of_silence], [0 0], 'b' part is only to draw a line at 0 between segments.
JAFARU IBRAHIM on 8 Nov 2017
Hi, Thank you very much (both of you),
I really found this question very important and related to my problem, so please Jonathan or Kyarn, how can you play the sound of the signal above, then? Tanx

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!