<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > TD-SCDMA中CRC的DSP實現

          TD-SCDMA中CRC的DSP實現

          ——
          作者:徐蘭天 時間:2013-07-24 來源:電子產品世界 收藏

            移位算法

          本文引用地址:http://www.ex-cimer.com/article/147854.htm

            直接實現方法采用移位,運算速度很低,不能滿足系統(tǒng)對實時性要求。本文對直接法進行了改進,提出新的、易于實現的方法。該方法是由標志位與移位算法組成。標志位確定模二運算的起始點,運算長度為長度加1。移位算法是根據運算結果確定標志位的位置。下面利用生成多項式進行說明,并給出實現代碼。

          根據高層信令,選用生成多項式,其中CRC的長度M。設輸入信號為長度A的比特流為,其中 。輸入信號對應的多項式為
               (5)

            把輸入比特按順序存儲在中,并在其尾部多加M個零,如圖2所示。

            圖中的倒三角作為標志位,用于指示與CRC生成多項式做模二運算的起始位置,運算的結果存儲在對應輸入信號中。移位算法是標志位根據本位寄存器的值是否為零進行移位。如果值為零就向后移一位,否則,不移位,并繼續(xù)與CRC生成多項式做模二運算。如果移位后本位寄存器依然為零,則要連續(xù)移位,但是,連續(xù)移位的總位數要小于等于M+1。當標志位移到倒數第M位,此時,最后M位寄存器存儲的序列,是所求的CRC序列,具體步驟如下:

            (1)建立移位寄存器,長度等于輸入數據長度和CRC長度之和;
            (2)給輸入數據后補零,補零長度等于CRC長度;
            (3)把數據寫入移位寄存器中;
            (4)標志位放在寄存器最高位;
            (5)以標志位為起始位置,把寄存器值與生成多項式值做模二運算,結果存儲在寄存器中;
            (6)如果標志位的寄存器值為零,則標志位向后移位一次,重新執(zhí)行本步驟,重復次數等于CRC長度時跳轉到步驟5;如果標志位的寄存器值不為零,則跳轉到步驟5。
            (7)當標志位移出輸入數據(不包括補的零),此時最后補零寄存器的值就是CRC值。

            編程計算CRC的關鍵是標志位的移位判斷,根據本位寄存器的值進行判斷是否移位,以及連續(xù)移位不能超過CRC長度加1。下面給出了CRC生成的主要代碼。data_2為存儲輸入序列的寄存器,且尾部補了M個零。CrcPoly存儲生成多項式的逆序列。這里要特別說明的是,由于高位存儲寄存器的低位,生成多項式的序列應逆序儲存。例如,生成多項式(4)其序列為110011011,但是CrcPoly存儲值為其逆序,即為110110011。

            i=1;
            while(i<=A) % A為輸入比特長度
            for m=1:M+1 % M+1次模二運算
              if data_2(1,i)==CrcPoly(1,m)
                     data_2(1,i)=0;
                  else data_2(1,i)=1;
                  end
                   i=i+1;
              end
              i=i-1;
             %重新定位倒三角的位置
                  for j=i-M:i
                     if data_2(1,j)==0
                         j=j+1;
                     else break;
                     end
                 end
                  i=j;
             end
             %取最后M位為CRC
             CRCout=[data_2(end-M-1:end)]



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();