日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gps-sdr-sim c语言程序,用SDR实时伪造GPS信号

發(fā)布時間:2024/1/18 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gps-sdr-sim c语言程序,用SDR实时伪造GPS信号 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

dc tone是自動bias消掉的嗎

幾年前那些庫還不完善的時候 生成的流 看運(yùn)氣會有很高的dc tone,然后接收機(jī)就不認(rèn)了,要手工修正

dc tone是指頻譜中間那個高高聳立的DC offset么?不清楚你用的庫是是怎么樣的。。我這個沒有這樣的現(xiàn)象。。從頂樓的頻譜圖也可以看出來。。

庫源代碼里生成I/Q信號有關(guān)的代碼主要就這些:

每次循環(huán)把載波的相位步進(jìn)一段,計(jì)算下一個采樣點(diǎn)的信號:

<code>chan[i].carr_phase += chan[i].carr_phasestep;

</code>

步進(jìn)長度由衛(wèi)星初始化時確定:

<code>chan[i].carr_phasestep = (int)(512 * 65536.0 * chan[i].f_carr * delt);

</code>

步進(jìn)時間delt為采樣率倒數(shù):

<code>delt = 1.0/samp_freq;

</code>

載波頻率的計(jì)算:

<code>// Pseudorange rate.

rhorate = (rho1.range - chan-&gt;rho0.range)/dt;

// Carrier and code frequency.

chan-&gt;f_carr = -rhorate/LAMBDA_L1;

</code>

由兩次步進(jìn)偽距的差值除以LAMBDA_L1(光速除以GPS L1的頻率)得到。(產(chǎn)生多普勒偏移)

生成I/Q信號。。就是把數(shù)據(jù)比特和偽隨機(jī)擴(kuò)頻序列還有增益分別和兩路相差90度的載波信號乘到一起調(diào)制,然后把全部視野內(nèi)的衛(wèi)星信號疊加在一起:

<code>iTable = (chan[i].carr_phase &gt;&gt; 16) &amp; 511;

ip = chan[i].dataBit * chan[i].codeCA * cosTable512[iTable] * gain[i];

qp = chan[i].dataBit * chan[i].codeCA * sinTable512[iTable] * gain[i];

// Accumulate for all visible satellites

i_acc += ip;

q_acc += qp;

</code>

顯然正常情況下大約正負(fù)10kHz的載波信號,與1.023MHz的偽隨機(jī)序列相乘會產(chǎn)生上下兩個邊帶共2.046MHz帶寬的信號的。。不會只在直流上形成一個尖峰。

這種情況姑且胡亂推測一下,這種情況應(yīng)該是bug導(dǎo)致生成了一個或者多個C/A碼一直為0或1的衛(wèi)星?

總結(jié)

以上是生活随笔為你收集整理的gps-sdr-sim c语言程序,用SDR实时伪造GPS信号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。