一种基于FPGA的天线数据交织和解交织方法与流程

专利2022-06-30  102


本发明属于通信技术领域,尤其涉及一种基于fpga的天线数据交织和解交织方法。



背景技术:

在4g/5g无线通信系统中,采用了ofdm(orthogonalfrequencydivisionmultiplexing,正交频分复用技术),它的调制和解调是分别基于傅里叶逆变换ifft和傅里叶变换fft来实现的。4g/5g无线通信中的fft/ifft是基于一个ofdm符号进行转换的。

通信系统的中频侧传输给基带侧的数据格式通常为按天线交织的,例如4天线的交织数据为天线0数据1/天线1数据1/天线2数据1/天线3数据1~天线0数据n/天线1数据n/天线2数据n/天线3数据n。因此需要在fft之前完成天线交织数据的解交织或ifft之后完成天线解交织后的数据的交织。如4天线交织数据解交织为天线0数据1~天线0数据n,天线1数据1~天线1数据n,天线2数据1~天线2数据n,天线3数据1~天线3数据n的数据格式。

在4g/5g无线通信系统,数字中频侧会持续不断地给基带侧传输天线数据。基带侧则需要在满足无线通信时延时间内的对天线数据进行处理。通常情况下采用乒乓缓存可以完成数据的交织和解交织。具体操作过程如下:

在第二个ofdm符号期间,用ram0缓存天线交织/解交织数据,同时ram1对第一个ofdm符号期间的天线数据进行交织/解交织操作。

在第三个ofdm符号期间,对第一个ofdm符号期间的ram0中的天线数据进行交织/解交织操作,同时ram1缓存第三个ofdm符号期间的天线数据。

以此类推,在一个ofdm符号期间,一个ram进行缓存操作,另一个ram则进行交织解交织操作。在下一个ofdm符号期间,两个ram的功能交换:即缓存的ram做交织解交织,交织解交织的ram做缓存。

从以上描述中,容易推算出完成整个天线数据的解交织过程需要的ram资源=2*天线数目*每天线数据量。

乒乓缓存的缺点在于,需要使用的ram资源是天线数据量的两倍。随着天线数目增加,ofdm符号长度增加,乒乓缓存将导致fpga消耗大量的ram资源用于缓存数据。fpga中连续的大片ram资源不利于fpga实现时序收敛,或是需要增加硬件成本,更换拥有更多资源的fpga芯片才能完成功能的实现。



技术实现要素:

为克服上述现有问题或者至少部分地解决上述问题,本发明实施例提供一种基于fpga的天线数据交织和解交织方法。

本发明实施例提供一种基于fpga的天线数据交织和解交织方法,包括:

在外部写地址和dpram的写地址之间设置写地址交换单元,在dpram的读地址和外部读地址之间设置读地址交换单元,所述dpram位于fpga中;

通过所述写地址交换单元对dparm的写地址进行移位操作,所述读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同;

其中,根据dparm的写地址将天线交织数据写入dpram,根据dparm的读地址将天线交织数据从dpram中读出,得到天线解交织数据;或者,

根据dparm的写地址将天线解交织数据写入dpram,根据dparm的读地址将天线解交织数据从dpram中读出,得到天线交织数据。

在上述技术方案的基础上,本发明实施例还可以作出如下改进。

可选的,当对天线交织数据进行解交织时,所述写地址交换单元对dparm的写地址进行移位操作包括:

在第一个ofdm符号期间,所述写地址交换单元获取dpram的初始写地址,对dpram进行写操作;

在当前ofdm符号期间,所述写地址交换单元对前一个ofdm符号期间的dpram的写地址按第一预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的写地址。

可选的,所述读地址交换单元对dparm的读地址进行移位操作包括:

在第一个ofdm符号期间,所述读地址交换单元对dpram的初始读地址按第一预设方向循环移动预设数量的比特位,得到第一个ofdm符号期间的dpram的读地址,对dpram进行读操作;

在当前ofdm符号期间,所述读地址交换单元对前一个ofdm符号期间的dpram的读地址按第一预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的读地址。

可选的,当对天线解交织数据进行交织时,所述写地址交换单元对dparm的写地址进行移位操作包括:

在第一个ofdm符号期间,所述写地址交换单元获取dpram的初始写地址,对dpram进行写操作;

在当前ofdm符号期间,所述写地址交换单元对前一个ofdm符号期间的dpram的写地址按第二预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的写地址;

其中,所述第二预设方向与所述第一预设方向相反。

