声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5359|回复: 4

[其他] 用imagesc函数画图,坐标轴的问题

[复制链接]
发表于 2007-8-2 15:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我借鉴emd_fmsin.m里面的程序,画了个频率为20的余弦信号。用imagesc函数画图,频率并不显示在20处。
程序如下:
clc;  
close all;
delt=1/100;      
t1=[0:delt:119*delt];
f=20;
x=cos(2*pi*f*t1);
t=1:120;
% time-frequency distributions
Nf = 128;% # of frequency bins
Nh = 31;% short-time window length
w = tftb_window(Nh,'Kaiser');
[s,rs] = tfrrsp(x',t,Nf,w,1);
figure(1)
imagesc((rs(1:64,:)))
% set(gca,'ytick',[0:10:60],'yticklabel',[0:8:48])
xlabel('time')
ylabel('frequency')
图为


若加上set(gca,'ytick',[0:10:60],'yticklabel',[0:8:48])此句命令,则会显示在频率20处,但是每换一个Nf就要把
[0:8:48])这部分进行重新计算,想请教大家,用imagesc函数画图时,坐标轴显示有什么可遵循的规则没??谢谢!

[ 本帖最后由 beefyy 于 2007-8-2 15:35 编辑 ]

11.fig

23.87 KB, 下载次数: 52

回复
分享到:

使用道具 举报

发表于 2007-8-2 17:06 | 显示全部楼层
1,没有找到 tftb_window函数,直接用window函数。
2,楼主的错误主要是:在x中设置信号的频率为20,而在作图时直接用rs,这时x轴是对应于坐组中的下标值(从1至64),而不是对应于频率。要计算出频率用到imagesc中,便能对应20了。
程序有:
delt=1/100;      
t1=[0:delt:119*delt];
f=20;
x=cos(2*pi*f*t1);
t=1:120;
% time-frequency distributions
Nf = 128;% # of frequency bins
Nh = 31;% short-time window length
w = window(Nh,'Kaiser');
[s,rs] = tfrrsp(x',t,Nf,w,1);
df=1/(delt*Nf);
ff=(0:63)*df;
figure(1)
imagesc(t,ff,rs(1:64,:))
% set(gca,'ytick',[0:10:60],'yticklabel',[0:8:48])
xlabel('time')
ylabel('frequency')
axis('xy')
be2a.jpg

评分

1

查看全部评分

 楼主| 发表于 2007-8-3 09:58 | 显示全部楼层
谢谢songzy41!
发表于 2008-7-8 16:52 | 显示全部楼层

回复 2楼 的帖子

我也遇到这个问题,太感谢了,嘿嘿 网上高手如云啊
发表于 2011-1-16 05:54 | 显示全部楼层
借鉴一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 19:34 , Processed in 0.055669 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表