Shop OBEX P1 Docs P2 Docs Learn Events
freqout charts available? — Parallax Forums

freqout charts available?

stbrnrdstbrnrd Posts: 35
edited 2005-04-18 05:22 in BASIC Stamp
Hello,

i'm working on a school project that includes the bs2. It deals with dtmf out command, and the question is... can the bs2 make other than numbers out of the dtmf out command? ie alphabet characters A-z, words maybe?...


i was reffered to this :"DTMF was designed to transmit the values of a telephone system, and standard DTMF decoders handle them. You could certainly make your own decoder (with the 567, for example) and create any kind of encoding scheme you want. But then you'd have to use FREQOUT instead of DTMFOUT so that you could output your custom frequencies. DTMFOUT is in fact a special version of FREQOUT that handles the frequencies of the DTMF system."

but would i have to make a frequency for the character of the alphabet? and if so, would the stamp be able to decode it?
i've looked for encoder/decoders and the only things that came up are ... http://www.parallax.com/detail.asp?product_id=27988

help on understanding this would be greatly appreciated.
thanks

Comments

  • Jon WilliamsJon Williams Posts: 6,491
    edited 2005-04-17 18:31
    Let me try again.

    To my knowledge, there is no standard for DTMF beyond the 16 pairs used by telephone systems (a bit of Internet research could prove me wrong, however). If I am right, then I will say (again), that you can create your own pairs (make sure that they don't conflict with the standard DTMF pairs) using FREQOUT, as it lets you output two simultaneous frequencies (dual tones).

    Decoding is another thing; the standard decoder chips are built around telelphone systems -- you would have to create a custom solution. I've seen 567 tone decoder chips used in such an application. You'd probbly need a 5 x 6 matrix to handle all the letters of the alphabit, plus a few punctuation marks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
    Dallas, TX· USA
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-04-17 19:14
    Like Jon said, this would be a custom application of DTMF. You could however rig it to be backwards compatible so that digit presses could be decoded by a standard decoder. A full alphanumeric would require 36 unique combinations (26 alpha 10 numeric) which corresponds to a 6x6 matrix, but to preserve the # and * keys you'd have to bump it to a 7x6.

    Looking at http://www.ece.utexas.edu/~mason/codesign/dtmf.html·you would preserve the frequncy map
                    1209Hz 1336Hz 1477Hz 1633Hz                  |      |      |      |                 .-.    .-.    .-.    .-.         697Hz -( 1 )--( 2 )--( 3 )--( A )                 >-<    >-<    >-<    >-<         770Hz -( 4 )--( 5 )--( 6 )--( B )                 >-<    >-<    >-<    >-<         852Hz -( 7 )--( 8 )--( 9 )--( C )                 >-<    >-<    >-<    >-<         941Hz -( * )--( 0 )--( # )--( D )                 `-'    `-'    `-'    `-'
    


    following the frequency spacing rules you could use something like this:

                   1209Hz 1336Hz 1477Hz 1633Hz  1805Hz 1994Hz 2201Hz
                      |      |      |      |      |      |      |
                     .-.    .-.    .-.    .-.    .-.    .-.    .-.
             697Hz -( 1 )--( 2 )--( 3 )--( A )--( E )--( I )--( M )
                     >-<    >-<    >-<    >-<    >-<    >-<    >-< 
             770Hz -( 4 )--( 5 )--( 6 )--( B )--( F )--( J )--( N )
                     >-<    >-<    >-<    >-<    >-<    >-<    >-<
             852Hz -( 7 )--( 8 )--( 9 )--( C )--( G )--( K )--( O )
                     >-<    >-<    >-<    >-<    >-<    >-<    >-<
             941Hz -( * )--( 0 )--( # )--( D )--( H )--( L )--( P )
                     >-<    >-<    >-<    >-<    >-<    >-<    >-<
            1035Hz -( Q )--( R )--( S )--( T )--( U )--( V )--( W )
                     >-<    >-<    >-<    >-<    >-<    >-<    >-<
            1132Hz -( X )--( Y )--( Z )--(   )--( . )--( , )--( ! )
                     `-'    `-'    `-'    `-'    `-'    `-'    `-'
    
    

    You dont need to follow this exact map, or use the punctuation charactors I used. A standard DTMF decoder wouldn't be able to decode these extra frequencies, but you could potentially create your own decoder.
  • Beau SchwabeBeau Schwabe Posts: 6,557
    edited 2005-04-17 19:52
    You could also use a scheme to multiplex the 4x4 key pad. For example use "A,B, C, and D" for "bank selection".
    this would allow 12 user defined (not used) keys in BANK3, and 2 user defined keys in BANK2.

    To Send my name based on the example below, the sequence might look like....

    BB - B1 - AA - C2 - C7 - CC - B* - C8 - AA - BB - B1




                    1209Hz 1336Hz 1477Hz 1633Hz
                      |      |      |      |
                     .-.    .-.    .-.    .-.
             697Hz -( 1 )--( 2 )--( 3 )--( A )  <--Bank0
                     >-<    >-<    >-<    `-'
             770Hz -( 4 )--( 5 )--( 6 )
                     >-<    >-<    >-<    
             852Hz -( 7 )--( 8 )--( 9 )
                     >-<    >-<    >-< 
             941Hz -( * )--( 0 )--( # )
                     `-'    `-'    `-'    
    
                    1209Hz 1336Hz 1477Hz 1633Hz
                      |      |      |      |
                     .-.    .-.    .-.     |
             697Hz -( E )--( I )--( M )    |
                     >-<    >-<    >-<    .-. 
             770Hz -( F )--( J )--( N )--( B )  <--Bank 1
                     >-<    >-<    >-<    `-'
             852Hz -( G )--( K )--( O )
                     >-<    >-<    >-<
             941Hz -( H )--( L )--( P )
                     `-'    `-'    `-'
    
                    1209Hz 1336Hz 1477Hz 1633Hz
                      |      |      |      |
                     .-.    .-.    .-.     |
             697Hz -( Q )--( U )--( Y )    |
                     >-<    >-<    >-<     |
             770Hz -( R )--( V )--( Z )    |
                     >-<    >-<    >-<    .-.
             852Hz -( S )--( W )--( ? )--( C )  <--Bank 2    
                     >-<    >-<    >-<    `-'
             941Hz -( T )--( X )--( ? )
                     `-'    `-'    `-'
    
                    1209Hz 1336Hz 1477Hz 1633Hz
                      |      |      |      |
                     .-.    .-.    .-.     |
             697Hz -( ? )--( ? )--( ? )    |
                     >-<    >-<    >-<     |
             770Hz -( ? )--( ? )--( ? )    |
                     >-<    >-<    >-<     |
             852Hz -( ? )--( ? )--( ? )    |
                     >-<    >-<    >-<    .-.
             941Hz -( ? )--( ? )--( ? )--( D )  <--Bank 3    
                     `-'    `-'    `-'    `-'
    
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe - Mask Designer III

    National Semiconductor Corporation
    Latest Company News
    (Communication Interface Division)
    500 Pinnacle Court, Suite 525
    Mail Stop GA1
    Norcross,GA 30071
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-04-17 20:20
    Now thats clever, great idea Beau, a standard decoder would work with your scheme.
  • Larry~Larry~ Posts: 242
    edited 2005-04-17 20:23
    How about sending two tones for each letter and or number

    48 through 90 is 0 to 9 and caps A through Z

    so sending a 9 then 0 would be 90 or Z·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-04-17 21:14
    Beau didn't cover this aspect, but if I were to implement this I wouldn't require a bank A prefice except with the letter A. This way standard phone DTMF would still work for numbers and the * and #. The reciever would process normally, if it is not equiped to handle the bank mapping it would ignore the next charactor after receiving a bank code, if it is equiped to handle banks it would accept both and process acordingly.

    If you do that you could have 12 more user defined keys (since 3 is different than A3). You can also tease out 12 user defined keys by using the combinations AB, AC, AD, BA, BC, BD, CA, CB, CD, DA, DB, DC. That give you a total of 38 extra keys, enough to fit lowercase and punctuation.

    Post Edited (Paul Baker) : 4/17/2005 9:24:20 PM GMT
  • stbrnrdstbrnrd Posts: 35
    edited 2005-04-18 02:22
    thank you brainiacs for your your awesome responses and great input!!! you fellas are really good at thinking quick! , maybe i was confused with the definition of the function of dtmfout on the bs2. the programs cidmage and sob do the transmissions of a kind of dtmf that a caller id can pick up as text (names) so this is where the confusion originated from. i thought that i could find a chart that implied or expressed these values so that i could be written in a program for the bs2. i definitely am going to try out the extended matrix keypad and make my own freqs...i'll post the update. thanks a bunch again !!
  • SPENCESPENCE Posts: 204
    edited 2005-04-18 02:29
    About 6 years ago, i researched a old method used to send alphnumeric alphabete by touchtone. It was quite widely used for a short period of time. A carefull search of internet you should be able to retrieve the whole thing. It was complete and it worked solid.

    73
    spence
    k4kep
  • Beau SchwabeBeau Schwabe Posts: 6,557
    edited 2005-04-18 05:22
    Point is, is that there are several ways to do what you want to do.

    For example from my original post, you can expand the multiplex scheme, so that
    one of the user defined keys is a special function for direct ASCII mode. For this
    I might re-map * and # as E and F and have a method for full HEX entry.

    So as an example, sending my name would look something like this...

    C9 - Enter ASCII HEX mode
    42 - B
    65 - e
    61 - a
    75 - u
    20 - (space)
    53 - S
    63 - c
    68 - h
    77 - w
    61 - a
    62 - b
    65 - e
    1B - (Escape Key)
    C9 - Exit ASCII HEX mode

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe - Mask Designer III

    National Semiconductor Corporation
    Latest Company News
    (Communication Interface Division)
    500 Pinnacle Court, Suite 525
    Mail Stop GA1
    Norcross,GA 30071
Sign In or Register to comment.