高速Viterbi译码器的优化和实现

时间:2022-11-29 18:45:26 作者:二条 综合材料 收藏本文 下载本文

“二条”通过精心收集,向本站投稿了5篇高速Viterbi译码器的优化和实现,下面是小编为大家整理后的高速Viterbi译码器的优化和实现,供大家参考借鉴,希望可以帮助您。

篇1:高速Viterbi译码器的优化和实现

高速Viterbi译码器的优化和实现

摘要:大约束度卷积码作为信道纠错编码在通信中得到了广泛的应用,而其相应的Viterbi译码器硬件复杂度大,限制了译码速度。分析了Viterbi译码器的结构,优化了各模块,合理地组织了存储器结构,简化了接口电路。用FPGA实现Viterbi译码器,提高了译码器速度。

关键词:卷积码Viterbi译码ACS路径度量存储FPGA实现

Viterbi算法是一种基于最大后验概率的卷积译码算法,应用广泛。CDMA的IS-95标准和WCDMA3GPP标准将卷积码作为高速实时数据传输的信道纠错编码,使Viterbi译码器成为移动通信系统的重要组成部分。

为保证纠错性能,卷积码结束度一般选择比较大的,在3GPP中规定约束度K=9。出于实时性的考虑,移动通信系统中对译码时延的要求比较高,需要高速译码器的支持。可是Viterbi译码算法的复杂度、所需存储器容量与结束长度成指数增长关系,成为限制译码器速度的瓶颈。Viterbi译码器每解码一位信息位就需对2k-1个寄存器的状态进行路径度量,并对相应的存储单元进行读写。这种情况下,可以采用状态路径存储单元分块的方法,以提高其译码性能,缺点是ACS单元与存储器之间的接口电路十分复杂,不易实现。

本文分析和优化了Viterbi译码器的结构,提出了一种FPGA实现方案,简化了接口电路,提高了速度。用这种结构实现的单片集成译码器译码速率达350kbps、时钟频率30MHz。以下先分析译碱器总体结构,然后对各模块设计和实现做详细说明。

1算法简述及译码器结构

本文采用3GPP标准规定的K=9,码率r=1/2的(753,561)卷积码,卷积编码器送出的码序列C,经过信道传输后送入译码器的序列为R。译码器根据接受序列R,按最大似然准则力图找出正确的原始码序列。

Viterbi译码过程可用状态图表示,图1表示2个状态的状态转移图。Sj,t和Sj+N/2,t表示t时刻的两个状态。在t+1时刻,这两个状态值根据路径为0或者1,转移到状态S2j+1和S2j+1,t+1。每一种可能的状态转移都根据接收到的有噪声的序列R计算路径度量,然后选择出各个状态的最小度量路径(幸存路径)。Viterbi算法就是通过在状态图中寻找最小度量路径向前回溯L步,最后得到的即为译码输出。

本设计采用XilinxVirtex600EFPGA芯片,在ALDEC公司的Active-HDL仿真环境下,用Verilog语言完成,并用Xilinx的ISE4综合实现。Viterbi译码器系统框图如图2所示,主要由BMG(路径计算模块)、ACS(加比选模块)、TB(路径回溯模块)、MMU(路径存储模块)等部分组成。采用并行流水线结构,各个模块在控制信号统一监控下工作,减少了读取数据所需时间,充分发挥了FPGA高速计算的特性,提高了整个系统的效率。

2子模块的优化和实现

2.1ACS模块

由于采用的卷积码约束度K=9,在译码过程中,每一时刻有2k-1=256个状态,512个度量路径值,为了获得高速率,需采用尽可能多的ACS单元。但由于实际应用中需求电路面积小、功耗低,决定了ACS单元的数目不能太多。经过实验证明,采用4个ACS单元并行处理,完成可以达到应用要求。

图3度量路径状态分组图

