马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
sig=fmlin(128,0,0.25); %sig为仿真信号
M = length(sig); % 获取信号的长度
fs=1; %fs为采样频率
N = 128; %取采样点数
N = min(N, M);
WVD=zeros(N,M);
for n = 1:M
m = min([n-1,M-n,round(N/2)-1]);
tau = -m : m;
Temp = rem(N + tau,N) + 1;
WVD(Temp,n) = sig(n + tau) .* conj(sig(n - tau)); %计算x*(t-1/2τ) x(t+1/2τ)
end
WVD = fft(WVD)/N;
f = linspace(-0.25,0.25,N)*fs;
t = (0: M-1)/fs;
contour(t,f,abs(WVD));
axis([min(t) max(t) min(f) max(f)]);
ylabel('f');
xlabel('t / Sec');
上面是对一线性调频信号的离散wigner分布的程序,
仿真信号的频率范围为[0,0.25],为什么图像的频率会在[-0.25,0]呢?
在语句f = linspace(-0.25,0.25,N)*fs;中,若改为f = linspace(-0.5,0.5,N)*fs,为什么所得的等高线图是一样的呢?
程序中不对的地方请高手指正,谢谢 |