[B,T,F] = tfrwv(data, 1:length(data), length(data), 1);
B(1:130, :) = 0; % remove the duplicate part of the distribution
imagesc(T, F, abs(B));
colormap(hot);
xlabel('t [s]');
ylabel('f [Hz]');
我得到了
频率应在[0,180] Hz和时间[0,2.5s]之内。
如何将时间和频率缩放到实际值?
手册说
%TFRWV Wigner-Ville time-frequency distribution.
% [TFR,T,F]=TFRWV(X,T,N,TRACE) computes the Wigner-Ville distribution
% of a discrete-time signal X,
% or the cross Wigner-Ville representation between two signals.
%
% X : signal if auto-WV, or [X1,X2] if cross-WV.
% T : time instant(s) (default : 1:length(X)).
% N : number of frequency bins (default : length(X)).
% TRACE : if nonzero, the progression of the algorithm is shown
% (default : 0).
% TFR : time-frequency representation. When called without
% output arguments, TFRWV runs TFRQVIEW.
% F : vector of normalized frequencies.
%
% Example :
% sig=fmlin(128,0.1,0.4); tfrwv(sig);
%
我跑
[B,T,F] = tfrwv(data, 1:length(data), length(data), hamming(length(data)/10), hamming(length(data)/4));
我得到了
Error using tfrwv
Too many input arguments.
Error in flow_wv (line 8)
[B,T,F] = tfrwv(data, 1:length(data), length(data),
hamming(length(data)/10), hamming(length(data)/4));
我认为这里的问题是初始化窗口的时间和频率。 我试图通过编辑参数的值来操纵两个轴。
相同数据但具有右标签轴的相应频谱图由Matlab的默认频谱图功能完成,讨论here:
答案 0 :(得分:2)
如果您使用以下命令,我认为tfrwv
等同于spectrogram
。
时间间隔为t = 1/360
。
选择fs = 360.5
。
imagesc(T*t, F*fs, abs(B));
tfrwv
中有更多峰值可能是因为窗口大小和重叠与您在spectrogram
中使用的不同。
结果
答案 1 :(得分:2)
Wigner-Ville分布中没有重叠的概念。这仅适用于STFT和频谱图,它是STFT的平方模数。
&#t; tfrwv' (以及TFTB中的所有TFR计算)都是标准化的频率单位。你不能在不提供采样频率率的情况下获得频率和秒数的单位。
这是太多的输入参数。
[B,T,F] = tfrwv(数据,1:长度(数据),长度(数据),汉明(长度(数据)/ 10),汉明(长度(数据)/ 4));
有三个输出参数和最多四个输入参数,所以是的,给它五个会抛出一个错误。此外,第四个输入参数是一个用于打开跟踪的布尔值,它只是在计算时将一些进度信息输出到Matlab命令窗口。
只是为了实际检查,使您的tfrwv
调用没有输出参数(即>> tfrwv(blah, blah);
),这将导致它调用tfrqview
这是一个菜单驱动的绘图工具。菜单中的选项是更改采样频率(在Matlab命令提示符下以赫兹为单位输入采样频率),它将更新图形,使y轴上的实际频率和x轴上的时间。否则,默认值是标准化频率,y轴实际上是以样本为单位的时间。
要手动执行此操作,您需要使用3D"情节",您可以使用采样率将T
和F
矢量转换为是真实时间和真实频率而不是样本和归一化频率(归一化频率为[0 0.5])。然后TFR
用于将颜色应用于z轴,即>>imagesc(T.*1/Fs, F.*Fs, TFR);
TFTB是一个很棒的工具箱,拥有我从开源第三方Matlab工具箱中看到过的最好的文档。在其中挖掘" refguide.pdf"和" tutorial.pdf"。