Obtaining a dual tone phone number

Thread Starter

u-will-neva-no

Joined Mar 22, 2011
230
Ok, this sounds like a hacking task but I can assure you it is a project that is taking place at my university. The task is to create a hardware (and software) apparatus that non destructively attaches to a phone line. This uses a dual tone multi frequency dialing system (as well as ADSL to be filtered).

I would like to talk about my approach to this task. There are areas that I am not sure about.

I guess I need to use some form of Arial so that the voltage signals can be sent to my circuit. I would like this Arial to connect to an arduino so that the voltage signals can be sent to an input pin on the arduino. I plan to use Matlab in a "hand shake" form with arduino so that the voltage signals can be transmitted and received. Then filtering would take place and would try to get the values from the Fourier transform graphs in Matlab and the two spikes should correspond to the row and column frequency values from the number pressed. The last stage is to display the numbers in the serial monitor in the arduino platform. I know this is vague but does it seem possible? Is there any important steps that I have missed out?
 

SgtWookie

Joined Jul 17, 2007
22,230
I believe that you meant "aerial" aka antenna instead of the font Arial.

Is sending the tones via radio a requirement? If not, you should consider inductively coupling the tones using a transformer rather than RF; as the latter will add a considerable amount of complexity to the project.

A transformer will provide isolation from the line, and you can easily limit the peaks on the secondary side.
 

Thread Starter

u-will-neva-no

Joined Mar 22, 2011
230
Im so bad with spelling! So all I need is a wire that is coiled and put close to the transmitting wire? The transmitting wire has a twisted pair of wires but I was told that the two fields will not cancel each other out. In this case, how should I place the second wire (that I will create) so that the maximum amount of voltage will be at the output?
 

John P

Joined Oct 14, 2008
2,026
What does "transmitting wire" mean? If you can separate out the two conductors, you'll be a lot farther ahead than if you have to work with a jacketed cable carrying the wires. And you do know that you can get integrated circuits that decode DTMF, right?
 

Thread Starter

u-will-neva-no

Joined Mar 22, 2011
230
The transmitting wire is set up in our laboratory and a sequence of numbers, representing a phone number, will be set down it. I think the wire is a wire with plastic coating with a twisted pair of wires inside, although it may not have the plastic protective coating. (I will find out tomorrow). What do you mean by a jacketed cable? I have a feeling it is what I just described. If that is the case, there is no alternative to this...
 

John P

Joined Oct 14, 2008
2,026
What is the wire connected to? It's important because a transformer coupling won't do anything unless there is current in the wire. With a capacitive coupling, you could possibly succeed even without current flow.
 

Thread Starter

u-will-neva-no

Joined Mar 22, 2011
230
I was in the lab today and basically there is a wire(lets call it A) that has numbers being sent constantly through the wire. I currently have a wire that is wrapped around wire A with one end connected to an arduino pin and the other end connected to nothing. My lecture was satisfied with this and I was getting values in the serial monitor. I will write some more problems that I am having;

Now that I have data continuously sending to the microcontroller (arduino), I want to send the data (continuously) to matlab so that I can convert to frequency domain (Fourier Transform) band pass filter (as the frequencies I need are in the range of 697Hz-1633Hz but need to remove the 50Hz from the lab room that we are in). I would then like to collect the values of the highest spikes on the graph that correspond to the row and column frequencies and send them two values back to the arduino. I would then use them two values to print out the corresponding number (using several if statements).

My problems are clearly coding what I would like to do. Does this approach sound possible though?
 
Top