ACS单元用来计算选择状态的路径度量。它需要不断地读出路径度量作为操作数,然后将更新的度量写回各个状态。由于采用4个ACS单元并行处理,为不造成流水线堵塞,如何对RAM中的`度量数据进行读写是关键。如前述,本文采用状态路径存储单元分块的方法。将所有状态分成4组,分别对应于4个ACS。每次运算时,4个ACS同时从各组状态值中读取数据进行操作。

由图1可知,状态Sj和Sj+2/N在状态转移中同时得到两个新状态S2J和S2j+1。因此为了ACS能够同时取出这两个状态值,Sj和Sj+2/N必须存储在不同的RAM组中。同样,两个计算出来的新状态S2j和S2j+1也应如此。遵循这种准则,则时也简化接口电路,采用如下的分组算法:假设待分配状态=Sj=Sk-2Sk-1…S1S0,所对应的RAM组为Rm,由于RAM共分成4组,则m=(Sk-2S1)S0(两位二进制数表示)。状态分组图如图3所示,从中可以看出,从状态S128开始的后续状态都有规律地交错位置存储。由此,ACS单元和状态路径存储单元的接口电路只需采用两个2×2交换器,如图4所示。每一个交换器上连着两个ACS单元和两个RAM组。这两个交换器由输入状态Sj的最高位Sk-2控制。当Sk-2=1时,交换器交叉互联,如果Sk-2为0时,各ACS和RAM直接相连。这种接口设计十分容易实现。

在Viterbi译码算法中,译码状态的转移导致度量的读出和写入地址的不同,这样用FPGA实现时就需要两块RAM采用乒乓模式实现。本文更新路径存储采用原位运算方法,也就是找出状态转移的规律性,建立转移后的新状态和转移前的老状态际址映射关系,使度量的更新在原位上进行,使存储空间减小一半。

2.2幸存路径管理模块

幸存路径的存回溯是Viterbi算法关键的一步,最终的译码输出从对幸存的回溯中得到。由于采用基2的状态转移算法,当前时刻对应的前序时刻状态只有2个,所以在路径回溯中采用1bit指针算法。也就是说,在每个状态路径更新时,只需写1bit路径状态转移信息。幸存路径存储单元可看作一个存储器阵列,每列对应一个状态,一列中的每个单元都有一个1位的指针。在实际设计中,考虑到数据总线的带宽有限,对于8位的幸存路径数据总线,在幸存路径存中将256个状态分成32块。对应幸存路径时,先通过当前状态地址寻址的方式来选择所对应的幸存路径块。

在实际应用中,为了保证译码的准确度,幸存路径的回溯长度通常取4~5倍约束长度,本文回溯长度定为64。如图5所示,当一个解码初始信号进来后,系统把当前所有状态中的最小状态,也就是最小状态值作为当前状态值,路径回溯模块把地址值送入MMU中,从32个分组块中选取相应的幸存路径存到幸存状态值(8位),然后根据当前状态的指针从这8位数据中得到1位幸存路径比特,而下一个状态值由当前状态的低7位和这个幸存路径比特决定。当回溯了64步后,控制信号给出一个输出指示时,当前状态值的最高位即是解码输出值。

图5路径回溯模块框图

本文重点从ACS的并行处理、度量路径的存储管理和路径回溯上对Viterbi译码方法进行了讨论。从实际应用出发,考虑到硬件功耗的面积的减小,采用了4个ACS并行,路径的存储和管理都采取了分组的模式,简化了接口电路,译码达到了较高的速度,完全可以满足3GPP标准的要求。用Xilinx的Virtex600EFPGA芯片实现了K=9、码率为1/2、编码速率为350kbps、时钟频率40MHz的Viterbi译码器。表1列出了XilinxISE对本设计综合布线报告中提供的参数。

表1Viterbi译码器布线参数表

NumberofSlices:1,596outof6,19223%

SliceFlipFlops:620

4inputLUTs:1,320

NumberofSlicescontaining

unrelatedlogic:0outof1,5960%

NumberofbondedIOBs:30outof15319%

NumberofBlockRAMs:20outof7234%Totalequivalentgatecountfordesign:474,210

篇2:高速Viterbi译码器的优化和实现

高速Viterbi译码器的优化和实现

摘要:大约束度卷积码作为信道纠错编码在通信中得到了广泛的应用,而其相应的Viterbi译码器硬件复杂度大,限制了译码速度。分析了Viterbi译码器的结构,优化了各模块,合理地组织了存储器结构,简化了接口电路。用FPGA实现Viterbi译码器,提高了译码器速度。

关键词:卷积码 Viterbi译码 ACS 路径度量存储 FPGA实现

Viterbi算法是一种基于最大后验概率的卷积译码算法,应用广泛。CDMA的IS-95标准和WCDMA 3 GPP标准将卷积码作为高速实时数据传输的信道纠错编码,使Viterbi译码器成为移动通信系统的重要组成部分。

为保证纠错性能,卷积码结束度一般选择比较大的,在3 GPP中规定约束度K=9。出于实时性的考虑,移动通信系统中对译码时延的要求比较高,需要高速译码器的支持。可是Viterbi译码算法的复杂度、所需存储器容量与结束长度成指数增长关系,成为限制译码器速度的瓶颈。Viterbi译码器每解码一位信息位就需对2 k-1个寄存器的状态进行路径度量,并对相应的存储单元进行读写。这种情况下,可以采用状态路径存储单元分块的方法,以提高其译码性能,缺点是ACS单元与存储器之间的接口电路十分复杂,不易实现。

本文分析和优化了Viterbi译码器的结构,提出了一种FPGA实现方案,简化了接口电路,提高了速度。用这种结构实现的单片集成译码器译码速率达350kbps、时钟频率30MHz。以下先分析译碱器总体结构,然后对各模块设计和实现做详细说明。

1 算法简述及译码器结构

本文采用3 GPP标准规定的K=9,码率r=1/2的`(753,561)卷积码,卷积编码器送出的码序列C,经过信道传输后送入译码器的序列为R。译码器根据接受序列R,按最大似然准则力图找出正确的原始码序列。

