📄 mywigner2.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -