24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2314  |  回复: 3

xiaojixiong

金虫 (小有名气)

[求助] 【求助】请教各位大牛,如何把一个时域信号波形进行时频分析,看它的时频图?

如题,我现在有一个用宽带示波器测得的时域信号波形,频谱范围在几个GHz左右,我想对这个信号作个时频分析,看看频率随时间是如何变化的,请问如果用短时傅立叶变换(或小波变换也可)怎么编程,怎么做?对Matlab基本可说是文盲,敬请大家指点!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hongjade

金虫 (初入文坛)

顶一下,最近也在努力解决这个问题
滚滚长江东逝水,惯看秋月春风
2楼2012-07-24 12:16:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

粤语残片

铜虫 (小有名气)

同等待
3楼2012-11-05 10:02:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

粤语残片

铜虫 (小有名气)

【答案】应助回帖

★ ★
xiaojixiong: 金币+2, 有帮助 2012-11-05 21:02:52
有个例子,应该有帮助吧。

fs=1024;                          %采样频率
     f1=100;                        
     f2=200;
     t=0:1/fs:1;
     s=sin(2*pi*f1*t)+sin(2*pi*f2*t);  %两个不同频率正弦信号合成的仿真信号
     %%%%%%%%%%%%%%%%%小波时频图绘制%%%%%%%%%%%%%%%%%%
     wavename='cmor3-3';
     totalscal=256;                    %尺度序列的长度,即scal的长度
     wcf=centfrq(wavename);            %小波的中心频率
     cparam=2*wcf*totalscal;           %为得到合适的尺度所求出的参数
     a=totalscal:-1:1;  
     scal=cparam./a;                   %得到各个尺度,以使转换得到频率序列为等差序列
     coefs=cwt(s,scal,wavename);       %得到小波系数
     f=scal2frq(scal,wavename,1/fs);   %将尺度转换为频率
     imagesc(t,f,abs(coefs));          %绘制色谱图
     colorbar;
     xlabel('时间 t/s');
     ylabel('频率 f/Hz');
     title('小波时频图');


说明:(1)应用时只须改变wavename和totalscal两个参数即可。
          (2)在这个例子中,最好选用复的morlet小波,其它小波的分析效果不好,而且morlet小波的带宽参数和中心频率取得越大,时频图上反映的时频聚集性越好。
4楼2012-11-05 10:04:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaojixiong 的主题更新
信息提示
请填处理意见