声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1362|回复: 7

[编程技巧] 滤波后正弦波如何提取任意时间段内的数据进行FFT运算?

[复制链接]
发表于 2007-10-23 19:49 | 显示全部楼层 |阅读模式

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

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

x
clf;
N=8;
Wo=200;
[b,a]=besself(N,Wo);
[H,W]=freqs(b,a);
magH=abs(H);
dt=0.01;
t=0:dt:3;
x1=cos(2*pi*2*t);
H=[tf(b,a)];
[y1,t1]=lsim(H,x1,t);
figure(1)
stem(t1,y1)

以上是一段简单的滤波程序。

滤波后的信号y1,我想提取这3秒内的任意一秒做FFT,请问我应该如何处理?
回复
分享到:

使用道具 举报

发表于 2007-10-23 20:38 | 显示全部楼层
使用冒号运算符既可,论坛有过讨论。下次问的时候先搜索一下
 楼主| 发表于 2007-10-23 22:21 | 显示全部楼层
我希望能用窗函数来做这件事,如何实现?
比如矩形窗。

[ 本帖最后由 eight 于 2007-10-23 22:37 编辑 ]
发表于 2007-10-23 22:37 | 显示全部楼层


我记得不久前才提示过如何使用矩形窗,你搜索一下论坛吧
 楼主| 发表于 2007-10-24 11:37 | 显示全部楼层

QQ

clf;
N=3;
Wo=200;
[b,a]=besself(N,Wo);
[H,W]=freqs(b,a);
magH=abs(H);
dt=0.001;
t=0:dt:2;
x1=cos(2*pi*2*t);
H=[tf(b,a)];
[y1,t1]=lsim(H,x1,t);
figure(1)
plot(t1,y1);title('滤波后余弦波信号')

%运行到下面的语句总是提示时间矩阵不对。怎么修改呢?

ya=y1.*hamming(length(t1))';%海明窗
yb=y1.*hanning(length(t1))';%汉宁窗
yc=y1.*kaiser(length(t1))';%凯赛窗
yd=y1.*boxcar(length(t1))';%矩形窗
figure(2)
subplot(2,2,1),plot(t1,ya),title('海明窗')
subplot(2,2,2),plot(t1,yb),title('汉宁窗')
subplot(2,2,3),plot(t1,yc),title('凯赛窗')
subplot(2,2,4),plot(t1,yd),title('矩形窗')
发表于 2007-10-24 12:50 | 显示全部楼层
程序是你自己写得么?维数不匹配,只是多了一个运算符。自己修改吧,再遇到这样的问题,去置顶帖子里找答案吧
 楼主| 发表于 2007-10-24 13:15 | 显示全部楼层

ok

多了一个点。
发表于 2007-10-24 13:17 | 显示全部楼层

回复 #7 rockzone 的帖子

因此我怀疑代码并非你自己所写
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 16:29 , Processed in 0.059000 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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