mywigner2.m
来自「wigner分布的计算」· M 代码 · 共 50 行
M
50 行
clc;clear;
%Wigner分布
%2006年11月
%设置信号
j = sqrt(-1);
f = 200;
% signal = mysignal(f);
signal = rand(1,f+1);
% signal = mysignal_deta(f);
%双信号形式
% s1 = mysignal(f);
% s2 = mysignal(f);
% s2 = mysignal(f,1);
% s1 = mysignal(f,1);
%
% signal = [s1,0,s2];
%
[r,N]= size(signal); %N为信号的点数
%计算信号的共轭对称的镜像
conj_signal = conj(signal);
x_signal = mymirror(conj_signal);
%计算卷积
z_signal = hankel([zeros(1,(N-1)/2),signal]);
z_signal_matrix = z_signal(1:N,1:N);
clear z_signal;
z_conj_signal = toeplitz([x_signal(1),zeros(1,N-1)],[x_signal,zeros(1,(N-1)/2)]);%,zeros(1,N/2+1)//N+N/2
z_conj_signal_matrix = z_conj_signal(1:N,(N+1)/2:(3*N-1)/2);
clear z_conj_signal;
z_matrix = z_signal_matrix.*z_conj_signal_matrix;
%计算核函数
k = -(N-1)/2:1:(N-1)/2;
exp_matrix= exp(-4*pi*j*k'/(2*N+1)*[0:N-1]);
%计算Wigner分布
wigner_tr=(z_matrix*exp_matrix);
% 画出三维立体图
figure(1)
A = real(wigner_tr);
x = [0:1:(N-1)];
y = [0:1:(N-1)];
[X,Y] = meshgrid(x,y);
surfc(X,Y,A);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?