Plotting more than one DTMF frequencies on a graph

8 views (last 30 days)
kyin gab on 25 Nov 2012
Commented: JAFARU IBRAHIM on 8 Nov 2017
Hello,
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 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 www.engr.mun.ca/~sircar/project1_files/dtmf.pdf
I am aware that I have to add a silence period between.
Thank you.

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