Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

HELP: WANT TO GENRATE AND DECODE FSK WITH PIC

Status
Not open for further replies.

rehan

Junior Member level 1
Joined
Feb 3, 2003
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
138
HI,

I WANT TO MAKE BELL202 MODEM 12OOBAUD WITH PIC ANY IDEA PLEASE.

REHAN
 

I think that FX614 by CML is the easily mode for make a modem, with a pic you can make an encoder, but if you want a decoder you must make an frontend circuit with operational for amplifier and square the level (FX614 or 604 decode at 50mVpp), for filtering the band. At the end is more complicate and expensive than dedicated chip
 

Hi here is source and schematic of a 1200 FSK modem using a F84.

/Froggy
 

If you are really trying to do an FSK decode in software on a PIC, with A/D input and DSP style noise bandwidth, you could base it on:

"A Dual-Tone Multifrequency Receiver Using Synchronous Additions and
Subtractions" by Y.Tadokoro and Y. Haneda published in IEEE
Transactions on Communications, Vol. COM-35, No. 4, April 1987.

As far as I know, this is not available on the net. The IEEE has a
service by which it can be orderred for $12 (more if you are not a member) by calling 800-949-4333 in the USA, or you can probably find
it in print at a university engineering library.

The algorithm requires sampling at 4x the center frequency of each tone
to be detected (for the simplest case). The algorithm given is in the
form of buffering these samples for a fixed interval, then processing the
buffer. The processing step is of the form:
(New sample)-(accumulator) =>accumulator
for the entire buffer.

I converted this into a continuous, sliding form in a previous life as:
(New sample)-(accumulator)-(oldest sample)=> accumulator
with a FIFO sample buffer of a length evenly divisible by 4.
The buffer length has an effect similar to filter Q.
Sorry, but I do not have the code at this time.
 

did this some years ago with a dsPIC30F3013 simulating a baudot modem where 0 is 1.8KHz and 1 is 1.4Khz. Used an ADC with a digital filter to acquire the input and a MCP41010 digital pot to generate the output.
 

Hi

Pic is to week to do DSP work -switch to ARM or PIC32
For Arm you can find source code for FSK decoding using a correlator in Keil site

The source code is hard to understand if you are not a DSP programmer

All the best

Bobi
 



#define nop() asm("nop")

int contor;

void main()
{

TRISC3 = 1;

TRISE1 = 0;

// configure ADC module

ANSEL = 0x00; ANSELH = 0x00;

contor = 0;

while(1)
{
contor = 0;
while( RC3 == 0 ) // input
{
nop(); // skip negativ semialternance
}
while( RC3 == 1 ) // for positive semialternance
{
contor++;
}
if( contor > 32 )
{
RE1 = 0; // digital output
}
if( contor < 32 )
{
RE1 = 1;
}
} // end while(1)
} // end main()


Almost work fine !!!
Something wrong ?

;-)
 

Attachments

  • untitled.JPG
    untitled.JPG
    14 KB · Views: 99

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top