声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1979|回复: 2

[综合] 短时傅里叶变换时选择窗函数总是出错

[复制链接]
发表于 2009-5-24 22:34 | 显示全部楼层 |阅读模式

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

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

x
我在MATLAB里输入如下程序,总是出现这样的错误“??? Error using ==> feval
Argument must contain a string or function_handle.
Error in ==> window at 52
    w = feval(wname,N,varargin{:});“不知道是怎么回事?短时傅里叶变化时的传函数到底是怎么调用的?为什么我总是出错?请大家一定帮帮我了,我快被逼疯了。呜呜

程序如下:

sig1=fmlin(128,0,0.4);
sig2=fmlin(128,0.1,0.45);
sig=sig1+sig2;
figure(1)
plot(real(sig),'LineWidth',2);
hold on;
plot(imag(sig),'ro--');
legend('实部','虚部');
xlabel('时间 t');
ylabel('幅值 A');
h1=window(23,'gauss');
[tfr,t,f]=tfrsp(sig,1:128,128,h1);
figure(2)
contour(t,f,trf);
xlabel('时间 t');
ylabel('频率 f');
h2=window(63,'gauss');
[tfr,t,f]=tfrsp(sig,1:128,128.h2);
figure(3)
contour(t,f,tfr);
xlabel('时间 t');
ylabel('频率 f');

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2009-5-25 06:37 | 显示全部楼层
把程序改了一下,其中有些小错误已改,可以执行了。同时窗函数的调用,我用的是7.1版本的。
sig1=fmlin(128,0,0.4);
sig2=fmlin(128,0.1,0.45);
sig=sig1+sig2;
figure(1)
plot(real(sig),'LineWidth',2);
hold on;
plot(imag(sig),'ro--');
legend('实部','虚部');
xlabel('时间 t');
ylabel('幅值 A');
h1=window(@gausswin,23);
%h1=window(23,'gauss');
[tfr,t,f]=tfrsp(sig,1:128,128,h1);
figure(2)
contour(t,f,tfr);
xlabel('时间 t');
ylabel('频率 f');
h2=window(@gausswin,63);
%h2=window(63,'gauss');
[tfr,t,f]=tfrsp(sig,1:128,128,h2);
figure(3)
contour(t,f,tfr);
xlabel('时间 t');
ylabel('频率 f');

评分

1

查看全部评分

 楼主| 发表于 2009-5-25 10:36 | 显示全部楼层
太谢谢您了,真的是出来了,好高兴!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-22 07:09 , Processed in 0.060374 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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