作者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)