Viterbi译码过程可用状态图表示,图1表示2个状态的状态转移图。Sj,t和Sj+N/2,t表示t时刻的两个状态。在t+1时刻,这两个状态值根据路径为0或者1,转移到状态S2j+1和S2j+1,t+1。每一种可能的状态转移都根据接收到的有噪声的序列R计算路径度量,然后选择出各个状态的最小度量路径(幸存路径)。Viterbi算法就是通过在状态图中寻找最小度量路径向前回溯L步,最后得到的即为译码输出。

本设计采用Xilinx Virtex600E FPGA芯片,在ALDEC公司的Active-HDL仿真环境下,用Verilog语言完成,并用Xilinx的ISE4综合实现。Viterbi译码器系统框图如图2所示,主要由BMG(路径计算模块)、ACS(加比选模块)、TB(路径回溯模块)、MMU(路径存储模块)等部分组成。采用并行流水线结构,各个模块在控制信号统一监控下工作,减少了读取数据所需时间,充分发挥了FPGA高速计算的特性,提高了整个系统的效率。

2 子模块的优化和实现

2.1 ACS模块

由于采用的卷积码约束度K=9,在译码过程中,每一时刻有2k-1=256个状态,512个度量路径值,为了获得高速率,需采用尽

[1] [2] [3]

篇3:用TMS320C54X实现Vertibi译码器

1 卷积编码器简介

卷积码是一种对付突发错误的有效编码方法,通常记作(n,k,N)。它将k个信息编码为n个比特,编码效率为Rc=k/n。N为约束长度。与分组码不同,卷积码中编码后的n个码元不但与当前段的k个信息有关,而且与前面N-1段的信息有关,编码过程中相互关联的码元为Nn个。其纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。卷积编码器的结构如图1所示。

由图1可知,卷积编码器包括两部分:一个由N段组成的输入移位寄存器,每段有k段,共有N・k位移位寄存器;n个模2和相加,其输入分别对应于n个基于生成多项式的线性代数方程组。每输入k个比特,编码器输出n个比特。在编码器复杂度相同的情况下,卷积码的性能优于分组码。

2 Vertibi译码的基本原理

卷积码的译码方法主要包括Vertibi算法、Fano算法和堆栈算法等等,其中最重要的和最常用的就是Vertibi算法。Vertibi算法是一种关于解卷积的最大似然译码法。它不是在网格上依次比较所有的可能路径,而是接收一段,计算一段,保留最有可能的路径,从而达到整个码序列是一个最大似然序列。

Vertibi算法可以算法描述如下:把在时刻i、状态Sj所对应的网格图节点记作(Sj,i),给每个网格图节点赋值V(Sj,i)。节点值按照如下步骤计算:

①设V(S0,0)=0,i=1。

②在时刻i,对于进入每个节点的所有路径计算其不完全路径的长度。