可选的,所述读地址交换单元对dparm的读地址进行移位操作包括:

在第一个ofdm符号期间,所述读地址交换单元对dpram的初始读地址按第二预设方向循环移动预设数量的比特位,得到第一个ofdm符号期间的dpram的读地址,对dpram进行读操作;

在当前ofdm符号期间,所述读地址交换单元对前一个ofdm符号期间的dpram的读地址按第二预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的读地址。

可选的,所述dpram的地址位宽为:

addr=log2(x×y);

其中,x为天线数,y为每根天线的数据量。

可选的,所述第一预设方向为左移或右移,第二预设方向为左移或右移,所述预设数量为k,其中,

k=log2(x)。

可选的,所述写地址交换单元对dparm的写地址进行移位操作,所述读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同还包括:

每m个ofdm符号期间作为写地址交换单元或读地址交换单元的循环周期,其中,第m个ofdm符号期间的dpram的写地址与第一个ofdm符号期间的dpram的写地址相同,第m个ofdm符号期间的dpram的写读地址与第一个ofdm符号期间的dpram的读地址相同。

本发明实施例提供一种基于fpga的天线数据交织和解交织方法,该方法通过地址交换单元控制dpram读写地址的变换,只需要与天线数据量相同的ram资源就可以完成天线交织与解交织的功能,节约了ram资源。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的dpram读写地址与地址交换单元连接示意图;

图2为本发明实施例第一个ofdm符号期间写地址交换单元和读地址交换单元示意图;

图3为本发明实施例第一个ofdm符号期间dpram中天线数据写入和读出示意图;

图4为本发明实施例第二个ofdm符号期间写地址交换单元和读地址交换单元示意图;

图5为本发明实施例第三个ofdm符号期间写地址交换单元和读地址交换单元示意图;

图6为本发明实施例第一个ofdm符号期间天线数据写入和读出示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

在本发明的一个实施例中提供一种基于fpga的天线数据交织和解交织方法,该方法包括:

在外部写地址和dpram的写地址之间设置写地址交换单元,在dpram的读地址和外部读地址之间设置读地址交换单元,所述dpram位于fpga中;

通过所述写地址交换单元对dparm的写地址进行移位操作,所述读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同;

其中,根据dparm的写地址将天线交织数据写入dpram,根据dparm的读地址将天线交织数据从dpram中读出,得到天线解交织数据;或者,

根据dparm的写地址将天线解交织数据写入dpram,根据dparm的读地址将天线解交织数据从dpram中读出,得到天线交织数据。

可以理解的是,在通信系统中,中频侧传输给基带侧的数据格式常为按天线交织的,比例,4天线的交织数据为天线0数据1/天线1数据1/天线2数据1~天线0/数据n/天线1数据n/天线2/数据n,其中,n为每根天线的数据量。在对天线数据进行fft之前,需要对天线的交织数据进行解交织,以及对天线数据进行tfft之后完成解交织后的天线数据的交织。比如,将以上的天线交织数据解交织为天线0数据1~天线0数据n,天线1数据1~天线1数据n,天线2数据1~天线2数据n,天线3数据1~天线3数据n。

在背景技术中已经介绍了传统采用乒乓缓存完成天线数据的交织和解交织的操作过程,需要的ram资源比较大,针对该问题,本发明实施例提出了一种天线数据解交织和交织的方法,可参见图1,在外部写地址addra0~addra5和dpram的写地址a0~a5之间增加写地址交换单元,在dpram的读地址addrb0~addrb5和dpram的读地址b0~b5之间设置读地址交换单元。

在对天线数据进行交织或解交织的过程中,中频侧连续不断地向基带侧下发天线交织数据,在基带侧完成天数数据的解交织;同样的,基带侧连续不断地向中频侧上传,在中频侧完成天线数据的交织。在天线数据的解交织和交织是采用ofdm符号来完成的,当在一个ofdm符号期间,需要利用一个ram来写入天线数据,需要另外一个ram来读出交织或解交织后的天线数据。

在本发明实施例中,通过写地址交换单元对dparm的写地址进行移位操作,读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同,这样ram能够重复使用。

在每一个ofdm符号期间,根据dparm的写地址将天线交织数据写入dpram,根据dparm的读地址将天线交织数据从dpram中读出,得到天线解交织数据;或者,根据dparm的写地址将天线解交织数据写入dpram,根据dparm的读地址将天线解交织数据从dpram中读出,得到天线交织数据。

