作者diggershi (早立衫)
看板comm_and_RF
標題Re: [問題] 負數信號經過I/Q通道重組變正如何處理?
時間Wed Jul 1 22:43:28 2009
※ 引述《qeagle (夢想之火還沒熄滅)》之銘言:
: : 對於你的問題 因為我不太確定 PN code如何上載波,
: : 根據之前學的一些經驗,我假設PNcode是直接對載波做phase的變化,
: : 這樣你先試著假設頻率 跟同步都對的狀態下,解碼所獲得的事是不是就是0101
: : 不是的話 先用紙筆先估算一下怎摸做才是對的
: : PN code映象中會有好幾個 user同時傳送資料在同一各頻段上,
: : 但是只是要利用pn code的正交特性就可以將想要知道的pncode直接乘上去累積後
: : 就可以得到這個pn code代表真正的0 or 1
: : 所以應該你就直接 phase 直接乘
: : 只是起始的phase要作為基準。
: : 希望對你有用啦
: 你好,我就是想是在起始相位和頻率有點差距的情況下解pn code
: 我的pn code就是直接乘上一個cos做為載波
: 簡單來說我的問題是這樣,一個bpsk的信號若經過載波去除之後
: 因為載波和解載波有個相位差距theta在
: 若原始信號為a(t),I/Q通道應該分別為a(t)cos(theta)和a(t)sin(theta)
: 為了要得到原來準位,所以用兩個平方相加開根號,則cos和sin會去掉得回a(t)
: 但是因為經過平方項之後,a(t)也變成正數了,所以若a(t)有負值則無法解
: 但一般用bpsk時就是用有正負1的信號,所以我不知道大家都怎麼處理這段
用Mathlab模擬一下 問題不大啊
clear all
close all
fc=10;
theda=0.5*pi;
fc_delta=0.999
data=[ones(1,500) ones(1,500)*-1] .* cos(2*pi/fc*[1:1000]);
II=data.*cos(theda+2*pi/(fc*fc_delta)*[1:1000]);
QQ=data.*sin(theda+2*pi/(fc*fc_delta)*[1:1000]);
figure
plot(II)
figure
Plot(QQ)
上面是Mathlab的code
fc 是載波
fc_delta 是指_接收載波的頻率誤差比
theda 發射 跟接收的phase差
只要這兩個不要差太多 由圖上可以看到+1 與 -1的解
至於有弦波在震盪是因為兩倍頻 我還沒處理 加個filter就可以了
應該也是有其他解法
剩下的頻率跟相位如何補償 就請自理摟.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.211.196
※ 編輯: diggershi 來自: 60.251.211.196 (07/01 23:04)