③令V(Sj,i)为在i时刻,到达与状态Sj相对应的节点(Sj,i)的最小不完全路径长度,通过在前一节点随机选择一条路径就可产生新的结果,非存留支路将从网格图中删除。以这种方式,可以从(S0,0)处产生一组最小路径。

④用L表示输入编码段的数目。其中,每段为k比特,m为编码器中最大寄存器的长度。如果i

一旦计算出所有节点值,则从i=L+m时刻,状态S0开始,沿网格图中的幸存路径反向追寻即可。这样被定义支路与解码输出将是一一对应的。关于不完全路径长度,硬判断决解码采用汉明距离,软判决解码采用的是欧几里德距离。软判决的特性比硬判决要好2~3dB。

(n,k,N)卷积编码器共有2 kn个状态,因此Vertibi译码器必须具有同样的2 kn个状态,并且在译码过程中要存储各状态的幸存路径和长度。Vertibi译码器的复杂程度随2 kn指数增加。一般要求n<10。

3 Vertibi译码器的DSP实现

译码过程就是根据接收到的数据符号,按最大似然译码准则找出编码器在网络图上所走过的路径。Vertibi译码的处理过程如图2所示。

3.1 度量值更新

度量值的更新包括以下4个步骤:

①计算每条可能输入路径的度量值;

②为每条支路计算总的距离;

③选择保存最小度量值;

④保存幸存路径。