本发明实施例通过地址交换单元控制dpram读写地址的变换,只需要与天线数据量相同的ram资源就可以完成天线交织与解交织的功能,节约了ram资源。

作为一个可选的实施例,当在对天线交织数据进行解交织的过程中,写地址交换单元对dpram的写地址进行移位的具体操作为,在第一个ofdm符号期间,写地址交换单元获取dpram的初始写地址,对dpram进行写操作;对于第一个ofdm符号后面的ofdm符号,在当前ofdm符号期间,写地址交换单元对前一个ofdm符号期间的dpram的写地址按第一预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的写地址。

作为一个可选的实施例,当在对天线交织数据进行解交织的过程中,读地址交换单元对dparm的读地址进行移位操作具体为,在第一个ofdm符号期间,读地址交换单元对dpram的初始读地址按第一预设方向循环移动预设数量的比特位,得到第一个ofdm符号期间的dpram的读地址,对dpram进行读操作;对于第一个ofdm符号后面的ofdm符号,在当前ofdm符号期间,所述读地址交换单元对前一个ofdm符号期间的dpram的读地址按第一预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的读地址。

其中,第一预设方向为左移或右移,第二预设方向为左移或右移,当第一预设方向为左移时,第二预设方向则为右移;同样的,当第一预设方向为右移时,则第二预设方向为左移。至于每次移动的比特位的位数为k,其中,k=log2(x),x为天线数量。

作为一个可选的实施例,当对天线解交织数据进行交织时,写地址交换单元对dparm的写地址进行移位操作包括:

在第一个ofdm符号期间,写地址交换单元获取dpram的初始写地址,对dpram进行写操作;

在当前ofdm符号期间,写地址交换单元对前一个ofdm符号期间的dpram的写地址按第二预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的写地址;其中,第二预设方向与第一预设方向相反。

作为一个可选的实施例,读地址交换单元对dparm的读地址进行移位操作包括:

在第一个ofdm符号期间,所述读地址交换单元对dpram的初始读地址按第二预设方向循环移动预设数量的比特位,得到第一个ofdm符号期间的dpram的读地址,对dpram进行读操作;

在当前ofdm符号期间,所述读地址交换单元对前一个ofdm符号期间的dpram的读地址按第二预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的读地址。

可以理解的是,在天线数据交织过程中,地址交换单元(包括写地址交换单元和读地址交换单元)对dpram的写地址和读地址的移位操作与在天线解交织过程中,地址交换单元对dpram的写地址和读地址的移位操作相同,只是移位的方向相反而已。

作为一个可选的实施例,本发明实施例中的dpram的地址位宽随着天线数和每根天线的数据量会有不同,dpram的地址位宽为:

addr=log2(x×y);

其中,x为天线数,y为每根天线的数据量。

作为一个可选的实施例,写地址交换单元对dparm的写地址进行移位操作,读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同还包括:

每m个ofdm符号期间作为写地址交换单元或读地址交换单元的循环周期,其中,第m个ofdm符号期间的dpram的写地址与第一个ofdm符号期间的dpram的写地址相同,第m个ofdm符号期间的dpram的写读地址与第一个ofdm符号期间的dpram的读地址相同。

可以理解的是,当通过地址交换单元对dpram的写地址和读地址进行循环移位时,当循环几次移位后,会出现经过m次循环移位的写地址与初始写地址相同或者经过m次循环移位的读地址与初始读地址相同。其中,通过如下公式可计算m:

下面以具体的例子对本发明实施例提供的通信中天线数据解交织和交织方法进行详细说明。

如图1所示,在外部写地址addra0~addra5和dpram(简单双端口ram)的写地址a0~a5以及外部读地址addrb0~addrb5和dpram的读地址b0~b5之间增加2个相同的地址交换单元。在本发明实施例中,外部写地址addra0~addra5和dpram的写地址a0~a5之间的地址交换单元称为写地址交换单元,外部读地址addrb0~addrb5和dpram的读地址b0~b5之间的地址交换单元称为读地址交换单元。地址交换单元可以控制外部读写地址和dpram内部读写地址的连接关系。

通过地址交换单元对dpram的写地址和读地址的交换来完成天线数据的解交织和交织。当前ofdm符号期间的写操作与前一个ofdm符号期间的读操作几乎同时进行,当前ofdm符号期间的写操作只需要略之后于前一个ofdm符号期间的读操作几个时钟周期即可。

天线数据的解交织时,地址交换单元对dpram的写地址和读地址的移位操作具体包括以下步骤:

