GPS receiver in Matlab

Поділитися
Вставка
  • Опубліковано 9 вер 2024

КОМЕНТАРІ • 21

  • @srikantachaitanya6561
    @srikantachaitanya6561 2 роки тому

    Nice to see... This approach

  • @darkpeace65
    @darkpeace65 Рік тому

    hello my friend, is there any way i can contact you, i'd like some help with power spectrum of navigation data , to perform multiplication between "prn code" *"data"*carrier" in gps receiver

  • @copycarvers
    @copycarvers 2 роки тому

    Hi there, Thank you so much for such a helpful video. I am a researcher in GPS/GNSS area and currently working on GNSS vulnerability analysis through L1 signal spoofing.
    As @Sheryash Patil mentioned in the video can we do something similar to generate our signal using Matlab environment only and transmit it using USRP B210?

    • @jontiolds
      @jontiolds  2 роки тому +1

      I'm sure it's possible exporting something from Matlab that the USRP B210 can understand. However I don't have experience with the USRP B210 and how it likes it's baseband signal, but maybe it's a IQ file in a wav format? A real time link between Matlab and USRP B210 would be more difficult but maybe there is someone who has already written some thing to do that. But yeah if it were me I'd start by generating a baseband signal in Matlab, export the signal as a IQ wav file, and then figure out how to transmit the file later after I was pretty confident that the signal was a valid one.

    • @copycarvers
      @copycarvers 2 роки тому

      @@jontiolds can we save our signal in bin files from Matlab just like the spoofing video which were created using gnss sdr sim

    • @jontiolds
      @jontiolds  2 роки тому +1

      @@copycarvers I'm not sure what the bin file format you mention is but I guess it's just a raw IQ format, probably 16bits I then 16bits Q, and signed integers. Matlab/Octave you can write that binary sort of stuff to files easily enough. So yes.

    • @copycarvers
      @copycarvers 2 роки тому

      Will I need to use simulink for the signal construction or I can construct the signal using Matlab command window.
      Yes it is the IQ format and can I transmit.it using software defined radios?

    • @jontiolds
      @jontiolds  2 роки тому

      @@copycarvers If it were me I'd just make classes and matlab scrips. I wouldn't use simulink mainly as I'm not that familiar with it. Any SDR radio that can transmit and take IQ files will transmit what you want. IQ files are baseband so you have to tell the SDR the frequency you want to transmit on and if it's a raw file format also the sample rate and whether the IQ samples are 16 bit 8 bits, signed, float etc. The SDR transmitter will describe the formats it can deal with you just have to write the binary files in matlab with a format the SDR transmitter wants.

  • @Itsmesam99
    @Itsmesam99 3 роки тому

    wow This project is awesome, Sir i have been working on GPS spoofing for last couple of months but still not be able to spoof the gps receiver can you please help . (>..

    • @jontiolds
      @jontiolds  3 роки тому +1

      Thanks. I've never looked into spoofing. Spoofing would mean creating a GPS signal so that means you would need to create navigation data then mix that with the prn. If you wanted it so the GPS receiver position would be controllable then I think you would need to do it for most if not all SV visible but I'm not sure. If I was a GNSS receiver engineer to prevent this kind of attack I would use Galileo and Glonass too. Then if one GNSS system didn't match the others I would ditch the suspected spoof signals. If the receiver was multi band then I would compare navigation data from different bands. However multi band receivers are less common. Another way to detect spoofing would be SNR strengths, if all SVs had exactly the same SNR that would be fishy. My guess would be only some GNSS receivers would be easily spoofable. It would be a difficult project to do. If it was me I would start by generating a PRN mixed with some NAV data obtained from the real SV with that PRN and then transmitting it. I would then experiment with times such as TOC TOE HOW etc to make the recording seem to advance in time.

    • @Itsmesam99
      @Itsmesam99 3 роки тому

      @@jontiolds thank you for reply,
      yeh that's pretty much how we can detect the spoofing but for that 1st i need to generate spoofing signals to actually make the receiver to show false location.
      I have already generated the prn, and mixed it with the NAV data but the problem is in transmission. When I transmit it @1575.42MHz ,L1 signal's freq. The receiver is not be able to lock onto those signal (all exp is done in open sky and static environment) also the C/No is too low.

    • @jontiolds
      @jontiolds  3 роки тому +1

      @@Itsmesam99 as I don't know your setup I can only guess as to what maybe happening. Have you experimented with the signal you are trying to send rather than actually transmitting it on air? Are you able to use something like my Matlab code to de-spread and track the signal you want to send? If yes to all those then are you able to transmit an L1 signal in a quiet indoors location and do the same using an SDR receiver? Only after that I would then consider using an off the shelf receiver for tests. Even then I would mainly test everything using an SDR receiver shielded from the outside and use my own code so I could be sure as to what I was going to send was what I would want. I think a lot of the effort would be spent generating the navigation data. With the modernization of GPS you may also have to look into CNAV as well as LNAV navigation if your off the shelf receiver is to lock on to your signal rather than the actual one.

    • @Itsmesam99
      @Itsmesam99 3 роки тому +1

      @@jontiolds i found this video demonstration for spoofing gps i am applying the same but the problem is when i transmit the signals the receiver it not locking onto those signals.
      Video- ua-cam.com/video/3NWn5cQM7q4/v-deo.html

    • @Itsmesam99
      @Itsmesam99 3 роки тому

      Please Lemme know what the problem is ? If you're able to find out
      Btw am not using hackrf for transmission am using amitec sdrs and gnu radio for transmission of the generated bin file