Vertibi译码时,每收到一个符号就进行状态转移,需要计算前一个状态到各个新状态的分支度量值。我们用DSP设计的`译码器采用软判决输入,度量值用欧氏距离表示。当编码速率为1/C时,欧氏距离为:

其中SDn表示接收序列,Gn(j)为网格上每个路径状态的期望输入值,j是路径指示值,C为编码速率的倒数。将(1)式展开得:

对于所有的路径来说,都是一样的,2只是个常数,在进行各路径度量值比较时,可以不考虑。这样可简化为:

省去胶面的负号,在度量值的比较时取最大值。对于编码速率为1/2的卷积码,分支度量为:

T=SD0G0(j)+SD1G1(j)    (4)

当编码速率为1/3时,分支度量为:

T=SD0G0(j)+SD1G1(j)+SD2G2(j)    (5)

Gn(j)用双极性表示,即0用+1表示,1用-1表示。这样分支度量值的计算可以进一步简化为接收数据的加和减。

下面给出编码速率为1/3时,DSP实现具体程序。

LD *AR1+,16,A ;A=SD(2*i)

ADD*AR1+,16,B,B ;B=SD(2*i)+SD(2*i+1)

ADD*AR1-,16,B,B ;B=SD(2*i)+SD(2*i+)+SD(2*i+2)

STH B,*AR2+ ;temp(0)=SD(2*i)+SD(2*i+2)

SUB*AR1+,16,A,B ;B=SD(2*i)-SD(2*i+)

ADD *AR1-,16,B,B ;B=SD(2*i)-SD(2*i+1)+SD(2*i+2)

STHB,*AR2+ ;temp(1)=SD(2*i)-SD(2*i+1)+SD(2*i+2)

SUB *AR1+,16,A,B ;B=SD(2*i)-SD(2*i+1)

SUB *AR1-,16,B,B ;B=SD(2*i)-SD(2*i+1)-SD(2*i+)

STH B,*AR2+ ;temp(2)=SD(2*i)-SD(2*i+1)-SD(2*i+2)

ADD *AR1+,16,A,B ;B=SD(2*i)+SD(2*i+1)

SUB *AR1+,16,B,B ;B=SD(2*i)+SD(2*i+1)-SD(2*i+2)

STH B,*AR2 ;temp(3)=SD(2*i)+SD(2*i+1)-SD(2*i+2)

加比选单元是Vertibi译码器的核心单元。它的主要功能是取出当前状态的量度值,分别与其两个后续支路的量度相加并比较,选择罗小的一个作为后续状态的量度,并保存幸存支路。图3给出了该算法的示意图。

C54X片内的比较、选择和存储单元(CSSU)就是专门为Viterbi算法设计的加法/比较/选择(ACS)运算的硬件单元。图3所示的运算包括加法、比较和选择三部分操作。其加法运算由DSP的ALU完成。只要将状态寄存器ST1中的C16位置成1,ALU就被配置成双16位工作方式,这样,就可以在一个机器周期内执行两次加法运算。其结果(Old_Met1+D1和Old_Met2+D2)都是16位数,分别存放在累加器的高16位和低16位中。然后,利用CMPS指令对累加器的高16位和低16位进行比较,并选择出较大的一个数放到指令所指定的存储单元中。在CMPS指令执行的过程中,状态转移寄存器TRN自动记录比较的结果,这一点非常有用。实现一个蝶式运算的程序如下:

LD *AR2,T ;T=本地距离

DADST *AR5,A ;A=Old_Met(2*j)+T//Old_Met(2*j+1)-T

CMPS A,*AR4+ ;New_Met(j)=(Max(Old_Met(2*j)+T,Old_Met(2*j+1)-T)

;TRN=RTN<<1

;若(Old_Met(2*j)+T=

TRN[0]=1

CMPS B,*AR3+ ;New_Met(j+2 K-2)=(Max(Old_Met(2*j)-T,Old_Met(2*j+1)+T)

TRN=TRN<<1

;若(Old_Met(2*j)-T=

3.2 回溯

当接收完1帧数据后,添加尾比特,强迫网格图的最后一个状态(0状态)开始,反向追踪最大似然路径,完成原始数据的译码。回溯的计算过程如下:

①计算当前状态在转移数据块中的数据;

②利用BITT指令从T寄存器中读取当前状态相应的转称比特;

③用上面读取的转移比特更新状态。

溯的主要功能是,从每个符号间隔的转移数据中提取正确的位。为了完成该功能,需要保存每个状态相应的转移比特。该比特表示选定碟形网络的是上面分支还是下面分支,所有这些转移比特构成一块转移字。表1给出转移字块中状态数与相应转移比特之间的关系。

表1 一个符号间隔内数据转移的状态顺序

状态字中的比特序号 15141312…210转移字序号002K-212K-2 +1…2K-2 +672K-2 +7182K-2 +892K-2 +9…2K-2+EF2K-2 +F2102K-2+10112K-2 +11…2K-2 +16172K-2 +17………………………2K-5 -12K-2 -82K-1 -82K-2 -72K-2 -7…2K-1 -22K-2 -12K-1 -1

实现回溯的程序如下:

;以下程序中,累加器A存放状态值,累加器B存放临时的数据

;K为约束长度,MASK=2 K-5-1,ONE=1

RSBX OVM ;关闭溢出模式

STM *NTRAN_END,AR2;转移表的结束地址

STM#NBWORDS-1,AR1;要计算的输出字的序号

MVMM AR1,AR4 ;复制AR1的数值到AR4中

STM #OUTPUT+NBWORDS-1,AR3

;输出比特的地址指针

LD #0,A 初始0状态存入累加器A中

STM#15,BRC ;do i=0,NBWORDS-1

BACK:RPTB TBEND-1 ;do j=0,15

;在转移字中计算比特位置

SFTL A,-(K-2),B ;B=A>>(K-2)

AND ONE,B ;B=B&1=msb of State

ADD A,1,B ;B=B+A<<1=2*State+msb of State

STLM B,T ;T=B(bit position)

;修正转移字

SFTL A,-3,B ;B=A/8=State/8

AND MASK,B ;B=B&MASK=(K-5)lsb'sof State/8

STLM AR0 ;AR0=转称字索引

MAR *+AR2(-2K-5) ;修正寄存器值使其复位

MAR *AR2+0 ;加偏移量修正转移字

BITT*AR2-0 ;测试转移字中的比特位

ROLTC A

TBEND:STL A,*AR3-

BANZD:BACK,*AR1-

STM #15,BRC ;指向输出缓冲区的首地址

LD*AR3,A ;将第一个字装入累加器A中

RVS:SFTA A,-1,A

STM #15,BRC

RPTB RVS2-1

ROL B

SFTA A,-1,A

RVS2:BANZD RVS,*AR4- ;判断所有的字是否都计算完

STL B,*AR3+ ;保存刚计算完的字

LD *AR3,A ;装入下一个字

篇4:巧用网站统计 实现网站优化

从开始,我先后运营了3个网站,在这个过程中,我得到了很多人的帮助,自己真的很感谢他们愿意分享自己的网络经验和建站故事,这使...

今天主要想说的是网站流量系统的巧用。

1.巧用来路统计,增加网站流量

使用网站流量系统可以查看网站流量的来路,这点是站长朋友们都熟知的。今年7月份的时候,我在自己的雅虎统计中突然发现一个新的来路,当时一天从这个来路过来的流量有100多ip。然后我就查看了这个来路,发现是自己网站的用户在另外一个大网站中建立了自己的一个交友群组,并且在自己的群组中明显的位置放上我网站的一个图片连接。

我觉得这种方式的流量得到的很轻松,甚至比我之前花钱作网站推广更有效果。我就马上建立了一个简单的友情连接系统,主动和几个大网站里面的个人群组建立连接,大约一周的时间的,我连接的群组已经有100多个,而且没有花费一分钱,道理很简单,首先那些个人群组不是盈利性质的,和他们友情连接就根本提及不到钱的问题,另外这些群组也很想扩大自己的影响力,所以很乐意友链。之后我在雅虎统计中看到这些群组过来的ip每天就有4000多而且也大大增加了网站注册用户数量。说这些是想告诉大家看流量统计的来路的时候应该更敏感的去发现机会,并很好的利用。

2.巧用统计留言,听取用户心声

我的网站用的是雅虎的统计系统,当时选择它的原因很简单,就是它极其人性化的将普通流量系统“流量统计”的标识改为可以自己设置成“给我留言”,换言之,就是你在自己的网站底部放置“给我留言”就能在实现网站统计的同时,获得雅虎提供一个用户留言板。我使用的这段时间里,几乎每天都有用户通过这个给我留言,一是我听到了用户对网站建议,便于我对网站进行改进;二是,这些提建议的用户可以说都是网站的忠实用户,我们通过在留言板上的交流而相识,之后经常在一起讨论网站发展的事情,

现在我网站4个管理员之中有两个都是这样认识的。雅虎统计的这个小改动,确实人性化,又给了我很大的帮助。

3.巧用统计系统,增加网站盈利

阿里妈妈的高调出现在这段时间给中小站长带来了可观的收入,而在阿里妈妈的使用过程中,我觉得我们应该留意一下雅虎网站统计系统对阿里妈妈收入的帮助。为什么?因为阿里妈妈和雅虎是一家的。我想这点所有的站长的都知道,但能利用这点提高自己的阿里妈妈收入的就不多了。打开自己的阿里妈妈广告位,会很清楚地在右侧看到一个网站的统计,这其实就是一个雅虎统计的引用,如果你网站本身使用的就是雅虎的流量统计。一是,我们可以更准确的利用统计对自己的广告位进行估价,应为使用了与阿里妈妈们相同的统计标准,这至少更容易赢得阿里妈妈这个大买家对广告位的青睐。二是,既然使用雅虎的统计就更利于雅虎网站搜索引擎对网站的收录和认识,这样也会更有利于在阿里妈妈出售自己的广告位置,因为雅虎中有对网站质量的评估,类似于GOOGLE的PR.我想这个会是阿里这个大买家选择广告位置的一个依据。并且我觉得雅虎也有可能对自己的网站统计系统的用户有些照顾。

4.巧用统计系统,增加网站收录

使用统计系统可以有效的增加搜索引擎的收录,这个我在前面也顺带的提到过,也许有些人还不太相信。从7月份开始使用雅虎统计至今,我的网站从最初在YAHOO搜索引擎中收录2000多到现在已经收录了10052,这很容易让大家看到统计对于收录的关系,大家不妨去试验一下。我想这就进入一个良性循环之中:使用雅虎统计--增加收录---增加流量---提高阿里妈妈的收入---提高网站质量---继续使用雅虎统计。

至此。说了这么多,都是自己的切实体会和总结,希望可以对你有些帮助。每个白昼黑夜,自己的对着电脑整理网站的时候,我想一定有很多的站长在某个角落陪伴着我。我们站长朋友更应该团结成一个整体,互相给于力所能及的帮助,分享彼此的的经验和心得。今天我把自己的新得写出来,明天,我希望看到你的心得体会,更希望看到你使用雅虎统计系统发现的更多“巧用”和经验。

篇5:优化税制,实现增值税转型

优化税制,实现增值税转型

一、现行增值税存在的弊端

(一)重复征税

由于我国目前实行生产型增值税,对当期购入固定资产的已征税款不允许抵扣,从而使这部分税款资本化,分期进入产品成本中,成为其价格的一个组成部分。当产品以含税价格销售到以后的生产经营环节时,再增值、再征税,形成重复征税。而且产品流通次数越多,重复征税就越多。

(二)不利于产品在国际市场上竞争

加入WTO后,我国企业的产品将广泛走入国际市场。出口产品以不含税价格参与国际市场竞争是国际上的通行做法。为鼓励产品出口,我国还采取“征多少、退多少,彻底退税“的原则。但由于是执行生产型增值税,不允许抵扣的固定资产已征税款进入成本后,不仅导致出口产品的价格提升,而且出口退税也不彻底。另外由于无形资产不属于增值税范围,对那些知识产权含量高的产品,其产品中所含的营业税不在出口退税范围之内,这样也加大了出口产品的成本,不利于产品在国际市场上竞争。

(三)不利于调整和优化产业结构

由于生产型增值税不允许抵扣固定资产的已征税款,这必然导致资本有机构成高的企业税负重于有机构成低的企业。如能源、化工等基础工业,其固定资产投资大,原材料消耗比重小,因而能抵扣的税款比重小,企业税收负担重;而一些加工、零售业,由于固定资产比重小,能抵扣税款的原材料比重大,因而企业税负相对轻。这样不仅对加工业的扩张起了诱导作用,而且抑制了我国本应鼓励优先发展的基础行业,阻碍了我国产业结构优化和调整的进程,不符合我国目前的产业政策发展方向。

二、增值税需要转型

增值税按着税基的宽窄不同分为三种类型:生产型、收入型和消费型。三种类型的主要差别在于对购进固定资产已征税款的抵扣上,生产型增值税不允许抵扣;收入型允许抵扣当期转移到产品价值中去的一部分已征税款;消费型对固定资产已征税款允许一次抵扣。由于抵扣方式和时间上的不同,三种类型增值税对经济发展和财政收入都将产生不同的影响。

(一)历史的选择

1994年税制改革时,我国选择生产型增值税主要基于当时的经济发展环境。首先,由于当时的投资体制还不完善,经济发展有些过热,非理性投资引起了投资膨胀,采用生产性增值税有助于抑制投资膨胀,同时为实现我国经济“软着陆”奠定了一定的制度基础。其次,由于不允许抵扣固定资产已征税款,也就限制了资本有机构成高的产业发展,有利于技术含量低劳动密集型企业迅速扩大,这可以解决当时一部分下岗职工再就业,为缓解就业提供了制度保障。再次,生产型增值税的税基大于收入型和消费型增值税的税基,因此实施生产型增值税有利于财政收入的取得。

(二)增值税需要转型

相对于生产型增值税存在的缺陷及新经济环境下企业技术进步、技术创新的迫切要求,生产型增值税已完成了历史使命。我们认为实现转型是历史的必然,关键在于目标类型的选择。实行收入型增值税从某种意义讲比较容易为纳税人所接受,同时对国家财政收入影响不大,但并没有从根本上解决重复征税问题,不符合增值税立税本意。而且实行收入型增值税会给增值税管理带来难度:一是企业固定资产核算复杂,就目前的征管水平,很难准确核定出折旧,从而增加了征管难度;二是会动摇增值税凭票扣税这个基础,给增值税的征收管理带来更大的问题。

因此,根据我国目前经济发展具体情况,选择消费型增值税则是一个鼓励企业实现技术创新的政策取向。所谓消费型增值税,是允许纳税人在计算增值税时,扣除当期因生产产品或劳务而外购的原材料、燃料、低值易耗品、包装物等的已征税款,同时允许一次性抵扣当期外购固定资产的已征税款。

如果实施消费型增值税,首先,将彻底消除重复征税的可能,而且使固定资产一部分投入能提前得到补偿,这有利于加速企业资金周转,充分调动企业科技投入的积极性;其次,有利于实现市场对资源配置的基础作用,实现不同行业、不同组织形式的企业真正的公平税负、平等竞争;再次,有利于进出口贸易,在进口环节上,如果国内产品销售采用消费型增值税,可使国内产品的税负轻于进口产品,从而抑制进口。在出口环节上,消费型增值税能够实现全面抵扣已征税款,符合终点课税原则,最容易保证足额退税。

目前世界上凡征收增值税的国家,大部分采用消费型增值税。因此,我国实行消费型增值税,还将有利于国际上发达国家增值税制度接轨,使我国经济和税收进一步国际化,对外资和先进技术更具有吸引力,最终达到提高我国企业整体技术创新能力的目的。因此,实施消费型增值税,既是促进我国企业技术创新的客观要求,也是完善我国增值税的必然选择。

三、弥补转型中的损失

尽管消费型增值税是增值税改革的终极目标,但是由于其税基小于生产型增值税,因此增值税转型必将对一段时间内的财政收入带来负面影响。为了较好的发挥转型的积极作用,可以采取如下积极政策。

(一)进一步扩大征收范围

我国现行增值税把性质上属于生产过程或生产过程延伸的交通运输业、建筑业和邮电通讯业等排除在增值税征收范围之外,这不符合增值税普遍性原则和中性原则。随着市场经济的发展,第三产业占国民生产总值的份额不断上升,而且在许多领域,与商品销售紧密相关,相互渗透。比如建筑安装业既提供大量劳务,其中有包容大量的实物销售;交通运输业更是与商品采购、销售活动密不可分。因此,把征收范围扩大到与生产经营活动密切相关的运输业、建筑业和邮电业,既是社会大生产的`客观要求,也可保证增值税管理“链条”的完整性,有利于抑制利用增值税间隙偷逃税款行为发生。同时可以抵减转型中由于税基小,使财政收入产生的负面影响。

