声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2571|回复: 4

[小波] 求助:chirp-z在matlab上的编程问题

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

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

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

x
求助:
    我在对电力系统谐波信号进行检测时,采用了频率域插值小波变换法,在MATLAB上,我用CZT命令编程,可结果就是不尽人意,望各位高手多多指教,感激不尽!
这是我选用的谐波信号:x=0.3*cos(2*pi*f1*t+70)+0.7*cos(2*pi*f2*t+80)+1.0*cos(2*pi*f3*t)+0.5*cos(2*pi*f4*t+90)+0.4*cos(2*pi*f5*t+40);
以下是我的程序:
fs=100;
N=1024;
f1=25,f2=35.85,f3=50,f4=86.6,f5=150;
m=0:N-1;
t=m/fs;
x=0.3*cos(2*pi*f1*t+70)+0.7*cos(2*pi*f2*t+80)+1.0*cos(2*pi*f3*t)+0.5*cos(2*pi*f4*t+90)+0.4*cos(2*pi*f5*t+40);
w=exp(-j*2*pi*200/(N*fs));
a=1;
z=czt(x,N,w,a);
fz=(0:length(z)-1)'*200/length(z);
plot(fz,abs(z));axis([0 200 0 1.2]);
得出的图形就是无法测到谐波的频率,希望各位能给我指点迷经,感激不尽!


wuyaping1007@yahoo.com.cn

czt-fig.fig

10.05 KB, 下载次数: 23

仿真图

回复
分享到:

使用道具 举报

发表于 2007-8-30 15:05 | 显示全部楼层
怎么会忘了满足采样定理?信号中最高频率为150,而fs=100。
把程序修改如下:
fs=500;
N=1024;
f1=25,f2=35.85,f3=50,f4=86.6,f5=150;
m=0:N-1;
t=m/fs;
x=0.3*cos(2*pi*f1*t+70)+0.7*cos(2*pi*f2*t+80)+1.0*cos(2*pi*f3*t)+0.5*cos(2*pi*f4*t+90)+0.4*cos(2*pi*f5*t+40);
w=exp(-j*2*pi*200/(N*fs));
a=1;
z=czt(x,N,w,a);
fz=(0:length(z)-1)'*200/length(z);
plot(fz,abs(z)*2/N);
axis([0 200 0 1.2]); grid;
得图:
an2a.jpg

评分

1

查看全部评分

 楼主| 发表于 2007-9-2 15:32 | 显示全部楼层
:handshake, thank you!
     呵呵,谢谢您!
    我在信号处理方面是个新手,但我的研究方向是这方面的,以后一定更加努力!
发表于 2007-9-2 19:09 | 显示全部楼层


axis([0 200 0 1.2]);

修改为:axis auto
也会对程序错误发现有启发作用!
发表于 2007-9-19 21:21 | 显示全部楼层
请问上述程序中,如何求出经过czt后的频率测量值,和其对应的谱线位置呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-28 02:25 , Processed in 0.102533 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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