GPS junk data problem

Hey guys.
I am using an EM408 gps.

I have this simple code:

#include <SoftwareSerial.h>
SoftwareSerial GPS = SoftwareSerial(2,3);  //rx,tx
void setup()
{
  GPS.begin(4800);
  Serial.begin(9600);
}

void loop()
{
  //Serial.print(GPS.read(), BYTE);
  Serial.write(byte(GPS.read()));  //as of Arduino 1.0
}

All i get from it is junk data though

àààààààÿïïïïïïïïïïïÿïïïïïïïïïïïïïïïÿïïïïïïïÿïïïÿïïïÿïïïÿïïïÿïïïïïïÿïïïÿïïïïïïïïïïÿïïïïïïÿïïäáàáñàæäúäååäçäþåææùææäæääöææâùäçäæâæøääääçäøâãäáàááàæàþäæææææææææúæææææçäàâãøáàáâáæôääååäçäæåæáæææææææäåúåääææçåäâãïÿïïïÿïïïïïïïÿïïïÿïïïÿïïïÿïïïÿïïïïïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïïïïïïïïïïïïïïïïïïïïïÿïïïÿïïïÿïïïïïïïïïïïÿïïïÿïïïïïïïïïïïïïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïïïïÿïïïïïïïïïïïÿïïïÿïïïÿïïïïïïÿïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïÿïïï¿ßßßßßßÿßßßßßßÿßßßÿßßßßßßßßßßßßß_¾ÿðááàæúääåúäçäæåæöæææúæääæææâæäçúæâææääøäçäæâãôáàáþàæàæäæææææúææææææöææçäàâãäáàùááæåæäæäåæåäææúæäæäæåþæääøæäæäæäøæääæäåùäæäææäüæäåæäåõæçåúâãäáàáýáæåùåæôåæåúæäåæååûææäææäôæäåäææýäæäúæäææææôåæääæäåææçûäâãäáàùááæýæåæäåæüææäóæäåæææ

Anyone has any idea whats to blame?

You are reading the GPS even though it hasn’t received any data and doing that as fast the loop function can execute.
You must first check GPS.available() to see if there is a character to be read.
Try this statement:

if(GPS.available() > 0) Serial.write(byte(GPS.read()));

Pete

thanks a lot brother! totally works!