APP下载

基于Matlab的线性调频Z变换算法仿真

2016-08-29黄永平

实验技术与管理 2016年4期
关键词:傅里叶信号处理调频

黄永平, 于 含, 李 辉

(1. 河北大学 电子信息工程学院, 河北 保定 071002; 2. 石家庄邮电职业技术学院, 河北 石家庄 050021)



基于Matlab的线性调频Z变换算法仿真

黄永平1, 于含2, 李辉2

(1. 河北大学 电子信息工程学院, 河北 保定071002; 2. 石家庄邮电职业技术学院, 河北 石家庄050021)

线性调频Z变换(CZT)是一种比快速傅里叶变换(FFT)更有效计算信号频谱的算法。针对CZT理论性强,不易理解和掌握的特点,基于Matlab GUI功能设计了线性调频Z变换算法仿真界面,包括算法的计算路径、3种典型序列的线性调频Z变换、线性调频Z变换算法中涉及的中间序列,以及3种典型序列的快速傅里叶变换。通过对CZT和FFT仿真结果的对比,可以直观理解CZT更加灵活的特点;通过对算法计算路径的仿真和算法中涉及的中间序列的仿真,使学生更容易理解和掌握CZT算法原理,进而提高教学效果。

线性调频Z变换; Matlab; 快速傅里叶变换

作为数字信号处理的一种算法,线性调频Z变换(CZT)是一种比快速傅里叶变换(FFT)更有效计算离散傅里叶变换(DFT)的算法[1],适用于一般情况下沿螺旋曲线作等角度取样计算有限时宽Z变换的快速变换算法,它使得DFT的运算变得相当灵活,为数字信号处理技术应用于各种高速信号的快速处理创造了良好的条件,从而大大推动了数字信号处理技术的发展[2],广泛应用于雷达信号检测、雷达测距、电力系统间谐波检测、电力预测等各个领域[3-4]。但是,该算法理论性较强,学生不易理解和掌握,为了激发学生的学习兴趣、提高教学效果,基于Matlab GUI功能设计制作了CZT算法仿真界面。

Matlab是由美国Mathworks公司发布的主要面对科学计算、算法开发、数据可视化以及交互式程序设计的高科技计算语言和交互式环境。它将数值分析、矩阵计算、数据可视化以及非线性动态系统的建模和仿真等诸多功能集中在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案[5]。其中包含的各种函数可以为数字信号处理的各项内容快捷、方便地提供正确的答案和直观的图形显示[6],可以化抽象为具体,将课本上枯燥、难以理解的知识具体、形象化,加深学生对理论知识的理解和掌握,大大改进课程的教学方法,从而提高教学质量[7]。

1 CZT算法原理

1.1CZT算法原理

列长为N的有限长序列x(n)的Z变换[8]为:

(1)

在z平面一段螺旋线上等角度采样,采样点为

(2)

其中,M为要分析的复频谱的点数,M不一定等于N。A和W可以是任意复数,分别表示为:

(3)

因此,

(4)

CZT计算路径如图1所示,沿路径式(2),(1)式变为

(5)

图1 CZT的计算路径

(6)

定义新的序列:

(7)

(8)

(9)

因此X(zk)的计算流程如图2所示。

图2 CZT计算流程

根据图2,CZT的实现步骤主要包括以下几部分:

(1) 定圆周卷积周期L,L=2m且L≥N+M-1。

(2) 根据x(n)定义L点序列f(n)为

(10)

利用FFT计算f(n)的离散傅里叶变换F(k):

(3) 定义L点序列h(n):

(11)

(12)

利用FFT计算h(n)的离散傅里叶变换H(k);

(4) G(k)=F(k)H(k),利用IFFT计算G(k)的离散傅里叶反变换g(n);

1.2圆周卷积周期L的选取

CZT的实现步骤中的L=2m且L≥N+M-1,其中L=2m是因为要利用圆周卷积计算f(n)与h(n)两序列的线性卷积,而计算圆周卷积时利用圆周卷积定理用基2-FFT计算。

