CN103235635B - 一种基于查表的窗函数生成方法 - Google Patents
一种基于查表的窗函数生成方法 Download PDFInfo
- Publication number
- CN103235635B CN103235635B CN201310134828.1A CN201310134828A CN103235635B CN 103235635 B CN103235635 B CN 103235635B CN 201310134828 A CN201310134828 A CN 201310134828A CN 103235635 B CN103235635 B CN 103235635B
- Authority
- CN
- China
- Prior art keywords
- window function
- sine
- look
- cosine
- phase place
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提供了一种基于查表的窗函数生成方法,从长度为N点的复数旋转因子向量TEMP[i]中提取相位为2πi/N∈[0,π/2]的正余弦项构建精简正余弦查找表,该查找表长度缩减为N/2,占用内存空间更少,且包含了窗函数表达式中所需的所有因子;通过相位拓宽,使得相位覆盖[0,2π]的正余弦函数值均映射到了长度为N/4、相位覆盖[0,π/2]的精简正余弦查找表,以供后续代入等价变换后的窗函数表达式,可大幅度减少计算量,提升数据加窗运算的吞吐率。此方法主要适用对象为能等价变换为由因子sin(2πi/N)、cos(2πi/N)组合成的多项式的常见窗函数,且较现有的窗函数产生方法更能节省资源消耗,减少计算耗时。
Description
技术领域
本发明属于数字信号处理技术领域,更为具体地讲,涉及一种基于查表的窗函数生成方法。
背景技术
数字信号处理技术领域中,数据加窗运算是一种很常用的工具,特别是在利用快速傅里叶变换(FFT)对信号进行频谱分析的应用中。为了减少有限长数字信号频谱的能量泄露,FFT运算前通常会采用不同的窗函数对时域信号进行截断。
随着半导体技术和大规模集成电路技术的发展,DSP应运而生并成为数字信号处理领域中最常用的嵌入式芯片。通常生产厂家或第三方设计机构可能会提供必需的旋转因子产生函数和FFT运算函数原型,而窗函数的生成方式则由应用工程师自行设计。
常用的窗函数生成方法有以下两种:一种是公式法,在DSP程序中调用窗函数公式直接计算出窗函数数组,这种方法的优点是消耗的内存较少,缺点是运算速度慢,在定点DSP芯片中尤为突出;另一种是查表法,将固定点数的窗函数值预先保存在内存空间中,这种窗函数生成方法的优点是速度快,缺点是当占用内存空间非常大。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于查表的窗函数生成方法,在提高生成窗函数速度的同时,减小内存空间占用,节省资源消耗。
为实现以上目的,本发明基于查表的窗函数生成方法,其特征在于,包括以下步骤:
(1)、精简正余弦查找表的生成
调用旋转因子生成函数产生N点的复数旋转因子向量TEMP[i],然后提取出正余弦项,其相位为:
提取的正余弦项即:
其中,组成精简正余弦查找表;
(2)、相位拓宽
根据正余弦函数的奇偶性和对称性,得到相位为时的正余弦函数值在精简正余弦查找表中对应的索引位置,使得相位覆盖[0,2π]的正余弦函数值均映射到了长度为相位覆盖的精正余弦简查找表上;
(3)、等价变换及窗函数生成
先将窗函数的一般表达式等价变换为只包含两个因子的多项式,所述的两个因子为:
其中,
然后根据对应索引位置以及精简正余弦查找表提取两个因子对应的正余弦项代入等价变换后的窗函数表达式中,生成对应的窗函数。
本发明的目的是这样实现的:
与常用窗函数生成方法相比较,本发明基于查表的窗函数生成方法,从长度为N点的复数旋转因子向量TEMP[i]中提取相位为2πi/N∈[0,π/2]的正余弦项构建精简正余弦查找表,该查找表长度缩减为N/2,占用内存空间更少,且包含了窗函数表达式中所需的所有因子;通过相位拓宽,使得相位覆盖[0,2π]的正余弦函数值均映射到了长度为N/4、相位覆盖[0,π/2]的精简正余弦查找表,以供后续代入等价变换后的窗函数表达式,可大幅度减少计算量,提升数据加窗运算的吞吐率。此方法主要适用对象为能等价变换为由因子sin(2πi/N)、cos(2πi/N)组合成的多项式的常见窗函数,且较现有的窗函数产生方法更能节省资源消耗,减少计算耗时。
附图说明
图1是本发明基于查表的窗函数生成方法一具体实施方式流程图;
图2是提取的相位覆盖的正弦项的波形图;
图3是提取的相位覆盖的余弦项的波形图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明基于查表的窗函数生成方法一具体实施方式流程图。
如图1所示,在本实施例中,本发明基于查表的窗函数生成方法包括以下步骤:
ST1:精简正余弦查找表的生成
调用旋转因子生成函数产生N点的复数旋转因子向量TEMP[i],根据旋转因子的数学表达式,有:
i=0,1,2,…,N-1
开辟一个长度为的存储空间并定义为数组w[n],在的范围内,将每一个i所对应的TEMP[i]中的虚部,即依次存储到w[n]中的前半部分;将每一个i所对应的TEMP[i]中的实部,即依次存储到w[n]中的后半部分,得到:
i的取值范围使得上式中的正余弦项的相位仅覆盖了因此可将w[n]称为精简正余弦查找表。其中前半部分为正弦查找表,后半部分为余弦查找表,其波形如图2、3所示。
ST2:相位拓宽
根据正余弦函数的奇偶性和对称性,得到相位为时的正余弦函数值在精简正余弦查找表中对应的索引位置,使得相位覆盖[0,2π]的正余弦函数值均映射到了长度为相位覆盖的精简查找表,映射方式如下:
ST3:等价变换及窗函数生成
先将窗函数的一般表达式等价变换为只包含 因子的多项式,然后然后根据对应索引位置以及精简正余弦查找表提取两个因子对应的正余弦项代入等价变换后的窗函数表达式中,生成对应的窗函数。主要适用对象为能等价变换为由因子 组合成的多项式的常见窗函数(包括Rectangle窗、Hamming窗、Hanning窗、Blackman窗、Blackman-Harris窗等);
所述常见窗函数的一般表达式可以统一表示为,
上式中,N表示窗函数的点数,i为正整数,且0≤i<N;a0、a1、a2、a3表示窗函数中相应各项的系数参数,如表1所示的常用窗函数系数参表。
常见窗函数 | a0 | a1 | a2 | a3 |
矩形窗 | 1 | 0 | 0 | 0 |
Hamming窗 | 0.53836 | -0.46164 | 0 | 0 |
Hanning窗 | 0.5 | -0.5 | 0 | 0 |
Blackman窗 | 0.42 | 0.5 | 0.08 | 0 |
Blackman-Harris窗 | 0.35875 | 0.48829 | 0.14128 | 0.01168 |
表1
对式(5)进行等价变换,可得到:
式(6)是仅包含因子 的多项式函数,各因子均能在正余弦查找表中索引到相应的值。
实施例
用主频为600MHz的DSP芯片TMS320C6416(TI),生成位宽32bits、长度为32kpts的Blackman-Harris窗。
本实施例采取如下步骤实现:
步骤ST1:调用旋转因子产生函数产生N=32kpts点复数旋转向量TEMP[i],在TEMP[i]中提取 i∈[0,8192)的项存入一个长度为16kpts的新数组w[n]中,得到:
将w[n]称为精简正余弦查找表,并在DSP中分配16kpts×32bits的内存空间来存储精简正余弦查找表的值。由于在生成精简正余弦查找表之后,原旋转因子TEMP[i]已不再参与后续计算,故不需要对TEMP[i]进行存储。
步骤ST2:对步骤ST1中覆盖相位为的精简正余弦查找表进行相位拓宽。根据向量表w[n]中 现有的相位覆盖的值,如图1、附图2所示),由正余弦函数的奇偶性和对称性推导其相位覆盖[0,2π]的值
步骤ST3:结合步骤ST1和步骤ST2推导窗函数的具体表达式。
在本实施例中,以Blackman-Harris窗函数为例,其表达式为:
上式中,i为正整数,且0≤i<32768;窗函数中相应各项的系数参数取自附表1。
对式(10)进行等价变换,可得到下式,
式(11)是仅包含因子 的多项式函数;各因子均能依据相位拓宽的映射关系在步骤ST1生成的精简正余弦查找表中索引到相应的值。
本实施例中,在进行DSP程序代码设计时,仅用一个精简正余弦查找表的存储空间即可产生多个窗函数,而传统的查表法则需要多个内存空间来实现,因此大大减少了空间的占用。为比较本发明与传统的窗函数产生方法在运算效率方面的优劣,在本实施例中利用DSP中自带计时器多次测试传统窗函数计算方法和本发明的运算时间,测得两者的平均运算时间分别为1.16s和17.5ms。在本实施例中计时器存在一定的误差,但是由于测试值差别相当大,因此该误差可以忽略不计。由本实施例结果可知本发明可大大减少窗函数的运算时间。
本发明提出的一种基于查表的窗函数生成方法,具有极强的灵活性,因为其窗函数运算的点数、窗函数的类型等均可以通过指令进行配置,因此它可以根据配置,灵活的产生各类型的窗函数。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种基于查表的窗函数生成方法,其特征在于,包括以下步骤:
(1)、精简正余弦查找表的生成
DSP调用旋转因子生成函数产生N点的复数旋转因子向量TEMP[i],然后提取出正余弦项,其相位为:
提取的正余弦项即:
其中,组成精简正余弦查找表:
在DSP中分配一个长度为的存储空间并定义为数组w[n],在的范围内,将每一个i所对应的复数旋转因子向量TEMP[i]中的虚部,即依次存储到w[n]中的前半部分;将每一个i所对应的复数旋转因子向量TEMP[i]中的实部,即依次存储到数组w[n]中的后半部分;数组w[n]即精简正余弦查找表;
(2)、相位拓宽
根据正余弦函数的奇偶性和对称性,得到相位为时的正余弦函数值在精简正余弦查找表中对应的索引位置,使得相位覆盖[0,2π]的正余弦函数值均映射到了长度为相位覆盖的精正余弦简查找表上;
其中,所述的映射为:
(3)、等价变换及窗函数生成
在DSP中,先将窗函数的一般表达式等价变换为只包含两个因子的多项式,所述的两个因子为:
其中,i∈[0,N);
然后根据对应索引位置以及精简正余弦查找表提取两个因子对应的正余弦项代入等价变换后的窗函数表达式中,生成对应的窗函数。
2.根据权利要求1所述的基于查表的窗函数生成方法,其特征在于,步骤(3)中所述的等价变换为:
其中,a0、a1、a2、a3表示窗函数中相应各项的系数参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310134828.1A CN103235635B (zh) | 2013-04-18 | 2013-04-18 | 一种基于查表的窗函数生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310134828.1A CN103235635B (zh) | 2013-04-18 | 2013-04-18 | 一种基于查表的窗函数生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103235635A CN103235635A (zh) | 2013-08-07 |
CN103235635B true CN103235635B (zh) | 2016-02-10 |
Family
ID=48883681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310134828.1A Expired - Fee Related CN103235635B (zh) | 2013-04-18 | 2013-04-18 | 一种基于查表的窗函数生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103235635B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10145185A (ja) * | 1996-11-12 | 1998-05-29 | Yokogawa Electric Corp | ディジタルフィルタ装置 |
CN101190136A (zh) * | 2006-11-28 | 2008-06-04 | 深圳迈瑞生物医疗电子股份有限公司 | 实时产生滤波器系数的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100359823B1 (ko) * | 2000-06-22 | 2002-11-07 | 엘지전자 주식회사 | 필터 계수 생성 장치 |
-
2013
- 2013-04-18 CN CN201310134828.1A patent/CN103235635B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10145185A (ja) * | 1996-11-12 | 1998-05-29 | Yokogawa Electric Corp | ディジタルフィルタ装置 |
CN101190136A (zh) * | 2006-11-28 | 2008-06-04 | 深圳迈瑞生物医疗电子股份有限公司 | 实时产生滤波器系数的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103235635A (zh) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Düll et al. | High-speed Curve25519 on 8-bit, 16-bit, and 32-bit microcontrollers | |
Zhang et al. | A comparative study of dynamic changes in CO2 emission performance of fossil fuel power plants in China and Korea | |
Du et al. | Marginal abatement costs of carbon dioxide emissions in China: a parametric analysis | |
Nesterov | Towards non-symmetric conic optimization | |
CN103178851B (zh) | 一种产生spwm控制信号的新型采样方法 | |
CN104897961A (zh) | 基于互乘法窗函数的三谱线插值fft谐波分析方法及系统 | |
Kudithi | An efficient hardware implementation of the elliptic curve cryptographic processor over prime field | |
CN103365965B (zh) | 一种数据的汇总处理方法和装置 | |
CN102209962A (zh) | 计算离散傅里叶变换(dft)系数矩阵的方法和设备 | |
CN103150137A (zh) | 一种覆盖全圆周角度的单精度浮点三角函数的实现方法 | |
CN105911341A (zh) | 一种谐波无功功率的测量方法 | |
Wang et al. | Robust estimation of derivatives using locally weighted least absolute deviation regression | |
CN104459315A (zh) | 基于非基2fft变换的间谐波检测方法 | |
Chen et al. | Non‐intrusive Load Monitoring Using Gramian Angular Field Color Encoding in Edge Computing | |
CN103020015A (zh) | 点数为非2次幂的离散傅里叶变换快速计算的实现方法 | |
CN103235635B (zh) | 一种基于查表的窗函数生成方法 | |
CN103440226A (zh) | 基于hmm校正与神经网络延拓的emd端点效应抑制方法 | |
Shi et al. | A new asymptotic series for the Gamma function | |
CN105301354B (zh) | 一种乘性和加性噪声中谐波信号频率估计方法 | |
CN104503730A (zh) | 一种基于指令的大数点加、倍点运算电路及实现方法 | |
Aranđelović et al. | On nonlinear quasi-contractions on TVS-cone metric spaces | |
CN103365827A (zh) | 一种高精度正弦/余弦函数的计算方法 | |
CN103412188A (zh) | 基于贝塞尔函数与Toeplitz算法的SFM信号参数估计方法 | |
Liu et al. | Modified subspace Barzilai-Borwein gradient method for non-negative matrix factorization | |
CN104102471A (zh) | 一种应用fpga定点化技术实现指数cordic算法收敛域扩张的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160210 |