发明名称 一种TD-SCDMA终端初始下行同步方法
摘要 在TD-SCDMA系统中,终端开机后小区初搜阶段下行同步的直接相关法会受到大频偏的很大影响。为了克服大频偏的影响,本发明在直接相关法的基础上,提出了一种TD-SCDMA终端初始下行同步方法,在初始阶段加入一定的初始频偏,不仅能有效的消除大频偏对数据的影响,检测出正确的SYNC_DL码号及同步位置,还能相对准确地估计出该频偏,将大频偏降低到一个合适的范围以内,以便后续的频率调整算法得以有效进行,为小区初搜过程中准确地进行下行同步提供了有效的解决方案。
申请公布号 CN101577576A 申请公布日期 2009.11.11
申请号 CN200810037206.6 申请日期 2008.05.09
申请人 杰脉通信技术(上海)有限公司;晨星半导体股份有限公司 发明人 孙飞雪;戎波
分类号 H04B7/26(2006.01)I;H04B1/707(2006.01)I;H04B7/005(2006.01)I 主分类号 H04B7/26(2006.01)I
代理机构 上海伯瑞杰知识产权代理有限公司 代理人 吴泽群
主权项 1、一种TD-SCDMA终端初始下行同步方法,其特征在于,包括: 步骤1:开机后所述终端以初始载频进行小区搜索,所述终端接收并计 算子帧数N个子帧的相关功率峰值和位置,该步骤1包含: 1.1获得第n个子帧数据,n=1,2,3,...,N,所述子帧数据长度为N<sub>frame</sub>; 1.2对所述第n个子帧数据多接收一个下行同步码长度N<sub>syncdl</sub>的数据,得 到接收序列r<sub>i</sub>,i=1,2,ΛΛ,N<sub>frame</sub>+N<sub>syncdl</sub>-1; 1.3对所述第n个子帧数据的当前载频人为加上额外频偏 -K+n*(2K+1)/N,获得 <maths num="0001"><![CDATA[ <math> <mrow> <msup> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>&prime;</mo> </msup> <mo>=</mo> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>&times;</mo> <msup> <mi>e</mi> <mrow> <mi>j</mi> <mo>&CenterDot;</mo> <mn>2</mn> <mi>&pi;</mi> <mo>&CenterDot;</mo> <mo>[</mo> <mo>-</mo> <mi>K</mi> <mo>+</mo> <mi>n</mi> <mo>*</mo> <mrow> <mo>(</mo> <mn>2</mn> <mi>K</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>/</mo> <mi>N</mi> <mo>]</mo> <mo>&CenterDot;</mo> <mi>iT</mi> </mrow> </msup> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mi>&Lambda;&Lambda;</mi> <mo>,</mo> <msub> <mi>N</mi> <mi>frame</mi> </msub> <mo>+</mo> <msub> <mi>N</mi> <mi>syncdl</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow></math> ]]></maths>这里K代表人为增加所述额外频偏的范围,由预计消除的大频偏值决定 这里r<sub>i</sub>′代表人为增加所述额外频偏后的接收数据; 1.4逐码片(chip)滑动,将每同步码长度N<sub>syncdl</sub>的接收数据分别和32 组基本SYNC_DL码计算一次相关值,获得 <maths num="0002"><![CDATA[ <math> <mrow> <msub> <mi>R</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>64</mn> </munderover> <mo>{</mo> <mo>[</mo> <mi>real</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mi>imag</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>*</mo> <mi>j</mi> <mo>]</mo> <mo>*</mo> <mo>[</mo> <mi>real</mi> <mrow> <mo>(</mo> <mi>SYNC</mi> <mo>_</mo> <msub> <mi>DL</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>imag</mi> <mrow> <mo>(</mo> <mi>SYNC</mi> <mo>_</mo> <msub> <mi>DL</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>*</mo> <mi>j</mi> <mo>]</mo> <mo>}</mo> <mo>,</mo> </mrow></math> ]]></maths>R<sub>k,i</sub>表 <maths num="0003"><![CDATA[ <math> <mrow> <msub> <mi>P</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msup> <mrow> <mo>{</mo> <mi>real</mi> <mo>[</mo> <msub> <mi>R</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>]</mo> <mo>}</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>{</mo> <mi>imag</mi> <mo>[</mo> <msub> <mi>R</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>]</mo> <mo>}</mo> </mrow> <mn>2</mn> </msup> </mrow></math> ]]></maths>示计算得到的相关值,P<sub>k,i</sub>即为每段接收数据(64chip)和32组基本码 的相关功率值, 这里,i表示第i个码片(i∈[1,N<sub>frame</sub>]),k表示第k个SYNC_DL码 (k∈[1,32]),l表示计算相关值的循环变量,从1递增至64,real表示取 复数的实部操作,imag表示取复数的虚部操作; 1.5对所述相关功率值进行归一化处理,计算从每一点开始的64chip接 收数据的平均功率: <!-- SIPO <DP n="1"> --><maths num="0004"><![CDATA[ <math> <mrow> <msubsup> <mi>P</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mn>1</mn> <mo>/</mo> <mn>64</mn> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>l</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>63</mn> </munderover> <mo>[</mo> <mi>real</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <mi>imag</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>]</mo> <mo>,</mo> </mrow></math> ]]></maths>将所述每一点的相关功率值除以该点对应的平均功率作为进行比较的归 一化相关功率,获得 P″<sub>k,i</sub>=P<sub>k,i</sub>/P′<sub>k,i</sub>, k∈[1,32],i∈[1,N<sub>frame</sub>]; 1.6搜索最大相关功率值,在N<sub>frame</sub>个相关值P″<sub>k,i</sub>中选择最大的相关功率值 作为相关峰值,并确定所述相关峰值的位置和其对应的SYNC_DL码: [pos<sub>k</sub>,peak<sub>k</sub>]=max(P″<sub>k,i</sub>),k=1,2,......32;i=1,2,......N<sub>frame</sub>, 其中,max表示找最大值的操作,找到的最大值用peak<sub>k</sub>表示,其在N<sub>frame</sub>中的位置用pos<sub>k</sub>表示,pos<sub>k</sub>∈[1,N<sub>frame</sub>]; 1.7重复所述步骤1.1到步骤1.6过程共N次,保留N个子帧的 [pos<sub>k</sub>,pea<sub>k</sub>],用[pos<sub>n,k</sub>,peak<sub>n,k</sub>],n∈[1~N],k∈[1~32]来表示; 步骤2:所述终端利用所述的相关峰值和位置,确定下行导频同步码 (SYNC_DL)及同步位置,该步骤2包含: 2.1每一个SYNC_DL码(k值相同)都对应N个子帧的峰值和位置,相邻 位置(pos<sub>n,k</sub>差值在±2chip以内)的峰值认为是同一位置,将同一位置的 相关功率峰值相加,得到, <maths num="0005"><![CDATA[ <math> <mrow> <msub> <mi>tap</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mo>|</mo> <msub> <mi>pos</mi> <mrow> <mi>n</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>-</mo> <mi>i</mi> <mo>|</mo> <mo>&le;</mo> <mn>2</mn> <mo></mo> <msub> <mi>peak</mi> <mrow> <mi>n</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>:</mo> <mn>0</mn> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>~</mo> <msub> <mi>N</mi> <mi>frame</mi> </msub> <mo>,</mo> </mrow></math> ]]></maths>该公式表示,在序列tap<sub>k,i</sub>i∈[1,N<sub>frame</sub>]中,如果位置i的±2chip以内有 峰值,则将该峰值叠加在tap<sub>k,i</sub>上,如果位置i的±2chip以内没有峰值,则 tap<sub>k,i</sub>取值为零。 <!-- SIPO <DP n="2"> -->根据所述公式求得tap<sub>k,i</sub>中最大的峰值及位置[pos′<sub>k</sub>,peak′<sub>k</sub>],如此反复,得 到32组峰值及位置对应32个SYNC_DL码; 2.2搜索32组峰值中最大的对应k值,<maths num="0006"><![CDATA[ <math> <mrow> <msub> <mi>k</mi> <mi>max</mi> </msub> <mo>=</mo> <munder> <mi>arg</mi> <mi>k</mi> </munder> <mi>max</mi> <mrow> <mo>(</mo> <msubsup> <mi>peak</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>)</mo> </mrow> </mrow></math> ]]></maths>即为SYNC_DL 码的码号,而其对应的位置<img file="A2008100372060004C2.GIF" wi="" he="" />即为下行DwPCH的起始位置,其中,<img file="A2008100372060004C3.GIF" wi="" he="" />表 示遍历k的每一个取值;2.3将最大的功率值<img file="A2008100372060004C4.GIF" wi="" he="" />与其余31组功率值的平均值相除,如下,<maths num="0007"><![CDATA[ <math> <mrow> <msubsup> <mi>peak</mi> <msub> <mi>k</mi> <mi>max</mi> </msub> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msubsup> <mo>=</mo> <mn>31</mn> <mo>&CenterDot;</mo> <msubsup> <mi>peak</mi> <msub> <mi>k</mi> <mi>max</mi> </msub> <mo>&prime;</mo> </msubsup> <mo>/</mo> <munderover> <mi>&Sigma;</mi> <munder> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>k</mi> <mo>&NotEqual;</mo> <msub> <mi>k</mi> <mi>max</mi> </msub> </mrow> </munder> <mn>32</mn> </munderover> <msubsup> <mi>peak</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> </mrow></math> ]]></maths>将<img file="A2008100372060004C6.GIF" wi="" he="" />与预先设定的门限P<sub>h</sub>进行比较,如果大于等于该门限,则认为 SYNC_DL码号和同步位置寻找正确,否则就重新执行步骤1。
地址 201108上海市闵行区春东路479号2幢