L取值为L≥N+M-1,可以根据图3通过以下证明得到:

因为f(n)中n的取值范围为0≤n≤N-1,h(n)中n的取值范围为-(N-1)≤n≤M-1;所以序列g(n)=f(n)*h(n)中n的取值范围为-(N-1)≤n≤N+M-2。

图3 线性卷积及其以L为圆周的周期卷积

而圆周卷积是线性卷积周期延拓后的主值序列,假设圆周卷积的周期为L,又因为求X(zk)时只用到了g(n)的前M个点g(k)。所以,线性卷积周期延拓时只要能保证n从0到M-1不混叠就可以。为此,g(n)左移1个周期时最右边一个点的n值要满足:N+M-2-L≤-1⟹L≥N+M-1;g(n)右移1个周期时最左边一个点的n值要满足:-(N-)+L≥M⟹L≥N+M-1。

所以,L的取值范围为L≥N+M-1。

2 CZT算法界面设计与仿真

根据CZT算法原理,利用Matlab GUI功能设计的CZT算法仿真[10-11]界面,主要包括CZT的计算路径和序列的CZT及FFT仿真两部分。

2.1CZT的计算路径

根据公式(2),设计了CZT的计算路径仿真界面,如图4中左上角部分,包括参数输入部分和路径仿真结果两部分,其中仿真结果包括计算数据和仿真图形两部分。输入参数以后,点击“确定”按钮,得到相应的仿真结果,不同类型的参数其仿真结果见图4。

图4 CZT的计算路径仿真结果

主要的程序如下:

A=a*exp(1i*c*pi);

W=b*exp(-1i*d*pi);%compute A and W

Zk=A.*W.^(-k); %computeZk

Rezk=real(Zk);

Imzk=imag(Zk);

plot(Zk,′r.′); grid on;

title(′The computational path of CZT′);% draw the path of CZT

通过仿真,验证了参数对计算路径的影响:A0和θ0控制着路径的起始位置,W0控制着路径的盘旋趋势,φ0控制着相邻取样点的角度差。

2.2序列CZT的仿真设计

根据CZT的计算流程图和实现步骤,设计制作了3种序列的CZT的及FFT仿真部分,如图5所示。这部分主要包括3种序列x(n)的参数输入、计算过程中产生的序列f(n)、h(n)以及两序列的卷积结果、序列的CZT和FFT仿真结果3部分。其中序列h(n)给出了根据式(11)和式(12)两种定义形式产生的仿真结果,相应的f(n)和h(n)的卷积也给出了两种仿真结果。通过对两种仿真结果图的对比,可以验证根据公式(11)和(12)两种定义形式产生的序列g(n)的前M个点g(k)完全相同。

主要程序如下:

L = 2^nextpow2(M+N-1);

sita0=pi*1/3;fai0=pi*0.1;

A=a*exp(j*sita0); w=b*exp(-j*fai0);

n1=0.5.*n.^2; w1=w.^n1;A1=A.^(-n);

fn1=x1.*A1.*w1; fn=[fn1,zeros(1,L-N)];

n2=-0.5.*k.^2; hn1=w.^n2;n3=-0.5.*(L-k1).^2; hn2=w.^n3;

n31=-0.5.*(L-k11).^2; hn21=w.^n31;

h1=[hn1,ones(1,L-N-M+1),hn21]; h2=[hn1,hn2];

y=conv(fn,h1);%The convolution of f(n) and h(n) in (10) and (11)

y=conv(fn,h2);% The convolution of f(n) and h(n) in (10) and (12)

y=czt(x1,M,W,A);%compute CZT ofx(n)

XK=fft(x1,N); %compute FFT ofx(n)

图5(a)中x(n)是正弦序列,通过对比序列的CZT和FFT仿真结果得出结论:CZT较FFT更灵活,可以在某一频段上取更多点来改善分辨率,达到频域“细化”的目的,可以更好地分析窄带信号[12]。