步骤一:第一个ofdm符号期间数据写入,地址交换单元连接关系如图2所示,写入侧地址(写地址)不交换即按初始写地址“a5a4a3a2a1a0”;读出侧地址(读地址)交换为初始读地址(b5b4b3b2b1b0)进行2比特循环移位得到“b1b0b5b4b3b2”。

天线交织数据写入时在ram中存储格式如图3,其中,aidj表示天线i的第j个数据,4天线交织数据依次写入ram中,ram的写地址是依次递增的。读出时按初始顺序读出,由于地址交换的原因,读地址0~15对应到dpram的读地址依次为0,4,8,12,……,60,取出天线0的16个数据,其中,将读地址0~15转换为8位的二进制数,右移2个比特位,得到的二进制数转换为十进制即为0,4,8,12,……,60。同样的,读地址16~31对应到dpram的地址依次为1,5,9,13,…...,61,取出天线1的16个数据,后面以此类推。完成4天线,每根天线16个数据的读出。

步骤二:如图4所示,第二个ofdm符号期间数据写入时,写地址交换单元对第一个ofdm符号期间的写地址右移2个比特位,即“a1a0a5a4a3a2”;读地址交换单元对第一个ofdm符号期间的读地址再做2比特循环移位得到“b3b2b1b0b5b4”。

第二个ofdm符号期间的数据写入的地址刚好为第一个ofdm符号期间的读出数据后空出来的地址,即第二个ofdm符号的a0d0/a1d0/a2d0/a3d0写入地址0/4/8/12,a0d1/a1d1/a2d1/a3d1写入地址16/20/24/28,后面依次类推。读地址按第一个ofdm符号期间读出的地址再做2比特循环移,得到的dpram读地址依次为0,16,32,48,1,17,33,49,2,18,34,50,3,19,35,51取出天线0的16个数据;同理可以得到其他根天线的读地址,读出每根天线的16个数据。

步骤三:第三个ofdm符号期间的数据写入读出的地址交换如图5,写地址交换单元对第二个ofdm符号期间的写地址右移2个比特位,即“a3a2a1a0a5a4”;读地址交换单元对第二个ofdm符号期间的读地址再做2比特循环移位得到“b5b4b3b2b1b0”。

第三个ofdm符号期间的数据写入的地址刚好为第二个ofdm符号期间读出数据后空出来的地址,即第三个ofdm符号期间的a0d0/a1d0/a2d0/a3d0写入地址0/16/32/48,a0d1/a1d1/a2d1/a3d1写入地址1/17/33/49,后面依次类推。读地址按第二个ofdm符号期间读出的地址再做2比特循环移,得到的dpram读地址依次为0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15取出天线0的16个数据。同理可以得到其他根天线的读地址,读出每根天线的16个数据。

由于后一个ofdm符号期间的写地址同当前ofdm符号期间的读地址相同,第四个ofdm符号期间的写入读出地址和第一个ofdm符号期间的写入读出地址重复,后面依次类推,在本发明实施例中,读写地址按3个ofdm符号为周期进行循环。

若对16天线、每根天线2048个数据解交织,dpram的地址总共有15位,读写地址按4比特做循环移位,15个ofdm符号以后回到初始状态。

以上规律推广到5gnr基带处理中,4天线、每根天线4096个数据进行解交织,dpram的地址总共有14位,读写地址按2比特做循环移位,则每7个ofdm符号循环一次。

上述过程为天线数据的解交织过程,交织和解交织实现基本类似,差别只在于地址循环移位的方向恰好相反。同样以4天线、每根天线16个数据来分析交织过程。

第一个ofdm符号期间,写地址不交换,读地址进行2比特循环移位,但是移位的方向和解交织过程相反,循环移位后的读地址为“b3b2b1b0b5b4”。如图6所示,读地址addrb为0~3时,对应dpram的实际地址0,16,32和48,分别对应4根天线的第一个数据;读地址addrb为4~7时,对应dpram实际地址1,17,33和49,分别对应4根天线的第二个数据;后面依次类推,正好完成4天线数据的交织。

由于后一个ofdm符号期间的写地址与当前ofdm符号期间的读地址相同,第四个ofdm符号期间的写入读出地址和第一个ofdm符号重复。后面依次类推,在本发明实施例中,交织过程读写地址同样按3个ofdm符号为周期进行循环。

本发明实施例提供一种基于fpga的天线数据交织和解交织方法,该方法通过地址交换单元控制dpram读写地址的变换,只需要与天线数据量相同的ram资源就可以完成天线交织与解交织的功能,节约了ram资源。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。