(二)限定抵扣范围

对固定资产已征税款的抵扣可以做一些限定。如对生产经营用固定资产(动产部分),在投入使用时,方可抵扣税款。如果已征税数额较大,可以核定分期抵扣。而对其他则应分别限定其抵扣范围。首先,可以暂时把新增固定资产中的不动产部分,排除在抵扣范围之外,因为房屋、建筑物等不动产对技术进步及创新的激励作用不如机器设备。其次,新增非生产经营用的固定资产,按着税法规定不属于抵扣范围,也应排除在外。这样,也可以减少转型对财政收入的负面影响。

(三)进口产品全面征税、出口产品全额退税

改变现行进口环节增值税、消费税与关税同步减免的政策,实施进口产品全面征税。这是因为作为国税的增值税等与作为国境税的关税,在性质、功能作用和征税的要求上,均有很大不同。特别是加入WTO后,关税率要不断下降,在进口环节对进口产品征收的增值税、消费税,与对国内产品征收的同样税种,更能保持本国产品与进口产品之间税负相同,以利于公平竞争。改变过去对进口的大部分产品减免税或不征税的政策,除某些特殊情况外,应全面征税,这样可以一定程度增加财政收入。另一方面,要用足WTO规则允许出口退税的条款,对出口产品的产销全过程已征的增值税,实施全部彻底的退税。

减收、增收因素相抵,特别是随着转型带来的经济发展,税源扩大,消费型增值税将不会导致财政收过量减少,而且还可能在促进经济发展的基础上达到增收。

经济决定税制,税制反作用于经济,税制必须与经济发展

相适应。我国市场经济的进一步发展已对增值税转型提出了迫切要求。应以消费型增值税作为进一步改革的目标,本着积极稳妥的原则,使增值税税制适应并促进社会主义市场经济体制的完善和发展。

【参考文献】

[1] 刘国庆,WTO与我国税制的改革[J].西北第二民族学院学报,2001,(3).

[2] 刘容.不同类型增值税效应及转型分析[J].天府新论,2000,(6).

[3] 杨崇春.进一步完善增值税势在必行[J].财政与税务,2001,(1).

栏目标题栏优化,实现“二级栏目一级栏目网

一种专用高速硬盘存储设备的设计与实现

今年春节高速免费吗

高速介绍信

元旦节高速免费吗?

产业结构优化 范文

产品优化范文

辽宁端午节高速免费吗

五一放假高速

高速员工总结

高速Viterbi译码器的优化和实现(推荐5篇)

欢迎下载DOC格式的高速Viterbi译码器的优化和实现,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档