数字信号处理——Chirp Z变换

一、前言。

Chirp Z变换也叫czt变换或者线性调频变换。

二、CZT原理。

三、CZT的算法步骤:

四、CZT的特点(与FFT比较):

五、CZT的Matlab实现。

function [] = chirpz() 
clear;close all;clc;

x = [1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0];

A0 = 1; % 起始取样点的半径,A0<=1
phi0 = 0; % 起始取样点Z0的相角
psi0 = pi*0.1;  % 相邻两点间的等分角
W0 = 1; % 螺旋线的伸展率,W0<1外伸,W0>1内缩,W0=1为半径A0的一段弧,若A0=1为单位圆的一部分

A = A0 * exp(j*phi0);
W = W0 * exp(-j*psi0);
M = 8;
z = A*(W.^(-(0:M-1)));
zplane([],z.'); % z平面分布

figure
y1 = czt(x,M,W,A); % 利用自定义参数的czt
subplot(311);
plot(abs(y1),'r');

y2 = fft(x); % 等间隔采样的fft
subplot(312);
plot(abs(y2),'b');

A = 1;
M = length(x);
W = exp(j*2*pi/M);
y3 = czt(x,M,W,A); % 特殊情况下的czt=fft
subplot(313);
plot(abs(y3),'b');
function [] = chirpz() 
clear;close all;clc;

x = [1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0];

A0 = 1; % 起始取样点的半径,A0<=1
phi0 = 0; % 起始取样点Z0的相角
psi0 = pi*0.1;  % 相邻两点间的等分角
W0 = 1; % 螺旋线的伸展率,W0<1外伸,W0>1内缩,W0=1为半径A0的一段弧,若A0=1为单位圆的一部分

A = A0 * exp(j*phi0);
W = W0 * exp(-j*psi0);
M = 8;
z = A*(W.^(-(0:M-1)));
zplane([],z.'); % z平面分布

figure
y1 = czt(x,M,W,A); % 利用自定义参数的czt
subplot(311);
plot(abs(y1),'r');

y2 = fft(x); % 等间隔采样的fft
subplot(312);
plot(abs(y2),'b');

A = 1;
M = length(x);
W = exp(j*2*pi/M);
y3 = czt(x,M,W,A); % 特殊情况下的czt=fft
subplot(313);
plot(abs(y3),'b');

结果如下:

从上图可以看出,第一张子图为第二张子图的细节。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值