技术特征:

1.一种基于fpga的天线数据交织与解交织方法,其特征在于,包括:

在外部写地址和dpram的写地址之间设置写地址交换单元,在dpram的读地址和外部读地址之间设置读地址交换单元,所述dpram位于fpga中;

通过所述写地址交换单元对dparm的写地址进行移位操作,所述读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同;

其中,根据dparm的写地址将天线交织数据写入dpram,根据dparm的读地址将天线交织数据从dpram中读出,得到天线解交织数据;或者,

根据dparm的写地址将天线解交织数据写入dpram,根据dparm的读地址将天线解交织数据从dpram中读出,得到天线交织数据。

2.根据权利要求1所述的交织与解交织方法,其特征在于,当对天线交织数据进行解交织时,所述写地址交换单元对dparm的写地址进行移位操作包括:

在第一个ofdm符号期间,所述写地址交换单元获取dpram的初始写地址,对dpram进行写操作;

在当前ofdm符号期间,所述写地址交换单元对前一个ofdm符号期间的dpram的写地址按第一预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的写地址。

3.根据权利要求2所述的交织与解交织方法,其特征在于,所述读地址交换单元对dparm的读地址进行移位操作包括:

在第一个ofdm符号期间,所述读地址交换单元对dpram的初始读地址按第一预设方向循环移动预设数量的比特位,得到第一个ofdm符号期间的dpram的读地址,对dpram进行读操作;

在当前ofdm符号期间,所述读地址交换单元对前一个ofdm符号期间的dpram的读地址按第一预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的读地址。

4.根据权利要求2所述的交织与解交织方法,其特征在于,当对天线解交织数据进行交织时,所述写地址交换单元对dparm的写地址进行移位操作包括:

在第一个ofdm符号期间,所述写地址交换单元获取dpram的初始写地址,对dpram进行写操作;

在当前ofdm符号期间,所述写地址交换单元对前一个ofdm符号期间的dpram的写地址按第二预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的写地址;

其中,所述第二预设方向与所述第一预设方向相反。

5.根据权利要求4所述的交织与解交织方法,其特征在于,所述读地址交换单元对dparm的读地址进行移位操作包括:

在第一个ofdm符号期间,所述读地址交换单元对dpram的初始读地址按第二预设方向循环移动预设数量的比特位,得到第一个ofdm符号期间的dpram的读地址,对dpram进行读操作;

在当前ofdm符号期间,所述读地址交换单元对前一个ofdm符号期间的dpram的读地址按第二预设方向循环移动预设数量的比特位,得到当前ofdm符号期间的读地址。

6.根据权利要求1-5任一项所述的交织与解交织方法,其特征在于,所述dpram的地址位宽为:

addr=log2(x×y);

其中,x为天线数,y为每根天线的数据量。

7.根据权利要求2或3所述的交织与解交织方法,其特征在于,所述第一预设方向为左移或右移,第二预设方向为左移或右移,所述预设数量为k,其中,

k=log2(x)。

8.根据权利要求1所述的交织与解交织方法,其特征在于,所述写地址交换单元对dparm的写地址进行移位操作,所述读地址交换单元对dparm的读地址进行移位操作,使得当前ofdm符号期间的dpram的写地址与上一个ofdm符号期间的dpram的读地址相同还包括:

每m个ofdm符号期间作为写地址交换单元或读地址交换单元的循环周期,其中,第m个ofdm符号期间的dpram的写地址与第一个ofdm符号期间的dpram的写地址相同,第m个ofdm符号期间的dpram的写读地址与第一个ofdm符号期间的dpram的读地址相同。

技术总结
本发明实施例提供一种基于FPGA的天线数据交织和解交织方法,方法包括:在外部写地址和DPRAM的写地址之间设置写地址交换单元,在DPRAM的读地址和外部读地址之间设置读地址交换单元,所述DPRAM位于FPGA中;通过写地址交换单元对DPARM的写地址进行移位操作,所述读地址交换单元对DPARM的读地址进行移位操作,使得当前OFDM符号期间的DPRAM的写地址与上一个OFDM符号期间的DPRAM的读地址相同。本发明实施例通过地址交换单元控制DPRAM读写地址的变换,只需要与天线数据量相同的RAM资源就可以完成天线交织与解交织的功能,节约了RAM资源。

技术研发人员:苏岚;魏恒
受保护的技术使用者:武汉虹信通信技术有限责任公司
技术研发日:2020.02.28
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-57633.html

最新回复(0)