关于线性调频Z变换(chirp-z transform)加速运算与逆变换
线性调频Z变换CZT
- 概念
- 与傅里叶变换FT的区别
- 关于CZT的加速运算(FFT代替卷积)
- 一维CZT逆变换(伪)
- 二维CZT逆变换(伪)
- 代码(matlab,与fft2做对比)
- 效果与分析过程
概念
线性调频变换,是一种广义的傅里叶变换,在1969年被提出,通常用于处理时序信号的频谱或时域信息,能细化感兴趣区间的信息。
与傅里叶变换FT的区别
从公式上进行分析,设xxx为时序信号,FT的公式为X(z)=∑n=0Nx(n)z−nX(z)={\sum_{n=0}^{N}x(n)z^{-n}}X(z)=∑n=0Nx(n)z−n,其中z=e−j2πϕ0k,k=0,1,...,M−1z=e^{-j2\pi\phi_{0}k},k=0,1,...,M-1z=e−j2πϕ0k,k=0,1,...,M−1,MMM为采样点数,ϕ0k\phi_{0}kϕ0k为总采样间隔,n{n}n为时序信号的某一时刻,根据欧拉公式可知其实傅里叶变换可看作在复平面上的单位圆上按照逆时针方向进行采样。
而线性调频z变换的公式比傅里叶变换增多一个虚部项,具体为CZT(z)=∑n=0Nx(n)z−nCZT(z)=\sum_{n=0}^{N}x(n)z^{-n}CZT(z)=∑n=0Nx(n)z−n,其中z=AW−k,k=0,1,...M−1z=AW^{-k},k=0,1,...M-1z=AW−k,k=0,1,...M−1,W=W0ej2πϕ0W=W_{0}e^{j2\pi\phi_{0}}W=W0ej2πϕ0,A=A0ej2πθ0A=A_0e^{j2\pi\theta_0}A=A0ej2πθ0,即CZT(z)=∑n=0Nx(n)A0−nW0−nejn2π(θ0−ϕ0k)CZT(z)=\sum_{n=0}^{N}x(n){A_{0}^{-n}}{W_{0}^{-n}}e^{jn2\pi(\theta_0-\phi_{0}k)}CZT(z)=n=0∑Nx(n)A0−nW0−nejn2π(θ0−ϕ0k)
其中A0A_0A0为起始采样点的半径长度,A0=1A_0=1A0=1时为单位圆的半径;W0W_0W0为螺旋线的伸展率,当W0<1W_0<1W0<1螺旋线延顺时针方向向外伸展,当W0>1W_0>1W0>1螺旋线延顺时针方向向内收缩,等于1时就是半径的一段圆弧。
ϕ0\phi_0ϕ0为采样间距角,θ0\theta_0θ0为采样起始角,根据感兴趣区域进行人为设定;
利用CZT对原始信号进行处理时,令dtdtdt与采样点数M和时域跨度Tmax−TminT_{max}-T_{min}Tmax−Tmin有关dt=(Tmax−Tmin)/(M−1)dt=(T_{max}-T_{min})/(M-1)dt=(Tmax−Tmin)/(M−1)θ0\theta_0θ0采样起始角与起始频率f0f_0f0、时域步长dtdtdt有关,即θ0=2πf0dt\theta_0=2\pi{f_0}dtθ0=2πf0dtϕ0\phi_0ϕ0采样间距角与采样起始角θ0\theta_0θ0、采样终止角θend\theta_endθend以及采样点是MMM有关,即ϕ0=(θend−θ0)/2π(M−1)\phi_0=(\theta_{end}-\theta_0)/2\pi(M-1)ϕ0=(θend−θ0)/2π(M−1)在确定需要放大的频段时,需要找到起始f0f_0f0对应的θ0\theta_0θ0,终止频率fendf_{end}fend对应的2(M−1)ϕ0+θ02(M-1)\phi_0+\theta_02(M−1)ϕ0+θ0,举个例子:
当起始频率为f10f_{10}f10时,那么对应的θ10\theta_{10}θ10为2πf10dt2\pi{f_{10}}dt2πf10dt,同理θend=2πfenddt\theta_{end}=2\pi{f_{end}}dtθend=2πfenddt,采样间隔ϕ=(θend−θ10)/2π(M−1)\phi=(\theta_{end}-\theta_{10})/2\pi(M-1)ϕ=(θend−θ10)/2π(M−1)
关于CZT的加速运算(FFT代替卷积)
从CZT公式出发X(z)=∑n=0N−1x(n)A0−ne−jθ0nW0−ne−jφnk,k=0,1,...,M−1X(z)=\sum_{n=0}^{N-1}x(n)A_0^{-n}e^{-j\theta_0n}W_0^{-n}e^{-j\varphi{nk}},k=0,1,...,M-1X(z)=n=0∑N−1x(n)A0−ne−jθ0nW0−ne−jφnk,k=0,1,...,M−1可知一共进行了NMNMNM次乘法,(N−1)M(N-1)M(N−1)M次加法,时间复杂度较高,考虑到频率相乘等于时域的卷积,那么对nknknk项进行处理:nk=12[n2+k2−(k−n)2]nk=\frac{1}{2}[n^2+k^2-(k-n)^2]nk=21[n2+k2−(k−n)2],拆解X(z)X(z)X(z)得X(z)=∑n=0N−1x(n)A−nWk22Wn22W−(k−n)22=Wk22[∑n=0N−1x(n)A−nWn22]W−(k−n)22X(z)=\sum_{n=0}^{N-1}x(n)A^{-n}W^{\frac{k^2}{2}}W^{\frac{n^2}{2}}W^{\frac{-(k-n)^2}{2}}=W^{\frac{k^2}{2}}[\sum_{n=0}^{N-1}x(n)A^{-n}W^{\frac{n^2}{2}}]W^{\frac{-(k-n)^2}{2}}X(z)=n=0∑N−1x(n)A−nW2k2W2n2W2−(k−n)2=W2k2[n=0∑N−1x(n)A−nW2n2]W2−(k−n)2其中令g(n)=x(n)A−nWn22g(n)=x(n)A^{-n}W^{\frac{n^2}{2}}g(n)=x(n)A−nW2n2,h(n)=W−n22h(n)=W^{-\frac{n^2}{2}}h(n)=W−2n2,写成卷积形式X(z)=Wk22∑n=0N−1g(n)h(k−n)=Wk22[g(k)∗h(k)]X(z)=W^{\frac{k^2}{2}}{\sum_{n=0}^{N-1}g(n)h(k-n)}=W^{\frac{k^2}{2}}[g(k)*h(k)]X(z)=W2k2n=0∑N−1g(n)h(k−n)=W2k2[g(k)∗h(k)]实际上,采样长度一般为2n2^n2n,不足2n2^n2n部分进行补零操作,那么有g(n)={x(n)A−nWk22,n∈[0,N−1]0,n∈[N,L−1]L=N+M−1g(n)=\left\{\begin{matrix}x(n)A^{-n}W^{\frac{k^2}{2}},n\in[0,N-1] &\\ 0,n\in[N,L-1] & \end{matrix}\right.L=N+M-1g(n)={x(n)A−nW2k2,n∈[0,N−1]0,n∈[N,L−1]L=N+M−1对于h(n)={W−n22,n∈[0,M−1]0,n∈[N,L−N]W−(L−n)22,n∈[L−N+1,L−1]L=N+M−1h(n)=\left\{\begin{matrix}W^{-\frac{n^2}{2}},n\in[0,M-1] &&\\ 0,n\in[N,L-N] &&\\W^{-\frac{(L-n)^2}{2}},n\in[L-N+1,L-1] \end{matrix}\right.L=N+M-1h(n)=⎩⎪⎨⎪⎧W−2n2,n∈[0,M−1]0,n∈[N,L−N]W−2(L−n)2,n∈[L−N+1,L−1]L=N+M−1
利用FFT加速卷积运算,此时的X′X'X′长度仍为L:X′(z)=IFFT[FFT[g(k)]∗FFT[h(k)]]X'(z)=IFFT[FFT[g(k)]*FFT[h(k)]]X′(z)=IFFT[FFT[g(k)]∗FFT[h(k)]],最后截断长度到MMM,乘以虚部项,完成计算X(z)=Wk22[X′(z)qM(k)],qM(k)={1,k=0,1,...,M0,k=otherX(z)=W^{\frac{k^2}{2}}[X'(z)q_M(k)], q_M(k)=\left\{\begin{matrix}1,k=0,1,...,M &\\ 0,k=other \end{matrix}\right.X(z)=W2k2[X′(z)qM(k)],qM(k)={1,k=0,1,...,M0,k=other
推导到二维上,需要对g(n),h(n)g(n),h(n)g(n),h(n)进行修改,设kx,kyk_x,k_ykx,ky为图像上某一像素点,有g(kx,ky)={x(kx,ky)Ax−kxAy−kyWx−kx22Wy−ky22,0⩽kx⩽Nx−10⩽ky⩽Ny−10,Nx⩽kx⩽Lx−1Ny⩽ky⩽Ly−1g(k_x,k_y)=\left\{\begin{matrix}x(k_x,k_y)A_x^{-k_x}A_y^{-k_y}W_x^{-\frac{k_x^2}{2}}W_y^{-\frac{k_y^2}{2}},&0\leqslant k_x\leqslant N_x-1\\&0\leqslant k_y \leqslant N_y-1 & \\ &\\ & \\ 0,&N_x\leqslant k_x\leqslant L_x-1\\&N_y\leqslant k_y \leqslant L_y-1 & \end{matrix}\right.g(kx,ky)=⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧x(kx,ky)Ax−kxAy−kyWx−2kx2Wy−2ky2,0,0⩽kx⩽Nx−10⩽ky⩽Ny−1Nx⩽kx⩽Lx−1Ny⩽ky⩽Ly−1
h(kx,ky)={Wx−kx22Wy−ky22,kx∈[0,Mx−1],ky∈[0,My−1]Wx−kx22Wy−(Ly−ky)22,kx∈[0,Mx−1],ky∈[My,Ly−1]Wx−(Lx−kx)22Wy−ky22,kx∈[Mx,Lx−1],ky∈[0,My−1]Wx−(Lx−kx)22Wy−(Ly−ky)22,kx∈[Mx,Lx−1],ky∈[My,Ly−1]h(k_x,k_y)=\left\{\begin{matrix}W_x^{-\frac{k_x^2}{2}}W_y^{-\frac{k_y^2}{2}},&k_x\in[0,M_x-1],k_y\in[0,M_y-1] & \\W_x^{-\frac{k_x^2}{2}}W_y^{-\frac{(L_y-k_y)^2}{2}},&k_x\in[0,M_x-1],k_y\in[M_y,L_y-1] &\\ W_x^{-\frac{(L_x-k_x)^2}{2}}W_y^{-\frac{k_y^2}{2}},&k_x\in[M_x,L_x-1],k_y\in[0,M_y-1] & \\ W_x^{-\frac{(L_x-k_x)^2}{2}}W_y^{-\frac{(L_y-k_y)^2}{2}},&k_x\in[M_x,L_x-1],k_y\in[M_y,L_y-1] & \end{matrix}\right.h(kx,ky)=⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧Wx−2kx2Wy−2ky2,Wx−2kx2Wy−2(Ly−ky)2,Wx−2(Lx−kx)2Wy−2ky2,Wx−2(Lx−kx)2Wy−2(Ly−ky)2,kx∈[0,Mx−1],ky∈[0,My−1]kx∈[0,Mx−1],ky∈[My,Ly−1]kx∈[Mx,Lx−1],ky∈[0,My−1]kx∈[Mx,Lx−1],ky∈[My,Ly−1]
利用FFT完成卷积为
X′(zp,zq)=IFFT{FFT[g(kx,ky)]∗FFT[h(kx,ky)]}X'(z_p,z_q)=IFFT\left \{FFT[g(k_x,k_y)]*FFT[h(k_x,k_y)] \right \}X′(zp,zq)=IFFT{FFT[g(kx,ky)]∗FFT[h(kx,ky)]}
也可以先行后列或者先列后行地进行一维加速处理,可以这么做的原因是因为CZT还是一种线性变换。
一维CZT逆变换(伪)
需要注意的是,CZT无类似于傅里叶逆变换的运算,也就是逆CZT变换,实际上放大的频谱做逆变换时,并不会对应地放大时域信息,2019年有文章Generalizing the inverse FFT off the unit circle(https://www.nature.com/articles/s41598-019-50234-9)提出一种逆变换的运算,本质上利用托普雷兹矩阵和范德蒙矩阵完成正向变换和逆变换,作者提出的正向变换也能达到加速效果,CZT逆变换过程从直观感受角度上讨论,的确是绕着螺旋线逆方向进行计算,如图
公式推导上并无问题,但转换到代码实验后,实际上也无法验证结果是否正确,除了特殊情况A=1,W0=1A=1,W_0=1A=1,W0=1的情况,CZT退化为DFT;定义Conj(⋅)Conj(·)Conj(⋅)为共轭算子,此时的逆变换也退化成公式:x(n)=Conj(czt(Conj(X(z))))x(n)=Conj(czt(Conj(X(z))))x(n)=Conj(czt(Conj(X(z)))),即L⋅x(n)=Conj[∑n=0N−1[∑n=0N−1(Conj(X(z)))A−nWnk]]=∑n=0N−1[∑n=0N−1(x(n)ejθ0nejφnk)e−jθ0ne−jφnk]L·x(n)=Conj[\sum_{n=0}^{N-1}[\sum_{n=0}^{N-1}(Conj(X(z)))A^{-n}W^{nk}]]=\sum_{n=0}^{N-1}[\sum_{n=0}^{N-1}(x(n)e^{j\theta_0n}e^{j\varphi nk})e^{-j\theta0n}e^{-j\varphi nk}]L⋅x(n)=Conj[n=0∑N−1[n=0∑N−1(Conj(X(z)))A−nWnk]]=n=0∑N−1[n=0∑N−1(x(n)ejθ0nejφnk)e−jθ0ne−jφnk]=∑n=0N−1(x(n)ekθ0nejφnk)∑n=0N−1(e−jθ0ne−jφnk)=\sum_{n=0}^{N-1}(x(n)e^{k\theta_0n}e^{j\varphi nk})\sum_{n=0}^{N-1}(e^{-j\theta_0n}e^{-j\varphi nk})=n=0∑N−1(x(n)ekθ0nejφnk)n=0∑N−1(e−jθ0ne−jφnk)(PS:代码稍后贴上)
二维CZT逆变换(伪)
这里的逆变换指的是当CZT退化成DFT时的逆变换
MN⋅x(n)=Conj(∑m=0M−1∑n=0N−1[∑m=0M−1∑n=0N−1(Conj(X(m,n)))Ax−nWxnkxAy−mWymky])MN·x(n)=Conj(\sum_{m=0}^{M-1}\sum_{n=0}^{N-1}[\sum_{m=0}^{M-1}\sum_{n=0}^{N-1}(Conj(X(m,n)))A_x^{-n}W_x^{nk_x}A_y^{-m}W_y^{mk_y}])MN⋅x(n)=Conj(m=0∑M−1n=0∑N−1[m=0∑M−1n=0∑N−1(Conj(X(m,n)))Ax−nWxnkxAy−mWymky])
代码(matlab,与fft2做对比)
clear all;
clc;
path = '';
img = imread(path);
img = rgb2gray(img);
img = imresize(img,[128,128]);
row = length(img(:,1)); col = length(img(1,:));start_x = 50; start_y = 50;
end_x = row-start_x+1; end_y = col-start_y+1;%% parameters settings;
nx = row; ny = col;
xspan = row-1; yspan = col-1;
dx = xspan / (nx-1); dy = yspan / (ny-1);fx = fftshift(fftfreq(nx,dx)); fy = fftshift(fftfreq(ny,dy));nfx = length(fx); nfy = length(fy);
fxspan = fx(end) - fx(1); fyspan = fy(end) - fy(1);
dfx = fxspan / (nfx-1); dfy = fyspan / (nfy-1);Nx = nx;Mx = 1*Nx;Lx = Nx + Mx -1; Ny = ny;My = 1*Ny;Ly = Ny + My -1;
p = 0:Nx-1; q = 0:Ny-1;
xita_startx = 2*pi*fx(start_x)*dx; xita_starty = 2*pi*fy(start_y)*dy;
xita_endx = 2*pi*fx(end_x)*dx; xita_endy = 2*pi*fy(end_y)*dy;
phi_x = (xita_endx-xita_startx)/(2*pi*(nx-1)); phi_y = (xita_endy-xita_starty)/(2*pi*(ny-1));
% xita_startx = 2*pi*fx(start_x)*Mx; xita_starty = 2*pi*fy(start_y)*My;
% phi_x = fxspan / (Mx*Nx); phi_y = fyspan / (My*Ny);%% W and A definationWx = exp(-1i*2*pi*phi_x); Wy = exp(-1i*2*pi*phi_y);
Ax = exp(1i*xita_startx); Ay = exp(1i*xita_starty);%% part.1 one time finish, but doesnt match;
tic
ky = 0:Ny-1; kx = 0:Nx-1;
g = ((Ax.^(-kx)) .* (Wx.^(0.5*(kx.^2))))' * ((Ay.^(-ky)) .* (Wy.^(0.5*(-ky.^2)))); % generate a mask to match img
G = zeros(Lx,Ly);
IMG = zeros(Lx,Ly);for i = 1:Nxfor j = 1:NyG(i,j) = g(i,j);IMG(i,j) = img(i,j);end
endG_ = G.*IMG;
fftg = fft2(G_);%% Alter part 1.1 try to seperate in row and col;
% g = zeros(row,col);
% for i = 1:col
% g(:,i) = double(img(:,i)) .* ((Ax.^(-kx)) .* (Wx.^(0.5*(kx.^2))))';
% g(:,i) = fftshift(g(:,i));
% end% for j = 1:row
% g(j,:) = g(j,:) .* (Ay.^(-ky)) .* (Wy.^(0.5*(-ky.^2)));
% g(j,:) = fftshift(g(j,:));
% end
% fftg = fft2(g);%% h(n) mask
% kx = 0:Mx-1; ky = 0:My-1;
% h1 = (Wx.^(0.5*(kx.^2)))' * (Wy.^(0.5*(ky.^2))); % 0~Mx , 0~My
% kx = Mx:Lx-1; ky = My:Ly-1;
% h2 = (Wx.^(0.5*((Lx-kx).^2)))' * (Wy.^(0.5*((Ly-ky).^2))); % Nx~Lx-1 , Ny~Ly-1% kx = Mx:Lx-1; ky = 0:My-1;
% h1_com = (Wx.^(0.5*(kx.^2)))' * (Wy.^(0.5*((Ly-ky).^2)));
% kx = 0:Mx-1; ky = My:Ly-1;
% h2_com = (Wx.^(0.5*((Lx-kx).^2)))' * (Wy.^(0.5*(ky.^2))); % h = [h1,h2];
% ffth = fftshift(fft(h1));H = zeros(Lx,Ly);
for i = 1:Mxfor j = 1:MyH(i,j) = (Wx.^(0.5*((i-1).^2)))' * (Wy.^(0.5*((j-1).^2)));end
endfor i = Mx+1:Lxfor j = My+1:LyH(i,j) = (Wx.^(0.5*((Lx-i+1).^2)))' * (Wy.^(0.5*((Ly-j+1).^2)));end
endfor i = Mx+1:Lxfor j = 1:MyH(i,j) = (Wx.^(0.5*((Lx-i+1).^2)))' * (Wy.^(0.5*((j-1).^2)));end
endfor i = 1:Mxfor j = My+1:LyH(i,j) = (Wx.^(0.5*((i-1).^2)))' * (Wy.^(0.5*((Ly-j+1).^2)));end
endffth = fft2(H);f = ifft2(fftshift(fftg.*ffth));pWx = Wx.*(0.5.*(p.^2)); qWy = Wy.*(0.5.*(q.^2));
Am_mask = (pWx'*qWy);
pqMask = zeros(Lx,Ly);
for i = 1:length(p)for j = 1:length(q)pqMask(i,j) = Am_mask(i,j);end
endX = f.*pqMask;
toc%% Directly 2d CZT
% tic
% kx = 0:Nx-1; ky = 0:Ny-1;% Wx = exp(-1i*2*pi*phi_x*kx); Wy = exp(-1i*2*pi*phi_y*ky);
% Ax = exp(1i*xita_startx*-kx); Ay = exp(1i*xita_starty*-ky);% direct_czt = zeros(Mx,My);% for i = 1:Mx
% for j = 1:My
% direct_czt = direct_czt + double(img(i,j)) .* ((Ax) .* (Wx.^i))' * ((Ay) .* (Wy.^j));
% end
% end
% toc%% part.2 ICZT direct formula for img
X_conj = conj(X);
direct_iczt = zeros(Lx,Ly);
kx = 0:Lx-1;
ky = 0:Ly-1;
iWx = exp(1i*2*pi*phi_x*-kx); iWy = exp(1i*2*pi*phi_y*-ky);
for i = 1:Lxfor j = 1:Lydirect_iczt = direct_iczt + X_conj(i,j) .* ((Ax.^-i) .* (iWx.^i))' * ((Ay.^-j) .* (iWy.^j));end
endfinal_Direct = conj(direct_iczt) ./ (Lx*Ly);
img_Direct_iczt = final_Direct; % (1:row,1:col)%% Alter part 2.2 try to do in row and col;
% X_conj = conj(X);
% direct_iczt = zeros(Lx,Ly);
% kx = 0:Lx-1;
% ky = 0:Ly-1;
% iWx = exp(1i*2*pi*phi_x*-kx); iWy = exp(1i*2*pi*phi_y*-ky);
% for i = 1:Lx
% direct_iczt(:,i) = direct_iczt(:,i) + X_conj(:,i) .* ((Ax.^-i) .* (iWx.^i))';
% end% for i = 1:Ly
% direct_iczt(j,:) = direct_iczt(j,:) + direct_iczt(j,:) .* ((Ay.^-j) .* (iWy.^j))';
% end% final_Direct = conj(direct_iczt) ./ (Lx*Ly);
% img_Direct_iczt = final_Direct(1:row,1:col);%% draw image to show
tmp1 = figure(1);set(tmp1,'name','original img with padding','Numbertitle','off');
imagesc(IMG);
tmp2 = figure(2);set(tmp2,'name','the log fft2 of padding img','Numbertitle','off');
imagesc(log(abs(fftshift(fft2(IMG)))));
tmp3 = figure(3);set(tmp3,'name','the G mask','Numbertitle','off');
imagesc(abs(fftshift(fftg))));
tmp4 = figure(4);set(tmp4,'name','the H mask(shift)','Numbertitle','off');
imagesc(abs(fftshift(H)));
tmp5 = figure(5);set(tmp5,'name','the f is ifft2(fftg*ffth)','Numbertitle','off');
imagesc(log(abs(f)));
tmp6 = figure(6);set(tmp6,'name','iift2 for f','Numbertitle','off');
imagesc(abs(fftshift(ifft2(X))));
tmp7 = figure(7);set(tmp7,'name','Direct iczt','Numbertitle','off');
imagesc(abs(img_Direct_iczt));
效果与分析过程
待施工……
关于线性调频Z变换(chirp-z transform)加速运算与逆变换相关推荐
- 计算机控制z反变换公式,计算机控制技术第二章Z变换及Z传递函数.ppt
计算机控制技术第二章Z变换及Z传递函数 第2章 Z变换及Z传递函数 2.1 Z变换定义与常用函数Z变换 2.1.1 Z变换的定义 已知连续信号f(t)经过来样周期为T的采样开关后,变成离散的脉冲序列函 ...
- 【信号与系统】(二十三) z变换与z域分析——z变换及其性质
文章目录 z变换及其性质 1 z变换定义及收敛域 2 常用序列的z变换 3 z变换性质 3.1 线性.移序.反折 3.2 z域尺度特性.微分 3.3 时域卷积 3.4 部分和 3.5 初值定理和终值定 ...
- matlab零阶保持器法求z变换,教你快速求解闭环脉冲传递函数φ(z)或输出Z变换C(z)!...
大家好,我是宝刀君,很高兴我们又见面了~ 在离散系统分析中,大家刚开始学习时,会遇到2类题:一类是没有采样开关,让你求系统的输出Z变换C(z):另一类是有采样开关时,让你求系统的闭环脉冲传递函数,进而 ...
- 【MATLAB】Z变换和Z反变换
Z变换:ztrans Z反变换:iztrans >> f2=((10*x*x))/((2*x+1)*(5*x+1))f2 =(10*x^2)/((2*x + 1)*(5*x + 1))&g ...
- 【信号与系统】(二十四)z变换与z域分析——z域分析
文章目录 z域分析(注意与s域类比) 1 差分方程的z变换解 2 系统函数H(z)H(z)H(z) 3 系统函数与系统特性 4 离散系统稳定性判据 5 系统的方框图 6 系统的z域信号流图 6. 1 ...
- MATLAB——Z变换与Z反变换
题目1: 用部分分式法求系统函数的z反变换,并用图形与impz求得的结果相比较. 已知系统函数: X ( z ) = 0.1321 − 0.3963 z − 2 + 0.3962 z − 4 1 + ...
- 线性调频Z变换 CZT
文章目录 [1. 原理] 1.1 公式推导 1.2 z k z_k zk 所在的路径 1.3 CZT的特点 [2. CZT的实现步骤] 2.1 线性卷积 2.2 循环卷积 [3. CZT的应用] 3 ...
- 傅里叶变换、拉普拉斯变换、Z 变换的联系是什么?为什么要进行这些变换?...
注.星标嵌入式客栈,精彩及时送达 [导读] 在知乎上看到一个问题,傅里叶变换.拉普拉斯变换.Z 变换的联系是什么?为什么要进行这些变换?我觉得这是一个非常好的问题,貌似一下子也回答不上来,所以整理学习 ...
- 正交变换(傅里叶变换、Z变换)
正交变换(傅里叶变换.Z变换) 信号分解方法多种多样,我们可将信号分解为直流分量+交流分量.偶分量+奇分量.实部分量+虚部分量.脉冲分量.正交分量等多种形式.其中一个较复杂而又有重要意义的分解方法 ...
最新文章
- rails 放在 apache一个目录下面的配置方法
- Swift 5 时代的机遇与挑战到底在哪里?
- 用科技共创美好:英特尔助力北京冬奥会新体验
- idea 报 Cannot access alimaven
- Zookeeper四字监控命令使用总结
- 使用 Laravel 5.5+ 更好的来实现 404 响应
- AUTOCAD——计算面积的方法
- VOFA+ 串口调试助手
- 危害移动数据安全的风险有哪些?
- 伯努利公式怎么推导的
- 网页无插件视频流媒体播放器EasyPlayerPro-IOS版如何解决有声音无画面的问题?
- 520,用Python定制你的《本草纲目女孩》
- 盘点2022热词、网络流行语!富而喜悦摆渡人走红!
- msf后渗透之文件交互指令、上传下载文件、屏幕截图、键盘记录、创建账户、音频录像和提权(上)
- 3V, 256Mb MX25L25673GM2I-08G FLASH - NOR 存储器PDF
- (win11)VMware虚拟机Ubuntu系统--C语言(操作系统实验课)
- 一些对模糊搜索的思考
- 软件测试 中静态测试与动态测试的区别
- 生产计划自动排程目标是什么?
- 全志A10平板上的ubuntu终极安装版,支持HDMI和平板本机LCD,全新内核硬浮点加速,堪比i3 XP平台...