3 结论

线性调频Z变换算法使得DFT的运算变得相当灵活,理论性较强。本文从理论和实验仿真两方面对该算法中的难点进行了证明和验证;利用Matlab GUI功能设计制作的算法仿真界面形象直观,有助于提高学生的学习兴趣和积极性,进而更好地理解和掌握基本理论,达到提高教学效果的目的。

图5 序列的CZT及FFT仿真结果

References)

[1] 陶德元,马代兴.CZT数字计算法及其运用[J].四川大学学报:自然科学版,1987,24(4):501-506.

[2] 赵刚.基于MATLAB的线性调频Z变换及应用[J].技术物理教学,2007,15(4):31-33.

[3] 王春艳,黄仁欣,宗成阁,等.基于Chirp-Z变换的LFMCW系统测距算法仿真研究[J].微计算机信息,2005,21(12-3):188-189.

[4] 黄小佳,刘亚梅,廖学静,等.基于多峰谱线插值的间谐波检测新方法[J].四川电力技术,2009,32(1):54-58.

[5] 罗军辉,罗勇江,白义臣,等.Matlab7.0在数字信号处理中的应用[M].北京:机械工业出版社,2005.

[6] 周利清,苏菲.数字信号处理基础[M].2版.北京:北京邮电大学出版社,2008.

[7] 黄永平,李彩霞,田晓燕.基于MATLAB和双线性变换法的IIR数字滤波器设计与仿真[J].河北软件职业技术学院学报,2012(2):48-50.

[8] 李芬华,常铁原,潘立冬,等.数字信号处理[M].北京:中国计量出版社,2007.

[9] Tien T Wang. The Segmented Chirp 2-Transform and Its Application in Spectrum Analysis[J]. IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT,1990,39(2):318-323.

[10] 唐向宏,岳恒立,郑雪峰.MATLAB及在电子信息类课程中的应用[M].北京:电子工业出版社,2006.

[11] Huang Yongping, Li Caixia, Tian Xiuli. The Simulation of the Chirp-Z Transform Based on MATLAB GUI[C]//ICMT 2013.2013:48-54.

[12] 徐建军,胡光,李锦明.线性调频Z变换在信号频谱分析中的应用[J].应用基础与工程科学学报,2009,17(6):966-972.

Simulation of chirp-z transform based on Matlab

Huang Yongping1, Yu Han2, Li Hui2

(1. College of Electronics and Information Engineering, Hebei University, Baoding, 071002, China;2. Shijiazhuang Posts and Telecommunications Technical College, Shijiazhuang 050021, China)

The CZT is more flexible than the Fast Fourier Transform(FFT) in calculating the frequency spectrum. Aiming at the algorithm being strongly theoretical and difficult to understand and master, this paper designs the simulation interface of CZT based on Matlab GUI, including the computational path of CZT, realizing process, the intermediate sequences involved in the algorithm, three sequences and their simulation of CZT and FFT. The simulation will help students to understand and grasp the algorithm which can improve the teaching quality.

CZT; Matlab; FFT(Fast Fourier Transform)

DOI:10.16791/j.cnki.sjg.2016.04.017

2015- 09- 17修改日期:2016- 01- 19

河北大学第八批教学改革研究课题(JX08-YB-32);河北省科技计划自筹经费项目(15210409);河北大学青年基金项目(2011Q01)

黄永平(1977— ),女, 河北定州,硕士,讲师,主要研究方向为信号与信息处理.

E-mail:hyp2013@163.com

TN911.72; G423.07

A

1002-4956(2016)4- 0057- 04

猜你喜欢

傅里叶信号处理调频
考虑频率二次跌落抑制的风火联合一次调频控制
双线性傅里叶乘子算子的量化加权估计
基于小波降噪的稀疏傅里叶变换时延估计
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
基于傅里叶变换的快速TAMVDR算法
调频发射机技术改造
调频激励器干扰的排除方法