发明名称 一种利用多相滤波器组实现频谱感知的方法
摘要 一种利用多相滤波器组实现频谱感知的方法,利用Xilinx/System Generator开发工具在FPGA上实现。方法包括多相滤波部分和能量检测部分;多相滤波部分包括数据类型转换单元、延时单元、滤波器组系数地址生成单元、滤波器组系数存储单元、滤波器组系数解析单元、乘法单元、加法单元、时钟同步单元、FFT变换单元;能量检测部分包括加法单元、乘法单元和求取均值单元;无线信号经过天线接收、混频之后,转换为I、Q两路基带信号,两路基带信号经过两个ADC采样,转换为数字基带信号,将数字基带信号输入多相滤波器组,在使能信号控制下,进行滤波处理,将滤波后的信号输入能量检测部分进行能量检测,实现频谱感知。
申请公布号 CN102510272A 申请公布日期 2012.06.20
申请号 CN201110323892.5 申请日期 2011.10.21
申请人 山东大学 发明人 孙健;宫纪波;袁东风
分类号 H03H17/00(2006.01)I 主分类号 H03H17/00(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 王绪银
主权项 一种利用多相滤波器组实现频谱感知的方法,利用Xilinx/System Generator开发工具在FPGA上实现;方法包括多相滤波部分和能量检测部分;多相滤波部分包括数据类型转换单元、延时单元、滤波器组系数地址生成单元、滤波器组系数存储单元、滤波器组系数解析单元、乘法单元、加法单元、时钟同步单元、FFT变换单元;能量检测部分包括加法单元、乘法单元和求取均值单元;无线信号经过天线接收、混频之后,转换为I、Q两路基带信号,两路基带信号经过两路ADC采样,转换为两路数字基带信号,将数字基带信号输入多相滤波器组,在使能信号控制下,进行滤波处理,将滤波后的信号输入能量检测部分进行能量检测,实现频谱感知;其特征在于,方法如下:1)多相滤波部分在使能信号en控制下,对数字基带信号进行多相滤波,输出M个子信道上的信号;2)能量检测部分依次对M个子信道上的信号进行信号能量计算并计算时间平均值,得到每个子信道上的信号能量,检测每个子信道是否有数据在发送,实现频谱感知;步骤1)中,对数字基带信号进行多相滤波的方法如下:(1)计算多相滤波器组系数,并存储到滤波器组系数存储单元;(2)数据类型转换单元将接收到的I路和Q路两路数字基带信号截取、解析成定点型小数;(3)将步骤(2)中的I、Q两路数字基带信号输入延时单元,当使能信号为“1”时,输出当前时刻和延时M、2M、3M个时钟单元的两路数字基带信号数值,并将延时单元内的所有数据延时一个时钟单元;(4)地址生成单元内部是一个累加器,累加器初始值为“0”,步长为“1”,输出数据的位宽为log2(M);每检测到使能信号为“1”时,累加器加“1”,输出当前时刻累加器内的数值,即滤波器组系数存储单元的地址,输入滤波器组系数存储单元;(5)滤波器组系数存储单元根据步骤(4)输入的地址,输出存储的滤波器组系数;(6)滤波器组系数解析单元,将步骤(5)输出的滤波器组系数进行截取解析,得到相应子信道的多相滤波器组系数;(7)将步骤(3)中输出的I、Q两路数字基带信号分别与步骤(6)中输出的滤波器组系数相乘;(8)对步骤(7)相乘后的I、Q两路信号分别相加,得到当前子信道的I、Q两路信号值;(9)使能信号经过延时后与步骤(8)中的信号值同步;(10)在步骤(9)中延时后的使能信号控制下,对步骤(8)中的当前子信道I、Q两路信号值进行缓存;(11)取步骤(10)中缓存的M个子信道信号值做FFT运算,得到M个子信道上的I、Q两路信号,依次串行输出;步骤(1)中,滤波器组系数的计算和存储方法如下:(1)原型滤波器采用平方根升余弦滚降滤波器,设原型滤波器长度L,子信道个数M,则对应的滤波器组多相结构的子信道重叠因子K=L/M,以重叠因子K=4为例,子信道滤波器的频域系数为[0.2351470.70710.97196010.9719600.70710.235147];(2)由子信道滤波器频域系数和原型滤波器长度L,通过傅里叶反变换求得原型滤波器时域系数;(3)将步骤(2)中的原型滤波器时域系数矩阵进行K行M列变换得到滤波器组多相结构系数,其中每一列即为一个子信道滤波器时域系数;(4)对步骤(3)中的滤波器组多相结构系数矩阵进行上下翻折,以与滤波器组滤波结构相对应;(5)将步骤(4)中翻折后的滤波器组多相结构系数矩阵中的每一列K个数据转换为定点型小数,并重新解释成无符号整形数据,然后将每列第一个数据存到最低位,依次向高位存储,第K个数据存到最高位,重新组成一个无符号整形数据,存储到滤波器组系数存储单元;步骤2)中,子信道上的信号能量计算方法如下:(1)分别对步骤1)中的子信道上的I、Q两路信号求平方,得到平方后的数值;(2)将平方后的两路数值相加得到当前子信道信号的能量值;(3)将使能信号延时,与步骤(2)的能量值同步;(4)将步骤(2)所得当前子信道信号的能量值输入延时单元,在步骤(3)使能信号为“1”时,延时单元内的数据延时一个时钟单元,并输出当前子信道信号的能量值和延时M,2M,3M…(num‑1)M个时钟单元的当前子信道信号的能量值;(5)对步骤(4)输出的num个能量值相加取平均值,即得当前子信道信号的能量值,取对数后输出,完成能量检测。
地址 250100 山东省济南市历下区山大南路27号